ML platform for bank marketing campaign optimisation — real-time customer scoring, batch CSV processing, ROI simulation · ROC-AUC 0.800 · Deployed on GitHub Pages
# CampaignIQ — Bank Marketing Intelligence Platform
> A production-ready ML dashboard for predicting bank term deposit subscriptions and optimising campaign ROI.
**Built by M. Koushik** · SR University · Dataset: UCI Bank Marketing (41,188 customers)
---
## Live Demo
🔗
koushik-luffy.github.io
Open the link and start using the platform instantly — no setup required.
---
## What This Does
CampaignIQ turns a trained ML pipeline (Logistic Regression, Random Forest, XGBoost) into a fully interactive web platform that bank campaign managers can use **without writing a single line of code**.
| Feature | Description |
|---|---|
| **Real-time Predict** | Score any individual customer instantly — change any field and probability updates live |
| **Batch Scoring** | Upload a CSV of your contact list → every row gets a probability score + segment label → export back |
| **Targeting Segments** | Auto-segments customers into High / Medium / Low priority with recommended call actions |
| **ROI Calculator** | Sliders for cost-per-call and revenue-per-subscription — compares random calling vs ML-targeted net profit |
| **Model Lab** | Side-by-side metrics, ROC curves, confusion matrix inspector for all 3 models |
| **Business Insights** | EDA findings, 5-step campaign workflow, dataset expansion roadmap |
---
## ML Results
| Model | Precision | Recall | F1 | ROC-AUC |
|---|---|---|---|---|
| Logistic Regression | 0.365 | 0.643 | 0.465 | **0.800** ✅ Best |
| Random Forest | **0.552** | 0.275 | 0.367 | 0.780 |
| XGBoost | 0.373 | 0.585 | 0.455 | 0.775 |
**Key business result:** Targeting only the high-priority segment (17% of customers) achieves a **41.3% subscription rate** vs 11.3% overall — a **3.7× efficiency gain**.
---
## Project Structure
```
campaigniq/
├── index.html ← Entire application (self-contained)
├── README.md ← This file
├── LICENSE ← MIT License
├── .gitignore ← Standard gitignore
├── docs/
│ …