Retention rate formula: how to calculate retention rate, three methods and a worked example
The retention rate formula and how to calculate retention rate: day-N vs rolling vs bracket, customer retention rate, and a worked example on ten users.
Here is how to calculate retention rate: take a cohort of users who started in the same period, count how many of them were active in a later period, and divide by the size of the cohort. The retention rate formula: retention rate = users from the cohort active in period N ÷ users in the cohort × 100%. The formula is easy. The hard part is "active in period N": it can mean three different things, and the same ten users give 20%, 50% or 70% depending on which you pick. Below are all three on data you can check by hand, and which one to report.
The retention rate formula
Every retention number has the same skeleton:
RetentionN=users in the cohortusers from the cohort active in period N×100%
Before you compute anything, fix four parts of the definition:
The cohort. Who is in the denominator: everyone who signed up on a given day, week or month. Exclude staff and test accounts.
The qualifying action. What counts as "active": opening the app, adding an expense, placing an order. Pick an action a person takes, not one the system logs for them.
The period. Day N, week N or month N since sign-up, counted from day 0 (the sign-up day).
The method. Exact day, a window or "any time later". This is where the three kinds of retention come from.
Worked example: ten Halves users
Halves is a made-up app for splitting shared bills between flatmates, couples and friends on trips. Here are ten users from one sign-up day, followed for 30 days. Each row lists the days after sign-up on which the user opened the app:
User
Days with an app open
u1
0, 1, 2, 7, 14, 21, 28
u2
0, 4, 11, 18, 25
u3
0, 1
u4
0, 7, 8
u5
0, 9, 20
u6
0
u7
0, 2, 15, 29
u8
0, 6, 13
u9
0, 24
u10
0, 3
Now answer "what is our day-7 retention?" three ways.
Method 1: day-N retention (classic)
Day-N retention counts users who were active exactly on day N. On day 7 only u1 and u4 opened the app:
D7=102=20%
It is the strictest method and the one most public benchmarks use (D1, D7, D30). It suits products people need daily, such as games or messengers. For a bill-splitting app it is noisy: u2 came back on days 4 and 11, u8 on days 6 and 13, and both count as "lost" on day 7.
Method 2: bracket retention (a window)
Bracket retention counts users who were active at least once within a window, for example days 7–13, the second week. In that window u1 (day 7), u2 (day 11), u4 (days 7 and 8), u5 (day 9) and u8 (day 13) were active:
Week 2=105=50%
It forgives the exact day but still asks whether the person showed up. For weekly or monthly products it is usually the best choice.
Method 3: rolling retention ("not gone yet")
Rolling retention counts a user as retained on day N if they were active on day N or on any later day. On day 7 that is everyone whose last visit was on day 7 or later: u1, u2, u4, u5, u7, u8 and u9.
Rolling D7=107=70%
It is always at least as high as day-N retention: u9, who came back only once, on day 24, still counts as retained on day 7.
The same ten Halves users give 20% day-7 retention when counting only day 7, 50% when counting days 7 to 13 and 70% when counting day 7 or any later day
Same users, three answers
Method
What counts on day 7
Users
Retention
Day-N
Active on day 7
u1, u4
20%
Bracket
Active on days 7–13
u1, u2, u4, u5, u8
50%
Rolling
Active on day 7 or later
u1, u2, u4, u5, u7, u8, u9
70%
None of these is wrong: they are three measurements sharing one word. The mistake is comparing a 20% from one method with a 70% from another, as happens whenever a public day-7 benchmark lands next to an internal "week-1 retention" slide.
Why rolling retention flatters
Rolling retention has a second problem: it keeps changing after you report it. Compute rolling day-14 retention on day 20, and the users with any activity on day 14 or later are u1, u2, u5 and u7: 40%. Compute the same metric again on day 30, and u9's visit on day 24 moves it to 50%.
Day-N and bracket retention are final once their day or window has passed; rolling retention can still rise months later, so a dashboard built on it quietly rewrites history. Use it to ask "has this user left for good?", not as the headline number.
Which retention rate should you report?
Choose by the product's natural usage rhythm, the interval at which a healthy user comes back:
Seasonal products (trips, taxes, holidays): "did they come back for the next season", measured over a year.
The same rhythm question decides whether DAU/MAU or WAU/MAU is the right stickiness ratio, so settle it once and use it everywhere.
Whatever you pick, write the method next to the number: "monthly bracket retention, month 1, app opens, staff excluded: 38.7%".
From one cohort to many
A single cohort is one data point. To see a trend, put many cohorts side by side in a cohort table: one row per sign-up period, one column per period since sign-up. Rows show each cohort's life; columns compare cohorts at the same age.
Two mistakes are common when summarizing it: a simple average of a column, which treats a cohort of 2,400 users and one of 800 as equals, and including cohorts too young to have reached that period. Both are worked through with numbers in the cohort analysis example.
What good retention looks like
There is no universal "good retention rate": benchmarks differ by category, platform and above all method, and most don't say which method they used. A more reliable test is the shape of the curve. Every cohort drops at first as curious people leave; what matters is whether it keeps sliding toward zero or flattens out. A flat part at a meaningful level is a retention plateau: the people who found lasting value, and one of the clearest signals of product-market fit.
If the curve never flattens, the fix usually starts earlier than retention itself, in the first week: see activation rate for how to find the action that separates users who stay from those who leave.
Customer retention rate for subscriptions
Searches for "retention rate" often mean a different formula: the customer retention rate of a subscription business over a period.
CRR=SE−N×100%
Here S is the number of paying customers at the start of the period, E at the end, and N the new customers who joined during it. Subtracting N leaves only the customers you started with who are still there.
Suppose the paid plan of Halves starts a quarter with 2,000 subscribers, ends it with 2,150 and gains 400 new ones along the way:
CRR=2,0002,150−400=2,0001,750=87.5%
It answers "how many paying customers did we keep?", which suits revenue planning. It does not replace cohort retention: it mixes customers of every age, so it cannot show whether new customers stay better than old ones. Its mirror image, the share of customers lost, is churn rate: see how to calculate churn rate and MRR.
Common mistakes
Counting automatic events as activity. If the server logs a recurring bill every month, a user who never opens the app looks "retained". Count actions people take.
Not naming the method. "Our D7 is 70%" is usually rolling retention described as day-N.
Ignoring time zones. Events are often stored in UTC. If days are counted in UTC, a user who signs up at 23:30 UTC starts "day 1" thirty minutes later, whatever their local clock says. Fix the reporting time zone in the definition.
Blending segments with different rhythms. Couples who split bills every week and friends on a one-off trip belong on separate curves.
Key takeaways
Retention rate = users from the cohort active in period N ÷ cohort size.
Define the cohort, the qualifying action, the period and the method before computing anything.
Day-N is strict, bracket counts a window, rolling counts any later return; on the same ten users they gave 20%, 50% and 70%.
Rolling retention is the most flattering and keeps changing after you report it.
Choose the method by the product's usage rhythm and write it next to every number.
FAQ
What is the formula for retention rate?
Retention rate = users from a cohort who were active in period N ÷ users in the cohort × 100%. For subscriptions over a period, the customer retention rate is (customers at the end − new customers) ÷ customers at the start × 100%.
What is the difference between day-7 and week-1 retention?
Day-7 retention counts users active exactly on day 7. Week-1 retention usually counts users active at least once during a week-long window. On the same users the second is always at least as high as the first, often much higher.
Should I use rolling retention?
Use it to answer whether a user has left for good. Avoid it as the main reported metric: it is always the highest of the three methods and it keeps rising as late visits arrive.
How do I calculate retention for many cohorts at once?
Build a cohort table. When you need one summary number for a period, weight each cohort by its size (sum of active users divided by sum of cohort sizes), using only cohorts old enough to have that period.