↻
TRANSIT SYSTEMS / INTERACTIVE MODEL
Ready to run

Hit Run route: random passenger demand gradually disrupts even spacing. Let it run for several simulated laps.

Explore guided scenarios ↓

Scenario library

Load a reproducible experiment, then run or step through its scheduled events.

Live route

00:00

Backstep pauses playback. A new intervention here replaces later manual interventions; preset dispatch continues.

HEADWAY VARIATION0%Lower means more even spacing
○ Stop · label shows queueColored marker · bus numberClockwise service ↻ · HOLD / EX / ALT EX badges show dispatch state

Passenger & service outcomes

Whole-stop averages avoid partial passenger groups; individual observations remain visible. Bus axes are shared. Fixed axis limits let you compare windows; values above a fixed limit are clipped. Time is in simulation minutes.

Total system time per completed passenger

Initial queue wait + boarding + riding (including holds) + transfer waits + final debarking. Measured from first arrival at a stop to final drop-off.

● Individual passenger   ━ Trailing average

Dispatch history

No interventions yet. Try a 60-second hold on Bus 1.

How to read this experiment

A delayed bus meets a larger queue and spends longer boarding. The bus behind meets fewer passengers and catches up. Hold the trailing bus to rebuild a gap, or send the delayed bus express to shorten its dwell time.

Compare interventions by resetting with the same setup and seed. Headway variation measures spatial gaps around the loop; it is not a direct passenger outcome. Completed-passenger averages exclude people still waiting or riding, whose counts remain visible.

Model & metric definitions

Unlimited bus capacity, overtaking allowed, no traffic except manual delays. All buses start evenly spaced in motion on an empty route. Boarding and debarking are sequential; arrivals continue during both. Fixed arrivals are synchronized across stops; stochastic arrivals have independent exponential intervals. Random rides are uniform integers from 1 to min(2 × configured length − 1, stops − 1).

Dwell is measured on departure and includes service and holds. Wait is sampled at each boarding and is cumulative for that passenger, including previous transfer waits; a transferred rider appears again when reboarding. Boarding time counts as time in the system, but not queue wait. Total system time includes the initial queue wait: final debarking time minus first arrival time. The mean system time card averages that same quantity over all completed passengers. Raw observations update per passenger. In whole-stop mode, chart averages publish at bus departure and include complete stop groups until at least N passenger observations are covered; unfinished groups are excluded from the average. Each-passenger mode uses exactly the last N observations. Averages may use earlier points outside the displayed range. Graphs show the last 60 simulated minutes; CSV contains the whole run. Overlapping dots share screen pixels; statistics and CSV use every observation. To keep browser memory manageable, a run pauses at seven simulated days, 250,000 passenger arrivals, or 250,000 served stops across all buses. Events sharing the final timestamp finish together. Export or review the data, then reset to start another run.