Queueing Theory Calculator

Enter the arrival rate, service rate, and number of servers for an M/M/c queue to get utilization, queue length, wait times, and the Erlang C probability of waiting.

Quick Facts

Utilization
ρ = λ / (c·μ)
Must stay below 1, or the queue grows without bound.
Offered load
a = λ / μ (Erlangs)
Total work arriving per unit time, in units of one server's capacity.
M/M/1 special case
L = ρ/(1-ρ), Lq = ρ²/(1-ρ)
With c = 1 server, the Erlang C formulas reduce to these classic results.

Your Results

Calculated
Utilization (ρ)
-
Fraction of server capacity in use
Probability of Waiting
-
Erlang C: chance all servers are busy
Avg Number in Queue (Lq)
-
Customers waiting, not yet served
Avg Number in System (L)
-
Waiting plus being served
Avg Wait in Queue (Wq)
-
Time before service begins
Avg Time in System (W)
-
Wait plus service time

Ready

Enter arrival rate, service rate, and server count, then press Calculate.

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.

Frequently Asked Questions

What is the M/M/c queueing model and when does it apply?
M/M/c describes a queue with Poisson (random, memoryless) arrivals at rate λ, exponentially distributed service times at rate μ per server, c identical parallel servers, first-come-first-served order, and unlimited queue capacity and population. It is the standard model for call centers, checkout lines, help desks, and server pools where arrivals and service times are unpredictable but their averages are known.
What is utilization (ρ) and why must it be less than 1?
Utilization ρ = λ / (c·μ) is the fraction of total service capacity being used. If ρ ≥ 1, arrivals show up faster than the servers can process them and the queue grows without bound, so no steady-state average exists. A stable queue requires ρ < 1, and the queue gets dramatically longer as ρ approaches 1.
What is the Erlang C formula and the probability of waiting?
The Erlang C formula computes P0, the probability that an M/M/c system is completely empty, from the offered load a = λ/μ and the server count c. From P0 you get C(c,a), the probability an arriving customer finds all servers busy and must wait, and from that the average queue length Lq and wait time Wq. It is the standard formula behind call-center staffing and service-level calculations.
What if I only have one server (M/M/1)?
Set the number of servers to 1. The M/M/c formulas reduce exactly to the classic M/M/1 results: ρ = λ/μ, average number in the system L = ρ/(1-ρ), and average number waiting Lq = ρ²/(1-ρ).