NSDC Data Science Project – Predicting Customer Departure with Machine Learning


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.