[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 |