brunch

매거진 회사일지

You can make anything
by writing

C.S.Lewis

by 여름비 Oct 14. 2024

재고 최적화 : 롱테일 상품 판매 예측

근래에 내가 마주치게 된 매우 흥미로운 문제가 있다. 이 흥미로운 문제는 아래와 같은 조건을 충족하는 모델을 만드는 것이다:


1. 이커머스의 롱테일 상품들의 (간헐적으로 띄엄띄엄 몇 개씩 팔리는 상품들) 매출을 예측

2. 예측치를 기반으로 한 재고가 상품들의 품절을 (수요가 재고보다 많아서 더 이상 팔 수 없는 것) 최소화 

3. 운영팀에서 해당 모델을 튜닝할 수 있어야 한다


이게 정말로 흥미로운 문제인 게, 롱테일 상품들의 대부분의 매출액은 말 그대로 '0' 이기 때문이다. 단순히 '얼마나 팔릴지 잘 예측하는 것'만 목표로 한다면 그냥 미래의 모든 매출액을 0으로 잡으면 된다. 그런데, 이렇게 모델을 만들면 예측치와 실제 매출 사이의 차이는 최소화될지언정, 이를 기반으로 얼마나 해당 상품을 창고에 적재해둘지 결정할 시 모든 상품들이 '품절' 상태가 되어버린다. 즉, 예측 모델의 정확도가 현실적으로 아무런 의미도 없게 되어 버리는 것이다.


이 얼마나 재미있는 문제인가! (하고 내 머리가 터지는 소리가 들리는가!) 

여기서 더 문제는, 대부분의 우리가 아는 시계열 예측 모델은(예: ARIMA) 상품이 매일같이 조금이라도 팔린다는 것과 적어도 몇 개월 정도 (이상적으로는 3년 이상) 매출 기록이 있다는 것을 가정한다. 그렇기에 해당 모델을 사용 시 예측치가 그렇게 정확도 있지는 않다. 그러면 어떤 사람들이 그럴 것이다.


'요즘 인공지능 핫하던데, 인공지능 혹은 머신러닝으로 예측하면 안돼요?'


물론 그래도 되지만, 머신러닝 및 인공지능을 활용하기 위해서는 아래와 같은 추가적인 요구사항을 만족시켜야 한다:

1. 깔끔하고 다양한 데이터가 많~~~~ 이 있다.

2. 그래서 머신러닝 알고리즘 및 인공지능이 '왜 그렇게 매출액을 예측했는지' 설명하지 않아도 된다. 


다만, 현실에서는 깔끔하면서 다양한 데이터가 존재하지 않거나 존재하더라도 정말로 한 분기 이상의 데이터 클리닝 및 설계를 해야만 할 뿐만 아니라, 운영적 목표 및 효율성을 위해 로직을 설명 및 튜닝해야 할 때가 많기 때문에 위의 머신러닝 같은 것을 활용하기 어렵다.


그럼 다시 돌아와서, 위의 3가지 제한 (1) 예측 정확도 높이기. (2) 품절 최소화 하기. (3) 운영 목적으로 파인튜닝 가능. 을 달성하기 위해서는 어떻게 예측 모델을 만들어야 할까? 아래와 같은 5가지 단계를 거치도록 하자!


Step1 : [간헐적으로 상품이 팔리는 패턴]에 특화된 간단한 통계 모델들을 리스트업 한다

1. Croston's Method

2. Syntetos-Boylan Approximation (SBA)

3. Teunter-Syntetos-Babai (TSB) Method

4. 기타 등등


Step2 : 각 모델들의 특장점을 비교해, 어떤 상황에 가장 알맞은 모델인지 이해한다

1. 어떤 장점과 단점을 가지는지

2. 어떤 데이터 패턴에 알맞은 모델인지

3. 어떤 파인튜닝이 가능한지


Step3 : 위의 3가지 제한사항을 반영한 예측모델 평가 기준을 만든다

1. Cumulative Forecasting Error

2. Period In Stock

3. Mean Absolute Error %

4. Bias %


Step4: 평가 기준을 기반으로 각 모델들을 평가한다

1. 평가 기준 기반 각 모델들의 특장점 인식

2. 종합적으로 & 운영 목표를 고려하여 어떤 모델이 가장 뛰어난지 선정


*Step5 : 선정한 모델을 기반으로 운영 프로세스를 만든다

1. 언제 해당 모델이 사용 가능한지

2. 해당 모델 기반으로 '발주'를 진행할 시 무엇을 조심해야 하는지


위의 단계들을 지금 당장 모두 실행하지는 못했지만, 모두 완료하면 정말로 기가막힌 [수요예측 -> 발주 -> 재고관리 -> 성비용 감소] 사이클이 만들어질 것이라 예상된다!

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari