Telecom Customer Churn Analysis
Analyzed 7,043 telecom customer records and used explainable classification models to identify churn-risk segments and propose targeted retention actions.
Period · Summer 2025
Role · Individual project · KW-Corporation university virtual-company program
Source · GitHub repository
Quick read
The through-line of the work.
Open
The starting question
Which customers are most likely to leave, why are they at risk, and which retention response fits each segment?
Build
What I checked
I started with 7,043 customer records across profile, contract, tenure, billing, payment, service, and churn fields and moved through Prepare the evidence -> Find meaningful segments -> Compare and interpret models -> Translate analysis into action.
Turn
What changed my view
Month-to-month contracts were the clearest churn-risk signal.
Close
Where I draw the line
The 5.0 percentage-point churn reduction is a proposed planning target, not an achieved business result.
01 · Start
The question I began with
Which customers are most likely to leave, why are they at risk, and which retention response fits each segment?
02 · Material
The data and evidence
03 · Work
How I worked through it
- 01
Prepare the evidence
Converted blank TotalCharges entries, encoded categorical variables, and created analysis-ready training and test sets.
- 02
Find meaningful segments
Examined churn patterns across contract type, tenure, monthly charges, payment method, and service adoption.
- 03
Compare and interpret models
Compared seven classifiers, selected Gradient Boosting on the strongest ROC-AUC, and used SHAP and dependence analysis to explain key drivers.
- 04
Translate analysis into action
Connected risk drivers to proposed contract, onboarding, and service-support interventions.
04 · Takeaway
What the numbers suggested
Month-to-month contracts were the clearest churn-risk signal.
Shorter tenure and higher monthly charges were associated with greater risk.
Non-use of selected security and technical-support services provided additional risk signals.
Gradient Boosting reaches a test-set ROC-AUC of 0.841, and reproduce.py in the repository regenerates the same metrics table.
Not claimed
- Does not claim churn fell by 5.0 percentage points. It is a pre-execution target still to be tested.
- Does not read SHAP as causal. It explains how the model decided, nothing more.
- Does not claim a real retention outcome. The public dataset carries no intervention results.
05 · Use
Where this helps
The analysis turns a binary prediction task into a prioritization framework and proposes retention strategies targeting a 5.0 percentage-point reduction in churn; the target has not been achieved or validated.
06 · Boundary
What still needs checking
- •The dataset is public and does not include campaign exposure, complaint history, intervention cost, or observed retention outcomes.
- •The final model pipeline, hyperparameters, random seed, and metrics table should be reproduced before treating the exact score as verified.
- •Proposed interventions require experimental validation and explicit retention KPIs.
07 · Figures
Tables and figures
Churn rate by contract type
Verified sourceCalculated directly from the source CSV. The bars show a descriptive association between contract type and churn; they do not show that an intervention reduced churn.
Source · WA_Fn-UseC_-Telco-Customer-Churn.csv · 7,043 rows
Churn rate by tenure group
Verified sourceTenure was grouped into four intervals directly from the CSV. The chart describes higher churn among newer customers; it does not identify individual causation or validate a proposed retention action.
Source · WA_Fn-UseC_-Telco-Customer-Churn.csv · bins computed from tenure