기업마다 주기적으로 주문하는 원부자재나 제품들이 있을 텐데요, 오늘은 몇 개가 남았을 때 주문해야 가장 효율적으로 구매할 수 있을지, '재주문점(ROP, Re Order Point)'에 대해 이야기해 볼게요. 구매인이라면 기본적으로 알고 계실 내용일 테지만 제가 처음 재주문점의 개념을 접했을 땐 공식이 다소 생소하게 느껴져 이해하는데 어려웠던 기억이 있어요. 그래서 구매 초보자분들을 위해 알기 쉽게 설명해 보겠습니다.
우리가 집에서 생수를 주기적으로 주문해 먹는 상황을 가정해 볼게요.
생수가 떨어지면 식수로 활용할 다른 물을 찾던가, 주문한 생수가 도착할 때까지 목마름을 참아야 하므로 생수가 떨어지기 전에 주문해야 하죠. 그렇다고 필요 이상의 생수를 한꺼번에 주문하면 보관할 장소도 부족할뿐더러 변질의 우려도 있을 거예요. 그래서 생수가 몇 병쯤 남았을 때 다시 주문해야 하는지 대충 감을 잡고 있어야 하겠죠. 이 개념이 바로 재주문점입니다.
재주문점을 산출하는 공식은 아래와 같습니다.
재주문점(ROP) 산출공식 → DDLT1) + S/S2)
1) DDLT : Demand During Lead Time의 약자로 ‘주문한 제품이 도착할 때까지 사용할 양’을 의미함. (산출식 : 일평균 사용량 * 주문 후 제품을 사용하는데까지 소요되는 일자)
2) S/S : Safe Stock의 약자로 ‘안전재고’를 의미함.
위 공식을 활용하기 위해서는 3가지 정보가 필요해요.
① 일평균 사용량
② 주문 후 제품을 사용하는데까지 소요되는 일자(주문 리드타임)
③ 안전재고
일평균 사용량(①)은 '평균적으로 하루에 사용하는 양'으로 과거 데이터를 통해 알아낼 수 있습니다. 일평균 사용량에 ②번에서 산출된 일자를 곱하면 DDLT1)가 돼요. 하루 평균 생수 10병을 마신다고 가정해 볼게요.
주문 후 제품을 사용하는데까지 소요되는 일자(②)는 물품 주문에 드는 일자 + 배송이 되는 일자 + 사용 준비에 소요되는 일자를 더하여 계산합니다. 생수가 배송되는데 2일이 걸리고, 생수를 주문하고 냉장고에 보관해서 차갑게 하는데 1일이 걸려서 주문 후 제품을 사용하는 데까지 3일이 걸린다고 가정해 볼게요.
①번에서 산출된 수량은 말 그대로 평균값이기 때문에 생수를 평균보다 덜 마시는 날은 생수가 남겠지만 더 마시는 날은 생수가 부족할 수 있어요. 주문하는 이유가 사용하기 위함인데 부족하면 안 되겠죠?
따라서 안전재고(③)는 일평균 사용량보다 더 많은 생수가 필요할 날을 대비하기 위해 설정하는 재고예요. 안전재고는 DDLT와 Service Level을 곱하여 설정합니다. 이때 사용하는 정규분포 그래프를 보면서 설명을 이어나갈게요.
위 정규분포 그래프에서 중심 부분이 3일 동안의 평균 사용량을 뜻하는 DDLT예요.(30병=10병*3일)
그래프에서 ‘평균’이 의미하는 정확한 뜻은 주문한 생수를 기다리는 동안 30병으로 충분했던 경우가 50%였다는 뜻(주황색 빗금 부분)입니다. 바꿔 말하면 주문한 생수를 기다리는 동안 30병으로 부족했던 경우가 50%였다는 뜻인데요, 만약 여러분이 생수를 100번 주문했는데 50번은 생수가 부족해서 목마르게 지냈다면 만족할까요? 아마 목마르지 않게 지내는 날을 더 늘리고 싶을거예요. 이 개념이 Service Level입니다.
100번 중에 최소한 95번은 목마르지 않게 지내고 싶다면 Service Level을 95%(95회/100회)로 설정하면 돼요. 이렇게 설정한 Service Level을 유지하기 위해 일평균 사용량 이상으로 확보하는 수량이 안전재고가 돼요.
표준 정규분포를 이용해서 안전재고를 구하는 식은 아래와 같아요.
안전재고 산출 공식 → Z(Service Level)*√DDLT
우리가 앞서 설정한 Service Level을 대입하여 생수의 안전재고를 구하면 Z(95%)*√30 = 1.64*√30 = 8.98병→ 약 9병으로 계산할 수 있습니다. 9병을 안전재고로 설정해 두면 평균 이상으로 생수가 필요한 경우가 50번 발생해도 45번은 목마르지 않게 지낼 수 있는 거죠. 연두색 빗금 부분에 대한 설명입니다.
정리해 보면..
① 일평균 사용량 → 하루 평균 생수 10병 소진
② 주문 후 제품을 사용하는데까지 소요되는 일자 → 3일
③ 안전재고 → 9병
일평균 생수 10병을 마시는데 주문 리드타임이 3일이고 Service Level을 95%로 설정한다면, 재주문점은 DDLT(10병*3일)+S/S(9병)=39병이 되겠네요. 생수 39병이 남았을 때 다음 주문을 하면 돼요.
기업에서 주문하는 제품이나 원부자재 역시 동일한 방법으로 구할 수 있습니다.
재고가 39개 남았을 때마다 다음 주문을 진행하는 패턴은 위 그래프와 같은 모양으로 그려져요. 이 패턴이 어떤 기업의 원부자재 주문 패턴이라면 39개의 재고를 안고 가는게 부담스러울수도 있어요. 왜냐하면 기업 입장에서 필요한 만큼의 재고는 보유하되, 재고는 최소한으로 유지하는 것이 목표이기 때문이죠. 그래서 재주문점을 낮추려는 노력이 필요해요.
재주문점을 낮출 수 있는 방법이 있을까?
구매인 입장에서 시도할 만한 방법은 Service Level 하향 조정과 주문 리드타임 축소입니다. 그러나 Service Level을 하향 조정하면 재고가 부족한 경우가 빈번해지기 때문에 현실적으로는 주문 리드타임을 줄이는 방법이 유일해요. 주문 리드타임을 줄이기 위해서는 '납기가 빠른 구매처' 또는 '근거리에 있는 구매처'를 모색하는 방법이 있을 거예요. 참고로, 위 주문 패턴에서 한 번 주문 할 때 몇 개를 주문하는 게 효율적인지 궁금하다면 지난 칼럼을 참고해 주세요.