Cohort Analysis Guide
Understand user behavior patterns through cohort-based analysis.
Usage
- Define your cohort dimension (signup date, first purchase date, acquisition channel)
- Define the metric to track over time (retention, revenue, feature usage)
- Build a cohort table with time periods as columns
- Compare cohorts to identify trends and the impact of product changes
- Calculate benchmarks and set targets based on historical cohort performance
Examples
- Retention cohort table: Rows: monthly signup cohorts (Jan, Feb, Mar...). Columns: months since signup (Month 0, 1, 2, 3...). Cells: % of cohort still active. Example: Jan cohort: 100% → 40% → 28% → 22% → 20%. Feb cohort (after onboarding improvement): 100% → 52% → 38% → 30% → 27%. Clear evidence the onboarding change improved retention
- Revenue cohort (LTV analysis): Track cumulative revenue per user for each signup cohort over 12 months. Jan cohort reaches $48 average by month 12. Jun cohort (after pricing change) reaches $62 by month 6 (on track for $85+ by month 12). Proves pricing change increased LTV
- Acquisition channel cohorts: Compare retention of users from organic search vs paid ads vs referrals. Organic: 35% month-1 retention. Paid: 18% month-1. Referral: 45% month-1. Insight: paid users churn 2x faster — adjust CAC expectations or improve paid-user onboarding
Guidelines
- Cohorts must be mutually exclusive and collectively exhaustive — every user belongs to exactly one cohort
- Weekly cohorts give faster signal but more noise. Monthly cohorts are smoother but slower. Match to your decision cadence
- Color-code cohort tables (heatmap style): green for above-average retention, red for below. Patterns jump out visually
- Always compare cohorts to each other, not just over time — this separates product improvements from seasonal effects
- Sample size per cohort matters: cohorts with fewer than 100 users will show high variance. Merge small cohorts or use longer time windows
- Survival curves (Kaplan-Meier) are a more rigorous version of cohort retention — use them when cohorts have different observation windows