우리 같은 소규모 창고는 그런 돈을 감당할 수 없습니다. 작년에 한 업체가 AI 수요 예측 시스템을 제안하러 왔습니다. 연간 수만 단위에, 시작하기도 전에 3개월간의 "데이터 정제"가 필요하다는 것이었습니다. 저는 웃음이 나왔습니다. 우리 창고는 약 3,000제곱미터, 직원 2명과 저, 즉 소유주뿐이고, 모든 데이터는 이미 엑셀에 들어 있습니다. 3개월간 정제를 하고 있었다면, 그동안 선반이 두 번이나 품절되었을 것입니다.
그래서 우리는 허름한 방법을 택했습니다. 새 시스템 없이, 엑셀과 간단한 모델만으로 AI 수요 예측을 가동한 것입니다. 반년이 지난 지금, 품절은 줄었고 과잉 재고도 줄었습니다. 다른 소규모 운영자들도 따라 할 수 있도록, 우리가 한 방법을 정확히 소개합니다.
소규모 창고의 문제: 수요 예측은 좋아 보이지만, 기업용 버전은 우리에게 맞지 않는다
배경 설명부터 하겠습니다. 2025년 여름, 우리 창고는 200 SKU 미만, 주로 반려동물 용품과 소형 생활용품을 취급하며 월 4,000에서 6,000건의 주문을 출하했습니다. 작지만 문제는 현실적이었습니다. 잘 팔리는 상품은 예고 없이 품절되었고, 느리게 팔리는 상품은 선반에서 먼지만 쌓였습니다.
최악의 경우는 2025년 7월이었습니다. 고양이 스크래처가 숏폼 영상에서 입소문을 타면서 한 달치 판매량을 3일 만에 팔아치웠습니다. 감으로 재주문했는데, 보충 물량은 아직 운송 중이었고, 선반은 4일 동안 비어 있었습니다. 불만이 쌓였고 매장 평점도 떨어졌습니다. 그 주는 지금도 쓰라립니다. 반대 방향으로는, 한때 800개의 반려동물 침대를 들여왔는데 절반을 파는 데 6개월이 걸렸습니다. 그 시간 내내 임대료와 현금이 묶여 있었습니다.
이것이 소규모 창고의 현실입니다. AI 수요 예측의 기업용 버전은 데이터 플랫폼, 알고리즘 팀, 실시간 연동을 이야기합니다. 우리에게는 그런 것이 하나도 없습니다. 하지만 예측 자체에 무거운 장비가 필요한 것은 아닙니다.
1단계: 판매 이력을 읽기 쉬운 하나의 표로 정리하기
알고리즘부터 시작하지 마십시오. 예측의 첫 단계는 데이터를 사람이 읽을 수 있는 형태로 만드는 것입니다. 우리 방법은 부끄러울 정도로 로우테크이지만, 효과가 있습니다.
첫째, 지난 12개월간의 출하 실적을 SKU별, 주별로 뽑습니다. SKU당 주당 한 행입니다. 화려한 시스템은 필요 없고, 주문 기록에 대한 피벗 테이블이면 반나절이면 됩니다.
둘째, 이상한 주에 표시를 합니다. 프로모션 주, 품절 주, 그리고 팔 것이 없어서 판매가 0이었던 주입니다. 품절 주의 판매 실적은 가짜 수요입니다. 아무도 사지 않은 것이 아니라, 살 것이 없었던 것입니다. 그것을 모델에 넣으면 모델은 잘못된 교훈을 배웁니다.
셋째, 상위 20%의 SKU만 모델링합니다. 우리 창고에서는 200 SKU 중 40 SKU가 매출의 약 80%를 차지합니다. 롱테일은 경험과 안전 버퍼로 충분합니다. 거의 움직이지 않는 상품을 위해 모델을 만들지 마십시오.
여기가 직관에 반하는 부분입니다. 소규모 창고가 예측을 잘못하는 이유는 대개 모델이 너무 단순해서가 아니라, 데이터가 너무 지저분해서입니다. 품절 주, 일회성 대량 주문, 반품 취소 — 이것들을 그대로 두면, 비싼 시스템도 쓰레기만 내놓습니다. 비정상 주에 표시를 한 것만으로 어떤 공식보다 예측이 더 좋아졌습니다.
우리의 AI 수요 예측을 운영하는 엑셀 모델: 이동평균에 계절 계수 곱하기
우리 모델은 자랑하기에는 거의 너무 단순하지만, 효과가 있고, 모든 수식은 엑셀 안에 있습니다.
1단계, 4주 이동평균을 구합니다. 한 SKU의 지난 4주간 판매량을 더하고 4로 나눕니다. 이렇게 하면 단일 주의 노이즈가 평활화됩니다.
2단계, 계절 계수를 곱합니다. 작년 같은 주의 판매량을 작년 주평균 판매량으로 나눈 값입니다. 우리 고양이 스크래처는 여름에 약 1.4, 겨울에 0.7 정도이므로, 기본 수요에 계수를 곱하면 다음 주 예측이 나옵니다.
3단계, 안전 재고를 설정합니다. 안전 재고 = 일평균 판매량 × 보충 리드타임(일) × 1.5입니다. 1.5는 시행착오로 도출한 값으로, 공급업체의 리드타임이 불안정하면 올리고, 안정적이면 내립니다.
마지막으로, 권장 보충량 = 예측 수요 + 안전 재고 − 보유 재고 − 운송 중 재고입니다. 수식 하나를 시트 아래로 드래그하면, 매주 월요일 아침이면 창고 전체의 재주문 목록이 30분 만에 준비됩니다.
| 접근법 | 비용 | 학습 곡선 | 실제로 본 결과 |
|---|---|---|---|
| 감 | 제로 | 제로 | 성수기 품절, 비수기 과잉 재고 |
| 엑셀 이동평균 + 계절성 | 제로 | 반나절 | 품절은 대략 절반으로, 과잉 재고는 약 3분의 1 감소 |
| 예측 시스템 구매 | 연간 수만 | 데이터 정제 및 교육 | 우리 규모에서는 미미한 개선 |
이 결과들은 실험실 수치가 아니라 우리 자신의 경험입니다. 하지만 우리 규모의 창고에는 충분합니다.
이웃의 교훈: 아무도 검토하지 않는 모델은 빨리 죽는다
모델만으로는 충분하지 않습니다. 근처 생활용품 창고를 운영하는 친구가 2025년 9월에 우리 시트를 복사했지만 한 달 만에 포기했습니다. 가서 보니 문제는 모델이 아니라 책임 소재였습니다. 그는 시트를 만들고 주간 업데이트를 신입 직원에게 넘겼는데, 그 직원은 품절 주에 표시를 해야 한다는 것을 몰랐습니다. 판매 0인 주가 그대로 평균에 들어갔고, 모델은 점점 더 빗나갔으며, 결국 아무도 모델을 믿지 않게 되었습니다.
우리의 해결책도 마찬가지로 로우테크입니다. 매주 월요일 아침이면 제가 직접 20분간 시트를 봅니다. 세 그룹만 확인합니다. 전주 대비 예측이 30% 이상 뛴 SKU, 안전 재고 아래에 있는 SKU, 그리고 예측이 실적을 40% 이상 벗어난 경우가 2주 연속으로 나온 SKU입니다. 20분이면 충분합니다. 모델은 죽은 코드이고, 주간 인간 검토가 모델을 살아 있게 합니다.
솔직히 인정해야 할 트레이드오프가 하나 있습니다. 이 단순한 모델은 안정적인 수요와 계절 변동을 잘 처리하지만, 바이럴 급증을 예측할 수는 없습니다. 숏폼 영상이 폭발하면, 어떤 모델도 일주일 전에 그것을 보지 못합니다. 우리의 답은 "신속 대응 예산"입니다. 매달 대략 일주일치 판매액 상당의 유연한 현금을 따로 확보해 두어, 무언가 유행하기 시작하면 모델이 따라잡기를 기다리지 않고 즉시 소량으로 빠르게 재주문할 수 있게 합니다. 그 돈은 대부분의 시간 동안 놀고 있다가, 중요한 순간에 우리를 구해 줍니다.
우리 같은 창고를 위한 조언: 먼저 예측을 가동하고, 업그레이드는 나중에
소규모 창고에 맞는 올바른 순서는 이렇습니다. 판매 이력을 깨끗한 표로 정리하고, 이동평균 + 계절성 모델을 돌리고, 일주일에 한 번 직접 검토한 뒤, 3개월 후에 평가하는 것입니다. 3개월 후 SKU 수가 500을 넘었거나 변동성이 단순한 모델을 넘어섰다면, 그때 업체와 이야기하러 가십시오. 그때는 깨끗한 데이터와 검증된 논리를 가지고 가므로, 훨씬 더 유리한 협상을 할 수 있습니다.
기업용 버전이 나쁜 것은 아닙니다. 다만 우리 단계에 맞지 않을 뿐입니다. 소규모 창고에는 소규모 창고 나름의 생존 방식이 있습니다. 먼저 가동하고, 숫자가 그렇게 말할 때 업그레이드하고, 돈은 정말 아픈 곳에 쓰는 것입니다.
Xiao Ma, 소규모 창고 경영자 지음 영어판 번역본입니다. 내용이 다를 경우 영어판을 우선합니다.







