Retail Churn Dashboard (Practice Project)
A self-directed practice project — turning a public retail transactions dataset into a churn-risk dashboard, built the way I'd want to ship a real one.
- Role
- Practice Project
- Year
- 2026
- Tools
- SvelteKit, LayerCake, Python, pandas, scikit-learn
Why This Project
I don’t have client data analytics work yet — this is a self-directed project built to practice the full workflow end to end: raw data in, a shipped interactive dashboard out. I used a public retail transactions dataset rather than real business data, but built it with the same standards I’d hold a client project to.
Approach
I loaded the dataset into pandas, engineered basic recency/frequency/monetary features, and trained a simple classifier to produce a churn-risk score per customer. The modeling is intentionally simple — the point of this project was the second half: getting that output in front of someone in a usable form, not just as a notebook.
The Build
Rather than stopping at a notebook, I shipped a SvelteKit dashboard: a risk-ranked customer table, cohort trend charts, and a drill-down view per customer. Charts are built with LayerCake to keep the bundle small and give full control over interaction.
What I Learned
- How much of “data analysis” is actually about presentation and usability once the model itself is done
- Where my frontend background genuinely helped (the dashboard shipped fast) and where it didn’t (feature engineering and validation took real, separate learning)
Reflection
This is a practice project on public data, not a deployed business tool — I’m being upfront about that. It’s the clearest evidence I have right now that I can take a data question all the way to a usable, shipped interface, which is the combination I want to bring to a junior analyst role.
Links
Repo link goes here once published.