Analytics2023
CardioGoodFitness — Customer Segmentation
Descriptive analytics that tells a treadmill company exactly who buys each of its three machines.
- Analytics that moves decisions
- Small-sample discipline
- Findings in the audience language
- Records
- 180 purchases
- Products
- 3 treadmill tiers
- Output
- Segment profiles + actions
- Method
- Uni/bi/multivariate EDA
01
Overview
A classic retail-analytics brief executed cleanly: CardioGoodFitness sells three treadmill models at three price points, and the company wants to know who buys each one. From 180 customer purchase records — age, gender, education, marital status, income, expected usage, self-rated fitness — this analysis builds the customer profile for each product line and turns it into concrete targeting recommendations.
02
Problem
The three treadmills are not competitors; they are answers to different customers. But the sales data does not say that by itself. The task is descriptive statistics done properly: segment the buyers, characterise each segment, and say something a marketing team can act on — without overclaiming from 180 rows.
03
Goals
- Build a demographic and behavioral profile for each treadmill model
- Identify which variables actually separate the segments — income, usage expectations, fitness self-rating
- Deliver recommendations phrased for a business audience, not a statistics one
04
Solution
The analysis works systematically through univariate views (who the customers are overall), bivariate views (how each attribute splits across the three products), and cross-tabulations of the interactions that matter, such as income against product tier and planned usage against fitness rating.
The picture that emerges is crisp: the entry model serves casual, budget-conscious buyers; the mid model looks demographically similar but skews to committed intenders; and the premium model belongs to a distinctly high-income, high-usage, self-rated-fit segment — closer to a different market than a different tier.
Findings land as recommendations: position the premium machine on performance to its niche, market the entry and mid tiers on accessibility, and use expected-usage questions at point of sale as a natural upsell signal.
Tooling
Tech stack
- Python
- pandas
- seaborn
- matplotlib
- Jupyter
Friction
Challenges
Small sample discipline
With 180 records, subgroup cells get thin fast. The analysis stays at the resolution the data supports — product-level profiles — and resists slicing into unstable micro-segments.
Self-reported variables
Fitness ratings and usage plans are aspirations, not measurements. They still separate the segments well, but the write-up is explicit that they describe buyer psychology as much as buyer behavior.
Takeaways
Lessons learned
- Descriptive analytics is underrated — a clean cross-tab that changes a marketing decision beats an unnecessary model
- The premium-segment finding is the actionable one; most of the value of segmentation is finding the group that behaves differently
- Writing conclusions in the audience's language is part of the analysis, not a garnish
Evidence
Dataset
CardioGoodFitness
Kaggle (retail case-study dataset)
180 treadmill purchase records across models TM195, TM498, and TM798 with demographics, income, expected usage, and self-rated fitness.
View datasetRoadmap
Future improvements
- Cluster analysis to test whether the data suggests segments beyond the product split
- Price-sensitivity framing if transaction amounts become available
- A one-page interactive summary for the browser
Rebuilt for this site from the original repository — source history