This project demonstrates a full-cycle data analysis workflow to identify key drivers of customer churn.
The process included data cleaning with Python, exploratory analysis with SQL, and the creation of an interactive dashboard in Tableau to communicate insights.
- Download the interactive Tableau workbook: Churn Dashboard (.twbx)
- Dashboard Screenshot:

The dashboard visually highlights key findings such as churn rates by contract type, average spend differences, and usage frequency.
-
Data Cleaning (Python + Pandas)
- Loaded the raw churn dataset into Pandas.
- Handled missing values, standardized column names, and removed duplicates.
- Exported a clean dataset for further analysis.
-
Data Analysis (SQL with SQLite)
- Queried the cleaned dataset to uncover trends (e.g., churn by contract type, tenure, spending patterns).
- Used filtering, aggregation, and joins to answer specific business questions.
-
Visualization (Tableau)
- Connected Tableau to the cleaned dataset.
- Built an interactive dashboard with churn vs. spend, subscription type, and usage patterns.
- Added key insights text to make the findings clear to stakeholders.
-
Version Control (Git & GitHub)
- Used Git for tracking project changes.
- Published the project repo to GitHub as part of my analytics portfolio.
- Python & Pandas → data cleaning, preprocessing, and export.
- SQLite (SQL) → querying and exploratory analysis of churn patterns.
- Tableau → dashboard creation and data storytelling.
- Git & GitHub → project version control and portfolio hosting.
- Churned customers spend less: On average, churned customers spent about $540 compared to $750 for non-churned customers.
- Monthly contracts drive churn: Customers on month-to-month contracts churned at much higher rates than those on yearly or two-year contracts.
- Lower usage is linked to churn: Churned customers used the service less frequently (about 14 times/month vs 15 times/month for retained customers).