Daily Build · Civic / Data Toy

Bus Bunch

Why do three buses show up at once after a 25-minute wait? Put buses on a loop, add riders and one small delay, and watch the late bus pick up extra riders, slow down, and get caught by the one behind. Then flip on headway holding and see the gaps heal.

A toy model, not a transit planning tool: riders arrive as a steady trickle, every stop is identical, buses never fill up, and nobody gets off. It's built to show the feedback loop, not to predict your route.

Route setup

Headway holding 4 timepoints, hold to one full headway

EMPTY
0:00
sim time
Live view
Riders waiting: 0
  • Stop crowd grows with riders waiting
  • White ring = boarding
  • Green ring = holding at a timepoint
  • Red ring = delayed (opening delay or poke)
Scheduled headway
—
Headway CV
—
Bunched departures
—
Worst gap
—
Avg rider wait
—
vs held twin
—

Stringline · 3 simulated hours

Each line is a bus going around the loop (bottom → top, then wraps). Evenly spaced parallel lines = good service; lines that merge = a bunch. Metrics skip the first 30 minutes.

Who carried the riders

Run report (markdown)