내일배움캠프

데이터 분석 트랙 18주차 (25.06.22.) W.I.L.

jjaio8986 2025. 6. 22. 22:25

[주간 회고]

  • 최종 프로젝트

1. 진행사항 : RFM Segment를 완료, ARPU, BS, CLV를 통한 통계 검정(Shapiro-Wilk, Levene,Kruskal-Wallis, Dunn's test 완료)을 통해 신뢰도 보완 완료

 - 고객 추천 시스템을 위한 머신러닝을 계획중

<최종 RFM Segment>

def classify_final_segment(row):
    if row['RF_Level'] == 'High_RF':
        if row['M_Score'] == 5:
            return 'Top Value'  # 최고 고객군
        else:
            return 'Active Low Value'
    elif row['RF_Level'] == 'Mid_RF':
        if row['M_Score'] >= 4:
            return 'Growth Potential'
        else:
            return 'Active Low Value'
    else:  # Low_RF
        if row['M_Score'] >= 4:
            return 'Growth Potential'
        else:
            return 'Churn Risk'

rfm['Segment'] = rfm.apply(classify_final_segment, axis=1)

 

# 고객군은 총 4부류

'Top Value', 'Active Low Value', 'Growth Potential', 'Churn Rusk'

Segment Customer_Count Percent
Active Low Value 719 28.8
Churn Risk 938 37.5
Growth Potential 535 21.4
Top Value 308 12.3

# RFM 고객 군 별 기술 통계 값

 

Segment Customer_Count Customer_Percent Total_Revenue Total_Orders ARPU BS Avg_CLV Avg_CLV_score_norm
Top Value 308 12.32 2865162.98 90744 9302.48 31.57 106.93 0.26
Growth Potential 535 21.40 2686897.19 68759 5022.24 39.08 61.52 0.15
Active Low Value 719 28.76 1574672.75 82083 2190.09 19.18 45.60 0.11
Churn Risk 938 37.52 930730.16 34898 992.25 26.67 25.92 0.06
# 통계 검정 해석

1. VIP VS 다른 세그먼트
- VIP는 다른 모든 세그먼트와 유의미하게 다름
=>  RFM 기준 VIP 분류가 실제로 가장 높은 CLV를 가진 고객을 잘 포착하고 있음

2. Churn Risk VS 다른 세그먼트
- 거의 전부 p < 1e-50 수준 → 매우 유의미
=>  Churn Risk는 가장 낮은 CLV 그룹임이 통계적으로 뚜렷

3. At Risk High Value vs Potential Loyalist
- p = 0.839 → 유의미한 차이 없음
- 이 둘은 CLV 분포가 유사함
=> 둘 다 “한때는 고가치 → 최근 이탈 여부로 구분된 그룹”이므로 구매력은 유사한 게 자연스러움
=>  Potential Loyalist 와 At Risk High Value는 CLV가 유사하므로 전략적으로 병합 or 비슷한 캠페인 설정 가능

4. Frequent vs Potential Loyalist
- p = 9.73e-09 → 유의미
=>  방문은 자주하지만 CLV는 상대적으로 낮은 Frequent 그룹과,
=>  단가가 높은 Potential Loyalist의 가치 차이 확인 가능

 

# 차후 분석 방향은 "고객 이탈 방지"를 위한 분석을 진행! 이를 위한 머신러닝 기법을 탐색!