Skip to main content

App > Reports > Analytics > Retention

Understand and analyse user retention using Classic and Rolling retention cohort reports

Written by Jason Liang

The App > Reports > Analytics > Retention page shows how well your app keeps users coming back over time. It organises users into daily cohorts, then tracks what fraction of each cohort returned on specific days after they first appeared. This report is one of the most important signals of long-term app health — it tells you not just how many users you acquired, but how many actually stuck around.

Background: What Is User Retention?

User retention measures the percentage of users from a given starting group who return to your app on a later day. It answers the question: "Of all the users who first logged in on Day 0, how many came back on Day 1? Day 7? Day 30?"

Retention is typically tracked using cohorts. A cohort is a group of users who share a common start date — usually the date they first logged in. Each row in the retention table represents one cohort (one day's worth of new users), and each column represents a subsequent day. The value in each cell tells you what fraction of that cohort was still active on that day.

Why retention matters:

  • Revenue — retained users generate ongoing revenue through purchases, ads, and subscriptions. Acquiring a new user costs significantly more than retaining an existing one.

  • Product-market fit — high early retention (D+1, D+3) indicates that new users find immediate value. Low early retention is a signal to re-examine onboarding.

  • Long-term viability — D+14 and D+30 retention shows whether users form habits around your app or drop off after initial novelty fades.

  • LTV prediction — retention curves are the foundation of lifetime value modelling. A flattening retention curve (even at a low percentage) indicates a loyal core audience.

What good retention looks like varies significantly by genre and app type. Mobile games typically see D+1 retention of 25–40% and D+7 retention of 10–20% considered healthy. D+30 above 5–10% is strong. These benchmarks shift considerably between casual, mid-core, and hardcore titles, as well as social, utility, and productivity apps. Use the trend and comparison tools on this page to track your own improvement over time, which is often more actionable than industry benchmarks.

Understanding the Two Retention Types

brainCloud tracks retention in two distinct ways, selectable via the Retention Type dropdown. Each answers a subtly different question and is appropriate for different analytical goals.

Classic Retention (also called N-Day Retention or Exact-Day Retention)

Classic retention asks: "Of the users in this cohort, what percentage logged in on exactly Day N?" A user is counted if and only if they returned on the specific day in question — not before, not after.

For example, a Classic D+7 value of 18% means that 18% of the cohort returned on their seventh day — regardless of whether they also played on Day 5 or Day 6. If a user skipped Day 7 but played on Day 8, they would not be counted in Classic D+7.

Classic retention is the industry standard metric and the most widely cited benchmark. It is most useful for:

  • Comparing your app against published industry benchmarks (which almost always use classic/N-day methodology).

  • Identifying specific days where users disengage — a sharp drop between D+6 and D+7 suggests a weekly habit is not being formed.

  • Measuring the impact of push notifications or re-engagement campaigns targeting specific days.

Rolling Retention (also called Unbounded or Return Retention)

Rolling retention asks: "Of the users in this cohort, what percentage logged in on Day N or any later day?" A user is counted if they returned on the target day or any day after it.

For example, a Rolling D+7 value of 35% means that 35% of the cohort were still active at some point on or after their seventh day. A user who returned on Day 10 but not Day 7 would still be counted in Rolling D+7.

Rolling retention is always equal to or higher than Classic retention for the same day and cohort, because it captures a superset of users. It is most useful for:

  • Measuring the size of your reachable long-term audience — users who could be re-engaged.

  • Evaluating how long your app's "reactivatable" base remains. A Rolling D+30 of 40% means 40% of that cohort have been active at least once in the last 30+ days.

  • Understanding irregular-play-pattern games (e.g. strategy games or social games where users may go days without playing but return regularly).

Which should you use? Use Classic as your primary metric for product decisions and benchmarking. Use Rolling as a complement when you want to understand the ceiling of your re-engagement potential or when your app has irregular session cadences.

Reading the Retention Table

The main table has one row per day and one column per retention milestone. Here is how to read it:

Date column — the cohort date. This is the day on which the users in this row first appeared in your app (their "Day 0"). Every user who logged in for the first time on this date belongs to this cohort.

Cohort Size column — the total number of users in this cohort. This is the denominator for all percentage calculations in this row. A cohort size of 0 means no new users appeared on that day and the row will show dashes for all retention columns.

D+N columns — each column represents a number of days since the cohort's Day 0:

  • D+0 — the day users first appeared. Classic D+0 is always 100% (every user "returned" on their first day). This column establishes the cohort baseline.

  • D+1 — the day after first appearance. This is the most important single retention metric. It measures whether users found enough value in their first session to return the very next day. A strong D+1 is the foundation for all downstream retention.

  • D+2 through D+6 — daily tracking through the first week. These columns reveal how quickly users disengage in the early days.

  • D+7 — one-week retention. A widely used benchmark. Users still present at D+7 are forming a habit. This column is often the most cited long-term health indicator for mobile games and apps.

  • D+14, D+21, D+28, D+30 — two-week, three-week, four-week, and thirty-day retention. These measure deeply engaged and habitual users.

Empty cells (shown as "–") — a dash means the data point is not yet available. For a cohort created three days ago, columns D+4 and beyond will show dashes because those days have not yet occurred. This is expected behaviour, not missing data.

Cell colour intensity — each cell is shaded with a colour gradient: purple for Classic retention, blue for Rolling retention. Darker, more opaque cells indicate higher retention values; lighter, more transparent cells indicate lower values. This heat-map effect lets you spot trends and outliers at a glance without reading every number — a column that is consistently dark indicates strong retention on that day across all cohorts.

The Summary Widgets (D+1, D+3, D+7, D+14)

At the top of the page, four summary widgets display the average retention across all cohorts for the four most important milestones: D+1, D+3, D+7, and D+14. These give you a single at-a-glance health check without needing to scan the full table.

Each widget also shows a trend indicator — an arrow and the comparison value from the previous period (one week prior). A green upward arrow means retention improved compared to last week; a red downward arrow means it declined. Hovering over the trend indicator shows the exact previous-period average.

The widget labels update to reflect the selected Retention Type — they will read Classic D+1 or Rolling D+1 depending on your current selection.

The Retention Chart

Click the chart expand button (top-right of the chart widget) to open the full retention chart. The chart plots each D+N milestone as a separate line across all cohort dates on the X-axis and retention percentage on the Y-axis.

Default visible lines: D+1, D+3, and D+7 are shown by default. All other lines (D+2, D+4, D+5, D+6, D+14, D+30) are hidden but can be toggled on by clicking their labels in the chart legend.

How to read it:

  • Each point on a line represents the retention value for one cohort date at that milestone. Reading across a single line left-to-right shows how that retention day has trended over time — improving, declining, or stable.

  • A rising trend on any line indicates that recent cohorts are retaining better at that milestone than older cohorts. This is a positive signal.

  • A falling trend may indicate product degradation, seasonal effects, or changes in your acquisition channels bringing in lower-quality users.

  • A widening gap between D+1 and D+7 lines suggests users start strongly but disengage through the first week — look at mid-week content, difficulty curves, or session length as potential causes.

  • A converging gap between lines (D+7 approaching D+1) indicates users who make it to Day 1 are increasingly likely to stay through Day 7 — a sign of improving product-market fit.

Page Controls

Retention Type dropdown — switches between Classic and Rolling retention (see above for the difference). All table values, chart lines, and summary widgets update immediately when you switch.

Essential / All toggle — controls which cohort rows are shown in the table:

  • Essential (default) — shows only the cohorts with enough days elapsed to have meaningful data across the key milestone columns. Newer cohorts with only a few days of data are hidden to avoid cluttering the view with mostly-empty rows.

  • All — shows every available cohort row, including very recent ones where most D+N columns are still dashes. Use this when you specifically want to inspect the freshest cohorts or export the full dataset.

% / # toggle — switches the cell values between two display modes:

  • Percentage (%) (default) — each cell shows the fraction of the cohort that returned, as a percentage. Use this for most analytical work and for comparing cohorts of different sizes.

  • Absolute number (#) — each cell shows the raw count of users from that cohort who returned on that day. Use this when you need to know actual user volumes — for example, to estimate how many users you can expect to see active on a given day, or to verify data against other reporting tools.

Export button — downloads the full retention dataset as a JSON file named Retention-Report-{appId}_{timestamp}.json. The export always includes all cohorts and all D+N columns regardless of the current Essential/All filter. The Export button is disabled when the page is showing sample data (i.e. before any real data has been generated for your app).

Tips for Interpreting Your Retention Data

Look for the retention "floor" — as you scan down the D+30 column, you are looking for a value that stabilises rather than continuing to decline. A flat retention curve (even at 5–8%) indicates a loyal core audience that is unlikely to churn. A curve that continues declining toward zero suggests no sustainable user base yet.

Diagnose drop-off points — compare consecutive day columns (D+1 vs D+2, D+6 vs D+7) to find where the steepest drops occur. A large drop between D+0 and D+1 points to an onboarding problem. A large drop at D+7 suggests the end-of-week experience is not compelling. A drop at D+14 may indicate a content wall or lack of mid-game depth.

Compare cohorts over time — read down a single D+N column to see whether recent cohorts retain better or worse than older ones. If D+7 retention is climbing, your recent product changes are having a positive effect on week-one engagement.

Correlate with events — use the App > Calendar to overlay your retention data with marketing campaigns, content releases, or software updates. A cohort created during a promotional push may show higher acquisition volume but lower retention if the promotion attracted low-intent users.

Classic vs Rolling divergence — if Classic and Rolling values for the same D+N are very close, it means users who return on that day tend to log in exactly on that day rather than spreading their play across multiple days. A large gap between Rolling and Classic on the same day indicates irregular play patterns, which is common in strategy or social games.

Permissions

Accessing this page requires the REPORT_ANALYTICS_RETENTION permission. The page is read-only; no data can be modified from this screen.

Did this answer your question?