상황
A통신사는 업계 1위의 통신사였으나 그 명성이 무색해져가고 있다.
다양한 경쟁사가 등장함에 따라 M/S가 떨어지고 있고, 타 통신사로의 이탈 고객이 증가하고 있는 상황이다.
이에 이탈 가능성이 높은 고객을 예측하고, 해지 방어 활동들을 전개하려고 한다.
데이터 구조
customerID | gender | SeniorCitizen | Partner | Dependents | tenure |
고객ID | 성별 | 노인여부 | 결혼여부 | 부양가족여부 | 회원개월수 |
PhoneService | MultipleLines | InternetService | OnlineSecurity | OnlineBackup | DeviceProtection |
전화서비스 여부 | 다회선 여부 | 인터넷 서비스 공급자 | 온라인 보안 여부 | 온라인 백업 여부 | 기기보험여부 |
TechSupport | StreamingTV | StreamingMovies | Contract | PaperlessBilling | PaymentMethod |
기술지원여부 | 스트리밍TV여부 | 스트리밍영화여부 | 계약기간 | 종이없는청구여부 | 결제수단 |
MonthlyCharges | TotalCharges | Churn |
월청구금액 | 청구된 총 금액 | 이탈여부 |
7043 row, 21col 의 데이터셋
분석과정 요약
1. EDA 및 우수 고객 탐색
- 장기회원(tenure)
- 프리미엄 요금 회원(MonthlyCharges)
- 이용개월수(tenure) 및 프리미엄 요금 회원(MonthlyCharges) 조합에 따른 이탈률 분석
2. 이탈 고객 특성 분석
- 인구통계학적 특성
- 부가서비스 사용
- 부가서비스를 모두 이용하지 않는 고객에 대한 이탈률 분석
- 계약 형태, 요금
3. ML 활용 이탈 고객 예측
1. EDA 및 우수 고객 탐색
우수 고객 : 이탈률이 낮은 고객군
df.shape #행,열 수 확인
df.info() #data type 확인
df.isnull().sum() #결측치 확인
df.describe() #이상치 확인
- 약 27%의 이탈률임을 확인( Churn 변수의 value_counts)
- Target변수 숫자데이터로 변환(np.where)
(1) 장기회원 (가설 : 장기고객일수록 이탈률이 낮을 것이다)
- tenure(회원개월수) 시각화 후 구간화
- 20과 60을 기준으로 3구간화
(2) 프리미엄 요금 회원 (가설 : 프리미엄 요금 회원일 수록 우수고객이다)
- MonthlyCharges 시각화 후 구간화
- 40과 80을 기준으로 3구간화
(3) 이용개월수(tenure) 및 프리미엄 요금 회원(MonthlyCharges) 조합에 따른 이탈률 분석
2. 이탈 고객 특성 분석
인구통계학적 특성
부가서비스 사용
부가서비스를 모두 이용하지 않는 고객에 이탈률 분석
계약 형태, 요금
인구통계학적 특성에 따른 이탈률 분석 - 성별/실버고객/결혼여부/부양가족여부
부가서비스 사용에 따른 이탈률 분석
['OnlineBackup', 'DeviceProtection', 'TechSupport', 'StreamingTV', 'StreamingMovies']
부가서비스를 모두 이용하지 않는 고객에 대한 이탈률 분석
- 부가서비스 형태가 모두 No인고객은 47.6% 이탈률, Lift 약 1.8
계약 형태, 요금에 따른 이탈률 분석
계약형태 col, 계약기간/종이없는청구/결제수단
['Contract', 'PaperlessBilling', 'PaymentMethod']
3. ML 활용 이탈 고객 예측
- 'customerID', 'tenure_gp', 'MonthlyCharges_gp'를 제외한 X로 ’Churn’ 변수 예측
- LabelEncoder로 범주형 변수 처리
- RandomForestClassifier 모델 적용
- roc_auc_score산출 및 rou_curve 시각화
- 이탈 가능성 높은 고객에 대해 관리 전/후 이탈률 모니터링
Feature IMP 분석을 통한 중요변수 파악
1위 후보 변수 탐색('Contract’)
위 교육 자료는 zerobase로부터 제공받아 작성되었습니다.
'📊 DATA ANALYSIS > 스터디노트' 카테고리의 다른 글
[Big Query] 유용한 함수 (0) | 2024.06.06 |
---|---|
[Big Query] 이커머스 데이터 쿼리 및 날짜 다루기 (0) | 2024.06.05 |
[스터디노트] 품질관리를 위한 주요인자 분석 (0) | 2024.05.24 |
[스터디노트] 숙박예약 수요 분석 (0) | 2024.05.24 |
[스터디노트] 연관규칙분석을 통한 장바구니 분석(유통 데이터) (0) | 2024.05.23 |