A full-stack data science project built on a real-world telecom dataset to uncover the key drivers of customer churn and craft data-driven retention strategies. From raw data to business insights — this project covers it all.
📊 Predicts churn probability per customer · 🎯 Identifies at-risk segments · 💡 Recommends targeted retention actions
| Feature | Description |
|---|---|
| 🔬 Exploratory Analysis | Deep statistical insights with rich visualizations |
| 🤖 Churn Prediction | ML model to score each customer's churn probability |
| 📊 Interactive Dashboard | Streamlit-powered web dashboard for business users |
| 💼 Business Reports | Auto-generated Excel & PowerPoint output files |
| 🎯 Retention Strategies | Actionable, data-backed recommendations |
Customer_Churn_Analysis-Retention_Strategy/
│
├── 📄 analysis.py # Core analysis & ML pipeline
├── 📊 dashboard.py # Interactive Streamlit dashboard
├── 📋 requirements.txt # Python dependencies
│
├── 📁 data/
│ └── WA_Fn-UseC_-Telco-Customer-Churn.csv
│
└── 📁 output/
├── 🖼️ *.png # Visualization charts
├── 📈 churn_predictions.csv
├── 📊 churn_business_report.xlsx
└── 📑 churn_presentation.pptx
git clone https://github.com/MM-Robin/Customer_Churn_Analysis-Retention_Strategy
cd Customer_Churn_Analysis-Retention_Strategypython -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activatepip install -r requirements.txtpython analysis.pyExecutes the full pipeline: data preprocessing → feature engineering → model training → output generation.
python dashboard.pyOpens an interactive web dashboard to explore churn patterns and model insights visually.
Python 3.8+ pandas numpy scikit-learn
matplotlib seaborn plotly streamlit
Uses the IBM Watson Analytics — Telco Customer Churn dataset, covering:
- 👤 Customer demographics
- 📡 Service usage patterns
- 💳 Billing & contract details
- ✅ Churn labels
The project delivers:
- ✅ Trained churn prediction model with accuracy metrics
- 📌 Top churn-driving factors identified
- 💡 Segment-specific retention recommendations
- 📊 Interactive visualizations & business-ready reports
Contributions are welcome!
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature - Commit your changes:
git commit -m "Add your feature" - Push and open a Pull Request
If you found this project useful, consider giving it a ⭐