Arte SheetsLearn. Try. Understand.

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)FormulaAt lambda = 18 / hr (75% Util.)
Server Utilization (rho)lambda / mu = 18 / 240.75 (75.0%)
Avg Waiting in Queue (Lq)rho^2 / (1 - rho) = 0.5625 / 0.252.25 requests
Avg Wait Time in Queue (Minutes)(rho / (mu * (1 - rho))) * 607.50 minutes
At 90% Utilization (lambda = 21.6 / hr)(0.90 / (24 * 0.10)) * 6022.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.

Further reading