Blog · Board and management reporting
A reading guide for a cohort retention table, rows by signing period and columns by months since signing: why the columns are read before the rows, the diagonal as the most recent data and the least settled, the cohort whose row falls faster than its neighbours, the too-young cohorts to leave alone, the difference between the gross and net versions of the same table, and the row to open, the one that broke the pattern in a column where its neighbours held.
A cohort retention table looks like a triangle of percentages, and most readers scan the rows. The reading is down the columns: every cohort at the same age, and the one that broke the pattern. This guide is the reading order, the diagonal, the too-young rows, gross against net, and the row to open.
Rows: cohorts by signing quarter. Columns: months since signing. Cells: retention at that age. The bottom-right is empty because young cohorts have not reached those ages; the diagonal is each cohort's latest.
| Cohort | M3 | M6 | M9 | M12 | M18 | M24 |
|---|---|---|---|---|---|---|
| 2024 Q1 | 97% | 93% | 90% | 87% | 83% | 80% |
| 2024 Q3 | 96% | 92% | 89% | 86% | 82% | |
| 2025 Q1 | 95% | 84% | 76% | 72% | ||
| 2025 Q3 | 96% | 91% | 88% | |||
| 2026 Q1 | 97% | 92% | ||||
| 2026 Q3 | 98% |
Month 12 column: 87, 86, 72. The 2025 Q1 cohort is fifteen points below its neighbours at a year.
Where it broke: month 6. At month 3 it was in line; by month 6 it was eight points behind. Something in that cohort's second quarter.
Diagonal: 2026 Q3's 98 percent is one cell and settles nothing.
Too young: 2026 Q1 and Q3 are read only to month 6.
| M12 gross | M12 net | |
|---|---|---|
| 2025 Q1 | 72% | 74% |
| Neighbours | 86% | 108% |
Leaking and not growing. The neighbours leak less and expand past their start. The cohort broke on both.
2025 Q1. The question is what happened to those customers between month three and month six: the onboarding that quarter, the product version, the sales motion that sold them. The cohort table cannot say; it can say when.
Rows read first. Every cohort declines; nothing looks unusual.
Diagonal read as settled. A young cohort's first cell taken as its fate.
Gross only. The growing cohort and the flat one look alike.
Too-young rows read too far. A cohort with one cell declared broken.
Covirage lays out the cohort table with the column comparison highlighted and the too-young cells greyed. The net revenue retention guide covers how the table is built, and the purchase cohort guide covers the same reading for non-subscription revenue.
Because a column compares cohorts at the same age, which is the fair comparison. Reading along a row shows one cohort ageing, which every cohort does. The finding is a cohort that aged worse than the others at the same point, and that is a column read.
The most recent period's value for each cohort: the oldest cohort's latest column and the youngest cohort's first. It is the freshest data and the most likely to move, and a movement on the diagonal is read with that in mind.
Both, on the same rows. Gross retention says how much of the starting revenue is still there, capped at 100; net adds expansion and can exceed it. A cohort at 80 gross and 115 net is leaking and growing; one at 80 gross and 82 net is leaking and not. The two tables together are the reading.