Formula and Method for the M/M/c Queueing Model
This calculator models an M/M/c queue: customers arrive according to a Poisson process at rate λ (average arrivals per unit time), are served by c identical parallel servers, each with exponentially distributed service times at rate μ (average customers served per unit time per server), in first-come-first-served order, with unlimited queue capacity and an unlimited customer population. This is the workhorse model of queueing theory, used for call centers, checkout lanes, help desks, web server pools, and any system where arrivals and service durations are random but their long-run averages are known.
How the calculation works
First compute the offered load a = λ / μ (in Erlangs) and the server utilization ρ = a / c = λ / (c·μ). For a stable queue, ρ must be less than 1 — otherwise arrivals outpace total service capacity and the queue grows forever. The calculator then applies the Erlang C formula to find P0, the probability the system is completely empty:
P0 = [ Σn=0c-1 aⁿ/n! + (ac/c!) · 1/(1-ρ) ]-1
From P0, the probability an arriving customer must wait (all servers busy) is C(c,a) = (ac/c!) · 1/(1-ρ) · P0. The average number waiting in the queue is Lq = P0 · ac · ρ / (c! · (1-ρ)²). By Little's Law, the average wait time in queue is Wq = Lq / λ, the average number in the whole system is L = Lq + a, and the average time in the system is W = Wq + 1/μ. With c = 1 server these reduce to the classic single-server results ρ = λ/μ, L = ρ/(1-ρ), and Lq = ρ²/(1-ρ).
Common mistakes
- Mismatched time units: λ and μ must be expressed in the same time unit (e.g. both per hour, or both per minute) — mixing units silently produces wrong utilization and wait times.
- Ignoring the stability condition: if ρ = λ/(c·μ) is 1 or greater, there is no steady state — the queue length grows without bound and the formulas do not apply.
- Confusing Lq with L, or Wq with W: Lq and Wq describe only the waiting portion (before service starts); L and W include the customer(s) currently being served.
Real-world applications
- Call centers use Erlang C and the probability of waiting to determine how many agents (servers) are needed to hit a target service level.
- Retail and bank branches use M/M/c results to decide how many checkout lanes or tellers keep average wait times acceptable.
- IT and web infrastructure teams use the same formulas to size server pools against expected request rates.
- Healthcare clinics and DMV-style service counters use queue length and wait-time estimates to plan staffing by time of day.