Why this matters
Retention Curve Analysis shows how many users from a cohort keep returning over time. Product Analysts use it to answer questions like: Which onboarding changes actually keep users? When does retention stabilize? Which user segment is most loyal?
- Prioritize features: Spot early drop-offs that need fixes.
- Evaluate experiments: Compare retention curves across variants.
- Forecast revenue: Plateau levels inform active user base and subscription renewal expectations.
- Segment value: Identify cohorts that retain better (e.g., by acquisition channel).
Concept explained simply
A retention curve plots, for a given cohort, the percentage of users who are active in each time bucket after their start.
- Cohort: The group (e.g., all users who signed up in the same week).
- Time buckets: Day 0, Day 1, Day 7, Week 1, Month 1, etc.
- Retention at bucket t: active_cohort_members_at_t / cohort_size_at_start.
Variants:
- Classic (point) retention at day N: Users active exactly on day N divided by cohort size.
- Rolling (on-or-after) retention day N: Users who returned on or after day N.
- Bracket retention: Users active at least once within a period (e.g., Week 4).
Mental model: A leaky bucket
Imagine a bucket filled with users on Day 0. Each time step, some water leaks (churn). If you patch the bucket early (improve onboarding), the water level stabilizes higher (better plateau). The curve is the water level over time.
Data requirements
- Cohort key: How users enter (e.g., signup_date week).
- Activity definition: What counts as "active" (e.g., app open, session, purchase, subscription paid).
- Time bucketing: Daily/weekly/monthly based on product usage frequency.
- Exclusions: Remove test/employee accounts, bots, duplicates.
- Time zones: Choose one reference zone to avoid off-by-one bucket errors.
How to build a retention curve (step-by-step)
- Define the cohort and time bucket (e.g., signup week, weekly buckets).
- Define "active" (e.g., at least one session in the week).
- Count cohort size at start (denominator).
- For each bucket, count active users from that original cohort (numerator).
- Compute retention% = numerator / denominator.
- Plot percentages over time and look for early drop and plateau.
- Segment by channel, device, or feature exposure to compare curves.
Tip: Choose buckets by product rhythm
- Daily products (social, gaming): daily buckets.
- Weekly products (groceries, education): weekly buckets.
- Monthly products (subscriptions, utilities): monthly buckets.
Worked examples
Example 1: Mobile app weekly retention
Cohort: 1,000 new users in Week 0. Active users:
- W1: 420 → 42%
- W2: 320 → 32%
- W3: 290 → 29%
- W4: 270 → 27%
Interpretation: Big early drop, then a healthy plateau around 27–29%. Focus on onboarding; core value seems sticky once discovered.
Example 2: SaaS monthly retention (billing-based)
Cohort: 500 new paying subscribers in M0. Still paying:
- M1: 430 → 86%
- M2: 380 → 76%
- M3: 350 → 70%
Plateau near 70%. Churn concentrated in early months. Consider onboarding, first-value time, and setup support.
Example 3: Marketplace with bracket retention
Cohort: 800 buyers acquired in Week 0. Active per week (at least one purchase):
- W1: 240 → 30%
- W2: 232 → 29%
- W3: 224 → 28%
- W4: 224 → 28%
Interpretation: Quick stabilization at ~28–30%. Seasonal spikes won’t distort this bracket definition as much as daily point retention.
Interpreting shapes
- Steep drop then flat plateau: Onboarding/activation issue; core product is strong.
- Continuous decline with no plateau: Weak ongoing value or competition; improve habit loops, notifications, and content.
- U-shape (dip then recovery): Users return periodically (paydays, seasonal content); consider bracket retention.
Useful derived metrics
- Plateau level: Long-run active base for that cohort.
- Half-life: Time until retention falls to 50%.
- Hazard (weekly churn): h(t) = (R(t) - R(t+1)) / R(t).
Key choices that change results
- Cohort definition: Signup vs. first-successful-action. Activation-based cohorts often diagnose product-market fit better.
- Activity definition: Session vs. meaningful use (e.g., created project). Choose the one tied to value.
- Rolling vs. classic retention: Rolling is less noisy; classic is stricter and good for daily habits.
Common mistakes and self-check
- Wrong denominator: Always use the original cohort size, not the prior week’s survivors.
- Mixing cohorts: Never include users who joined later.
- Timezone drift: Users slip into adjacent buckets; standardize to one timezone.
- Reacquisition confusion: Returning users re-acquired via ads should not inflate retention without clear rules.
- Too-fine buckets: Daily buckets for low-frequency products look noisy and pessimistic.
Self-check questions
- Can I restate my cohort and activity definitions in one sentence?
- Does Week 4 retention equal active_in_week_4 / cohort_size_at_start?
- Does my curve plateau? If not, is that expected for this product?
Exercises you can do now
Do these in a notebook or spreadsheet. The quick test is at the end. Everyone can take it; if you log in, your progress is saved.
Exercise 1: Compute weekly retention and interpret
Data: Cohort size = 800. Active users by week: W1=400, W2=280, W3=250, W4=200.
- Calculate retention% for each week.
- Describe the curve shape in one sentence.
- Name one action you would test to improve it.
Hints
- Retention% = active / 800.
- Look for early drop vs. flattening.
Show solution
Retention: W1=50%, W2=35%, W3=31.25%, W4=25%.
Shape: Steep early drop, moderate plateau near 25–31%.
Action: Improve onboarding to first value; e.g., guided checklist.
Exercise 2: Rolling day-7 retention from last-seen
Data: 12 users with last_seen_day after signup: [1, 2, 3, 7, 10, 0, 9, 14, 6, 7, 8, 2]. Rolling D7 retention counts users with last_seen_day ≥ 7.
- Compute the percentage.
- Explain in one line how this differs from classic D7 retention.
Hints
- Count values ≥ 7, divide by 12.
- Classic counts users active exactly on day 7.
Show solution
Values ≥ 7 are: 7, 10, 9, 14, 7, 8 → 6 users. 6/12 = 50% rolling D7.
Difference: Rolling includes users returning on or after day 7; classic requires activity on day 7 itself.
Exercise checklist
- I used the original cohort size as denominator.
- I stated whether the curve plateaus.
- I chose the right retention variant for the question.
Practical projects
- Build a retention dashboard: One chart per acquisition channel with weekly retention up to Week 12 and a computed plateau metric.
- Activation experiment readout: Compare retention curves for two onboarding flows; report W1, W4, and plateau difference with confidence intervals if available.
- Definition sensitivity: Recompute retention using two activity definitions (session vs. key action) and summarize how conclusions change.
Mini challenge
Your product shows W1=60%, W2=45%, W3=37%, W4=35% for last month’s cohort. Propose one hypothesis for the early drop and one small, testable change to validate it.
Example answer
Hypothesis: Users miss the core value on Day 1. Test: Add a 3-step in-product checklist leading to the first meaningful action; measure W1 and W4 changes.
Who this is for
- Product Analysts and Data Analysts working on user growth, engagement, or monetization.
- PMs and Growth leads who need to interpret cohort health quickly.
Prerequisites
- Basic SQL or spreadsheet skills.
- Comfort with ratios, time bucketing, and filtering data.
Learning path
- Start: Cohort definitions and segmentation basics.
- This lesson: Retention curves (classic, rolling, bracket) and interpretation.
- Next: Revenue retention and survival analysis basics.
Next steps
- Automate: Set up weekly jobs that refresh retention by channel.
- Deepen: Add hazard rates and median time-to-churn to your dashboard.
- Broaden: Analyze revenue retention and cohort LTV.
Quick test
The quick test is available to everyone; if you are logged in, your progress is saved.