← Module 10/F2P economics
RU
Module 10 · Business and economics

F2P economics

Why free-to-play lives or dies on three numbers — and why ~1% of players pays for everyone else. This is a topic about money and probability, not ML. Formulas are native MathML (no libraries).
write-up~18 min🏠 lab
The gist in 20 seconds
An F2P project comes down to the inequality LTV > CPI: what a player brings in over their lifetime has to exceed what it cost to acquire them. LTV rests on retention (which compounds: LTV ∝ 1/(1−r)) and ARPDAU. And spending is heavy-tailed: "90/9/1", where the ~1% of "whales" produces roughly half the revenue. All of monetization is managing those three curves.

The three numbers

ARPDAU — average revenue per daily active user:

ARPDAU=revenue / dayDAU

Lifetime (a player's average "life span" in days) is the area under the retention curve: if rd is the fraction who came back on day d (r0=1), then

L=∑d=0∞rd

For geometric retention rd=rd the series collapses into a closed form:

L=∑d=0∞rd=11−r

Then LTV (a player's lifetime value):

LTV≈ARPDAU·L=ARPDAU1−r

And CPI (cost per install) is what it costs to bring a player in through advertising. The project pays off only if LTV > CPI, and the margin per player is LTV − CPI. All of UA marketing is buying installs while that inequality holds.

Share of players → share of revenue players 90% free revenue 9% "dolphins" ~1% "whales" heavy tail: a minority pays for the majority

Whales and the heavy tail

Spending in F2P is distributed extremely unevenly: the rough model is "90/9/1" — ~90% never pay, ~9% pay a little ("dolphins"), ~1% are "whales", and they account for roughly half of all revenue. That's not a bug, it's the structure: the design targets a wide free base (which creates value as content and as opponents for the payers) and a narrow group willing to pay a lot. Forecasting revenue from the average player is therefore dangerous — the tail determines it.

Gacha and probability

Loot boxes/banners are a probabilistic mechanic. The chance of getting at least one rare item in n attempts with probability p per attempt:

P(≥1 in n)=1−(1−p)n

The expected number of attempts until the first success (geometric distribution):

E[pulls to first]=1p

At p=0.006 (a typical SSR rate) that's ~167 attempts — hence "pity" systems (a guarantee on the Nth attempt), which cut off the heavy right tail of that distribution and make the "pain" predictable (more in the deep end).

🕹 Games to play — and what to notice

The three numbers and the heavy tail aren't an abstraction, they're concrete screens in live games. Three F2P mechanics, from a simple time gate to a full gacha with pity; for each, how it works and what to open and compute by hand (simple to complex). Play like an analyst, not like a whale.

Candy Crush Saga lives/energy · time gate

The simplest monetization spring is a limit on attempts. Up to 5 lives, losing a level costs one, regeneration is +1 every 30 minutes (a full set is 2.5 hours). Lose five times on a hard level → either wait, or pay/ask friends. A direct lever on session length and retention: the gate isn't on money, it's on time, and money is the way around it.

🎮 Play: Candy Crush. Burn several lives in a row on a hard level — you'll hit the regeneration timer and the "buy/ask" offer. Notice: nobody is forcing you to pay — they're forcing you to wait, and the payment sells impatience. That's lifetime and retention rendered as UI.

Clash Royale chests · timers + pseudo-randomness

Two springs at once. Chests won in battle open on a timer (real-time hours; speeding it up costs gems), and there are only 4 slots — a bottleneck. The contents aren't "honestly random": drops follow a fixed cycle of 240 chests (≈180 silver, 52 gold, 4 giant, 4 magical at known positions) that repeats. Legendaries are a separate pseudo-random cycle (~500). "Randomness" you can actually compute in advance.

🎮 Play: Clash Royale. Win a battle with all 4 slots full — no chest drops and the cycle doesn't advance (you feel the bottleneck physically). Search for a "chest cycle tracker" — players deterministically count how many wins until the next magical/giant one. Pseudo-randomness under the hood of the timers.

Genshin Impact gacha + pity · the full mechanism

The peak of it — a probabilistic banner with pity. The base 5★ rate is 0.6%, but that's the deceit of the "average": from soft pity ~74 the chance jumps sharply (to ~6.6%+ per pull), and at 90 it's guaranteed (hard pity). Effectively ~1.6% per pull → one 5★ per ~62 pulls on average. Plus 50/50: the first 5★ may not be the banner one, in which case the next is guaranteed to be. Exactly the truncated geometric from the lesson, wrapped in UX.

🎮 Play: Genshin (or any HoYo gacha). Open the banner's "Details" — 0.6% and the guarantee at 90 are written there. Look at the pull counter since your last 5★ — that's your position on the pity curve. Notice how the UI hides soft pity (it isn't in the published rates — only the community measured it) and sells "just a bit more".

Deep end · math: predicted LTV, sensitivity and pityskippable

Predicted LTV before the players have churned

You can't measure the real L right away — the players haven't lived that long yet. You take an early cohort, estimate the shape of the retention curve and extrapolate. The geometric model often underestimates the tail; in practice retention is closer to a power law:

rd=r1·d−c,c>0

The sum ∑rd diverges for c ≤ 1, so you cap it at a horizon D: L ≈ ∑d=1..D r1·d−c. LTV forecasting = fitting (r1, c) on 7–30 days of a cohort and summing to the horizon. The main risk is extrapolation: a small error in c swings wildly across the tail.

Why retention beats ARPDAU

LTV = ARPDAU/(1−r) makes the asymmetry visible: ARPDAU enters linearly, while r enters through 1/(1−r), which explodes as r→1. Lifting retention from r=0.90 to 0.93 changes L from 10 to ≈14.3 days (+43%); the same absolute increase in ARPDAU gives only a few percent. Which is why product teams are obsessed with retention rather than with the price of purchases.

Pity as a truncated geometric

Without pity, the number of attempts until a reward is ~ Geom(p), E=1/p, with a long tail. Hard pity at N truncates the distribution to min(X, N):

E[min(X,N)]=∑k=1N(1−p)k−1=1−(1−p)Np

That's strictly less than 1/p and, more importantly, bounded above by N — the player knows the maximum, which lowers anxiety (and the regulatory risk of a "gambling" mechanic).

Deep end · design: the monetization spectrum (ethical → predatory)skippable

The same economics feels different depending on what you sell:

  • Cosmetics (skins) — no effect on balance; payers fund the game without breaking it for the free players. The most "honest" model (Fortnite, Dota 2).
  • Convenience (boosters, inventory) — a gray zone; you're selling time.
  • Pay-to-win — you're selling power; it maximizes whale ARPPU but burns out the free base and the trust.

A battle pass is a commitment device: a fixed price plus a goal for the season raises both retention and conversion without being predatory. Dark patterns (artificial "pain", tangled currencies, FOMO timers) lift short-term ARPDAU at the cost of trust and regulatory risk (see loot boxes in Belgium/the Netherlands). The design fork: optimize seasonal revenue, or LTV-through-trust.

Deep end · engineering and hosting: the analytics loopskippable

Unit economics only exists if it gets measured. What's under the hood:

  • Event telemetry: every action → an event into a stream (Kafka/PubSub) → storage (BigQuery/ClickHouse). Volumes run to billions of events/day at large F2P titles.
  • Cohort analysis: retention/LTV are computed per install cohort, not "on average" — otherwise fresh players corrupt the metric.
  • A/B tests: price, balance, onboarding — behind experiments with statistical significance; decisions from data, not from intuition.
  • Server-authoritative economy: currency balances and purchases live on the server, otherwise cheating/duping breaks the economy. Anti-fraud on payments.
  • Privacy: GDPR/COPPA on telemetry (especially with child audiences) — consent, retention policies, the right to deletion. An engineering and a legal constraint at once.
Analogy
F2P economics is a leaky bucket with a variable tap. UA pours water (new players) in at the top for money (CPI). The bottom leaks — that's churn (1−r). And the "revenue tap" is wide open for a minority (whales) and nearly shut for the majority. Profit = (what the tap produced) − (what it cost to pour in at the top), and retention (how leaky the bottom is) matters more than the strength of the tap, because it leaks every day.
Why it matters
Even if you never build F2P, this math is a lens on the sustainability of any game-as-a-service: where the money is, what kills it, and why there is no such thing as "the average player". And it's a direct bridge to the project: if your game has LLM NPCs, their cost per turn drops straight into this equation (see the connections).
🏠 Lab — economics live
An interactive lab with no code: turn the retention/ARPDAU/CPI knobs and watch LTV jump non-linearly and the red "unprofitable" light come on. Plus a gacha calculator. Open the lab →
Best moment: drag r from 0.90 to 0.93 — LTV jumps by ~40%. If you want Monte Carlo in code — economy_sim.py in labs/lab-06-f2p-economy/.
🔧 Take it apart like an analyst — on your home machine
What to play and which numbers to open is above (🕹). Here it goes deeper: taking apart the funnel and the ethics:
🔧 Poke at it (take the funnel apart) ~30 min
Reconstruct the monetization funnel: where the first spending point is, what's being sold (cosmetics / convenience / pay-to-win), how the battle pass works (a commitment device), which currencies exist (tangled exchange rates are a dark pattern). Work out what retention rests on: dailies, seasons, social mechanics.
🧪 Test it (with ethics/QA eyes) ~15 min
Flag the dark patterns: FOMO timers, artificial "pain", opaque currency rates, pressure to spend. Ask: where's the line between "honest (cosmetics subsidize access)" and "predatory (leans on the vulnerable)" — exactly the spectrum from the lesson.
Checklist: reconstructed the funnel and the monetization type; named at least one dark pattern; connected the gacha rates and pity from 🕹 with the truncated-geometric formula above.
🔁 Beyond games — where this transfers
The two economics lessons — retention compounds and the distribution is heavy-tailed (the average lies) — apply well beyond games:

SaaS / business: the same churn / LTV / CAC — all of subscription unit economics; retention compounds through 1/(1−r) in any service.

ML / data: power laws everywhere — you can't judge by the mean: token frequencies (Zipf), a long tail of classes, outliers decide it; LLM cost = price-per-call × volume (like per-turn × DAU) — the same unit economics of inference.

Security / marketing: a few actors produce most of the effect (whales = fraudsters = viral nodes) — forecast from the tail, not from the mean.

Principle: compounding beats linear; with a heavy tail the mean deceives — look at the distribution.

Connections
intersection
LLM NPCs — cost per turn (~$0.0001–0.003) × turns × DAU drops straight into this unit-economics equation; for an MMO it's a death sentence for cloud LLMs.
intersection
Classical vs ML — its deep end on "AI as a cost line" (build vs buy, ML tech debt, cost of ownership) is the same economic lens, applied to choosing AI features.
intersection
World models — why generating frames is economically absurd for shipping: infrastructure economics in action.
foundation · coming soon
Module 6 (Mobile/F2P), Module 9 (core loop → retention), Module 10 (studio economics) — these will become separate pages as the site rolls out; for now they point at the index.
Questions worth asking
Why does ~1% of players fund the game — is that exploitation or sustainability?
It depends on what you sell. Cosmetics for whales don't break the game for free players — that's sustainability (the rich subsidize access for everyone). Pay-to-win and dark patterns that target people vulnerable to spending are on the exploitation side. Concentration of spending is neutral in itself (that's how every "free access + paying supporters" model works, from radio to games); the ethics live in the mechanics and the honesty, not in the mere fact that a minority pays more.
Why is retention more important than ARPDAU, if ARPDAU is what actually brings the money?
Because retention compounds and ARPDAU doesn't. In LTV = ARPDAU/(1−r) the price enters linearly while retention enters through 1/(1−r), which explodes as r→1: +3 pp on r can give +40% on LTV, while +3% on ARPDAU gives +3%. Plus high retention = a bigger base for virality and network effects. Hence "fix retention first, monetization second".
How do you compute LTV when the players haven't churned yet (predicted LTV)?
You fit the retention curve on an early cohort (7–30 days), extrapolate and sum to a horizon (see the deep end: the power-law model rd=r1·d−c). The risk is in the tail: a small error in the exponent c changes the forecast a lot. That's why pLTV always comes with a confidence interval and gets recomputed as the cohort matures.
Are whales Pareto (80/20) or something else, and why does it matter for forecasting?
The tail is heavier than Pareto — closer to log-normal/power-law: the top fractions of a percent spend orders of magnitude more than the median. The practical consequence: you cannot estimate revenue from the mean — the variance is huge, and one or two whales move the monthly numbers. Forecasts are built on the distribution (quantiles, a separate model for the upper tail), not on mean × N.
A pity system reduces the publisher's income — why do they add it?
Paradoxically, it doesn't: a guarantee lowers anxiety and the sense of being cheated, which raises willingness to pay and long-term trust (and therefore retention and LTV). Plus a cap at N moves the mechanic away from the legal definition of "gambling" in a number of jurisdictions. Short term you lose on the unluckiest tail — long term you win on trust and regulation.
Further reading