A sophisticated customer analytics dashboard built for Raiffeisen Bank that leverages machine learning to segment customers and provide personalized product recommendations. The application uses K-means clustering to categorize customers into three distinct segments, enabling targeted marketing strategies and improved customer retention.
This project was developed during the 24-hour Data Hackathon organized by Raiffeisen Bank in 2024. Our team won first place, competing against 5 other teams. The project is intended for hackathon demonstration purposes only.
Try out the live demo of our application here: Raiffeisen Bank Analytics Dashboard
- Real-time customer segmentation using machine learning
- Three distinct customer segments:
- Engaged Mid-Tier Customers
- Low-Balance Loyalists
- High-Balance At-Risk Customers
- Detailed segment analysis and characteristics
- Overview section with key metrics and visualizations
- Customer profiling with instant segment prediction
- Product recommendations tailored to each segment
- Comprehensive data visualization using Plotly
- Automated product recommendation emails
- Personalized HTML email templates
- Direct customer communication capabilities
- Python 3.11+
- Streamlit for web interface
- Scikit-learn for machine learning
- Pandas for data manipulation
- Plotly for interactive visualizations
- SMTP for email functionality
ui.py
: Main application interface and logicmodelPrediction.ipynb
: Jupyter notebook containing model developmentclustered_data.csv
: Processed customer data with cluster assignmentsscaler_and_model.pkl
: Saved ML model and scalerrequirements.txt
: Project dependencies
- Middle-aged customers
- Low tenure, average balance
- Moderate activity with 1-2 products
- Slight exit risk
- Middle-aged customers
- Moderate tenure, low balances
- Multiple products
- High salary, strong loyalty
- Middle-aged customers
- Moderate tenure
- Highest average balance
- Fewer products, highest exit risk