문제: EOQ 수학은 아름다웠고 — 그래도 품절은 났다
공급망을 공부한 학생이라면 누구나 경제주문량 공식 √(2DS/H)을 외운다. 하지만 창고에서 실제로 보충 관리를 해본 사람이라면 누구나 안다: EOQ가 답하는 건 "비용을 최소화하려면 얼마나 주문할 것인가"지, "품절을 피하려면 언제 주문할 것인가"가 아니다. 실제 수요는 출렁이고, 공급업체의 리드타임은 흔들린다. 이 공식의 두 가지 "상수" 가정은 현실과 맞닿는 순간 깨진다.
우리는 "2주치 가지고 가자"는 감으로 안전재고를, "100개면 재주문"이라는 직감으로 재주문점을 정한 창고를 너무 많이 봤다 — 결과는 품절과 과잉재고의 동시 발생이었다. 이 글은 고급 수학 없이, 스프레드시트에서 돌고 "언제, 얼마나 보충할 것인가"에 답하는 실용 알고리즘을 제공한다.
방법: 동적 안전재고를 위한 4단계 알고리즘

1단계: 수요 변동성을 정량화하라 (σd)
안전재고는 불확실성에 대한 보험이며, 보험료는 불확실성의 크기에 따라 정해진다. 어떤 SKU의 지난 6–12개월 일별 출고 수량을 가져와 일별 수요의 표준편차 (σd) 를 계산하라 — 엑셀의 STDEV 함수 하나로 된다.
변동성을 세 밴드로 분류한다:
| 변동계수 (CV = σd / 평균 일별 수요) | 변동성 | 전략 |
|---|---|---|
| < 0.5 | 낮음 (안정 품목) | 안전재고는 얇게 가져가도 된다; 리드타임 변동성에 집중하라 |
| 0.5–1.0 | 중간 (일반 품목) | 표준 공식; 월간 점검 |
| > 1.0 | 높음 (프로모/시즌 품목) | 공식 + 사람의 판단; 대형 프로모 전에는 별도 계획을 세워라 |
2단계: 리드타임 변동성을 정량화하라 (σL)
수요 변동성은 계산하고 리드타임 변동성은 건너뛰는 창고가 많다 — 품절의 뒤에 있는 가장 큰 블라인드 스팟이다. 같은 SKU의 실제 리드타임(주문 발행부터 입고까지, 일 단위)을 지난 6개월 치로 가져와 리드타임의 표준편차 (σL) 를 계산하라.
현장 경험: 리드타임 변동성은 수요 변동성보다 더 중요한 경우가 많다. 한 자동차 부품 창고에서는 수요는 반석처럼 안정적이었는데(CV = 0.3) 공급업체 리드타임이 7일에서 21일까지 흔들리는(σL = 4.2일) SKU가 있었고 — 그 SKU의 안전재고 대부분은 사실 리드타임에 대한 보험이었다.
3단계: 공식 — 두 변동성을 함께 커버하는 안전재고
표준 실용 공식(수요와 리드타임이 독립이라 가정):
안전재고 SS = Z × √( L × σd² + d² × σL² )
- Z: 서비스 레벨 계수. 95% → 1.65; 97.5% → 1.96; 99% → 2.33. 모든 품목에 99%를 쓰지 마라 — A등급 효자 품목은 97.5–99%, C등급 롱테일은 90%(Z = 1.28)이면 충분하고, 풀리는 현금은 상당하다.
- L: 평균 리드타임(일); d: 평균 일별 수요; σd, σL은 위와 같다.
재주문점 ROP = d × L + SS: 가용 재고(보유분 + 운송 중 − 할당분)가 ROP까지 떨어지면 보충을 걸어라.
계산 예: d = 50개/일, σd = 15; L = 10일, σL = 3일; 목표 서비스 레벨 97.5%(Z = 1.96)인 SKU. SS = 1.96 × √(10×225 + 2500×9) = 1.96 × √24750 ≈ 308개. ROP = 50×10 + 308 = 808개. 이 창고는 감으로 200개의 안전재고를 쌓고 성수기에 두 번 품절을 냈다; 308개로 올린 뒤에는 1년 내내 품절이 없었고, 재고 회전은 고작 2일만 느려졌다.
4단계: 일정에 맞춰 새로고침 — 공식은 썩지 않지만 파라미터는 썩는다
수요와 리드타임은 살아있는 것이라 파라미터를 새로고침해야 한다. 권장 주기:
| SKU 등급 | 점검 주기 | 수시 점검 트리거 |
|---|---|---|
| A | 월간 | 대형 프로모 6주 전, 공급업체 변경, 수요가 50% 급등했을 때 |
| B | 분기 | 위와 같음 |
| C | 반기 | 3개월 연속 무움직임 → 데드스톡 프로세스로 |
실용 팁: SKU마다 스프레드시트 한 행에 d, σd, L, σL, Z 열을 두고, SS와 ROP는 자동 계산되게 하라. 매월 1일에 데이터를 갱신하고, 값이 20% 이상 움직인 행에 플래그를 달아 사람이 확인하게 하라. 플래너 한 사람이 월 반나절이면 5,000개 SKU를 돌릴 수 있다.
현장 사례: 이커머스 창고의 "품절률 절반으로" 프로그램
배경: 네바다주의 이커머스 창고로 1일 8,000건의 출고, 자체 보유 ~2,500개 SKU, 품절률 3.2%(우수 기준은 1% 미만) — 재고 회전은 42일(높은 편). 역설: 품절과 과잉재고가 동시에 발생. 전형적인 "중요한 건 부족하고, 안 중요한 건 넘치는" 상태였다.
진단: 안전재고가 전부 카테고리 매니저의 감으로 정해져 있었다. 효자 품목은 낮게(과잉재고를 두려워해서), 롱테일은 높게("싸니까 여유분 챙기자").
액션: 4단계 알고리즘으로 모든 파라미터를 다시 계산하고, SKU를 ABC × XYZ 9칸 매트릭스로 분류(ABC는 출고 금액, XYZ는 수요 변동성)했으며, AX 품목(고가치·저변동)의 안전재고를 깎고, CZ 품목(저가치·고변동)은 7일치 커버까지 잘라냈다. WMS에 ROP 자동 알림을 올렸다.
결과: 6개월 뒤 품절률은 3.2%에서 1.1%로 내려갔고, 회전은 42일에서 31일로 좋아졌으며, 약 $450,000의 현금이 풀렸다. 카테고리 매니저의 한마디: "내가 재고를 못 한 게 아니라 — 감으로 했을 뿐이었네요."
피해야 할 함정
- "언제"를 EOQ로 결정하지 마라. EOQ는 로트 크기를, ROP는 타이밍을 결정한다. 둘은 파트너지 대체재가 아니다. ROP 없는 EOQ는 안전벨트 반쪽이다.
- 신규 SKU에는 이력이 없다 — 공식을 억지로 쓰지 마라. 비교 가능한 성숙 SKU의 파라미터를 70%로 시작하고, 첫 3개월은 손으로 지켜보며, 데이터가 쌓이면 공식으로 바꿔라. 신규 SKU 품절의 대부분은 "데이터 없음"이 "안전재고 없음"을 뜻했기 때문에 일어난다.
- "가용 재고"에 운송 중 물량을 포함시켜라. ROP는 보유분 + 운송 중 − 할당분과 비교한다. 보유분만 보면 중복 발주가 난다 — 이 때문에 어떤 창고는 30%나 과잉 발주했다.
- 모든 SKU에 하나의 Z를 쓰지 마라. 전 SKU 99% 서비스 레벨은 듣기엔 멋지지만, 그 대가는 C등급 롱테일 안전재고가 두 배로 늘어나는 것이다. 등급별로 Z를 차등하고, 절약분은 A등급 품목에 투자하면 전체 서비스 레벨이 올라간다.
요약
EOQ를 넘어서는 실용 수학은 세 문장으로 요약된다: 변동성을 데이터로 정량화하라(σd와 σL 모두), 둘 다에 한 번에 보험을 들어라, 파라미터는 월간으로 갱신하라. 비싼 계획 시스템은 필요 없다 — 엑셀과 WMS 알림으로 돌릴 수 있다. 기억하라: 안전재고는 "많을수록 좋은" 이불이 아니라 맞춤이 중요한 보험이다. 너무 많으면 보험료 낭비, 너무 적으면 판매 기회 손실이다. 상위 100개 SKU부터 시작해서 한 달 돌려보고 결과를 본 뒤, 전체로 확산하라.
영어판 번역본입니다. 내용이 다를 경우 영어판을 우선합니다.






