Customer Segmentation & BI · Independent project
Customer segmentation & spending concentration
I studied purchases from 440 wholesale customers to find who spent the most and how their buying patterns differed. I checked the totals and suggested questions for future marketing tests.
01 · The business question
Independent analysis of historical wholesale customer purchasing data.
How do customers differ in what they buy, and where is annual spending concentrated?
02 · My contribution
- Grouped customers by category spending shares in Python, comparing five K means configurations to identify two purchasing mix groups.
- Reconciled customer and category totals in SQLite and checked for double counting.
- Built an interactive report in Plotly to show spending patterns and suggest marketing tests for different customer groups.
03 · The finding
The highest spending 88 customers accounted for 42.9% of recorded annual spending. They represent 20% of the 440 records. Purchasing mix groups describe what customers bought, while this ranking measures how much they spent.
UCI wholesale customers / Annual spending
42.9%of recorded spending came from
the highest spending 20% of customers.
88 of 440 records · Historical public data
04 · The decision
Try different marketing messages for groups with different buying patterns. Compare each message with a standard version before deciding whether it changed customer behavior.
05 · Work delivered
- Customer segmentation analysis
- SQLite reconciliation
- Plotly dashboard and proposed tests
Explore the public data
Who accounts for the spending?
Choose a customer type or region to compare how much customers spent and what they bought.
Annual spending by product category
Recorded monetary units (m.u.). The source does not identify a currency.
| Category | Relative size | Spending (m.u.) |
|---|---|---|
| Fresh | 5,280,131 | |
| Milk | 2,550,357 | |
| Grocery | 3,498,562 | |
| Frozen | 1,351,650 | |
| Detergents & paper | 1,267,857 | |
| Delicatessen | 670,943 |
Ranks customers by total spending across six categories within the selected group. The customer count is rounded up when the selected percentage is not a whole number. Customer type and region come from the original records. They are not groups predicted by the analysis.
Source: Margarida Cardoso, Wholesale customers (2013), UCI Machine Learning Repository · DOI: 10.24432/C5030X · CC BY 4.0. Source records are unchanged. Filters and aggregate views were added for this portfolio.
Learning notes
Two useful views of the same customer.
- Purchasing mix and spending concentration answer different questions. A large customer is not automatically a distinct behavioral segment.
- Reconcile category totals and customer totals before presenting a percentage. The denominator is part of the finding.
A next questionUse the purchasing mix groups to frame a message test, then compare responses against a defined control.
Terms explained
- Customer segmentation
- Grouping customers by a shared characteristic, such as the types of products they buy.
- SQL and Python
- SQL works with records in a database. Python is a programming language used here to study patterns and compare groups.
- Dashboard
- A report with charts and numbers that can be explored in one place.
Context & measurement notes
An independent study of historical public data. The spending result describes these records. It is not business growth or a prediction of future purchases. The interactive report below groups records using the original customer and region labels.
Related work samples
Check the method.
Separate examples with their source data and assumptions.