Analytics2023

Shipped

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 dataset

Roadmap

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