Statistical
M/M/1 Queueing formula: server utilization, queue length (Lq) & wait time (Wq)
Model call-center, checkout, and API worker queues using M/M/1 arrival rate lambda, service rate mu, utilization rho = lambda/mu, Lq, and Wq.
Queue delay grows as utilization approaches one
In an M/M/1 queue (Poisson arrivals at rate lambda per hour, exponential single-server service at rate mu per hour), server utilization is rho = lambda / mu (stable ONLY when lambda < mu, i.e., rho < 1). Because arrivals and service times fluctuate randomly, queues form long before 100% capacity!
Average items waiting in line is Lq = rho^2 / (1 - rho), average total items in the system is L = rho / (1 - rho), and average wait time in queue before service begins is Wq = Lq / lambda = rho / (mu * (1 - rho)) hours! Raising lambda from 18/hr (75% utilization -> 7.5 min wait) to 21.6/hr (90% utilization) triples average wait time to 22.5 minutes!
These are steady-state means for an ideal single-server queue with independent Poisson arrivals, exponential service times, infinite waiting capacity and first-come-first-served service. They are not percentile delays or a universal 80% threshold. Zero arrival rate has limiting mean queue length and wait zero; service rate must be positive.
| M/M/1 Metric (Service Rate mu = 24 / hr) | Formula | At lambda = 18 / hr (75% Util.) |
|---|---|---|
| Server Utilization (rho) | lambda / mu = 18 / 24 | 0.75 (75.0%) |
| Avg Waiting in Queue (Lq) | rho^2 / (1 - rho) = 0.5625 / 0.25 | 2.25 requests |
| Avg Wait Time in Queue (Minutes) | (rho / (mu * (1 - rho))) * 60 | 7.50 minutes |
| At 90% Utilization (lambda = 21.6 / hr) | (0.90 / (24 * 0.10)) * 60 | 22.50 minutes (3x jump!) |
Average queue wait time Wq in minutes (with stability guard)
A2=ArrivalRate_hr (18) and B2=ServiceRate_hr (24); guards against unstable queues when lambda >= mu.
=IF(OR(COUNT(A2:B2)<>2,A2<0,B2<=0),"Invalid inputs",IF(A2 >= B2, "Unstable Queue", LET(rho, A2 / B2, ROUND((rho / (B2 * (1 - rho))) * 60, 2))))Average number of items waiting in queue (Lq)
Evaluates rho^2 / (1 - rho).
=IF(OR(COUNT(A2:B2)<>2,A2<0,B2<=0),"Invalid inputs",IF(A2 >= B2, "Unstable Queue", LET(rho, A2 / B2, ROUND((rho ^ 2) / (1 - rho), 2))))Try the example
Use the original values or change them to test your understanding.