Cohort Retention Matrix
Generate age-aligned customer retention percentages for multiple cohorts.
Description
Cohort retention compares active customers with each cohort’s original size at matching cohort ages.
Cohort retention compares active customers with each cohort’s original size at matching cohort ages. Rows should represent cohorts and columns their ages.1
Generate age-aligned customer retention percentages for multiple cohorts.
When to use Cohort Retention Matrix
Use this for the following task: Generate age-aligned customer retention percentages for multiple cohorts.
Prepare the scenario values in one currency and consistent time periods. Use fractions for fraction fields and percentage points for percent fields.
How to use Cohort Retention Matrix and understand its results
- Prepare the scenario values in one currency and consistent time periods. Use fractions for fraction fields and percentage points for percent fields.
- Enter cohortSizes, activeCountsByAge using the field table, then run the tool.
- Read retentionPercent. Interpret flags, units, ordering and placeholder values using the rules below.
- Review any reported issue or failed check, correct the supplied values when appropriate, and verify the result in its intended context.
| Input field | Meaning | Value type and bounds | Requirement |
|---|---|---|---|
| cohortSizes | Cohort sizes | list of number; each entry: number | Required |
| activeCountsByAge | Active counts by age | list of list of number; each entry: list of number; each entry: number | Required |
Require positive integer cohort sizes and a nonempty rectangular age-aligned count matrix with each cell between zero and its cohort size. Normalize rows by their original sizes.2
retentionPercent[i,j]=100 activeCount[i,j]/cohortSize[i] This summarizes the declared operation. Units, indexing, inclusivity and exceptional cases are explained in the surrounding text.
| Output field | Meaning | Value type |
|---|---|---|
| retentionPercent | Retention percent | list of list of number |
{
"input": {
"cohortSizes": [
100,
50
],
"activeCountsByAge": [
[
100,
80,
60
],
[
50,
40,
30
]
]
},
"output": {
"retentionPercent": [
[
100,
80,
60
],
[
100,
80,
60
]
]
}
} Limitations and assumptions
The tool does not construct cohorts or distinguish unobserved future ages from zero retention. Retention can rise with reactivation.
These outputs describe the supplied scenario; accounting definitions, capitalization terms and time periods must match the intended use. Malformed requests produce input errors. A successfully evaluated request can still contain false flags, empty result lists or a result outside the supplied threshold; those outcomes have the meanings stated above.
Alternative or Complementary methods
Choose Logo Revenue Churn for this operation: Compare customer-logo churn with revenue churn from the same starting cohort. For a complementary task, use Net Revenue Retention for this operation: Compute net revenue retention including expansion within the starting customer cohort.
Further background: Billing analytics dashboard.
References
-
Billing analytics dashboard — Stripe
-
Cohort Retention Matrix — tool.io
Similar or alternative tools
- Logo Revenue Churn
Compare customer-logo churn with revenue churn from the same starting cohort.
- Net Revenue Retention
Compute net revenue retention including expansion within the starting customer cohort.