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

  1. Prepare the scenario values in one currency and consistent time periods. Use fractions for fraction fields and percentage points for percent fields.
  2. Enter cohortSizes, activeCountsByAge using the field table, then run the tool.
  3. Read retentionPercent. Interpret flags, units, ordering and placeholder values using the rules below.
  4. Review any reported issue or failed check, correct the supplied values when appropriate, and verify the result in its intended context.
Input fieldMeaningValue type and boundsRequirement
cohortSizesCohort sizeslist of number; each entry: numberRequired
activeCountsByAgeActive counts by agelist of list of number; each entry: list of number; each entry: numberRequired

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 fieldMeaningValue type
retentionPercentRetention percentlist of list of number
json
{
  "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

  1. Billing analytics dashboard — Stripe

  2. 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.

Don't forget to set a bookmark for tool.io!
Privacy | Imprint | Cookies