Customer Churn Analysis using Python & Power BI π Customer Churn Analysis β Python & Power BI π An end-to-end data analysis and business intelligence project exploring customer churn using Python (EDA + Feature Engineering) and Power BI (Interactive Dashboard). π Project Summary
This project analyzes customer churn patterns, identifies high-risk customer segments, and uncovers key business drivers using Python for data preparation & feature engineering and Power BI for visualization & insights.
The final deliverable is a fully interactive Power BI dashboard and a detailed churn analysis report suitable for business stakeholders.
π οΈ Tech Stack
π Project Structure βββ data/ β βββ customer_churn.csv βββ analysis/ β βββ customer_churn.ipynb βββ dashboard/ β βββ First_project.pbix βββ README.md
π Objective
To understand customer churn behavior, engineer meaningful features, uncover patterns, and build an interactive dashboard that helps businesses:
Identify high-risk customers
Detect churn-driving factors
Make data-backed retention decisions
π Workflow
πΉ 1. Data Cleaning (Python)
Handled missing values
Normalized column formats
Converted dates
Corrected data types
Extracted City and State from address
πΉ 2. Feature Engineering (Python)
Created advanced customer metrics:
Feature Description AgeGroup Categorized age brackets TenureGroup Groups based on customer years SpendPerYear Total spend normalized per year SitesPerYear Number of sites per year EngagementScore Tenure Γ Sites LoyaltyScore Total purchase Γ· (Years + 1) LocationRisk State-level churn probability CompanyRisk Company-level churn probability
These features help uncover patterns that raw data cannot reveal.
πΉ 3. Exploratory Data Analysis
Churn distribution
Correlation analysis
Box plots, histograms, scatterplots
Segment-level churn behavior
State-wise churn hotspots
πΉ 4. Power BI Dashboard
Created an interactive dashboard with:
KPI Cards
βοΈ Churn Rate βοΈ Total Customers βοΈ Churned Customers
Customer Segments
Churn by AgeGroup
Churn by Tenure
Churn by Account Manager
Engagement & Behavior
Churn vs SpendPerYear
Churn vs SitesPerYear
Churn vs LoyaltyScore
EngagementScore trends
Geographical Insights
Churn by State
LocationRisk analysis
π Key Insights
βοΈ Customers with < 3 years of tenure churn significantly more. βοΈ Higher churn among customers with multiple sites. βοΈ Lack of an Account Manager strongly correlates with churn. βοΈ Low SpendPerYear and LoyaltyScore indicate churn-prone customers. βοΈ Some states show statistically higher churn rates.
π Business Recommendations
Improve onboarding for early-tenure customers
Provide special support to high-site customers
Assign account managers to at-risk segments
Offer engagement incentives to low-spend customers
Investigate high-churn states for service gaps or competition
π₯οΈ Dashboard Preview
(Add your dashboard screenshot here)
π§° How to Run This Project 1οΈβ£ Clone the repository git clone
2οΈβ£ Install required Python libraries pip install -r requirements.txt
3οΈβ£ Open the analysis notebook jupyter notebook analysis/customer_churn.ipynb
4οΈβ£ Open the dashboard
Open the Power BI file:
dashboard/First_project.pbix
βοΈ Final Deliverables
Cleaned & engineered dataset
Python Notebook with EDA & feature engineering
Interactive Power BI Dashboard
Professional written report
GitHub portfolio-ready repository
π Acknowledgements
This project was created to strengthen end-to-end data analytics skills including Python, Power BI, and business storytelling.
β If you like this project
Give the repo a β on GitHub β it helps!