Growth, retention and acquisition
The Growth, Engagement, Retention, Acquisition and Campaigns pages: what each chart shows, how every number is defined, and which agent events feed it.
These pages read the network sessions (from the proxy or a standalone server) and the presence on each game server (from backends). Hostname, country, language, client version and Java/Bedrock come from the session a player opened; playtime, AFK and activity from the presence.
Definitions
The same words mean the same thing on every page.
| Term | Definition |
|---|---|
| Active player | Has a network session that started that day. |
| DAU / WAU / MAU | Unique active players in the trailing 1 / 7 / 30 days. |
| Stickiness | Average DAU ÷ MAU over the range. |
| Playtime | Session time minus AFK time. AFK time is shown on its own. |
| Players online | From heartbeats: the proxy's count on a network, the sum of standalone servers otherwise. |
| Edition | Bedrock when any of the player's sessions was reported by Floodgate, or their UUID is a Floodgate one (00000000-0000-0000-…). A Bedrock player linked to a Java account keeps the Java UUID and counts as Bedrock only where the agent could ask Floodgate. |
Growth accounting
| Group | Definition |
|---|---|
| New | First session ever in the bucket. |
| Retained | Active in the bucket and in the one before. |
| Resurrected | Active, not new, and inactive for at least 30 days before. |
| Returning | Active, and none of the above. |
| Churned | Last session exactly 30 days before the bucket ends: a player churns the day they reach 30 days away. Drawn below the line. |
| Quick ratio | (New + Resurrected) ÷ Churned. Above 1 the base grows. |
Lifecycle segments
Decided as of the end of the range, in this order, each player in one segment only:
| Segment | Definition |
|---|---|
| New | First seen less than 7 days ago. |
| Churned | Last seen more than 30 days ago. |
| At risk | Last seen 7 to 30 days ago. |
| Core | Active on 12 or more of the last 30 days. |
| Regular | Active on 4 to 11 of them. |
| Casual | Active on 1 to 3 of them. |
Growth
| Chart | Shows |
|---|---|
| Quick ratio | Players gained for every player lost over the range, with the break-even line at 1. |
| New, returning and resurrected players | Who the active players of each period are. |
| The player base over time | Players in each lifecycle segment at the end of every period; churned players are left out. |
| Java and Bedrock players | Active players of each edition, and the Bedrock share. |
| Forecast | Daily active players projected ahead from the range's trend, with a 95% band. Needs enough days in the range. |
Engagement
| Chart | Shows |
|---|---|
| Time played | Per player per day (AFK left out), sessions per player per day, and total playtime. |
| When players are online | Average players online per weekday and hour: the best time for events and restarts. |
| Session length | Each visit bucketed into under 5 min, 5–15, 15–30, 30–60 min, 1–2 h, 2–4 h and over 4 h, with the median. |
| Where players spend their time | Hours on each backend per period, AFK included. Needs backends that report joins and leaves. |
| What players do per hour played | Chat messages, commands, deaths and player kills per hour of playtime, from the counters each server reports when a player leaves it. |
| How concentrated playtime is | The share of playtime from the top 10% and top 1% of players, the median and the 90th percentile. |
Retention
Cohorts are the players who arrived on the same day or week. Retention can be filtered by campaign, country, language and edition.
| Metric | Definition |
|---|---|
| D1 / D7 / D30 | Share of a cohort that came back on day N or later. |
| Retention curve | Share of a cohort active exactly on day N (or week N) after arriving. |
| Rolling D1 / D7 / D30 | The KPI above per cohort, over time: is retention getting better? |
A cohort only counts for day N once day N has happened. Cells that are not there yet show —, never
0%.
Comebacks
The lower half of the page follows every player, not just new ones, and ignores the filters above.
| Metric | Definition |
|---|---|
| Back after a week | An active day whose previous active day was 7 to 29 days earlier. |
| Back after a month | An active day whose previous active day was 30 or more days earlier. |
| Comeback share | Players with a comeback ÷ active players. |
| Win-back 7d / 30d | Of the players who went quiet for 7 (or 30) days in a period, the share that came back within 30 (or 90) days. |
| Comeback stickiness | Share of comebacks followed by another active day within 7 days. |
| Time between visits | Every gap between visits, bucketed from 1 day to more than 90. |
| What brings players back | Comebacks by the hostname and campaign they came back through. |
Acquisition
| Section | Shows |
|---|---|
| KPIs | New players, activation (share whose first day holds 10 minutes of playtime or more), the Bedrock share of new players, and votes with the number of voters. |
| Campaigns | New players, cost, revenue and payers of each campaign. |
| Hostnames, countries, languages, client versions, Java and Bedrock | New players by the address they typed, where they connect from, their game language, their Minecraft version and their edition — each with its activation and D7 retention. |
| Votes | Votes per period and which voting sites bring them. Empty without NuVotifier. |
Countries come from the player's IP, looked up on the ingest ("IP Geolocation by DB-IP"). Languages come from the client's language setting. Client versions come from the protocol number, which a standalone Paper server reads from ViaVersion when it is installed.
Campaigns
A campaign is a promotion with its own address: give each place you advertise a hostname, such as
tiktok.yourserver.net, point it at your proxy, and record what you paid. A player belongs to the
campaign of the hostname of their first session, for ever.
- Create a campaign with a name and one or more hostnames, separated by commas or new lines.
- Record a cost: an amount on a day, with an optional note. Costs on more than one day make the campaign a shaded period on the charts.
- Hostnames lists every hostname new players used in the range, and lets you map any of them to a campaign. Hostnames are compared normalised: lowercase, no port, no trailing dot, and the extras that Forge, TCPShield and BungeeCord forwarding append are stripped.
Each campaign's own page shows its new players, net revenue, conversion, activation, spend, CAC (spend ÷ new players), revenue per player and ROI ((revenue − spend) ÷ spend), their countries, editions and versions, their retention cohorts, and its top spenders — the last only for members who can see revenue.
Creating campaigns and mapping hostnames needs Create campaigns, map hostnames and edit funnels
(manage_campaigns).
Something missing on this page? Tell us on Discord