Cohort Retention Calculator
Paste user activity data → get a cohort retention matrix with heatmap. M1/M3/M6/M12 stats + best/worst cohort identification. Browser-only.
Cohort Retention Calculator
Activity data
user_id,signup_month,active_month with months as YYYY-MM.Wide format (one row per cohort):
cohort,cohort_size,m1,m2,m3,… where each m{N} is the count active at month N. Format auto-detected from headers.
How to use the Cohort Retention Calculator
Export your data in one of two shapes
Long format works straight out of Mixpanel / Amplitude / PostHog / your DB: one row per (user, signup_month, active_month). Wide format is what most billing-driven dashboards (Stripe, Chargebee) output: one row per cohort with m1, m2, m3… columns counting retained users. The tool auto-detects which one you've pasted.
Paste or drop your CSV
Drag the file onto the dropzone or paste data straight into the textarea. The first row must be a header — column names tell the parser which shape it's looking at. Don't worry about quoted strings or commas in data; cohort data is numeric + date-formatted so quotes aren't needed.
Click Compute retention
The tool builds a per-cohort × per-month-offset matrix, computes retention percentages, and renders a heatmap. Defaults to 12-month visibility — change "Show months 0 through" to widen or narrow the column count. Best/worst cohort by M3 is highlighted automatically.
Read the diagonal
M0 is always 100% (anchor). M1 is the famous "first-month" retention number — anything above 70% is excellent for habitual products, 40%+ is healthy for transactional. M3 separates dabblers from real users. M6 / M12 reveal whether the curve flattens (product-market fit) or keeps decaying (leaky bucket). Download the matrix as CSV when you've found the slice you want to share.
Cohort retention — the most honest metric in product analytics
Most product metrics flatter. "Active users this month" goes up if you ship a new feature, run an ad campaign, or get featured in TechCrunch — but you can't tell whether the new bump is durable users or one-time tourists. Cohort retention strips all that away by separating users into the month they signed up and tracking what fraction of each cohort is still around N months later. If the M1 retention of your January 2024 cohort is 35% and the M1 retention of your January 2025 cohort is 50%, you have evidence that whatever you shipped in 2024 actually made the product stickier. If both cohorts show the same M1, you have evidence that none of your "improvements" mattered. No other metric tells you this with the same clarity.
The shape that matters: the retention curve
For a healthy product, the retention curve drops fast in the first 1-3 months (the "tourist drop-off") then FLATTENS to a horizontal asymptote — that flat part is your loyal user base. Mathematically, retention curves typically fit a power-law or stretched-exponential decay: R(t) = a × t^(-b) for power-law, or R(t) = e^(-(t/τ)^β) for stretched-exponential. The shape of the curve matters more than any single retention number. A 60% M1 that drops to 5% by M6 is a worse business than a 40% M1 that holds at 30% by M6 — the latter has product-market fit, the former is leaking. Andrew Chen and Sean Ellis both popularised this view in mid-2010s growth-engineering circles, and it remains the canonical framework for product analytics.
Cohort retention is the most honest product metric. Total MAU flatters; signups flatter; even DAU/MAU flatters. Retention curves either flatten out high or they don't — there's no middle.
What good retention looks like by category
Benchmarks vary by product type. Habitual social products (WhatsApp, TikTok, Instagram) target M1 retention above 70% and an M12 asymptote of 50%+. SaaS productivity tools (Notion, Linear, Figma) typically post M1 around 50-60% with M12 around 30-40%. Transactional B2C (food delivery, ride-share) lives in 25-40% M1 because users don't need the product daily. Course platforms / one-shot tools show extreme drop-off — 80%+ by M1 — and that's structurally fine because the user has graduated, not churned. Without knowing your category, a flat-out retention number is meaningless. Compare against your sub-vertical or against your own previous cohorts; never against an industry average that mixes habitual and transactional.
The APAC product-analytics angle
Cohort retention is fundamental to Singapore's SaaS scene (Carousell, Carro, Patsnap, Sleek all run retention review monthly), Indonesia's super-app battles (Gojek, Grab, Tokopedia all benchmark by cohort), Vietnam's consumer-app boom (MoMo, ZaloPay), the Philippines' fintech expansion (Maya, GCash), and Hong Kong's wealth-tech / property-tech ecosystem. APAC product teams typically face tougher retention than US peers because: smaller addressable markets mean users sample multiple products in the category and pick one; price-sensitivity in emerging markets means free-trial churn is higher; and frequent app-switching cultures (especially in messaging — WhatsApp, WeChat, Line, Telegram all compete) compress M1 retention. ASEAN SaaS often targets M1 of 40-50% (vs US 50-60%) and considers M6 of 25%+ a strong product-market-fit signal. Use cohort retention to track your own cohorts month-over-month; don't get hung up on benchmarks from US-only sources.
10 Things to Know About Cohort Retention
M0 is always 100% by definition — it's the anchor (everyone in the cohort signed up in M0). The interesting numbers start at M1.
The shape of the retention curve matters more than any single number. A curve that flattens out is a sign of product-market fit; one that keeps decaying is a leaky bucket.
Sean Ellis's "40% rule" for product-market fit is based on a different survey (% of users "very disappointed" without the product) but maps closely to long-term retention asymptotes around 40%+.
Power-law and stretched-exponential models fit most retention curves within a few percentage points. Andrew Chen's "leaky bucket" essay and the Reforge curriculum cover the modelling math in depth.
WhatsApp's M1 retention exceeds 70% and M12 stays above 50% globally — among the strongest published retention curves in consumer products.
The famous "smile" retention curve (M1 drop then RISE at M3+) appears in some products where users come back after a "graduation period" — rare but real. Slack, Notion, and Figma have published smile-curve data.
Tracking retention by weekly cohorts instead of monthly gives 4× the resolution but 4× the noise. Most teams settle on monthly for the right signal-to-noise.
An "active user" definition is the single most important choice in retention analysis. Tracking "logged in" gives different curves than "performed a key action" — document your definition.
The classic retention tools — Amplitude, Mixpanel, Heap, PostHog — all expose cohort retention via a built-in chart. CSV export for re-analysis is universal across them.
Cohort retention combined with Quick Ratio and NRR is the canonical "is this SaaS healthy?" trio in growth-stage VC diligence. See our SaaS Quick Ratio + MRR/ARR/Churn calculators.
Frequently Asked Questions
-
Two CSV shapes, auto-detected from headers. Long format:
user_id,signup_month,active_monthwith months asYYYY-MM— one row per user-activity event. Wide format:cohort,cohort_size,m1,m2,m3,…where eachm{N}is the count of users still active in month N. Long is what Mixpanel/Amplitude/PostHog export; wide is what billing dashboards (Stripe, Chargebee) typically produce. -
By definition: M0 is the signup month. Every user in a cohort is, by definition, "active" in M0 (they signed up). The interesting retention numbers start at M1 — that's the first month where the user had to come back to count. M0 = 100% is your anchor / baseline; the entire purpose of the matrix is showing what fraction of that anchor survives at M1, M2, M3, etc.
-
Depends entirely on product category. Habitual social/messaging (WhatsApp, TikTok): 70%+. SaaS productivity (Notion, Linear, Figma): 50-60%. Transactional B2C (food delivery, ride-share): 25-40%. Course platforms / one-shot tools: 10-20%. Without category context, an M1 number is meaningless — compare your cohorts against your own previous cohorts, not against an industry average.
-
Retention percentages normalise cohort size away — they're percentages of each cohort's own M0, not of the total. So a 100-user cohort with 40% M1 retention is comparable to a 10,000-user cohort with 40% M1 retention, mathematically. BUT small cohorts (under 100 users) have wild statistical noise — a single user leaving moves the percentage by 1%. Trust trends only when cohorts are at least 100-200 users, ideally 1,000+.
-
This is THE most important decision in any retention analysis. Common definitions: (1) "logged in" — easiest to track, gives flattering numbers. (2) "performed a key action" (sent a message, created a doc, completed a transaction) — harder to track, more honest. (3) "reached the activation moment" (defined per product) — the gold standard for early-stage products. Document your definition explicitly in any retention chart you share — different definitions produce very different curves on the same underlying data.
-
Monthly is the default. Weekly gives 4× the resolution but 4× the noise, and most teams find the monthly cadence matches their product-development cycle better. Use weekly cohorts when (a) you're running rapid product experiments and need fast signal, or (b) your product has weekly seasonality (e.g. B2B SaaS used Mon-Fri). Use daily cohorts only for very high-volume consumer apps where noise washes out at scale.
-
A retention curve that drops at M1 then RISES at M3+. Rare but real. Happens when users come back after a graduation period — they used the product, finished what they came for, then return for a new use case. Slack, Notion, and Figma have published smile-curve data. Most products show monotonic decay (M1 > M2 > M3…); the smile is a signal of multi-use-case product depth.
-
Yes, with wide format. Replace
cohort_sizewith the cohort's M0 MRR, andm{N}with the MRR still retained from that cohort in month N. The retention math is identical. This is how Net Revenue Retention (NRR) gets computed historically — and you can see whether NRR is improving cohort-over-cohort or flat. See our SaaS Quick Ratio + MRR/ARR/Churn calculators for the in-period view. -
No. The CSV file (or pasted text) is parsed entirely in your browser via JavaScript. The retention matrix is computed in browser memory. Open DevTools → Network and watch — there's zero outbound traffic. Safe for confidential user activity data, even on enterprise SaaS books that can't leave the company perimeter.
-
Long format handles gaps naturally — the absence of an (user, active_month) row means the user wasn't active that month. The retention math computes correctly. Wide format requires you to backfill missing months with zero counts. The tool's grey "no data" cells indicate months where the cohort hasn't yet reached that offset (e.g. a January 2024 cohort can't have M12 data until January 2025) — that's structurally correct, not a bug.
Related News
You may be interested in these recent stories from our newsroom.
-
Snowflake jumps 36 per cent in a day on an earnings beat and a US$6 billion AWS chip deal
Snowflake had its best day as a public company on 28 May, closing up 36 per cent after a clean first-quarter beat and a five-year, US$6 bill...
-
MAS Scraps Mandatory Financial Advice for Most Complex Product Buyers in Retail Shake-Up
Singapore retail investors buying structured notes, derivatives and investment-linked policies will no longer need mandatory financial advic...
-
SEC Rewrites Float Rules, PSE Moves to Implement Them — Clearing the Path for GCash's USD 1B Philippine IPO
The SEC lowered the public float floor for large Philippine issuers in February 2026. The PSE followed with a consultation paper in April. T...
75 more free tools
Calculators, converters, security tools — no signup.