Last verified · v1.0
Calculator · math
Queueing Theory Calculator (M/M/S)
Calculate M/M/S queue metrics: average wait time, queue length, server utilization, and idle probability for multi-server Poisson arrival systems.
Inputs
Queueing Metric Value
—
Explain my result
Get a plain-English breakdown of your result with practical next steps.
The formula
How the
result is
computed.
M/M/S Queueing Theory: The Erlang C Model Explained
The M/M/S queueing model — also called the Erlang C model — describes a waiting-line system where customers arrive according to a Poisson process at mean rate λ, receive service from s identical parallel servers each operating at exponential rate μ, and wait in a single shared queue when all servers are busy. Operations researchers, network engineers, hospital administrators, and manufacturing planners rely on this model to size service capacity, minimize customer wait times, and balance staffing costs against congestion penalties. The queueing theory calculator automates these computations, returning all key steady-state metrics instantly.
Core Variables and Notation
- λ (lambda) — Mean customer arrival rate per unit time; arrivals follow a Poisson process.
- μ (mu) — Mean service rate per server per unit time; individual service durations are exponentially distributed with mean 1/μ.
- s — Number of identical parallel servers sharing one common queue.
- a = λ/μ — Offered load in Erlangs: total work arriving per unit time, independent of server count.
- ρ = λ/(sμ) — Traffic intensity (server utilization): the long-run fraction of time each server is busy.
Stability Requirement
The M/M/S system reaches a valid steady state only when ρ < 1, meaning λ < sμ. When arrivals equal or exceed combined service capacity, the queue grows without bound and none of the steady-state metrics are meaningful. As established in Chapter 8: Queueing Theory (Eastern Michigan University), verifying this stability condition is the mandatory first step before applying any Erlang C formula. For example, a call center receiving 20 calls/hr with 4 agents each handling 6 calls/hr gives ρ = 20/(4×6) ≈ 0.833 — stable, with servers occupied 83.3% of the time.
Step-by-Step Formula Derivation
Step 1 — Idle-System Probability P₀
P₀ is derived by solving the global balance equations of the birth-death Markov chain underlying the M/M/S system:
P₀ = [ Σ(k=0 to s−1)(ak / k!) + as / (s! (1−ρ)) ]−1
The finite sum accounts for states with fewer than s busy servers; the second term aggregates all states where all servers are occupied and customers queue. In the call center example (λ=20, μ=6, s=4): a=10/3, ρ≈0.833, yielding P₀≈0.0213 — the system is completely idle only about 2.1% of the time.
Step 2 — Mean Queue Length L_q
L_q = P₀ · as · ρ / (s! · (1−ρ)2)
This quantity rises sharply as ρ approaches 1. In the 4-server example above, L_q≈3.29 customers wait on average. Adding a fifth agent (s=5, ρ≈0.667) drops L_q to roughly 0.65 — a fivefold reduction from a single additional server. This nonlinear sensitivity near saturation is the defining characteristic of M/M/S systems and the primary motivation for using the Erlang C calculator before making staffing decisions.
Step 3 — Mean Wait Time in Queue W_q
By Little's Law (UCSD ECE 158A), the average time a customer waits before any server becomes free is:
W_q = L_q / λ
In the example: W_q = 3.29 / 20 ≈ 0.165 hours ≈ 9.9 minutes. This is the figure most relevant to customer-facing service-level agreements, since it represents pure waiting delay attributable to congestion rather than service complexity.
Step 4 — Mean Sojourn Time W and Mean System Population L
Total time in system adds the service duration: W = W_q + 1/μ. With μ=6 calls/hr, one service averages 10 minutes, so W≈19.9 minutes. Applying Little's Law again yields the average number of customers present system-wide at any moment: L = λW ≈ 20 × 0.332 ≈ 6.63 customers. This equals L_q + λ/μ = 3.29 + 3.33 = 6.62, providing a useful cross-check.
Practical Applications
- Call centers: Determine the minimum agent count keeping average wait below a 2-minute SLA target at 85% utilization.
- Emergency departments: Model patient arrivals and triage staffing to reduce boarding times and diversion events.
- Bank branches: Compare the performance of a pooled multi-teller queue against dedicated per-teller lines.
- Network routers: Estimate packet queuing delay at a switching node under variable offered load.
- Manufacturing cells: Dimension work-in-process buffers and machine staffing to meet throughput targets.
Interpreting Results
Utilization above 0.90 is a warning sign: L_q grows super-linearly in this region, so minor traffic spikes cause disproportionate congestion. The decision framework is direct — compare the per-period cost of one additional server against the economic cost of the predicted average wait (lost revenue, SLA penalties, customer churn). The Essentials of Stochastic Processes (Duke University, Durrett 2021) provides a rigorous proof of steady-state existence and convergence for M/M/s systems, confirming that these formulas are exact under the Poisson-exponential assumptions when ρ < 1.
Reference