Most retention reporting stops at three numbers: D1, D7, D30. They're the numbers publishers ask for, so they're the numbers studios build. They're also nearly useless on their own, because they tell you that something is wrong without ever telling you what.
For a puzzle game the useful version of a retention dashboard answers a much more specific question: which level are people quitting on, and why. Everything below is built toward that.
Get the cohort definition right first
Almost every retention chart that lies is lying because of how the cohort was defined. Three decisions to make explicitly and write down:
- Cohort by install date, not by first-seen date. These diverge when a player installs and doesn't open the app for two days. Mixing them makes D1 look artificially strong.
- Define "retained" as an app open, or as a meaningful action? Both are defensible. Opening the app and immediately closing it is not engagement, but requiring a completed puzzle makes your numbers incomparable to everyone else's. Track both; label them clearly; never mix them in one chart.
- Use rolling windows, not calendar days. "Day 1" should mean 24–48 hours after install, not "the next calendar date". Calendar-day retention makes players who install at 11pm look like churn.
Get these wrong and every chart downstream inherits the error, including the ones you show to a publisher.
Chart 1: the retention curve, split by version
Not three numbers — a curve. Days 0 through 30 on the x-axis, percentage of the install cohort still active on the y-axis, one line per app version.
The shape matters more than any single point. A curve that falls steeply and then flattens has found its core audience: the drop is onboarding failure, the flat tail is the people who genuinely like it. A curve that declines steadily without flattening means people are running out of reasons to return — a content or progression problem, not an onboarding one. Those two shapes call for completely different work.
Splitting by version is what turns this from a vanity chart into a release check. If 1.3's curve sits below 1.2's, something in 1.3 hurt. That's the earliest signal you'll get, and it beats waiting for reviews.
Chart 2: the onboarding funnel
A simple step funnel from first app open through to first completed puzzle. For most puzzle games this is the largest single loss point in the entire product, and it's the cheapest to fix.
Instrument it finely enough to be actionable. "Onboarding complete: 62%" tells you nothing. Step-by-step — tutorial shown, first cell tapped, first correct placement, tutorial dismissed, first puzzle started, first puzzle completed — tells you exactly which sentence in your tutorial is the problem.
One thing worth adding: a separate line for players who skip onboarding. If skippers retain better than completers, your tutorial is actively hurting you, and that happens more often than anyone expects with familiar genres.
Chart 3: per-level completion and abandon
This is the chart that earns its keep. Level id on the x-axis in progression order, and two series: completion rate among players who started that level, and abandon rate.
What you're looking for is a cliff — a level where completion drops sharply relative to its neighbours. A cliff at level 12 in a 200-level game is worth more of your attention than a two-point improvement in D7, because it's a single, specific, fixable thing that every player hits.
Cliffs usually have one of four causes, and they're distinguishable:
- A genuine difficulty spike. Median solve time also jumps. The puzzle is just harder than its position implies.
- A new mechanic introduced badly. Solve time jumps and hint usage spikes. Players don't know what they're being asked to do.
- A bug. Abandon rate spikes but solve time doesn't — people are leaving fast, which usually means something is broken or unsolvable.
- A paywall or ad placement. If you have one there, that's your answer, and the question becomes whether the trade is worth it.
Overlay median solve time and hint usage on the same chart and the diagnosis takes seconds rather than a day of digging.
Chart 4: session depth over time
Puzzles per session, plotted by days-since-install. This is your engagement-quality measure and it moves independently of retention.
A healthy puzzle game usually shows session depth rising for the first week as players get fluent, then settling into a stable band. If depth is flat from day one, players aren't improving — which for a puzzle game means the difficulty curve isn't teaching anything. If depth collapses in week two while retention holds, you have players opening the app out of habit and leaving unsatisfied, which is churn with a delay on it.
Two things to leave off
Real-time anything. Nobody at a small studio makes a decision on hourly data. A real-time dashboard is a distraction dressed as diligence.
Total downloads as a headline. It's the number that feels best and changes least about what you do next. Put it somewhere, small, and don't lead with it.
How to read the whole thing in ten minutes
A workable weekly routine, in order:
- Retention curve, current version versus previous. Did the last release hurt?
- Onboarding funnel. Did any step move?
- Per-level chart. Is there a new cliff, or did the one you fixed actually go away?
- Session depth. Is the shape still healthy?
Then write one sentence about what you saw and pick at most one thing to change. The discipline of "one change per week" is what makes the next week's charts readable — if you ship four changes, you can't attribute the movement to any of them.
Sample sizes are smaller than you think
A last, unglamorous point. Early on, your daily install numbers will be small enough that day-to-day movement in retention is mostly noise. Before you react to a change, check how many players are actually behind it. A D7 that "dropped five points" on a cohort of forty installs has moved by two people.
The practical fix is to widen the window: look at weekly cohorts rather than daily ones until volume justifies otherwise, and be suspicious of any conclusion you can't see in two consecutive weeks.