Interactive demonstration
How much of your engagement is feeding itself?
Every play session below is either brought in from outside — a free evening, a friend’s invite, a new season — or caused by an earlier session: the loop pulling the player back. On a real game you only see the ticks. Here, because we built the world, we can color each session by its true cause — and let you turn the dials the game designer holds.
What the dials do
Outside drive is life: the flow of sessions that would happen with no loop at all. Loop strength is the number this whole page exists to introduce — the branching ratio: how many further sessions one session causes, on average. At 0, every session is an independent visit; the game is something the player picks up. As it rises toward 1, each session recruits the next — bursts stretch, quiet gaps thin, and an ever-larger share of the activity is the system’s own echo. At 1 the process crosses into a cascade regime that no longer needs the outside world at all. Watch the third statistic as you push the slider: total sessions grow as 1/(1 − n) — the loop’s multiplier on every hour life happens to supply.
This way of reading activity — split it into an exogenous stream and a self-excited echo, and measure the echo’s share — comes from the mathematics of self-exciting point processes (Hawkes, 1971), and the echo-share reading was developed for financial markets, where it is called reflexivity (Filimonov & Sornette, 2012). Applied to a live-service game, it asks a question a retention dashboard cannot: of all this engagement, how much is the game being loved, and how much is the loop echoing?
Now turn on the calendar
Flip the content calendar toggle. Amber bands appear — seasons, patches, double-XP weekends — and each one drives a surge of outside sessions. Here is the trap: to the eye, and to a naïve fitted model, those surges are indistinguishable from self-excitation. A moving baseline wears the loop’s costume. The bursts look endogenous; the true loop strength has stayed exactly where your slider left it — the first statistic doesn’t move, because we know the ground truth. On real telemetry nobody knows the ground truth, and a model fitted with a flat baseline will book the whole calendar as loop (Wheatley, Filimonov & Sornette, 2016).
A live-service platform runs the loudest exogenous calendar in consumer software — which is precisely what makes the problem tractable there. Unlike a financial market, the game’s outside shocks are observed, timestamped, and the studio’s own: the calendar can enter the model as measured covariates. The confound that sinks the naïve read elsewhere is, on a game, a thing you already have in a spreadsheet.
Why the number matters
Two games with identical daily actives can sit in opposite regimes. In a schedule-driven world (low loop strength), engagement is governed by the calendar and the baseline: players come when life and the season bring them, and the lever that holds them is the quality of what they find. In a loop-driven world (high loop strength), engagement increasingly manufactures itself — and readings you’d trust in the first regime, a green dashboard above all, mean something different in the second. Which regime each mode of your game sits in is measurable. It is also, for most games, unmeasured.
Illustrative synthetic data — demonstration only. Simulation: a univariate self-exciting point process with exponential kernel, generated by its branching (cluster) representation, which is what makes true parent–child attribution available. References: Hawkes (1971), Biometrika 58(1); Filimonov & Sornette (2012), Phys. Rev. E 85:056108; Wheatley, Filimonov & Sornette (2016), Comput. Stat. Data Anal. 94.