1 · Inputs
The list starts as an exponential (random-order steady state) sized by Little's law for the referral rate and the chosen % under 18 weeks. Each week: everyone ages a week, referrals arrive, then capacity removes patients. Load is referrals ÷ capacity, so 1.10 means 10% more referrals than clock stops each week.
2 · The list, week by week
Each chart is the census by weeks waited (0 to 104+). The dashed rule marks 18 weeks. In the bottom row, during the final 18 weeks the hatched block is the cohort that capacity is forbidden to touch: patients who will still be under 18 weeks on 1 April. Capacity spills over to them only if the eligible cohort runs out. After 1 April the ordinary rule resumes, so the protected block is drawn from again and the two rows converge.
3 · The metric over time
Solid lines are the ordinary runs, dashed lines the diverted runs. The vertical rule is 1 April 2028; the moving cursor is the animation's current week. Hover for values.
4 · On the day, and ten weeks later
The headline on 1 April 2028 and the same figure ten weeks later. "Spilled" is capacity that found no eligible patient and fell back to the protected cohort.
5 · Method & caveats
- Weekly steps, continuous (fractional) patient counts, no randomness: the same inputs always give
the same picture. Referrals arrive at a constant rate; capacity is a constant number of removals per
week,
referrals ÷ load. - Removal order defaults to random: each week's removals are taken in proportion to each weeks-waited bin, the M/M/1 "random order" case that gives the exponential shape and keeps it. The slider mixes in longest-waiting-first removal for the remainder; at 0% random the list becomes a flat block with a hard edge and the tail is cleared entirely. The slider sets the mix for all six runs.
- Diversion rule: in a step with r weeks still to go before 1 April, a patient who has waited i weeks will have waited i + r on the day, and may be treated only if i + r ≥ 18. The rule bites only in the last 18 weeks and is switched off after 1 April. It applies to all capacity, including the random share, so clinical urgency is not modelled as an exemption.
- The starting shape is exponential. Under random removal at load 1 that shape is (almost exactly) stationary, so the balance run barely moves; the deficit run thickens its tail and piles up in the 104+ bucket, the surplus run thins it. If you mix in longest-waiting-first removal, every run first reshapes towards the steady state of that policy, which is why the balance run's % under 18 then moves even though its size does not.
- Based on the queueing framing in Fong, House, Walton et al. (2022),
Understanding Waiting List Pressures,
and the sibling Waiting Lists app. Engine tests:
node tests/engine.test.mjs.