B2B Demand Prediction
Detail information is not included e.g. code due to confidential issue.
고객의 출하 패턴 정보 부재로 인한 안정적 재고 관리가 미흡, 고객 요청에 기반한 업무수행으로 고객별 출하 일정 예측에 어려움, 거래선 및 영업사원에게 사전 주문 예측 정보가 있다면 고객처의 신뢰성 획득 및 영업 사원의 일의 효율성을 달성 할 것이라 예상함.
기간 : 2021.04~2021.06
인원 : 1명
데이터 : Tabular Dataset.
모델 : LightGBM with Random Search Optimization
역할 : EDA / 모델링(Regression) / 커뮤니케이션
사용한 스킬 : Python
느낀점 :
1. 매일 매출이 발생하지 않는 Daily데이터 셋이다. 어떤 거래처는 한 달에 한 번 정도 거래가 일어났다. 거래가 빈번히 일어나는 상위 30%의 기업에 대해서만 수요예측을 하기로 하였다. 단변량 데이터 셋이고, 주기성도 보이지 않아 추가적인 변수 파악이 필요하였다. 현업 자와 인터뷰를 하였고, 논문 등을 찾아보며 단변량에서 10개 정도의 외부 변수들을 추가할 수 있었다. LightGBM의 성능이 가장 좋은 성능을 보였지만 주관적으로는 좋은 성능을 보이지는 못한 것 같다. 다만 회사 내부 Index에 의하면 어느 정도 준수한 성능이라고 한다.
2. Regression 모델의 결과물을 시각화해본 결과 주문이 언제 발생할지 정확하게 맞추는 모습을 볼 수 있어 Classification문제로 바꾸어 진행하지는 않았다. 다만 여기서 분석자가 threshold를 정의해주어야 했다.
과거 20일 데이터의 예측값 평균을 m이라 하고 표준편차를 s라 할 때
threshold = m - s 로 정의하였다. 미래 예측값이 threshold보다 크면 매출이 발생하는 것이고, 아니라면 매출이 없는 날이라고 하였다. 196일 중 150일을 주문했던 거래처의 경우 F1 score가 0.94로 준수한 성능을 보였다.
영업팀의 수는 32명이고 매달 5시간의 근무 단축이 있을 것이라 기대되며 일년에 총 5,700만원의 Man Power절감이 있을것으로 예상된다.
활용방안 : 매일 아침 영업사원에게 당일 수요가 있는지 확인해야 할 거래처들의 목록이 주어짐. 업무 효율성과 거래처의 신뢰성을 달성.
아쉬웠던 점은 Sparse한 데이터셋에서 GRU-D를 변형해서 적용해보지 못한점이 아쉽다.

