Skip to content
Log in
← Statistics glossary

rolling retention

Also called: unbounded retention, rolling retention rate, return on or after day N

The share of a cohort active on day N or any later day. It is always higher than day-N retention and keeps changing as new data arrives.

Rolling retention (also called unbounded retention) counts a user as retained on day N if they were active on day N or on any later day. In other words, it measures who hasn't left yet by day N:

rolling DN=users from the cohort active on day N or laterusers in the cohort\text{rolling D}N = \frac{\text{users from the cohort active on day } N \text{ or later}}{\text{users in the cohort}}

Equivalently, it's 1−1 - the share of users whose last activity was before day N. Because every user counted by day-N retention is also counted here, rolling retention is always at least as high as day-N retention, and usually much higher.

How the three common definitions of retention on day 7 differ:

Definition
Retained if the user was active…
Typical use
Day-N (classic)
exactly on day 7
daily products
Bracket
at any time in days 7–13
weekly products
Rolling
on day 7 or any day after
"have they churned?" for irregular use

Rolling retention suits products with irregular use, such as travel or tax apps, where someone who shows up once on day 40 was never really gone. Its big drawback is that it is not final: the "or later" part keeps growing as you collect data, so the rolling D7 you report today will rise next month. Always state the date it was computed on, and compare cohorts only when they had the same time to come back. Names vary between tools, and some use "rolling" for a moving time window, so check the formula rather than the label.

Example

Take the 800 Halves users who signed up on June 1.

  • Day-N D7: 152 active on exactly day 7 → 152/800=19.0%152 / 800 = 19.0\%.
  • Bracket D7 (days 7–13): 312 → 312/800=39.0%312 / 800 = 39.0\%.
  • Rolling D7, computed on July 1 (day 30): 320 users were active on day 7 or any day up to day 30 → 320/800=40.0%320 / 800 = 40.0\%.
  • Rolling D7, recomputed on July 31 (day 60): 24 more users came back for the first time since day 6, so 344 → 344/800=43.0%344 / 800 = 43.0\%.

The same cohort's "D7 retention" is 19%, 39%, 40% or 43% depending on the definition and the date. When Theo compares the June 1 cohort (43% measured on day 60) with a June 20 cohort (38% measured on day 41), he is comparing different amounts of time to return, not different users.

Common mistakes

  • Reporting rolling retention as "D7 retention" without a label. It looks two or three times better than classic D7 and misleads anyone comparing with other reports.
  • Comparing cohorts measured at different ages. Older cohorts have had more days to "come back later"; fix a cutoff, such as activity up to day 60.
  • Treating it as a final number. Rolling values rise as data arrives; a chart built last month will disagree with one built today.
  • Using it for a daily product. For daily-use apps, a single visit weeks later hides the fact that the habit is gone.
  • Letting automated events extend a user's life. One server-created event on day 50 makes a user "retained" for every N before it.