Tool
Enter arrivals, service time, and staffing
Queue model: M/M/c (Erlang C) — random arrivals, random service times, c parallel servers
Calculator Library / Healthcare Flow
Estimate utilization, the chance a patient waits, and average wait time for a clinic, imaging, lab, or registration area, and compare what each additional provider or room would change.
Tool
Queue model: M/M/c (Erlang C) — random arrivals, random service times, c parallel servers
Staffing what-if
Comparison
| Servers | Utilization | Chance of waiting | Average wait (min) | Waiting past target |
|---|
Example values are pre-loaded so you can see the tool working. Replace them with your own arrival counts and measured service times.
Instructions
This analyzer estimates how long patients wait when they arrive at random and are served by a fixed number of parallel providers, rooms, or stations. It turns three numbers you can measure — arrivals per hour, average service time, and the number of servers — into utilization, the chance a patient waits, and the average and target-exceeding waits.
Use it for outpatient clinics, imaging, laboratory draw stations, pharmacy counters, registration desks, and emergency department fast tracks, wherever the main question is "how many servers do we need in this period?"
| Measure | Formula | Meaning |
|---|---|---|
| Service rate (μ) | 60 / average service minutes | Patients one server can treat per hour. |
| Offered load (a) | λ / μ | Average number of servers kept busy by arrivals, in Erlangs. |
| Utilization (ρ) | a / c | Share of time the average server is busy. Must be below 100%. |
| Chance of waiting (Erlang C) | C(c, a) | Probability an arriving patient finds every server busy. |
| Average wait in queue | C(c, a) / (cμ − λ) | Mean time waiting for a server, in hours (shown in minutes). |
| Waiting past target t | C(c, a) × e−(cμ − λ)t | Probability the wait exceeds the target. |
An imaging department receives 10 patients per hour at midday. Each patient occupies a scanner for 20 minutes on average, and 4 scanners are staffed. The offered load is 10 × 20 / 60 = 3.33 Erlangs, so utilization is 3.33 / 4 = 83%. The model gives a 66% chance of waiting and an average wait of about 20 minutes. Adding a fifth scanner drops utilization to 67%, the chance of waiting to 33%, and the average wait to about 4 minutes.
Notice that one more server, a 25% increase in capacity, cut the average wait by roughly 80%. That non-linear effect is why high-utilization areas feel congested even when nothing looks wrong on average.
It uses the M/M/c model, also called Erlang C: random patient arrivals, random service times, and a number of identical servers working in parallel with a single shared queue. It is a standard planning model for call centers, clinics, and service counters.
As utilization approaches 100%, there is almost no spare capacity to absorb random bursts of arrivals or long visits, so queues build faster than they clear. The relationship is strongly non-linear, which is why a small change near capacity can double average waits.
Use it with caution. Appointments smooth arrivals, so actual waits are often shorter than the model predicts, but late starts, no-shows, and variable visit lengths push them back up. Treat the result as a rough guide for comparing staffing options.
Enter the measured average time a patient occupies a server, including room turnover or cleanup, for the period you are analyzing. Time stamps from a week of real visits are more reliable than scheduled visit lengths.