Bank Term Deposit Predictor
2026-06-20
A deployed classifier that predicts whether a client will subscribe to a bank term deposit, with a live Streamlit app for real-time predictions.
classification random forest streamlit deployment
Problem
A bank running a phone campaign wants to know which clients are worth calling. Using demographic, economic, and campaign features, the goal is a model that flags likely subscribers, and just as importantly, a usable interface so a non-technical user can try it on a real client profile rather than reading a notebook.
Data
UCI Bank Marketing (Public dataset (4,119 instances, 20 features))
Approach
Exploration of the marketing dataset, then a Random Forest classifier with hyperparameter tuning, and a Streamlit web app that turns the trained model into real-time predictions from typed-in client details. The point was to take the model past the notebook and into something someone can actually use.
Result
The model reaches ROC-AUC 0.750 and an F1-score of 0.90 for the subscribed class, and it runs as a live app anyone can try in the browser. It is my first end-to-end project taken all the way to deployment.
demo video
a short recorded walkthrough goes here once the project is complete
What I'd do differently
The economic features (Euribor rate, employment variation) carry a lot of the signal, so the next step is checking how the model holds up when those shift, and calibrating the probabilities before treating them as call priorities.