1. How would you define and choose among N-day, rolling, and return retention metrics?
For a product with timestamped user activity, define the eligible cohort, activation event, retained activity, cohort date, and observation horizon. Compare exact N-day retention, bounded-window retention, rolling retention, and return-rate formulations, including their numerators, denominators, censoring, reactivation, and sensitivity to usage frequency. Explain when seven-day and twenty-eight-day measures answer different product questions, how to report cohort curves and uncertainty, and how a team should choose one primary retention metric plus guardrails without selecting the definition that makes a launch look best.
I would first lock the cohort, activation event, retained activity, and observation horizon. Exact N-day measures return exactly on day N, bounded retention measures return inside a window, rolling measures return on or after N, and return rate measures any return within H. I would choose the primary definition before evaluating the launch.
Retention starts with a fixed group of eligible users, not with a formula. I would define the activation event, assign each user a cohort date from that event, define what activity counts as a return, and state the observation horizon. Then I would choose a metric that matches the product's expected usage pattern. Exact N-day, bounded-window, rolling, and return-rate metrics answer different questions. Their denominators also need enough follow-up time, so immature users must not silently enter the calculation. Finally, I would report cohort size, uncertainty, and complementary retention views.
- What event should count as activation, and should the cohort date be the calendar date of that first qualifying event?
- What later event counts as retained activity: any active session, a purchase, or another specific action?
- What usage cadence do we expect: daily, weekly, monthly, or irregular?
- Are we trying to measure an exact return milestone, return within a window, late reactivation, or whether a user ever returns within a fixed horizon?
- What observation horizon is mature enough for the cohorts we want to compare?
I would define the measurement population first. An eligible cohort is the set of users who meet the inclusion rule and complete the activation event. The activation event is the first qualifying event that represents initial value, such as a first active session. The cohort date is the date of that activation event, usually grouped by day. Retained activity is the later qualifying action that counts as a return. The observation horizon is the amount of follow-up time available for measuring retention.
For exact N-day retention, the numerator is the number of eligible cohort users with at least one retained event exactly on day N after the cohort date. The denominator is the number of eligible cohort users who have been observable for at least N days. This answers a narrow question such as, 'What fraction returned exactly on day 7?' It can be sensitive to day-of-week effects and to products that users naturally use less often than once per day.
For bounded-window retention over [L, U], the numerator is the number of cohort users with at least one retained event from day L through day U. The denominator contains eligible cohort users observed through day U. Examples are days 1 through 7 or days 22 through 28. A bounded window is more tolerant than one exact day because a user can return anywhere inside the chosen interval. If the lower bound is 1 and the upper bound grows with N, bounded [1, N] retention is cumulative and therefore cannot decrease as N grows for a fixed mature cohort.
For rolling retention at N, I would define the numerator as cohort users who have at least one retained event on day N or any later observed day, up to the available horizon H. The denominator is the eligible cohort with sufficient follow-up through that horizon. This definition includes later reactivation. If a user is inactive on day N but returns later, that user still counts. For a fixed mature cohort, rolling retention is non-increasing as N grows because the requirement becomes harder: the qualifying return must occur at an increasingly late time.
For return rate, I would use one explicit horizon H. The numerator is the number of eligible cohort users with at least one retained event during days 1 through H, and the denominator is the number of eligible cohort users observed through H. Each user counts once. This gives one scalar answer to, 'What fraction returned at least once within H?' With the same start and end points, this is mathematically the same event definition as bounded-window retention over [1, H]; the difference is usually how the result is presented and used.
Censoring matters because recent cohorts have not had enough time to reach the required endpoint. For an exact day-N metric, users need at least N days of follow-up. For a bounded interval ending at U, they need follow-up through U. For rolling retention evaluated through horizon H, they need follow-up through H. For a return rate ending at H, they also need follow-up through H. I would either restrict the denominator to mature users or clearly mark immature cohorts separately instead of treating missing future observation as non-retention.
Reactivation also changes the meaning of the metrics. Exact N-day retention ignores a user who misses day N but returns later. A bounded window counts the user only if the return happens inside that interval. Rolling retention counts a later return because it asks for activity on or after N. Return rate counts any qualifying return inside its fixed horizon H.
Seven-day and twenty-eight-day measures can answer different product questions. Day 7 may be useful when the product expects a weekly-return cadence or when the team wants an early signal of repeated value. Day 28 can test a longer-term habit. Neither horizon is automatically better. For a low-frequency product, exact-day retention can be brittle, so a bounded window or another definition may better match natural behavior. The important point is to select the definition from the expected usage pattern before looking at launch results.
I would report retention by cohort date rather than only one pooled number. For each cohort estimate, I would show cohort size and an uncertainty interval, such as a confidence interval for a retention proportion. I would flag immature or heavily censored cohorts. The curve shape itself is useful: exact N-day retention can move up or down across days, cumulative bounded [1, N] retention is non-decreasing, and rolling or on-or-after-N retention is non-increasing for a mature fixed cohort.
Finally, I would choose one primary retention metric based on the product question and expected user behavior, document the definition, and keep it fixed across launch comparisons. I would add guardrails such as complementary retention horizons, cohort sizes, uncertainty, and possibly another retention formulation. I would not switch from exact N-day to rolling or return rate simply because one definition gives a higher number. That would change the question being measured instead of evaluating the launch consistently.
- Define the eligible user population and activation event.
- Assign each activated user a cohort date.
- Define the later activity that counts as retained activity.
- Choose the observation horizon required for mature follow-up.
- For exact N-day retention, count users active exactly on day N and divide by eligible users observable through N.
- For bounded-window retention, count users active at least once in [L, U] and divide by eligible users observable through U.
- For rolling retention, count users active on day N or any later observed day through H and divide by eligible users observable through H.
- For return rate, count users with at least one return during days 1 through H and divide by eligible users observable through H.
- Plot results by cohort date, show cohort size and uncertainty, and identify immature cohorts.
- Choose one primary definition from the product question and expected usage cadence before comparing launches, then use complementary retention measures as guardrails.
The arithmetic is simple, but the measurement design is not. Exact N-day retention is easy to explain but can be noisy for irregular usage. Bounded windows are more forgiving, but the chosen interval changes the business meaning. Rolling retention captures later reactivation, but it answers a different question from exact-day retention. Longer horizons such as 28 days delay when a cohort becomes mature, so teams must wait longer before making a stable comparison. Reporting more cohorts and confidence intervals adds analysis work, but it reduces the risk of reacting to random variation or censored data.
This tests whether the candidate understands that retention is not one universal metric. The interviewer wants to see precise cohort and time definitions, correct numerators and denominators, proper handling of censoring and reactivation, awareness of usage frequency, uncertainty reporting, and disciplined metric selection that does not change simply because another definition makes a result look better.
Common mistakes are mixing cohort definitions across analyses; failing to define activation or retained activity; putting recent users in a denominator before they have enough follow-up; calling a last-N-days active-user metric 'rolling retention' when the intended definition is return on or after day N; treating exact day 7 and return within seven days as the same metric; ignoring later reactivation; comparing seven-day and twenty-eight-day values as if they answer the same product question; reporting percentages without cohort sizes or uncertainty; pooling cohorts with different maturity; and changing the primary retention definition after seeing which one makes a launch look strongest.
Start with the cohort and time definitions before discussing formulas. Then contrast the four numerators and denominators, explain censoring and reactivation, and finish by saying that the primary metric must be chosen from product behavior before looking at launch results.








