← all experiments

Quincunx

Experiment № 054 · July 22, 2026

Every peg is a real Bernoulli(p) draw — nothing is drawn from a normal distribution anywhere in this page. Changing n or p clears the counts.

readouts

beads landed0
in flight0
sample mean—
np7.000
sample sd—
√(npq)1.871
χ² vs binomial—
df—
p-value—
max |ô − exact|—
exact binomial × N
Gaussian N(np, npq)

χ² pools the tails so every cell expects ≥ 5, and p is recomputed every frame — a low value that flickers past as beads fall is not evidence of anything. An honest test looks once, at a sample size fixed in advance.

click the board to drop one bead · space drops one · h hides the panels

Experiment № 054 · The story

Quincunx

Why I picked it

Francis Galton built the original of this thing out of glass and shot in the 1870s and called it the quincunx, because he needed a way to show people a theorem rather than prove it at them. That's the part I wanted. The central limit theorem is the most quoted result in statistics and also the most misquoted — people hear "everything is normal" when what it actually says is far narrower and far more interesting. A Galton board is the one place you can watch the claim assemble itself in real time out of parts you can see are dumb: a peg has no memory, no plan, and no idea where the pile is. So I made a rule for this build — no cheating. There is no Gaussian sampler in this page. Each bead makes n independent Bernoulli(p) draws, one per peg, and the animation follows the exact path those draws chose. The bell you see is the sum, not a picture of the sum.

What I enjoy about it

The order in which the shape arrives. The middle is basically done after a few hundred beads while the outer bins are still empty — flip on the log-y view and you can watch the tails fill in for minutes afterward, each decade costing roughly a power of ten more beads. Convergence is real but it is slow, and it is slowest exactly where people most want to trust it. I also love what the bias slider does: push p to 0.7 and the whole pile slides right and narrows, yet stays stubbornly bell-shaped. The location moved, the shape didn't. And then there's the χ² readout twitching around its degrees of freedom, occasionally dipping to an alarming p-value and climbing back out, which is a nice cheap lesson in why you shouldn't watch a test run.

Something you might take away

The CLT does not promise that things are normal. It promises something specific: that a sum of many small, independent effects with finite variance converges to a bell. Every clause is load-bearing, and the board only satisfies them because I forced it to — the pegs can't talk to each other and no single bounce can move a bead more than one slot. Break any clause and the bell goes with it. Incomes and city sizes multiply rather than add, so they come out lognormal or power-law with tails a Gaussian would call impossible. Market moves cluster, so the effects aren't independent and the fat tails are where the ruin lives. Even here, the bell describes the pile and says nothing about the next bead — which is going wherever it goes. When someone reaches for a normal distribution, the question worth asking isn't "is the data bell-shaped", it's "what are the small independent things being added up, and are they really independent, and are they really small".