[데이터분석] 부트캠프 TIL

20260324 TIL

myun0506 2026. 3. 24. 21:16

[Today I Learn]

- 실전 프로젝트 


📝 2026년 3월 24일 TIL — 실전프로젝트


🔹 오후 회의 1: 퍼널 분석 코드 통합 및 정리

1. CompletedWithoutView 코드 수정

  • 기존에는 단순히 완료됐지만 뷰가 안 된 경우만 체크했으나, 뷰 이후에 완료가 이루어졌는지 시간 순서를 확인하도록 로직을 개선했다.
  • 수정 결과: CompletedWithoutView 비율이 **0.07% → 0.12% (1,289건)**으로 증가
  • gap_first_view_to_first_complete_day 컬럼에서 CompletedWithoutView가 true인 경우 음수 값이 발생하는 문제 → NaN 처리 코드 추가
    • 💡 인지→완료까지 걸린 시간의 평균값에 음수가 포함되면 값이 왜곡되기 때문

2. 첫 수신 시점 분석

  • IsViewed로 필터링 후, group_id별 min(customized_to_opened)를 사용하여 처음 본 시점 파악
  • 결과: 첫 번째~두 번째 수신까지는 대부분 확인하지만, 세 번째부터 확인 비율이 확연히 감소 → 안 볼 사람은 안 보는 경향
  • 경향성 정도로만 해석하고, 과대해석은 지양하기로 결정

3. 코드 정리 및 통합

  • Valid_view_sequence → CompletedWithoutView로 통일
  • within_duration 등 불필요한 불리언 컬럼 제거 (interval join으로 이미 필터링되어 중복)
  • join_year_month → cohort로 통일 (더 직관적인 네이밍)
  • 분석용 테스트 컬럼들 정리

4. EDA 시각화 자료 선별

  • 포함: 코호트 시각화, 거래 금액 시각화, 오퍼 유형 다이어그램
  • 제거: 연월별 분포 막대 그래프 → 선 그래프로 대체, 세부 분포 그래프 제거
  • 인스턴스 반영 이전의 초기 EDA는 비중을 줄이고 빠르게 넘기기로 결정

5. Git 파일 관리

  • Final 폴더 생성 → preprocessed_final, EDA_final, analyzed_final로 파일명 통일
  • 소윤님의 EDA.ipynb가 의도치 않게 수정되어 Git에 반영되는 이슈 → 원본 덮어쓰기로 해결

🔹 오후 회의 2: 데이터 통합 및 Git 관리

1. Funnel Instance 데이터 통합

  • Funnel Instance 파일에 오퍼(Offer) 정보고객(Customer) 정보를 병합하여 최종 분석용 데이터프레임 생성
  • DA Final 파일을 활용하여 조인(Join) 수행
  • Customer ID 기준으로 distinct 처리하여 중복 제거
  • 💡 레프트 조인(Left Join) 시 왼쪽은 중복 가능하나, 오른쪽은 반드시 유니크해야 함
  • Validate M=1 검사를 통해 유니크한 ID 확인
  • 최종 7,626개 레코드로 머지 완료 ✅

2. 파일 구조 및 네이밍

  • 새로운 분석 파일명: "Advanced Analyzed"
  • Final 폴더에 코드를 추가하되, 마크다운으로 스테이지 구분
  • 데이터 명세서 Stage 2 시트로 업데이트 예정 (채널 정보 추가 포함)
  • Reward ratio, Offer strength는 의미가 크지 않아 제외 결정

3. Git 이슈

  • 🚨 셀이 중복 추가되는 문제 발생 → 수정 후 다시 push하여 해결
  • 파이널 파일은 한 번에 한 명만 수정하는 것으로 합의

🔹 저녁 회의: 코드 수정 및 품질 체크 논의

1. 마스킹 로직 수정

  • 준석 튜터님 피드백: preview가 있는 인스턴스에서만 gap을 계산하도록 처음부터 분기에서 만드는 것이 더 명확
  • 마스크를 추가하여 음수 방지 및 로직을 더 명확하게 표현
  • 수정된 코드를 Figma에 업로드 후 파이널 버전에 전체 셀 복사 붙여넣기로 반영

2. First View와 Completed 동시 발생 처리

  • first_view와 first_completed가 같은 시점인 경우를 유효한 것으로 볼지 논의
  • 결론: 등호를 제거 → first_view < first_completed로 수정
    • 🚨 "사전에 보았다"는 의미가 성립하려면 시간적으로 유의미한 차이가 필요
    • 예: 푸시 알림 → 확인 → 매장 방문 결제 = 인과관계 성립
    • 동시 발생(매장에서 직원이 안내)은 우리 분석 맥락에서 제외

3. 품질 체크 코드 구현 (3단계)

  • 품질 체크 1: 병합 전 — 이벤트 중복 매핑 확인
  • 품질 체크 2: 병합 후 — 타임스탬프 확인
  • 품질 체크 3: View map duplicate 확인 추가
  • 인포메이션 오퍼가 completed로 들어오지 않는지 확인하는 코드도 추가 필요

4. 프로젝트 진행 상황

  • 마감까지 정확히 일주일 남음
  • 현재 작업 완료 후 빠르게 진행 가능할 것으로 예상

✅ 오늘의 종합 액션 아이템

  • [ ] CompletedWithoutView 코드 수정사항 반영 및 주석 추가
  • [ ] Final 폴더에 최종 코드 파일 추가
  • [ ] 데이터 명세서 Stage 2 시트 업데이트 (채널 정보 추가)
  • [ ] 마스크 조건에서 등호 제거 (first_view < first_completed)
  • [ ] 품질 체크 코드 1, 2, 3 추가 및 병합
  • [ ] 인포메이션 오퍼 completed 여부 확인 코드 추가
  • [ ] Figma에 최종 수정 사항 업로드
  • [ ] 팀원 전체 최신 버전 git pull

'[데이터분석] 부트캠프 TIL' 카테고리의 다른 글

20260326 TIL  (0) 2026.03.26
20260325 TIL  (0) 2026.03.25
20260320 TIL  (1) 2026.03.20
20260318 TIL  (0) 2026.03.18
20260317 TIL  (0) 2026.03.17