This 2D companion simulates Frank Bass's diffusion model one individual at a time instead of solving it as a differential equation. Each of up to 2,500 agents in the grid flips a weighted coin every tick with hazard rate p + q·(adopted fraction) — the exact instantaneous adoption probability the Bass ODE describes in aggregate. Watch the population turn from grey to green while the live chart below tracks the resulting stochastic S-curve against the smooth theoretical prediction.
A population grid where each dot is an individual agent, colour-coded by adoption status, plus a live chart of cumulative adopters and adoption rate compared against the deterministic Bass curve.
Drag p, q, population size and simulation speed, or pick a real-world preset; use Reset to restart with a fresh population, or Pause to freeze the grid and inspect the current state.
Because each agent adopts independently at random, no two runs with identical parameters produce exactly the same curve — but averaged over many agents the stochastic result converges to the same S-curve the 3D version plots analytically.
The 3D companion solves the Bass ODE directly, producing a perfectly smooth deterministic curve. This 2D version simulates individual coin-flips for every agent, so small-sample randomness (especially early on, with few adopters) makes the observed curve noisy — it only converges to the smooth theoretical curve as population size grows.
The theoretical peak t* = (ln q − ln p)/(p + q) assumes infinite population. With a few hundred or thousand agents, random fluctuations in early adoption shift when the adoption rate actually peaks in any single run — increase the population slider to see the observed peak converge toward theory.
The hazard rate p + q·(adopted/M) is the probability per unit time that any given non-adopter adopts. It rises as more of the population adopts (the q term), which is what produces the accelerating-then-decelerating S-shape from purely local, individual decisions.
With more agents sharing the same p and q, each individual tick still applies the same probability, but there are more agents to update and the visual "critical mass" effect looks calmer — statistically the fraction-adopted curve is identical, only its granularity changes.
The ODE assumes a continuum of adopters; this simulation gives every adopter a location, an identity and a moment of adoption, which is closer to how real Bass-style diffusion studies validate the model against actual customer-level adoption records.