Follow a cohort
Choose the month customers first appeared in the data. Each bar shows the share buying in a later calendar month, whether or not they bought in between.
M0 is the first observed purchase month and equals 100%. Later cohorts have less follow-up; an em dash is not zero. First observed does not necessarily mean a new customer.
Show cohort values as a table
See the rhythm
Compare complete months by active purchasers, qualifying orders, or gross purchase value. Seasonal changes alone do not establish why customers return.
Active customers are distinct identified purchasers per month. Orders are distinct customer/invoice combinations. Gross value excludes refunds and non-qualifying lines.
Show monthly values as a table
The second order
Two views with different observation windows: fixed 90-day follow-up, and order counts across the entire available history.
Repeat within 90 days
Only customers with at least 90 days of follow-up are eligible. The median time to second purchase among observed repeaters is ; it excludes customers without a second order.
Orders per customer
All identified purchasers, across the observed window
One observed order does not mean a customer never returned; later purchases are outside this snapshot.
Patterns, not explanations.
These observations are descriptive and do not establish causes of churn. This non-contractual dataset does not tell us why a customer stopped buying. Histories begin and end within the source window, so both earlier and later purchases may be missing. Anonymous transactions are excluded from customer measures; cancellation lines are treated as refunds in the full report, not as new purchases. Many customers are wholesalers.
Source: Chen, D. (2015), Online Retail, UCI Machine Learning Repository, CC BY 4.0. Read the report for revenue concentration, refund treatment, and business recommendations.