← All Tools

Cohort Retention Calculator

Paste raw user_id,date activity rows. We bucket each user into the cohort of their first appearance, then count what fraction returns in week 1, week 2, week N. Classic retention triangle — the chart every PM ends up needing eventually.

Activity data

Sample:

Retention matrix

0%
100%
Paste data on the left to build the matrix.

How it works

Each user is assigned to the cohort containing their first activity row. For each subsequent bucket (week 0, week 1, week 2, …), we count how many users from that cohort appear at least once in that bucket. The cell value is active / cohort_size.

The bottom average row weighs each cohort by size, so it's the answer to "of all users we've ever acquired, what % were active N buckets later?" — not a simple mean of percentages.

Tips. Drop duplicate (user, date) rows before pasting if your data is event-level; otherwise they don't matter (we de-dupe per bucket). Dates in YYYY-MM-DD or any format Date.parse understands.