N firms compete for the same pool of users. Every step, new demand is handed out not evenly, but in proportion to each firm's current weight raised to a power α — the classic Yule/Simon preferential-attachment ("rich-get-richer") rule behind network-effect markets:
w_i(t+1) = w_i(t) + Δ · [ (1-ε)·w_i(t)^α / Σ_j w_j(t)^α + ε/N ] · (1 + noise)
share_i = w_i / Σ_j w_j
- α (attachment strength) — above 1, a firm's own size compounds its pull on new users faster than linearly, so a small early lead snowballs into lasting dominance (winner-take-most). Near 0 the market stays flat and competitive.
- ε (entrant rate) — a floor of demand handed out evenly regardless of size, so small firms can still get lucky and occasionally break out — without it the leader would be permanent from step one.
- σ (luck/noise) — a random multiplicative shock each step (product quality, timing, a viral moment) layered on top of the deterministic pull.
Three linked panels show the same market three ways: the rank-size bar chart (bars sorted by rank, bending from roughly flat into a steep Pareto/Zipf-style tail as α rises); the Lorenz curve (cumulative share vs. cumulative firm count — the further it sags below the 45° equality line, the more concentrated the market, and the shaded gap between them is exactly twice the Gini coefficient); and a Gini / Neff history strip chart tracking concentration over time. Neff = 1/Σ share_i² (the inverse Herfindahl-Hirschman Index) reads as "how many equal-sized firms would produce this same concentration."