Cohort Analysis Tool
Paste cohort sizes and retained counts to get a per-period retention % table with averages.
Written by Golam Rabbani, Founder & Lead Engineer
How to use this cohort analysis tool
- Set the number of follow-up periods you want to track (1-24).
- Enter one cohort per line in the format: Label, initial size, retained_P1, retained_P2, ...
- Press Run analysis to convert raw counts into a per-period retention % matrix.
- Review the average retention row to spot trends across cohorts.
- Use Copy to grab the table for a slide deck or board update, or Reset to start over.
About this cohort analysis tool
A cohort retention analysis groups customers by their start period and tracks how many remain active in each subsequent period. The standard definition (Reichheld, "The Loyalty Effect") is retention_n = active_at_period_n ÷ size_at_period_0 × 100. This tool takes raw counts and converts them to that ratio for every cell.
Worked example. You enter three cohorts. The January cohort starts at 1,000 customers; 720 are still active in P1, 540 in P2, 420 in P3, 350 in P4. The tool returns 72.0%, 54.0%, 42.0%, 35.0% for those cells. If February and March cohorts produce 73.7%, 54.7%, 43.2%, 34.7% and 72.7%, 54.5%, 42.7%, 34.5%, the per-period average row reports 72.8%, 54.4%, 42.6%, 34.7% — telling you the curve is stable and most attrition happens before P3.
All math runs locally in your browser; nothing is uploaded. Use the average row as a baseline against which to test product changes — a new onboarding feature should bend the curve upward at P1 first.
FAQ
- What is the formula for cohort retention?
- Retention at period n equals customers still active at period n divided by the original cohort size at period 0, expressed as a percent. This is the same definition used in standard cohort tables in Mixpanel, Amplitude, and most SaaS analytics tools.
- Can I leave some cells blank for incomplete cohorts?
- Yes. If a cohort has not yet reached period 4, leave those cells empty. The tool will skip them when computing per-period averages so newer cohorts do not drag the line down.
- How does the average row work when cohorts have different ages?
- For each period column the tool averages only the cells where you provided a retained count. A column with five values is averaged across those five; a column with two values is averaged across only those two. Empty cells are excluded, never treated as zeros.
- Why use counts instead of percentages directly?
- Counts let the tool re-derive the ratio with the exact cohort size in the denominator, which is what published cohort tables use. Percentages alone hide whether a cohort had 100 or 10,000 users — material when interpreting noise.
- Does this work for revenue retention, not just user retention?
- Yes. Replace "users active" with "MRR retained" in each cell — the same retention_n formula gives you net or gross dollar retention. Just be consistent: gross excludes expansion, net includes it.
- Is anything sent to a server?
- No. All parsing and calculation happens in your browser. Closing or refreshing the tab clears the data.