An end-to-end Machine Learning + Power BI project that transforms customer shopping behavior data into actionable retention insights.
This project uses Python for data analysis and feature engineering, builds a churn-risk prediction workflow, and prepares a Power BI-ready dataset for interactive business dashboards.
This project analyzes customer shopping behavior and builds a customer intelligence solution that helps identify:
- Customers with high retention risk
- Customer segments with the highest business value
- Revenue potentially at risk
- Recommended retention actions for each customer group
The final output is a Power BI dashboard supported by a machine learning workflow built in Jupyter Notebook.
- Clean and analyze customer shopping data
- Engineer business-focused customer features
- Build a churn-risk prediction model
- Generate customer-level predictions and recommendations
- Create a Power BI dashboard for decision-making
- Present a business-ready portfolio project for BI / Data / ML roles
Source file used: customer_shopping_behavior.csv
The dataset contains customer-level shopping behavior such as:
- Age
- Gender
- Item purchased
- Category
- Purchase amount
- Review rating
- Subscription status
- Shipping type
- Discount usage
- Promo code usage
- Previous purchases
- Payment method
- Frequency of purchases
| Area | Tools Used |
|---|---|
| Data Analysis | Python, Pandas, NumPy |
| Visualization | Matplotlib, Seaborn, Power BI |
| Machine Learning | scikit-learn |
| Development | Jupyter Notebook |
| Dashboarding | Power BI Desktop |
| Version Control | Git, GitHub |
- Loaded the CSV dataset in Jupyter Notebook
- Inspected shape, columns, null values, and data types
- Cleaned and standardized column names
- Analyzed customer behavior patterns
- Compared spending, subscription status, review ratings, and purchase frequency
- Identified trends useful for retention-risk analysis
Created new business-focused features such as:
frequency_scoreengagement_scoreclv_proxydiscount_dependencyrisk_score
- Built a churn-risk / retention-risk prediction workflow
- Generated customer-level probabilities and risk labels
- Classified customers into segments such as:
- Champions
- Regular
- Potential Loyalist
- At Risk
- High Value - At Risk
Created a final Power BI-ready dataset with:
risk_levelchurn_probabilityprediction_confidencecustomer_segmentrecommended_actionrevenue_at_riskretention_opportunity
Built a Power BI dashboard with pages such as:
- Executive Overview
- Risk Breakdown
- Customer Segments
- Action Center
The dashboard helps answer business questions like:
- How many customers are at high risk?
- Which customer segments have the highest churn probability?
- Which product categories show higher retention risk?
- How much revenue is at risk?
- What action should the business take for each customer group?
- Total customers
- High-risk customers
- Revenue at risk
- Retention opportunity
- Risk-level distribution
- Risk by category
- Risk by subscription status
- Risk distribution matrix
- Payment and shipping behavior analysis
- Segment distribution
- CLV comparison by segment
- Engagement comparison by segment
- Scatter analysis of customer value vs churn risk
- High-risk customer list
- Recommended actions
- Revenue at risk by action type
- Retention opportunity tracking
customer-intelligence-dashboard/
│
├── data/
│ ├── customer_shopping_behavior.csv
│ └── customer_predictions_powerbi.xlsx
│
├── notebooks/
│ └── analysis.ipynb
│
├── screenshots/
│ ├── executive_overview.png
│ ├── risk_breakdown.png
│ ├── customer_segments.png
│ └── action_center.png
│
├── README.md
└── requirements.txtgit clone https://github.com/YOUR_USERNAME/customer-intelligence-dashboard.git
cd customer-intelligence-dashboardpip install -r requirements.txtOpen Jupyter Notebook and run:
jupyter notebookThen open analysis.ipynb.
- Open Power BI Desktop
- Import
customer_predictions_powerbi.xlsx - Build the dashboard using the prepared fields and measures
This project demonstrates how raw customer behavior data can be converted into business insights that support:
- customer retention strategy
- risk-based targeting
- revenue protection
- customer segmentation
- decision-making through BI dashboards
This is a portfolio-ready project for roles such as:
- Data Analyst
- Business Intelligence Intern
- Power BI Developer Intern
- Machine Learning Intern
- Data Science Intern
It shows practical skills in:
- data cleaning
- exploratory analysis
- feature engineering
- predictive analytics
- dashboard storytelling
- business insight generation
The churn field in this project is a risk-oriented modeled output, built from customer behavior indicators in the dataset. It should be interpreted as a customer retention risk score / churn-risk proxy, not as a confirmed real-world churn event label.
Rajdeep Chatterjee
Computer Science Student | Data Analytics | ML | Power BI | Full-Stack Development
If you found this project useful, consider starring the repository.