Skip to content

srinivas-gajulaa/mlops-customer-churn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔁 MLOps-Powered Customer Churn Prediction

A production-ready MLOps pipeline that predicts customer churn using machine learning (XGBoost), with full experiment tracking, reproducibility, and model management using MLflow.


🚀 Features

  • Customer churn prediction using XGBoost & Logistic Regression
  • Experiment tracking and versioning via MLflow
  • Modular pipeline for preprocessing, training, evaluation
  • MLflow UI to visualize metrics, parameters, and artifacts
  • Clean project structure following MLOps principles

📦 Tech Stack

  • Python 3.12
  • scikit-learn + pandas
  • XGBoost
  • MLflow
  • Jupyter Notebook
  • (Optional): FastAPI, Docker, GitHub Actions

📁 Project Structure

mlops-customer-churn/
├── data/                  # Raw and processed data
├── notebooks/             # EDA and model experiments
│   └── train_model.ipynb
├── src/                  # Python modules for pipeline steps
│   ├── data_prep.py      # Data cleaning, encoding, splitting
│   ├── model.py          # Model training and evaluation
│   └── utils.py          # Helper functions
├── models/               # Saved models (pickle or MLflow artifacts)
├── mlruns/               # MLflow tracking data
├── .gitignore
├── requirements.txt
└── README.md

🧪 Sample Run Flow

# Create virtual environment and install requirements
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt

# Run training pipeline from notebook or script
jupyter notebook notebooks/train_model.ipynb

# Start MLflow tracking UI
mlflow ui

Then visit: http://localhost:5000 to explore runs, metrics, models.


🛠️ Setup Instructions

# Clone repo and setup venv
git clone https://github.com/srinivas-gajulaa/mlops-customer-churn.git
cd mlops-customer-churn
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt

# (Optional) Run API if deployed with FastAPI
uvicorn src.api:app --reload

🎤 1-Minute Interview Demo Script

"This is a customer churn prediction pipeline built using core MLOps concepts. I trained models using XGBoost and Logistic Regression, and integrated MLflow for tracking experiments, parameters, and metrics."

"The project includes data preprocessing, model training, evaluation, and artifact logging — all in a modular way so that the code is reusable and easy to maintain. MLflow's UI helps track performance over time and manage multiple runs."

"This project shows my ability to structure real-world ML pipelines using MLOps tools, and to build scalable workflows for deployment and monitoring."


📬 Contact

Author: Sreeni Gajula LinkedIn: linkedin.com/in/srinivas-gajula


About

End-to-end MLOps pipeline for predicting customer churn using FastAPI, Docker, Kubernetes, MLflow, and S3

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published