Data analysis project · R + D3
Why do telco customers leave?
Exploratory analysis and a predictive model of customer churn across customers of a California telecom company. The goal: understand which profiles cancel the service and flag who is at risk before they go.
Churn rate
customers churned
Total customers
Average tenure
Average CLTV
Customer lifetime value
01 · Overview
One in four customers churned
Churners are mostly new customers: their median tenure is , versus for active customers. They also pay more per month (median vs. ).
Customers by status
Count and share of total
Tenure and monthly charges by status
Box = middle 50% · line = median · whiskers = 1.5 × IQR
02 · Contract and billing
Month-to-month contracts are the strongest signal
of month-to-month customers churned; on two-year contracts, only . Electronic check payments () and fiber optic internet () also concentrate churn.
Churn rate by contract type
% of customers who churned
Churn rate by payment method
% of customers who churned
Churn rate by internet service
% of customers who churned
Monthly charges vs. tenure
Each dot is a customer
03 · Add-on services
No support or security add-ons, more churn
Among internet customers without tech support, churn reaches ; with support it drops to . Customers without internet barely churn at all ().
Churn rate by add-on service
Same scale across all four panels for easy comparison
04 · Demographics
Seniors and customers without family ties churn more
Senior citizens churn at , customers without a partner at , and those without dependents at . Gender, on the other hand, makes no difference.
Churn rate by demographic profile
Same scale across all four panels for easy comparison
05 · Churn reasons
Competitors and customer service lead the list
Competitor-related reasons combined (better offers, speed, data, devices) account for of churn. The attitude of support staff is the single most cited reason.
Reasons given by churned customers
Number of customers · churned in total
06 · Predictive model
A logistic regression catches 8 out of 10 churners
Trained on 75% of the data and evaluated on customers the model never saw. It uses a threshold of (Youden's index) instead of 0.5, to prioritize catching customers who leave.
AUC
Area under the ROC curve
Sensitivity
Churners detected
Specificity
Active customers correctly classified
Precision
Alerts that are real churners
ROC curve (test set)
Orange dot = chosen operating threshold
Variables with a significant effect
Coefficients (log-odds), p < 0.05
Confusion matrix (test set)
Model prediction vs. what actually happened
07 · Putting it to use
Active customers ranked by risk
The model assigns each active customer a churn probability. are above the threshold and would be candidates for a retention campaign.
| Customer ID | Contract | Internet | Payment method | Tenure | Monthly charges | Churn prob. | Risk |
|---|
Methodology
How it was built
Data and cleaning
A dataset of 7,043 customers and 33 variables. Constant columns (country, state) were dropped, and blank total charges for brand-new customers were handled.
No data leakage
The churn score, CLTV and churn reason (which only exists for customers who already left) were excluded from the model, along with identifiers and fine-grained geography.
Modeling
Stratified 75/25 split and 5-fold cross-validation with caret. It was benchmarked against a Random Forest; logistic regression was chosen for interpretability, with similar performance.