Case study
Customer Churn Analysis & Model
End-to-end churn analysis on 90K telecom customers: EDA, feature engineering, and a gradient-boosted model reaching 0.86 ROC-AUC — plus the 'why' behind who leaves.
What would a rigorous second look at customer churn & actually uncover?
Using Python, Pandas, scikit-learn, SQL, and Matplotlib, the data was explored and analyzed in depth — end-to-end churn analysis on 90K telecom customers: EDA, feature engineering, and a gradient-boosted model reaching 0.86 ROC-AUC —…
End-to-end churn analysis on 90K telecom customers: EDA, feature engineering, and a gradient-boosted model reaching 0.86 ROC-AUC — plus the 'why' behind who leaves.
Hover a row to edit · changes save to your portfolio
Question
Which customers are about to leave, and what actually drives it?
Approach
- Cleaned and joined 3 source tables in SQL
- Engineered tenure, contract, and support-ticket features
- Compared logistic regression vs. XGBoost with stratified CV
Result
XGBoost hit 0.86 ROC-AUC. SHAP showed month-to-month contracts and early support tickets were the strongest churn signals — feeding a targeted retention offer that the CS team piloted.