What is Cohort Analysis?
Formula
Retention[cohort, month n] = Customers (or MRR) from cohort still active in month n ÷ Cohort size at month 0 × 100
- cohort
- The group of customers who first paid in a given period, usually a calendar month
- month n
- Months elapsed since that cohort started — not a calendar month. Month 0 is always 100%
- Cohort size at month 0
- The denominator is fixed at the cohort's original size or original MRR, and never re-based
Worked example
Three signup cohorts of similar size, each measured at the same elapsed months. Aggregate monthly churn was flat at roughly 4% throughout.
| Step | Value |
|---|---|
| 1January cohort — month 1 | 88% |
| 2January cohort — month 6 | 61% |
| 3January cohort — month 12 | 54% |
| 4April cohort — month 1 | 84% |
| 5April cohort — month 6 | 55% |
| 6July cohort — month 1 | 79% |
| 7July cohort — month 6 | 47% |
Result
Month-1 retention fell from 88% to 79% across two quarters and month-6 retention from 61% to 47%, while aggregate churn never moved. The older cohorts had already flattened out, and their durability was masking each new cohort arriving worse than the last.
The triangle, and how to read it
A cohort table has signup periods down the side and elapsed months across the top. Every row starts at 100% in month 0 and decays rightwards. Because a cohort that started three months ago cannot have a twelve-month figure, the filled cells form a triangle — the newest rows are short and the oldest are long, and the bottom-right of the table is empty by construction.
That shape dictates how to read it. Down a column compares like with like: every cohort at the same age. This is the comparison that answers whether the product is getting better or worse, and it is the reason the table exists. Across a row shows one cohort's decay curve — steep early, flattening later. Reading across tells you when customers leave; reading down tells you whether that is changing.
Cells further right are always built on fewer cohorts and older data, so the right edge of the table is both the most interesting and the least current part of it.
What aggregates hide
A single churn rate is a weighted average across cohorts of every age, so it moves for reasons that have nothing to do with retention. Grow quickly and your base fills with young customers who churn fastest, and blended churn rises while every individual cohort is performing better than the last. Stop growing and blended churn falls, because the base ages into its flat tail.
The worked example above is the common failure: aggregate churn steady at 4% while month-6 retention dropped fourteen points across two quarters. The old cohorts were doing the work. By the time a headline number reacts, three quarters of new customers have already been acquired into a worse experience.
Customer cohorts and revenue cohorts diverge
Run the same table on MRR instead of headcount and the shape can change completely. Revenue cohorts include expansion, so a row can exceed 100% — a cohort that lost 30% of its customers can still be worth more than it was at signup if the survivors grew. That crossover point, where expansion overtakes churn, is the clearest visual evidence that a land-and-expand motion works, and it is invisible in a customer-count table.
The inverse is also worth seeing: a customer cohort holding at 85% while its revenue cohort sits at 70% means the survivors have downgraded, which is a quieter and slower problem than cancellation. Run both tables.
Practical construction rules
- Never re-base the denominator. Every cell divides by the cohort's original size. Dividing by the previous month's survivors turns a retention curve into a period-over-period churn series, which is a different metric that happens to look similar.
- Fix a rule for reactivations. A returning customer either rejoins their original cohort — the more common convention, and the one that keeps cohorts closed — or counts as new. Rejoining can push a cell above a previous month's value, which is correct and surprises people.
- Watch the last row. The most recent cohort is usually incomplete, since customers acquired on the 28th have had two days. Either exclude partial periods or mark them clearly, because an artificially healthy bottom row is exactly where the eye goes.
- Segment before you conclude. A blended cohort table across self-serve and enterprise, or across acquisition channels, averages curves with genuinely different shapes. The insight is almost always in a segment, not in the blend.
What cohorts are for downstream
Cohort data is the honest input to anything that depends on customer lifetime. LTV computed from a single churn rate assumes constant hazard — the same cancellation probability every month — which cohort curves visibly falsify: churn is front-loaded and the tail flattens. Summing a cohort's measured cumulative gross profit and extrapolating only the observed tail is slower, more work, and considerably more defensible. Cohorts also give NRR its natural denominator, since NRR is precisely a one-period cohort measurement.
Where Cohort Analysis goes wrong
- Re-basing each cell on the previous month's survivors rather than the cohort's original size. The resulting table is a period-over-period churn series that looks like a retention curve and reports far gentler decay.
- Reading across rows and never down columns. The row shows one cohort's shape; only the column comparison — every cohort at the same age — answers whether newer customers are retaining better or worse.
- Including a partial final cohort without marking it. Customers acquired in the last few days of a month have had almost no opportunity to churn, so the newest row reads as the best one you have ever had.
- Running only the customer-count table. Revenue cohorts can exceed 100% through expansion and can also decay while headcount holds, and the gap between the two tables is where downgrade behaviour shows up.
- Blending segments with different retention shapes. Self-serve and enterprise curves averaged together produce a curve that describes neither, and the actionable finding is nearly always inside one segment.
- Treating a cohort table with fewer than a few dozen customers per row as signal. At small cohort sizes each cell moves in whole percentage-point jumps and the triangle reads as noise with a gradient.
Related
Metrics that move with this one
No metric explains a business on its own. These are the figures that qualify, offset or explain Cohort Analysis.
Churn Rate
Churn rate is the share of customers or recurring revenue lost over a period, most often calculated as the number of customers who cancelled during a month divided by the number active at the start of it. There is no single correct churn rate: customer churn and revenue churn, gross and net, and start-of-period and average denominators all produce different figures from identical data, so a churn rate is only interpretable alongside the definition that produced it.
Learn moreRetention Rate
Retention rate is the share of customers or revenue from the start of a period that is still present at the end, calculated as 100% minus the churn rate over the same period and definition. Customer retention rate is bounded at 100%, while net revenue retention can exceed it, so the two are not interchangeable despite both being described as retention.
Learn moreNet Revenue Retention (NRR)
Net revenue retention (NRR, also called net dollar retention) is the recurring revenue a fixed group of existing customers generates at the end of a period, expressed as a percentage of what the same group generated at the start, including expansion and after churn and contraction. New customers are excluded entirely. Above 100% means the existing base grew on its own; it does not mean customers are staying, because heavy expansion from a few accounts can cover substantial churn among the rest.
Learn moreGross Revenue Retention (GRR)
Gross revenue retention (GRR, also called gross dollar retention) is the share of a cohort's starting recurring revenue still present at the end of a period, counting cancellations and downgrades but excluding all expansion. Because expansion is excluded, GRR can never exceed 100%, which makes it the only retention figure a strong upsell quarter cannot flatter.
Learn moreLogo Churn
Logo churn is the share of customer accounts lost over a period, counting each account once regardless of what it paid. It is the customer-count view of churn, and comparing it to revenue churn reveals whether the accounts leaving are larger or smaller than average — the two rates diverging is usually more informative than either level on its own.
Learn moreExpansion MRR
Expansion MRR is the additional monthly recurring revenue generated by existing customers in a period through upgrades, seat additions, add-on purchases and price increases — revenue growth from accounts already on the books rather than from new ones. It is measured as a positive movement against the prior period's MRR, excludes anything from customers acquired in the period, and is the component that allows net revenue retention to exceed 100%.
Learn moreCustomer Lifetime Value (LTV)
Customer lifetime value (LTV, also written CLV or CLTV) is the total gross profit a business expects to earn from one customer across the whole of their relationship. The standard subscription estimate divides average revenue per account by the customer churn rate and multiplies by gross margin, but that formula assumes every customer has the same constant probability of cancelling every month — an assumption real cohorts violate — so LTV is a directional planning input rather than a measured figure.
Learn moreCohort Analysis: frequently asked questions
What is cohort analysis?
Why does cohort analysis beat a single churn rate?
How do I read a cohort table?
Can a cohort retention figure be above 100%?
Stop recalculating Cohort Analysis by hand.
Connect Stripe and Bastle computes this metric — and the rest of the glossary — against your own billing history, with the definitions under your control. Free while in beta, no card required.