Skip to content

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.

[ Illustrative synthetic data — demonstration only ]
session brought in from outside session caused by an earlier session calendar pulse (season, patch, event) intensity — the instantaneous pull to play
of sessions caused by other sessions (true share — we can read it because we planted it)
average burst size — sessions each outside spark ultimately produces
sessions in this window
regime this world is in

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.

One honest note. This page shows true attributions because the world is synthetic — we planted every cause, so we can color every effect. On real telemetry the split must be estimated, the estimate is sensitive to how the baseline and the kernel are specified, and an honest read reports a range and says what it depends on. Anyone who hands you a single confident number for "how much of your engagement is the loop" without naming their baseline model is showing you the costume.

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.