Data Scientist · End-to-end · 2025
Telecom Customer Churn Prediction
An end-to-end ML pipeline that flags at-risk telecom subscribers before they leave.
Pythonscikit-learnXGBoostRandom ForestSMOTEPower BI

Goals
- Give operators an early-warning signal before a subscriber churns.
- Handle a heavily imbalanced target without collapsing to the majority class.
- Identify which factors actually drive churn, not only predict it.
- Deliver results in a form a retention team can act on.
Approach & architecture
- 1
EDA and cleaning
Explored distributions, resolved missing charges and encoded contract and service categories.
- 2
Class balance
SMOTE oversampling on the training split only, keeping the validation set at the real churn rate.
- 3
Feature engineering
Derived tenure buckets, usage ratios and contract-type interactions from the raw billing fields.
- 4
Model benchmarking
Logistic Regression, Random Forest and XGBoost compared on accuracy, recall and ROC-AUC.
- 5
Explainability
Feature importance ranked the drivers and fed a Power BI retention dashboard.

Tech stack
Python
scikit-learn
XGBoost
Random Forest
SMOTE
Power BI

Results
~87%
accuracy from the tuned XGBoost model
3
actionable churn drivers surfaced: tenure, contract type, monthly charges
3
model families benchmarked end to end