Telecom Customer Churn Analysis
통신 고객 7,043건을 살펴보며 누가 이탈할 가능성이 큰지, 그 신호를 어떤 유지 전략으로 이어볼 수 있는지 정리했습니다.
프로젝트 흐름
먼저 흐름을 잡으면 이렇습니다.
질문
처음 잡은 문제
처음에는 이탈 예측 점수를 만드는 일보다, 영업·마케팅팀이 바로 볼 수 있는 위험 신호를 찾는 데 초점을 뒀습니다.
근거
확인한 자료
계약 형태, 이용 기간, 월 요금, 결제 방식처럼 고객이 실제로 지나온 흔적을 기준으로 이탈률과 모델 결과를 함께 봤습니다.
판단
생각이 정리된 부분
가장 강하게 보인 신호는 월 단위 계약이었고, 짧은 이용 기간과 높은 월 요금도 같은 방향으로 움직였습니다.
범위
아직 선을 그은 부분
다만 5.0%p 감소는 실행 전 목표입니다. 실제 성과처럼 쓰지 않고, 검증해야 할 제안으로 남겼습니다.
01 · 시작
처음 잡은 질문
이탈 가능성이 높은 고객은 누구이고, 그 고객에게 먼저 건넬 대응은 무엇이어야 할까?
02 · 근거
제가 확인한 자료
03 · 전개
분석은 이렇게 진행했습니다
- 01
분석 데이터 정리
TotalCharges의 공란을 처리하고 범주형 변수를 인코딩해 학습과 평가에 사용할 데이터를 구성했습니다.
- 02
의미 있는 고객군 탐색
계약 유형, 이용 기간, 월 요금, 결제 방식, 부가서비스 이용 여부에 따른 이탈 패턴을 비교했습니다.
- 03
모형 비교와 해석
7개 분류모형을 비교해 ROC-AUC가 가장 높았던 Gradient Boosting을 최종 모형으로 선택한 뒤, SHAP과 dependence 분석으로 주요 요인을 해석했습니다.
- 04
분석을 실행안으로 연결
위험 요인을 계약 전환, 초기 고객 관리, 기술지원 서비스 등 구체적인 고객 유지 아이디어와 연결했습니다.
04 · 결론
숫자에서 읽은 것
월 단위 계약은 가장 뚜렷한 이탈 위험 신호로 나타났습니다.
이용 기간이 짧고 월 요금이 높을수록 이탈 위험이 커지는 경향을 확인했습니다.
보안·기술지원 관련 일부 서비스의 미이용도 추가적인 위험 신호로 나타났습니다.
Gradient Boosting의 테스트셋 ROC-AUC는 0.841입니다. 저장소의 reproduce.py를 실행하면 같은 지표표가 다시 나옵니다.
주장하지 않는 것
- 이탈률을 5.0%p 낮췄다고 말하지 않습니다. 실행 전에 세운 목표이며 아직 검증 대상입니다.
- SHAP 결과를 인과관계로 말하지 않습니다. 모델이 그렇게 판단한 근거일 뿐입니다.
- 실제 고객 유지 성과를 주장하지 않습니다. 공개 데이터에는 개입 결과가 들어 있지 않습니다.
05 · 적용
어디에 활용할 수 있나
예측 점수 자체보다 어떤 고객군부터 챙길지 정리한 데 의미를 뒀습니다. 5.0%p 감소는 실행 전 목표라 실제 성과처럼 쓰지 않았습니다.
06 · 경계
아직 단정하지 않는 부분
- •공개 데이터에는 캠페인 노출, 민원 이력, 개입 비용, 실제 고객 유지 결과가 포함되어 있지 않습니다.
- •성능 수치는 라이브러리 버전에 따라 소수 셋째 자리에서 달라질 수 있어, 재현 스크립트가 출력한 값을 기준으로 씁니다.
- •제안한 전략은 실험을 거쳐야 실제 효과로 말할 수 있습니다.
07 · 근거 화면
표와 그래프로 확인하기
계약 유형별 이탈률
원자료 확인원자료에서 직접 계산한 기술통계입니다. 월 단위 계약과 이탈의 연관성을 보여주지만, 특정 유지 전략이 이탈률을 낮췄다는 인과적 성과를 뜻하지 않습니다.
근거 · WA_Fn-UseC_-Telco-Customer-Churn.csv · 7,043 rows
이용 기간 구간별 이탈률
원자료 확인원자료의 tenure를 0–12, 13–24, 25–48, 49–72개월로 구분해 계산했습니다. 가입 초기의 높은 이탈 비중을 보여주지만, 고객별 원인이나 제안 전략의 실제 효과를 증명하지는 않습니다.
근거 · WA_Fn-UseC_-Telco-Customer-Churn.csv · bins computed from tenure