Cohort Retention Analysis for Memberships, Without a Data Team
A monthly churn number blends every member you have ever had into one figure that cannot tell you whether things are getting better. A cohort table can.
If your churn was 5% last month and 5% this month, has anything changed? You cannot tell. It could be identical performance, or it could be that your new members retain far better while an older group is collapsing. Those situations demand opposite responses and produce the same number.
What a cohort table is
Group members by the month they joined. Follow each group across subsequent months. Rows are join months, columns are months since joining, cells are the percentage still subscribed.
- Row "January", column 0 — everyone who joined in January, by definition 100%.
- Row "January", column 1 — the share of that group still paying a month later.
- Row "January", column 6 — the share still paying half a year on.
Reading down a column compares cohorts at the same age, which is the only honest way to ask whether the product is improving. Reading across a row shows one group's decay curve.
Building it without tooling
You need two fields per member: signup date and cancellation date, blank if active. Almost every platform exports that.
- Export members with both dates.
- Add a column for join month (e.g. 2026-03).
- Add a column for tenure in months: cancellation month minus join month, or current month minus join month if active.
- Pivot: join month as rows, tenure as columns, count of members as values.
- Convert each row to percentages of that row's month-0 count.
That is the whole exercise. An hour the first time, ten minutes a month after.
Reading the shape
A steep first month
A large drop between month 0 and month 1 is an onboarding problem, not a content problem — they left before seeing much. This is the most fixable pattern on the table and the most common.
A curve that flattens
Steep early, then levelling out around some percentage. This is healthy. The flat portion is your durable core, and the level it settles at is the number that determines lifetime value.
A curve that never flattens
Steady decay with no floor means no segment has found lasting value. Harder to fix, and usually a signal about what recurs rather than about tactics.
A cliff at month 12
Annual members not renewing. Distinct from monthly churn and usually driven by the absence of a renewal conversation — see annual versus monthly billing.
A cliff at month 3
Common where the value is front-loaded: the member consumed the thing they came for and the ongoing promise did not take over.
Using it to evaluate changes
This is the real payoff. When you change onboarding in April, you do not compare April's churn to March's — those numbers are dominated by members who joined long before. You compare the April cohort's month-1 retention to the March cohort's month-1 retention.
The cost is patience: a change to month-3 retention takes three months to read. Which is a good reason to focus early experiments on month-1, where feedback arrives fastest.
Two practical cautions
- Small cohorts are noisy. With twenty members a month, one person is five percentage points. Group into quarters until the numbers are stable enough to argue with.
- Segment when you can. Annual and monthly members belong in separate tables; blending them produces a curve that describes nobody.
Look at the table once a month, not once a week. The signal moves slowly and watching it daily produces reactions to noise.