Cohort analysis is a way of studying customers by grouping them according to when they first did something, usually their first purchase or sign-up, and then following each group’s behaviour over the weeks or months that come after. It shows whether customers stick around, how much they spend over time, and whether newer customers behave differently from older ones.
How cohort analysis works
Each cohort is a group that shares a starting point: everyone who first bought in January, everyone who first bought in February, and so on. You then measure the same thing for every group at fixed intervals after that start: the share who bought again in month one, month two and month three; the revenue each group has produced so far; or, for a subscription, how many are still paying.
The result is usually a triangular table. Rows are cohorts, columns are months since the first purchase, and each cell holds a percentage or a revenue figure. The numbers below are made up to show the layout, not benchmarks:
| First order month | Customers | Bought again in month 1 | Month 2 | Month 3 |
|---|---|---|---|---|
| January | 400 | 12% | 8% | 7% |
| February | 380 | 14% | 9% | |
| March | 520 | 9% |
Reading across a row shows how one group behaves as it ages. Reading down a column compares groups at the same age, which tells you whether recent customers are better or worse than earlier ones. GA4 offers a cohort exploration report, many ecommerce platforms include a customer cohort report, and a spreadsheet built from an order export works too. Order data is usually more reliable than analytics data for purchase cohorts, because cookie consent and cleared browsers do not affect it.
Why it matters
Totals hide change. A shop can report rising revenue while each new group of customers buys less often than the last, because growth in new customers masks falling loyalty. Cohort analysis exposes that early, and it is the honest basis for working out customer lifetime value and how much you can afford to pay to win a customer.
It also helps you judge marketing fairly. If customers won during a heavy Black Friday discount show weaker retention than those won at full price in the spring, the November cost per acquisition looked better than it really was. For subscription businesses, cohorts show whether a pricing or onboarding change actually reduced churn, rather than happening to coincide with a good month.
Common mistakes
- Reading the newest cohorts as weak when they have simply had less time to buy again.
- Comparing cohorts of very different sizes without saying so. A cohort of 40 customers swings wildly from month to month.
- Mixing calendar months with months since first purchase in the same table.
- Building cohorts from GA4 users when many visitors decline cookies, then treating the result as a picture of all customers.
- Grouping by date only, when the decisions come from splitting by acquisition channel, first product or discount use.
How to act on it
Start simple. Export your orders with a customer ID, order date and value, mark each customer’s first order month, and calculate the repeat purchase rate and cumulative revenue per customer for each cohort. A pivot table is enough for most small shops.
Then add one extra split at a time: the channel that won the first order, the first product bought, or whether a discount code was used. That is where decisions come from, such as moving budget towards a channel whose customers come back, or changing the product you lead with in ads. When I build a performance marketing plan for an online business, cohort value, not the first order alone, is what sets the target cost per acquisition.
