# Cohort Retention Analysis

**Framework:** Retention by acquisition vintage — the cohort triangle  
**Use for:** Seeing whether your product is actually getting stickier over time, instead of letting an aggregate average hide the story  
**Time required:** 30–45 minutes to build the table; reading it is the real work

---

## How to use this template

1. Group users by the period they were acquired. Each row is one cohort. Each column is how many periods have passed since they joined (Month 0, Month 1, and so on).
2. Fill each cell with the percent of that cohort still active in that period. Month 0 is always 100%. The table is a triangle: newer cohorts have fewer filled columns because less time has passed.
3. Read it two ways (below). The whole point of a cohort table is that it answers questions a single aggregate retention number cannot.
4. Always show this next to your aggregate retention. The aggregate hides whether you are quietly improving or your newest channel is poisoning the pool.

---

## The retention triangle

Percent of each cohort still active N periods after acquisition. Cells past "today" stay blank.

| Cohort (acq. period) | Size | M0 | M1 | M2 | M3 | M4 | M5 | M6 |
|----------------------|------|------|----|----|----|----|----|----|
| [Jan] | [n] | 100% | [ ] | [ ] | [ ] | [ ] | [ ] | [ ] |
| [Feb] | [n] | 100% | [ ] | [ ] | [ ] | [ ] | [ ] | — |
| [Mar] | [n] | 100% | [ ] | [ ] | [ ] | [ ] | — | — |
| [Apr] | [n] | 100% | [ ] | [ ] | [ ] | — | — | — |
| [May] | [n] | 100% | [ ] | [ ] | — | — | — | — |
| [Jun] | [n] | 100% | [ ] | — | — | — | — | — |

---

## Read it two ways

**Down a column** = the same point of life, compared across cohorts. Is M1 retention rising as you read downward (toward newer cohorts)? The product is getting stickier, and the improvement is visible in the data. Falling? Something newer is worse, often a low-quality acquisition channel brought in on volume.

**Across a row** = one cohort's decay curve over its own lifetime. The *shape* is the diagnosis:

| Curve shape | What it usually means | Where to look |
|-------------|------------------------|---------------|
| **Cliff, then flat** | Most users leave in period 1–2, then it stabilizes | Onboarding, or a gap between what acquisition promised and what the product delivers |
| **Gradual linear decay** | Steady erosion period over period | Low switching costs, competitive pull |
| **Flattening at a healthy floor** | The cliff stops and a loyal core stays | A real, repeatable use case for a defined segment |
| **Bends back up (negative churn)** | The cohort is worth *more* over time | Expansion revenue outruns losses — the SaaS holy grail |

---

## Beyond the headcount: revenue and engagement

- **LTV by cohort.** Layer revenue on top of retention. If newer cohorts retain better but at lower price points (a freemium push, say), the retention win may not be an LTV win. Track both, or you will misread acquisition quality.
- **DAU/MAU engagement depth.** Daily actives divided by monthly actives measures how often, not just whether. 50% means roughly every-other-day use. 10% means about three times a month. Whether that is good depends entirely on the product's natural cadence. A tax app should be low. A messaging app should not.

---

## Findings

| Field | Detail |
|-------|--------|
| Down-column trend (improving / flat / declining) | [ ] |
| Dominant curve shape | [ ] |
| Suspected cause | [ ] |
| Cohort or channel to investigate | [ ] |
| Action + owner | [ ] |

---

*A cohort table is the closest thing growth analytics has to a controlled experiment you never had to run. Read down for "are we improving," read across for "where do we lose them," and never let the aggregate tell the story alone. More on retention curves, negative churn, and LTV in the Growth & Marketing Analytics Guide at biztechprimer.com.*
