supply chain management (공급망관리, SCM)라는 업무는 아래의 4가지 큰 과업으로 나눌 수 있다
- 수요기획 : 특정 상품에 대한 수요가 얼마나 될지 기획 및 예측한다.
- 수요실행 : 기획된 특정 상품에 대한 수요 (구매)를 효과적으로 실행한다.
- 공급기획 : 특정 상품을 언제, 누구에게, 얼마나, 어떤 기간에 걸쳐 주문 및 재고 관리할지 기획한다.
- 공급실행 : 기획된 공급이 (특정 상품을 적시에 발주, 입고, 재고, 배송) 효과적으로 실행되도록 한다.
오늘은 위의 4가지 요소 중 수요기획에 핵심적인 파트인 '수요에 대한 예측 모델'을 만드는 프로세스 중 '예측을 누구를 위해 왜 해야 하는가' 지가 왜 중요한지에 대해 써보고자 한다.
많은 데이터 분석가 및 사이언티스트들에게 데이터를 기반으로 한 예측 모델을 만든다는 것은 정말로 짜릿한 일이다. 많은 사람들이 이해하지 못할 수 있지만, 그들에게 예측모델을 만든다는 것은 마치 내 이상을 담은 건축물을 설계하고 만든다는 것과 마찬가지이다. 문제는, 이런 과업이 주어질 때, 모델을 만든다는 것에 취해버려서(내 경험담이다) 왜 이 예측모델을 만들어야 하는지 그리고 운영적으로 어떻게 사용될 것인지를 무시하고 수학적인 부분부터 들입다 파기 시작한다. 왜냐하면, 운영적인 부분을 조사하고, 의논하고, 합의하고, 한계를 확인하는 것보다 수학적인 요소를 탐구하는 것이 훨씬 더 즐겁기 때문이다. 문제는, 예측모델의 성능 자체가 좋으려면, 그리고 그렇게 만들어진 모델이 현실에서 유용하게 사용되러면 그 모델이 사용될 실제 운영업무자의 목표와 업무 프로세스에 대해서 깊이 이해해야만 한다는 것이다.
예를 들어 SCM에서의 수요예측, 즉 고객들이 특정 상품을 얼마나 구매할 것인가에 대한 예측 모델을 만들어야 한다고 해보자. 이때 바로 드는 생각은 '오, 개별 상품들 과거 판매데이터를 시계열 예측하면 되겠는걸? ARIMA?'이다. 그러고 나서 바로 ARIMA라는 통계적 예측 모델을 찾아보기 시작한다면 그때부터 모든 것이 꼬이는 것이다. SCM에서 말하는 '예측 모델'이란 단순히 개별 상품의 일별 판매량을 말하는 것이 아니다.
SCM에서 다루는 상품의 단위는 [SKU, 개별 상품, 박스, 팔레트, 컨테이너]로 나누어지고,
예측해야 하는 시간선도 목표에 따라 [일, 주, 월, 분기, 반기, 년] 단위로 구분되며,
더 나아가 예측해야 하는 대상 자체가 [개별 상품, 브랜드, 동일 상품 군, 카테고리] 등 굉장히 다양하다.
이러한 다양한 '축'과 각 축에 속한 레이어들의 운영적 함의를 고려하지 않고 '그냥 일단위로 개별상품 판매량 예측해야겠다~'라고 생각하면 시작부터 망한 프로젝트가 되는 것이다.
우리 솔직히 생각해 보자. 어떤 통계모델을 적용할지 생각하고 또 적용하는 것은 너~~~~ 무 쉽다. 그냥 시중에 널려있는 python 패키지 사용해도 얼추 성능은 나온다. 사실 가장 중요하지만 우리가 무의식적으로 회피하는 부분, 바로 엉망진창인 데이터를 명료한 목적에 맞춰 잘 가다듬고 만들어 나아가는 것이 예측 모델 성능의 95%를(사실 99%) 차지하지 않던가. 그리고 그렇게 데이터들을 정리하고 만들기 위해서는 다시 돌아와 데이터를 만들어내는 운영적 프로세스 및 요소에 대한 이해가 필수적이다.
말이 길었지만, 그렇기에 예측 모델을 만드는 일에서 가장 중요한 것은 모델이 아니라 아래의 요소들을 깊이 이해 하는것이 중요하다.
1. 그 모델이 누구에 의해
2, 어떤 목적으로
3. 어떻게 사용 되는지