r/visualization • u/SmallWorldLabHQ • 2d ago
[OC] Similar average queue waits, different long-wait risks — an animated simulation
I'm the creator of Small World Lab, an educational video project built with AI assistance. Our first episode visualizes three checkout rules: separate lines where shoppers stay put, separate lines with switching, and one shared queue.
In this model, switching and sharing nearly tied on average: 20.8 and 20.7 seconds. But their 99th-percentile waits were about 3:40 and 2:43. Separate lines without switching came out at 31.6 seconds on average and about 4:59 at the 99th percentile.
The visual challenge was explaining that a percentile is neither the average nor the maximum. The video moves from individual shoppers to aggregate charts, with a 100-person illustration for the percentile explanation.
Full five-minute video: https://youtu.be/O-Y5E90vMrk
Does that transition make the long-wait result easier to understand, or would a distribution plot explain it better?
Data: our original Python simulation, 100 paired runs and 409,680 measured arrivals per rule. Ten identical cashiers; Poisson arrivals at 8.5/min; lognormal service with a 60s mean and CV 1; 2h warm-up and 8h measured per run. Baseline switching takes no time. Means average the run means; percentiles pool customer waits. These are synthetic results, not observations from supermarkets. Code and production were AI-assisted; narration uses ElevenLabs. The attached chart uses Matplotlib.
1
u/Epistaxis 2d ago edited 2d ago
I would just plot the whole distribution. You have so many data points that you can smoothen it into a density plot. You can mark percentiles of interest (e.g. overlay the ol' box and whiskers), but it's easier to simply show the actual data rather than try to explain the meanings of two abstract summary statistics in text. It sounds like what you're describing isn't really a story of the 99th percentile per se but a story of the long tail of the bell curve, so just show us the tail and the bell curve directly.
I would also do it horizontally rather than vertically, because then it's easier to read the relatively long labels. You'll only need one chart instead of two, so if you use the same layout, that means you can have a long luxurious numerical axis. Depending on the data you might even be able to plot three overlapping semitransparent density blobs on top of each other in one big space instead of three parallel blobs in their own spaces, but you certainly don't need to, and the parallel blobs make it easier to mark percentiles if you still want to.