Not yet adopted Recently adopted Adopted

About this simulation

Written by MySimulator Team · Reviewed by MySimulator Editorial Review

Last updated: 17 September 2026

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.

🔬 What it shows

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.

🎮 How to use

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.

💡 Did you know?

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.

Frequently asked questions

Why is this curve bumpier than the 3D version's smooth S-curve?

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.

Why does the observed peak year drift from the theoretical one?

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.

What does "hazard rate" mean here?

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.

Why does raising the population slider slow down visible colour changes?

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.

How is this different from just running the ODE and drawing a chart?

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.