Telecom Customer Churn Prediction
Calibrated retention scoring - LightGBM, SHAP, lift analysis, Streamlit
Public portfolio project with live Hugging Face demo, GitHub repository, and README-reported test metrics.
Business problem
A retention team needs to rank customers by churn risk early enough to prioritize outreach, choose thresholds, and explain why a customer was flagged.
Dataset and context
IBM Telco Customer Churn dataset: 7,043 raw records, 7,032 modeling records after cleaning, 19 modeled features, and a binary Churn target. The project is cross-sectional, so recommendations are framed as decision support rather than causal proof.
Methodology
- -Cleaned telecom customer records, handled TotalCharges issues, and split data into train, validation, and test sets.
- -Compared baseline and tree-based models, then selected a calibrated LightGBM workflow for deployment.
- -Used isotonic calibration so risk scores are more useful for threshold and queue decisions.
- -Optimized a low threshold for recall-oriented retention outreach instead of defaulting to 0.50.
- -Added SHAP explanations and lift analysis so stakeholders can inspect both drivers and ranking value.
Technical approach
The modeling path emphasizes business calibration. The app serves a trained pipeline, returns churn probability, applies the selected threshold, and surfaces SHAP-style explanations and retention framing. The README separates model metrics from business assumptions so the result stays auditable.
Key insights
- -Final test ROC-AUC is 0.8397 and PR-AUC is 0.6551.
- -At threshold 0.12, recall is 0.9278, which supports a broad retention-review queue.
- -Top-decile lift is 2.828, showing the ranking concentrates churn risk better than random selection.
- -Key drivers include tenure, contract type, monthly charges, internet service, and payment method patterns.
Business recommendations
- -Use the model as a ranked retention queue, not as an automated cancellation decision.
- -Tune threshold by outreach capacity and offer cost before using it in production.
- -Prioritize top deciles for manual review and offer testing, then monitor realized save rate.
- -Track calibration and drift as customer behavior, pricing, or offer policy changes.
Results and impact
Metrics are from the public project README and artifacts. Any retention-dollar impact would require real offer cost, save rate, margin, and campaign-capacity assumptions.
What I would improve in production
- -Add time-based validation and a defined prediction window.
- -Connect model outputs to campaign outcomes for threshold ROI tuning.
- -Monitor calibration, feature drift, and segment-level performance.
- -A/B test retention offers for high-risk segments rather than using one blanket action.
Recruiter takeaway
This project is a strong recruiter-facing ML case because it goes beyond ROC-AUC: it shows calibration, thresholding, lift, explainability, deployment, and business decision framing.