Pull up your retention report and you will often see three different numbers for the same cohort's Day 7: one says 80 per cent, one says 20 per cent, one says 40 per cent. None of them is broken. They are cumulative, classic, and rolling retention, and each answers a different question about the same group of installs.
Most teams never learn the difference, so they quietly cite whichever number flatters the deck that week. That is a fast route to a retention story finance cannot reconcile. This post explains all three, how each is calculated, and which one to reach for.
What is app retention rate?
App retention rate is the percentage of an install cohort that returns to open the app again after installing, measured a set number of days later.
Every retention number, whichever method you use, is built from three things:
- Cohort: a group of installs grouped by the day they installed. That install day is Day 0.
- A return: any time a user opens the app after installing. Several opens on the same day count once.
- Day N: how many days after install you are measuring, such as Day 1, Day 7, or Day 30.
Get the cohort right first. If you are unsure whether to group users by first install or first purchase, our guide on how to define cohorts walks through the trade-off.
How is retention rate calculated?
The formula is the same for all three methods:
Day N retention = (cohort installs retained on Day N) / (cohort size) × 100
The only thing that changes between the three methods is which installs count as "retained" on Day N. That single rule produces three very different numbers, which is why the same cohort can look 80 per cent retained or 20 per cent retained depending on the column you read.
Cumulative vs classic vs rolling: what actually differs
Three definitions, stated cleanly:
- Cumulative retention is the share of the cohort that opened the app at least once between Day 1 and Day N.
- Classic retention is the share of the cohort that opened the app on exactly Day N.
- Rolling retention is the share of the cohort that opened the app on Day N or any day after.
| Method | Counts an install on Day N if it opened the app... |
|---|---|
| Cumulative | on any day from Day 1 through Day N |
| Classic | on exactly Day N |
| Rolling | on Day N or any day after |
Both cumulative and rolling are always equal to or higher than classic for the same day, because each includes "exactly Day N" plus more. Cumulative and rolling count different groups, so either can be the higher of the two depending on your users. You can read the full worked definitions on the Linkrunner retention documentation.
A worked example with five users
Five users install on the same day. Here are the days each opened the app afterwards:
- User A: days 1, 2, 3, 5, 7, 9
- User B: days 1, 4, 10
- User C: days 1, 2
- User D: day 3
- User E: never returned
Cohort size is 5.
Day 1
- Cumulative: A, B, C opened on day 1, so 3 of 5 = 60 per cent
- Classic: same three, 60 per cent (day 1 to day 1 is just day 1)
- Rolling: A, B, C, D all returned on day 1 or later, so 4 of 5 = 80 per cent
Day 7
- Cumulative: A, B, C, D all opened at some point in days 1 to 7, so 4 of 5 = 80 per cent
- Classic: only A opened on day 7 itself, so 1 of 5 = 20 per cent
- Rolling: A (days 7, 9) and B (day 10) were active on day 7 or later, so 2 of 5 = 40 per cent
Same cohort, three honest numbers. The gap is the definition, not the data.
Which retention metric should you use?
Each answers a different question, so match the metric to the decision:
- Cumulative is your early-engagement measure: how many installs you brought back at least once. It is bounded to the first N days, so once a cohort matures the number is final. Best for onboarding and activation health.
- Classic measures one specific day. Use it for benchmarking, because published industry benchmarks are almost always defined this way. It is also fixed once a cohort matures.
- Rolling measures long-term stickiness: users still active on Day N or later, even if they skipped the exact day. Useful for apps with irregular but durable usage.
Tech Explainer: bounded vs unbounded. Cumulative and classic are bounded, so they stop changing once a cohort passes the window. Rolling is unbounded: it counts Day N and every later day, so it keeps climbing as users return weeks later. That difference matters for reporting, and it is covered in depth in our companion post on why rolling retention keeps rising.
Across attribution reviews, a recurring pattern is teams comparing a cumulative figure from one report against a classic figure from another and concluding retention moved, when only the definition changed. Fixing that mismatch is often the single biggest cleanup in a retention audit. For deeper cohort segmentation once the definitions are straight, see our cohort analysis techniques for growth teams.
How to read these three columns in your dashboard
To keep the comparison fair:
- Match the window. Compare Day 7 to Day 7, never a cumulative Day 7 against a classic Day 30.
- Wait for cohort maturity. An install only enters the Day 30 cohort once it is at least 30 days old, so recent installs drop out of longer windows. That is why a fresh Day 30 column can look empty.
- Pick one method per report and label it, so nobody downstream reads a rolling number as if it were fixed.
Linkrunner reports all three as separate columns and returns them through the Campaign Reporting API as retention (cumulative), classic_retention, and rolling_retention, so you do not have to compute them by hand or reconcile three spreadsheets. For a revenue-weighted view of the same cohorts, our performance marketer's guide to cohort analysis extends this beyond simple open rates.
Frequently asked questions
What is the difference between cumulative, classic, and rolling retention? Cumulative counts an install that opened the app on any day from Day 1 through Day N. Classic counts an install that opened on exactly Day N. Rolling counts an install that opened on Day N or any later day.
Why do my three retention columns show different numbers? Because each applies a different rule for what counts as retained on Day N. The same cohort will nearly always produce three different values, so this is expected, not a bug.
Which retention metric is best for benchmarking? Classic retention, because industry benchmarks are defined as activity on an exact day. Comparing your cumulative or rolling number against a classic benchmark overstates your performance.
Why does rolling retention keep going up for the same period? Rolling counts Day N and every day after, so late returns keep adding to it. Use cumulative or classic if you need a number that stays fixed once a cohort matures.
Can cumulative and rolling retention ever be equal? Yes, at Day 1 they often coincide, and they can cross at longer windows depending on how your users return. They measure different groups, so neither is reliably higher.
Getting your retention story straight
Three retention numbers are not a contradiction. They are three lenses: cumulative for early engagement, classic for benchmarking, rolling for long-term stickiness. The mistake is mixing them in one narrative without saying which is which.
Pick the method that matches each decision, label it in every report, and wait for cohorts to mature before drawing conclusions. If you want all three side by side per campaign without maintaining spreadsheets, book a demo with Linkrunner and check your own cohorts against these definitions in one view.
