


⇨ 결측치 및 이상치 확인 후 제거
⇨ 전체 고객 및 매출 현황 분석
transaction_hm 테이블에 price 컬럼 식별화: 원화로 변경
- price에 590을 곱해서 달러화
- 1466을 곱해서 원화로 변경 해줌
detail_desc컬럼의 경우 부가적인 정보로 보이므로 삭제하지 않고 진행fashion_news_frequency에 결측치 1개 존재
- 삭제 전
fashion_news_frequency컬럼 행열 개수: (1048575, 6)- 삭제 후
fashion_news_frequency컬럼 행열 개수: (1048574, 6)
📌 결측치가 많지 않아 customers_hm 테이블에서만 결측치 제거함
⭐️ 모든 테이블 조인 후 이상치 분석 후 처리함
- 조인 과정 중 Table shape 변화 생김👇
👇
transactions테이블과articles테이블article_id로 inner 조인(테이블명: ta_df) 후 행열 수 변화
merge 전 merge 후 transactions.shape (1048575, 5) ta_df.shape (1058575, 29) articles.shape (105542, 25) 👇
ta_df테이블과customers테이블customer_id로 inner 조인(테이블명: hm_df) 후 행열 수 변화
merge 전 merge 후 ta_df.shape (1058575, 29) hm_df.shape (812931, 34) cus_df.shape (1048574, 6)
📌 모든 테이블 조인 후 전체 데이터의 행이 812,931개로 줄어듬.
⭐️ Z-score을 통해 가격 및 나이 이상치 제거
z-score는 데이터가 평균에서 얼마나 떨어져 있는지를 표준편차 단위로 나타내는 값입니다. z-score가 ±3을 초과하면, 해당 데이터는 평균에서 너무 멀리 떨어져 이상치로 간주할 수 있습니다.
💵 가격 이상치 제거
👇
가격이상치 제거 후 행열 수 변화
가격 이상치 제거 전 가격 이상치 제거 후 hm_df.shape (812931, 34) hm_df.shape (803238, 35) ⏰ 나이 이상치 제거
👇
나이이상치 제거 후 행열 수 변화
가격 이상치 제거 전 가격 이상치 제거 후 hm_df.shape (803238, 35) hm_df.shape (801985, 35)
📌 가격 이상치 먼저 제거 후 나이 이상치 제거 함.
📌 이상치를 모두 제거한 후, 801,985개의 행을 사용하여 분석을 시작했다.
📌 EDA를 통해 데이터를 세밀히 분석해 봤다.
❓이유 : 패션 뉴스 구독자가 비구독자보다 매출이 낮았다. 📊
▶️ 세부 분석 방향 :
① 유대감 지표 탐색: 고객과의 유대감 수치화 지표 탐색
② 브랜드 충성도 및 RFM 지표 확인: 브랜드 충성도와 RFM 지표로 유대감을 수치화하고, 고객 세분화 분석을 추진
✔️ 기준 컬럼
- 뉴스 구독 여부
- 회원 상태: 활성, 신규, 탈퇴
- 커뮤니케이션 상태: 활성, 비활성
- 구매 주기
✔️ 고객 분류
- 충성 고객: 최근 14일 이내 구매, 활동적인, 기존 회원
- 잠재 충성 고객: 최근 30일 이내 구매, 활동이 잠시 멈춘, 신규 회원
- 잠재 이탈 고객: 30일 이상 구매 없음, 비활동
- 이탈 고객: 탈퇴 회원
- ANOVA 검정:
연속형 변수의 평균이 범주형 변수에 따라 차이가 있는지 분석하는 방법
- ANOVA 결과:
F-statistic = 2930.34
p-value = 0.00000
📌 고객군 간 CLV 평균 차이가 통계적으로 유의미하다 판단 후 그대로 진행
CLV 값 간 관계가 논리적으로 맞는지 확인
일반적으로 예상 관계:
- 충성 고객 > 잠재 충성 고객 > 잠재 이탈 고객 > 이탈 고객그러나 실제 데이터에서는:
- 이탈 고객의 CLV가 잠재 이탈 고객보다 높음 → 이탈 고객 표본이 110명(현저히 적어 분석 결과에 큰 영향을 끼침)
📌 이탈 고객에 왜 더 많은 비용이 지출됐는지 추가 분석 필요
- 충성 고객 평균 CLV: 1인당 82,139원
- 잠재 충성 고객 평균 CLV: 1인당 79,819원
- 잠재 이탈 고객 평균 CLV: 1인당 49,220원
- 이탈 고객 평균 CLV: 1인당 58,502원
- Recency: 최근에 구매했을수록 높은 점수 부여, [1 - recency]로 값을 반전하여 최근 구매일자일수록 점수가 높게 설정
- Frequency: 자주 구매했을수록 높은 점수 부여
- Monetary: 많은 금액을 지출했을수록 높은 점수 부여
⭐️ 점수 산정: 세 요소를 더해 평균을 내고, 평균값 × 100으로 최종 점수 환산
📌 전체 고객의 RFM 점수가 주로 10~40점 사이에 분포하며, 고득점 고객은 소수에 불과하다.
- ANOVA 검정 결과 (Recency, Frequency, Monetary)
- Recency
F-statistic = 1,275,584.16
p-value = 0.00000- Frequency
F-statistic = 51,534.37
p-value = 0.00000- Monetary
F-statistic = 39,123.56
p-value = 0.00000
📌 RFM 특성별로 F-statistic이 크고 p-value가 0에 가까워 고객 등급 간 차이가 유의미하다 판단 후 그대로 진행
- A등급 (13,867명, 2.7%): 최우수 고객, 충성도 높음 → 지속적 마케팅으로 유지
- B등급 (151,436명, 29.5%): 우수 고객, 타겟 프로모션으로 A등급 성장 기대
- C등급 (178,305명, 34.7%): 일반 고객, 이탈 가능성 존재 → 리마인드 마케팅 필요
- D등급 (149,659명, 29.1%): 저활성 고객, 거의 이탈 → 재참여 유도 전략 필요
- F등급 (117,692명, 22.9%): 이탈 고객, 브랜드 이탈 → 재활성화 캠페인 시도
📌 A등급은 VIP 고객 유지 전략이, F등급은 재구매 및 재접속 유도 전략이 필요
- 연말(11~12월) 쇼핑 시즌 효과: 연말 대규모 할인으로 쇼핑 수요 및 고객 등급 상승
- 프로모션 및 마케팅 효과: 연말 프로모션으로 F, D등급 고객 재활성화
- 예산 소진 및 보너스 효과: 보너스 지급 등으로 소비 여력 증가
- 계절적 특성: 겨울 시즌 특수로 패션/리테일 구매 증가
⭐️ 연초에도 연말과 같은 고객 유지 전략이 필요

너무 잘 봤습니다~^^ 하트