데이터사이언티스트 일기

[공모전] 제 3회 유통데이터 활용 경진대회 대상 후기

gomepange 2025. 3. 9. 23:28

 

안녕하세요 ~

 

조금 오래되기는 했지만, 24.09.19 (목) ~ 24.11.6 (수)까지 진행된 공모전에서

' 대상 '을 수상한 후기를 작성해보려고 합니다..!

 

 

 

데이터 분석과 공모전에 관심이 있으신 분들에게 작은 도움이 되었으면 좋겠네요~

 

 

우선 제가 참여했던 공모전에 대해서 간략하게 설명해 드릴게요!

 


 

 

 

 

< 공모개요 >

 

- 대회명 : 제3회 유통데이터 활용 경진대회

- 주 최 : 산업통산자원부

- 주 관 : 한국전자정보통신산업진흥회, 대한상공회의소

- 후 원 : 삼성카드, 두손씨앤아이, 마켓링크, 텐큐브, 한국유통학회

 

 

< 공모주제 >

 

- 수요예측 부분 : Big Data, AI, 등 IT 기술을 활용하여 중소 유통물류 수요 예측

- 생성형 AI활용 부분 : 자유주제

 

공모전 링크 : 유통데이터 활용 경진대회

 

 


 

 

우선, 저는 팀원을 구하기 위해서 같은 과 친구와 ' 링커리어 '를 통해서 팀원들을 구했어요!  처음으로, 링커리어를 통해서 팀원들을 구해봤는데, 정말 유능한 팀원들과 함께해서 좋았습니다!  여러분들도 공모전에 나가고 싶지만, 함께할 팀원들이 없을 때 ' 링커리어 '를 통해서 구해보세요!

 

 

여기서 제가 팀원을 모집하는 Tip을 한 가지 드릴게요!

 

  • 본인의 프로젝트 스타일을 명확히 설명하고, 구하고자 하는 팀원의 스타일을 구체적으로 설명하는 것이 좋은 것 같아요.. 예를 들면, ' 대면 or 비대면 ' , ' 경험 쌓기 위한 참여 or 수상을 위한 참여 ' 와 같은 것을 명시적으로 알려줄 때, 프로젝트를 하면서 트러블이 안 생기는 것 같아요..!

 

 

다음으로, 본! 격! 적!으로 수상 비결을 알려드릴게요!

 

 

그전에, 저희 팀은 수요예측 부분에 참여를 했고, " 라면 / 상온즉석 / 통조림 " 의 6개월의 판매수량을 예측하는 것이 주된 업무였습니다..! 그리고, ' 예측치 - 실제값 (MSE) ' 의 차이가 가장 적은 팀이 수상을 하는 시스템이었어요..

( 자료는 총 3년 치 시계열 데이터를 주고,  " 24년 1월 ~ 24년 6월까지의 수량 "을 예측해야 했어요 ㅠ..ㅠ )  

 

 

주어진 데이터를 보여드리고 싶지만, 공모전 특성상 데이터는 분석 목적으로만 쓰이고 공개가 되면 안 되기 때문에,,, 간략하게만 설명드리자면, ' 판매일 ' , ' 우편번호 ' , ' 판매수량 ' , ' 상품명 ' 등의 여러 칼럼이 존재하는 시계열 데이터가 주어졌습니다.

 

 

첫 번째 비결 )  다각도로 데이터를 살펴라 ( EDA )

 

저희 팀은 본격적으로 모델링을 하기 전에, 데이터의 특성을 정말 자세히 파악했어요. 예를 들면, 특정 지역( 우편 번호 )에 따라 판매 수량의 특성이 있지 않을까? , 특정 제품 ( 상품명 ) 에 따라 판매 수량의 특성이 있지 않을까? 이상치는 제거할까 남겨둘까?  등의 여러 가정을 세우고, 분석하고, 의논했습니다. 그 결과, 저희는 ' 판매일 ' 에서 중요한 단서를 찾았습니다. 바로.. 명절 ( 추석 / 설날 ) 에 판매량에 갑자기 뛰는 것을 확인했습니다.  따라서, 저희는 '추석 / 설날'을 구별하는 새로운 열( column )을 정의하여 새롭게 데이터를 생성했습니다. 

 

만약, EDA (탐색적 자료분석)가 없었다면, 단순한 데이터 분석에 그쳤을 것이고, 수상과는 멀어졌을 것입니다.

 

 

두 번째 비결 )  다양한 모델을 혼합해 안정성 높이기 ( 앙상블 활용 )

 

 

저희는 6개월 치를 한 번에 예측해야 하고, 실제 정답을 미리 알 수 없기 때문에, 한 가지 모델에만 의존하는 것은 예측 리스크가 크다고 판단했습니다. 따라서, ML 모델 ( Catboost , Xgboost , Randomforest )과 시계열모델 ( SARIMAX )을 종합적으로 사용해서 안정성을 높였습니다. 예를 들어, Catboost의 예측 값과 SARIMAX의 예측 값의 평균 또는 가중평균으로 6개월을 예측하는 방법으로 진행했습니다. 

 

( 추후 포스팅에서, ML 모델과 시계열모델에 대해서 자세히 설명하도록 할게요..!! )

 

 

세 번째 비결 )  세분화를 통해 안정성을 높였습니다.

 

 

저희 팀은 6개월을 한 번에 예측하는 것이 아니라, '주(Week)' 단위의 수요를 먼저 예측하고 '주'를 합해서 '월(Month)'의 수요를 예측했습니다. 주 단위로 세분화해 예측하면 짧은 주기의 변동이나 트렌드를 좀 더 세밀하게 포착할 수 있어, 월 단위를 한 번에 예측하는 것보다 오류를 줄이고 안정성을 높일 수 있었습니다.

 

 


 

 

결과적으로, 저희 팀은 위에 ' 세 가지 비결 '을 통해서 다른 참가자들에 비해서 수요를 더 정확히 예측했고, " 대상 (1등) "을 달성할 수 있었습니다. 물론, 저희 팀의 방법이 예측에 있어서 100% 정답은 아니겠지만, ' 세 가지 비결 ' 들을 참고해서 여러분들이 공모전을 할 때 조금이나마 도움이 되었으면 좋겠습니다.

 

(추가적으로, 좋은 방법 있으면 댓글 남겨주세요 ㅎㅎ)

 

또한, 공모전에 대해서 더 궁금하거나, 분석방법에 대해서 더 궁금한 것이 있으면 언제든지 댓글 남겨주세요!

 

긴 글 읽어주셔서 감사하고, 다음 포스팅으로 찾아뵐게요!!