
Predicting Customer Departure with Machine Learning
Project Description
An end-to-end, production-style machine learning project (Colab) that builds a complete customer-churn prediction system the way a working ML engineer would. Using the IBM Telco Customer Churn dataset, students go well beyond a single model: they build leakage-free scikit-learn preprocessing pipelines, handle class imbalance with SMOTE, train and compare a suite of classical models (Logistic Regression, Random Forest, XGBoost), tune them with cross-validation and hyperparameter search, then build a Keras neural network as the “headliner” and benchmark it fairly against the classical baselines. The project closes with deployment prep — a final leaderboard, a saved best model, a reusable predict function, and a Model Card — turning a notebook into something that resembles a shippable product. The recurring lesson is engineering discipline: pipelines prevent data leakage, no single model should be trusted blindly, and a neural network does not automatically win on tabular data.
Dataset
The IBM Telco Customer Churn dataset (7,043 customers of a fictional telecom company), loaded live from GitHub. Each row is one customer; the target is Churn. Features span demographics (gender, senior-citizen status, partner, dependents), account info (tenure, contract type, paperless billing, payment method), services (phone, internet, streaming, etc.), and charges (monthly and total). Includes a known data-quality issue in TotalCharges that students fix as part of the pipeline.
Relevant Skills You May Apply
Python, pandas, and NumPy, core machine learning concepts (train/test split, classification, evaluation metrics), data visualization with matplotlib/seaborn, and comfort running Colab notebooks. Prior exposure to scikit-learn is helpful but not required.
Skills You May Gain
Production-grade ML engineering: building scikit-learn Pipelines and ColumnTransformers to prevent data leakage, handling class imbalance with SMOTE (imbalanced-learn), feature engineering, training and comparing Logistic Regression / Random Forest / XGBoost, cross-validation and hyperparameter tuning, building and reading the training curves of a Keras/TensorFlow neural network, evaluating with ROC-AUC / F1 / recall rather than accuracy alone, and deployment prep (model saving, a predict function, and a Model Card).
Total Time
Approximately 10–14 hours, self-paced. The hyperparameter-tuning and neural-network training cells take several minutes each, which is expected.
Milestones
- Milestone 1: Setup & Problem Framing — engineering environment and the business case for churn prediction.
- Milestone 2: Data Collection & Validation — load the IBM Telco data live and validate the schema (bad data = bad models).
- Milestone 3: Building the Preprocessing Pipeline — fix the TotalCharges issue, encode the target, and put every transformation inside a leakage-free pipeline.
- Milestone 4: EDA & Feature Engineering — uncover why customers churn and engineer stronger features.
- Milestone 5: Training the ML Suite — Logistic Regression, Random Forest, and XGBoost in full pipelines with SMOTE, compared head-to-head.
- Milestone 6: Hyperparameter Tuning & Cross-Validation — 5-fold CV and parameter search to squeeze out performance.
- Milestone 7: The Neural Network — a Keras model with dropout, benchmarked fairly against the classical models.
- Milestone 8: Deployment Prep & Model Card — final leaderboard, saved best model, a predict function, and documentation.
Deliverables
A completed notebook with the full preprocessing pipeline, all three classical models trained and compared, tuned models via cross-validation, a trained neural network, and the final leaderboard, saved model, predict function, and Model Card. Save a copy to your personal Drive before starting.
