An end-to-end Machine Learning project that predicts whether a telecom customer will churn using classification models and a deployed Streamlit web application.
Telecom companies lose revenue when customers leave (churn). The goal is to predict churn in advance so businesses can take proactive actions.
- Telco Customer Churn Dataset
- Features include:
- Customer demographics
- Subscription details
- Service usage
- Billing information
- Missing value handling
- Encoding categorical variables
- Feature scaling
- Tenure groups
- Spend categories
- Engagement features
- Risk indicators
- SMOTE (Synthetic Minority Oversampling Technique)
- Logistic Regression β (Final Model)
- Decision Tree
- Random Forest
- XGBoost
| Metric | Score |
|---|---|
| Accuracy | ~0.77 |
| Precision | ~0.54 |
| Recall | ~0.79 |
| F1 Score | ~0.64 |
| ROC-AUC | ~0.86 |
- Month-to-month contracts have highest churn
- Low tenure customers are high risk
- Electronic check payments increase churn probability
- Customers with more services are less likely to churn
- Built using Streamlit
- Real-time prediction interface
- User-friendly input form
- Python
- Pandas, NumPy
- Scikit-learn
- Imbalanced-learn (SMOTE)
- Streamlit
- Matplotlib / Seaborn
customer-churn-prediction/
β
βββ app/
β βββ app.py
β
βββ models/
β βββ logistic_model.pkl
β βββ preprocessor.pkl
β
βββ notebooks/
β
βββ data/
β
βββ requirements.txt
βββ README.md
βββ .gitignore