An interactive demonstration of queueing behavior.
Select a scenario preset or adjust arrival rate, service capacity, and variability coefficients — then observe how the charts and readouts change together.
(Presets set all sliders together. Press the active preset again to reseed the local variability pattern while keeping the same averages.)
Charts require JavaScript and the D3 library to render.
Arrivals versus capacity
Bars are work arriving per time bucket. The line is service capacity. Each bar is split into fit and
spill, so you can see local overflow without changing the average load.
Backlog created by overflow
Spillover accumulates into waiting work. Raising variability can increase backlog even when utilization
remains unchanged.
Long-run estimates
The charts show one illustrative sample path. The readouts estimate long-run behavior: M/M/1 uses exponential distributions (Ca = Cs = 1); Kingman applies the full variability penalty from your slider values. The gap between them is the cost of variability at this load.
Utilization (ρ)
72.0%
Lead time (M/M/1, Ca = Cs = 1)
3.6 time units
Queue wait (Kingman)
7.7 time units
Lead time (Kingman)
8.7 time units
Average WIP (Little's Law)
37.2 items
Variability penalty (Kingman)
3.0
What to look for
Spill at low average load: backlog can appear well below 100% utilization when variability is high. The burst trap regime is invisible to averages alone.
Non-linearity near saturation: as ρ approaches 1, small load increases produce disproportionate queue growth. The M/M/1 readout shows this even without extra variability.
The Kingman gap: the difference between M/M/1 lead time and Kingman lead time is the variability penalty. At the same utilization, raising Ca or Cs widens this gap without touching ρ.
Variability penalty scale: 1.0 is the M/M/1 baseline (Ca = Cs = 1). A penalty of 2.0 means Kingman predicts twice the M/M/1 queue wait at the same utilization. Values above 2 are common when both arrival and service variability are elevated.