본문 바로가기
Project

부트캠프/ 파이썬 프로젝트(Instacart): Step2. 프로젝트 진행 및 완료

by yj-data 2025. 8. 5.

이전글:

2025.08.04 - [Project] - 부트캠프/ 파이썬 프로젝트: Step1. 프로젝트 리딩

 

부트캠프/ 파이썬 프로젝트: Step1. 프로젝트 리딩

전체 프로젝트 일정: 7/22 피어세션 - 8/4 발표, 약 2주 이 포스팅에서는 프로젝트 리딩 부분만 작성해 보도록 하겠다. 이번 프로젝트는 강제로 내가 프로젝트 리딩을 맡게 되었었는데, 힘들긴 했지

yj-data.tistory.com

 

프로젝트 진행은

1차 멘토링 - 각자 분석/시각화/인사이트 도출 - 2차멘토링에 따른 수정 - 발표 로 이루어진다. 

 

일단 지난주 (플젝리딩)는 너무 빡빡하게 진행했어서, 리프레쉬를 위해 주말에는 휴식을 했다. 사실 토요일에는 공모전 제출을 하느라 바빴다(정말 부트캠프 기간 동안 빡빡하게 살고있다 ㅋㅋㅋㅠㅠㅠ) 그리고 일요일에 드디어 좀 쉬고 다시 월요일부터 화이팅이었다!

 

7/28 1차 멘토링

아침에 개인적으로 바쁜일이 있어, 다른 업무는 못했다. 그리고 멘토링을 받았다. 

멘토링에는 멘토님께 여쭤봐야 할 부분들을 ppt로 만들어서 가져갔는데 그 부분에 대해서 높은 평가를 받았다. 사실 이제 프로젝트를 시작한지 3일 정도 되었기 때문에 우리가 가져야 최대한으로 가져갈 수 있었던 것은, 앞으로 우리가 프로젝트를 어떻게 진행할 것인지에 대해 전반적으로 설명을 드리는 것 뿐이었다. 우리가 생각한 프로젝트의 흐름, 그리고 지금 어디까지 해 놓았는지, 그리고 앞으로 해야 할 일은 무엇인지, 정도 가져갔으며 이에 대해서 간단한 피드백을 받았다. 

 

7/29 화

지난주에 끝난 공모전 블로깅 하랴, 파이썬 프로젝트는 지난주에 무엇을 했는지 간단하게 적어 놓으랴, 이제 분석/시각화 진행하랴 정신이 없었다. 내가 맡은 부분은 분석 시각화 일부, 예측 모델링, 그리고 예측 모델링의 결과에 기반한 마케팅 혹은 제품 추천 시스템 인사이트 작성 이었다. 일단 분석을 시작하려는데, 지금까지 타팀원이 해두셨던 CLV 정의 등에 기반해서 작성하려니, 남이 써놓은 코드를 하나하나 이해 한 뒤에 진행을 해야 하는 문제가 있었다. 그래서 시작하는데 시간이 조금 걸렸다.

그리고 이 팀 프로젝트가 좋은 점이, 제가 놓친 부분들을 다른 사람들이 놓치지 않는다는 것이다.

원래 정해둔 CLV = 재구매율 x 총 구매 상품 수 x 평균 장바구니 크기 / 평균주문간격일

 

지난주에 정한 CLV에 기반해 분석을 하고 있는데 문제가 발견되었다. 다른 팀원분이 분석을 하는데, 지금 우리가 정해놓은 CLV 로 제품 추천을 할 때, Matrix Factorization 방식으로 추천을 하면, 고객군별로 전혀 추천 결과가 차이가 나지 않는다고 하셨다. 그래서 급히 CLV를 바꾸었다.

변경한 후 CLV = ( 재구매율 x 총 구매 상품 수 x 평균 장바구니 크기 ) * 0.5 + ( 구매 카테고리 다양성 x 고유한 상품의 개수 / 평균 주문 간격일 ) * 0.5

이렇게 하니 차이가 보이시더라고. 그래서 이걸로 확정!다행히 나는 분석을 잔뜩 진행한 상황은 아니었다. 그래서 다시 이 CLV로 분석을 진행했다.

내가 맡은 부분
분석/시각화
-- 세그먼트별 재구매율, 평균 장바구니 크기, 평균 주문 간격일, 주소비 카테고리 분석 및 시각화
-- 재구매가 많이 일어난 카테고리 파악
-- vip중 이탈예정자, 2군에서 vip가 될 사람 파악
모델링: 다음 구매 주기 예측 모델링, 예상 구매 품목 예측 모델링
인사이트 : 예측모델링 두 가지 기반 마케팅/추천시스템 설계 전략

 

7/30 수

이날은 처음 회의가 없는 날이었다. 각자 업무 진행 day! 이날 진행한 일은, 모델링, 전략, 그리고 px 디자인짜기 이다. px 디자인짜기가 무엇이냐면, 최종적으로 발표자료를 만들어야 하는데, 각자 너무 다른 느낌의 장표를 만들게 되어서, 커스텀이 자유로운 px(plotly express)로 디자인을 통일시켰다. 색깔은 ppt 디자인에서 사용하고 있는 포인트컬러로 잡았다. 아 근데 진짜 ㅋㅋㅋㅋ px로 온갖 커스텀을 하고 있으려니 너무나 태블로가 그리워졌다..ㅎㅎㅎㅎㅎ 그래도 파이썬 프로젝트니까!! 하는 마음으로 끝까지 파이썬만 써서 해냈다. 

 

그리고 대망의 모델링!!! 모델링 해보고 싶어서 처음에 업무 분담할 때 모델링 하고싶다고 얘기했는데, 다행히 아무도 모델링을 탐내는 분이 없어서 내가 다 맡게 되었다. 구매 주기 예측 모델링은 특정 지점만 예측하면 되니까 선형 회귀분석을 사용하고, 구매 품목 예측 모델링은 이것을 고객이 구매할 것인가 안 할 것인가, 즉 2개 중 하나로 제품이 분류되는 것에 기반한 모델링이기 때문에 분류 기법을 사용해서 진행했다. 시간이 부족해서 한땀한땀 쓰지는 못하고, chatGPT의 도움을 받아 작성했다. 주기 예측 모델링은 생각보다 쉽게 끝났는데, 품목 예측 모델링은 생각보다 어려웠다.

 

7/31 목: ppt 피드백/수정, 모델링 완료, mvp 제작 시작

첫날 미처 다 끝내지 못한 구매 품목 예측 모델링을 계속 진행했다. 그리고 목요일 오전에는 대망의 ppt 리뷰가 있었다. 첫 ppt 리뷰!! 팀원분께서 만들어오신 ppt 를 함께 확인하고 부분을 나눠서 수정하기로 했다. 그러나 드디어 이제 시간이 나서, 내가 생각해 봤던 것을 한번 만들어 보기로 했다. 팀원분들께 얘기를 해보니 일단 한번 만들어 보시라고 하셔서, 만들기 시작했다. 그리고 일단 당일 만들어진 부분만 공유했더니 반응이 괜찮아서 금요일에 이어 계속 만들기로 했다.(남편, v0 알려줘서 땡큐!) MVP 링크

왼쪽은 그때랑 거의 똑같았고, 오른쪽은 최종 화면이지만 이런 비슷한 느낌으로 만들었었다. 아직 데이터는 붙이기 전이었다.

 

8/1 금: 대망의 멘토링...!

두구두구두구 멘토링 day! 피드백을 받았으나 ㅋㅋㅋㅋㅋㅋㅋㅋ 멸망ㅋㅋㅋㅋㅋㅋ 다시 흐름 만들고 고쳐서 오후에 다시 보자고 하셨다. 그래서 급히 고치기 작업에 돌입. 다만 흐름은 발표자 입맛에 맞아야 하기에 그건 발표자가 하고, 나머지 부분은 나눠서 고치기로 했다.

그래서 모델링은 별로 발전을 못했고, 그래도 데이터 하나 붙여서 한 섹션 정도는 데이터 맞춤형으로 구현해두고, 오후 멘토링 시간에 이것도 보여드렸다. 사실 여러 추천 시스템을 적용을 해서 분석을 했기 때문에 그 부분이 이 데이터를 만져보지 않은 사람은 이해가 어려울 것 같아서, 이 추천 시스템이 어떻게 작동을 하는 것인지 좀 이해할 수 있도록 하기 위한 작업물이었다. 그렇지만 이게 실제로 효용이 있는 것인지 정말 감이 안 와서 멘토님께 여쭤봤다. 멘토님의 답변은 '데이터 분석가는 분석을 하는 사람이지만 또한 설득도 하는 사람이기 때문에, 이런게 있으면 당연히 좋다'라는 것이었다. 큰 칭찬도 받고 ㅎㅎ 계속 만들어보기로 했다. 그게 나의 무덤(?)이 될줄 몰랐지... 그리고 하루만에 고쳐간 ppt는 이전에 악평을 딛고 ㅎㅎㅎ 호평을 받았다.

 

8/2-3 토-일

마무리 스퍼트!!!!! 발표자는 발표장표 정리하고 발표준비하시고, 나는 mvp만들고ㅋㅋㅋㅋㅋㅋㅋㅋ 나머지 한분은 내가 mvp에 쓸 데이터 뽑아주시고 ㅋㅋㅋㅋ 정신없었다. 생각보다 어려웠던게, 이 v0로 mvp만들기는 또 처음이고, 데이터 넣는것도 처음이고 해서 어떻게 해야하는지는 매번 부딛히며 배웠다. 결국 딱 구현할정도만 가공된 데이터를 넣어서 데이터가 보이게만 했다. 그렇게 하기까지 참 어려웠다 ㅠㅠ흑흑 그래도 성공!! 남편 피드백도 받아서 반영했더니 훨씬 이해도가 높아졌다. 역시 모르는 사람에게 보여주면 좋다니까.

 

그리고 8/4 발표..!

발표자님께서 열씸열씸히 준비해서 무사히 스무스하게 발표도 진행하셨다. 감사합니다 발표자님!

우리조 피드백

- 초반 인스타카트 회사 설명 및 시각자료 활용이 이해에 도움됨
- CLV 개념 도입 → 고객 세그먼트 분류(세분화)→ 세그먼트별 전략 제안 흐름이 자연스럽고 설득력 있음
- 재구매 기반 플랫폼에서 중요한 역할을 하는 VIP의 식별 기준을 명확히 설명해준 점이 좋았음
- CLV 식을 데이터에 맞춰 창의적으로 설계한 점이 인상적임
- CLV식에 대한 정당화 과정(분류 후 vip군이 전체 구매수의 66%차지)이 논리적으로 타당하며 설득력 있음

 

다른 조들 보니까 몇가지 배울점이 있었다. 

  • 다른 조들도 생성형 AI(아마도) 사용해서 구현한 팀이 있던데, 여러 생성형 AI를 공부해야겠더라.
  • 분석을 정말 딥하게 한 조도 있었다. 리스펙..! 시간이 없어서 저렇게 까지 못하겠던데 대체 어떻게 한걸까..
  • 이런이런 기본 데이터 테이블에서 어떤어떤 속성을 가져와서 NEW테이블을 만들었다 설명하는 것을  ERD의 모양을 빌려서 한 조도 있었다. 너무 좋았다. 담에 써먹어봐야지.
  • 군집 개수의 근거를 엘보우 기법 + 실루엣 점수를 더해서 최종 적으로 군집 개수를 정한 조도 있었다. 엘보우만 들어봤지 이런건 처음인걸. 공부해봐야겠다. 

굉장히 놀라웠던 점은, 거의 대부분의 조가 실력이 비슷비슷해 보였다는 것이다. 그리고 놀랍게도 다들 접근법이 상당히 다르고 내용도 묘하게 다 달랐다. 하지만 실력은 결국 비슷해보였다 ㅎㅎㅎ 다들 진짜 고생했겠다 ㅠㅠ

그리고 기억할것! 

  • 우리 조에서 발표한 내용을 다시 공부하자. 내가 한 것은 물론이고, 다른 분이 한 머신러닝 기법도 있다. 이 부분들을 좀 꼼꼼히 다시 공부를 하고 완벽히 내 것으로 만들어야 나중에 면접 가서 얘기를 할 수 있을 것 같다.
  • 그리고 멘토님이 말해주신 건데, 면접 때 내가만든.pt 같은 것들을 모아서 책으로 제본을 해서 면접관에게 나눠드린 적도 있다고 한다. 스타트업이면 가능할 법도 한데, 나에게까지 그렇게 많은 시간을 쓸까? 싶었다. 나 같아도 엄청나게 맘에 든 지원자가 아니면 제본까지 안볼거같다. 제본은 좋은 아이디어 같기도 한데, 일단은 제한된 나의 포트폴리오 안에 내용을 많이 담을 수 있도록 해봐야겠다.

 

드디어 플젝이 끝났다. 2주간 생각보다 많은 일이 있었다ㅎㅎㅎㅎㅎㅎ 그래도 무사히 이렇게 정리하고 넘어간다. 파이썬 안녕!!! 후련해!!!!! 다음은 SQL 챕터로 ㄱㄱㄱㄱㄱ