Three Quantities That Are Easy to Confuse
In an M/M/c queue, several important quantities are related but not interchangeable. Offered load measures demand in units of server capacity; utilization measures the fraction of the total service capacity demanded. Erlang C measures the chance an arrival must wait in steady state. It does not, by itself, give a waiting time. Confusing these quantities can produce a plausible-looking calculation that is dimensionally or probabilistically impossible.
Assume throughout that arrivals form a Poisson process of rate \(\lambda>0\), there are \(c\ge1\) identical servers, service times are independent exponential random variables with rate \(\mu>0\) per server, customers are served first-come, first-served, and the waiting room has unlimited capacity. Write \(X_t\) for the number of customers in the system at time \(t\), so the state space is \(S=\{0,1,2,\ldots\}\). The process is considered on a probability space \((\Omega,\mathcal{F},\mathbb{P})\). The steady-state quantities below apply when the queue has a stationary distribution.
Offered load is not generally a fraction: it can exceed \(1\) when the arrival rate exceeds the rate of one server. Utilization per server is the offered load divided by the number of servers. Under stability, \(0<\rho<1\). These are average-load quantities, not guarantees that every server is busy for exactly a fraction \(\rho\) of every finite observation period.
Check Stability Before Using Steady-State Formulas
For this model, when the system contains \(n\) customers, arrivals occur at rate \(\lambda\), while service completions occur at rate \(\min(n,c)\mu\). In particular, when \(n\ge c\), all servers are busy and the total completion rate is \(c\mu\). This explains why the comparison for stability is with the combined rate of all \(c\) servers—not with the rate \(\mu\) of one server.
Proof. The birth-death balance equations in stationarity give \(p_{n+1}=p_n\lambda/((n+1)\mu)\) for \(0\le n<c\), and \(p_{n+1}=p_n\lambda/(c\mu)=p_n\rho\) for \(n\ge c\), where \(p_n=\mathbb{P}(X_t=n)\) in stationarity. If \(\rho\ge1\), the tail probabilities satisfy \(p_{c+j}=p_c\rho^j\) for every integer \(j\ge0\). The chain can reach state \(c\) from state \(0\), and the positive arrival and service rates make it irreducible, so a stationary distribution cannot assign zero probability to \(c\). Thus \(p_c>0\), and \(\sum_{j\ge0}p_c\rho^j\) diverges when \(\rho\ge1\). No stationary probability distribution can then be normalized. If \(\rho<1\), the weights defined by the same balance equations have a finite geometric tail. Normalizing these weights gives a stationary probability distribution. Therefore stationarity exists exactly when \(\rho<1\), which is equivalent to \(\lambda<c\mu\). \(\square\)
The criterion is a condition for steady state, not merely a technical restriction on one formula. If \(\lambda\ge c\mu\), steady-state probabilities and steady-state performance measures for the unlimited M/M/c queue cannot be obtained by substituting into stable-queue formulas.
Worked Example: Offered Load Is Not Utilization
Take \(c=3\), \(\lambda=4\) customers per unit time, and \(\mu=2\) services per unit time per server. Find the offered load and utilization, and check stability.
The offered load is \(a=\lambda/\mu=4/2=2\) Erlangs. The total service capacity is \(c\mu=3\cdot2=6\) customers per unit time, so the utilization per server is
The equivalent calculation \(a/c=2/3\) agrees. Since \(\lambda=4<6=c\mu\), the queue is stable. In particular, the correct simplification is \(4/6=2/3\), not \(2/6\). The quantities have the expected interpretation: offered load is \(2\) Erlangs, while utilization per server is \(2/3\).
Check: \(a/c=2/3\), and \(\lambda/(c\mu)=4/6=2/3\). Both definitions give the same utilization.
Erlang C Is a Probability, Not a Delay
For a stable M/M/c queue, let \(C\) denote the Erlang C probability that an arrival must wait for service. Under Poisson arrivals, PASTA (Poisson arrivals see time averages) identifies the stationary probability that an arrival finds all \(c\) servers busy with the stationary probability that \(X_t\ge c\). PASTA is a standard result; its proof is not needed for the calculations here.
For the stable M/M/c model under the assumptions above, the waiting-time distribution gives a direct way to convert this probability into time-based measures. Write \(W_q\) for the time from arrival until service begins. Its tail probability for \(t\ge0\) is
Thus \(\mathbb{P}(W_q>0)=C\), while \(\mathbb{E}[W_q]=C/(c\mu-\lambda)\). The latter has units of time: \(C\) is dimensionless and \(c\mu-\lambda\) has units of inverse time. Conditional on an arrival having to wait, its mean wait is \(1/(c\mu-\lambda)\). These are distinct summaries: the probability of any wait, the probability of exceeding a chosen time, and the expected wait need not be numerically similar.
Proof. Let \(p_n\) be the stationary probability of \(X_t=n\). The birth-death balance equations imply \(p_{c+j}=p_c\rho^j\) for integers \(j\ge0\). Therefore, conditional on finding at least \(c\) customers in the system, the excess \(j=X_t-c\) has probabilities \(\mathbb{P}(X_t-c=j\mid X_t\ge c)=(1-\rho)\rho^j\). By PASTA, the same conditional distribution applies to an arrival that must wait. Given \(j\) customers beyond the \(c\) in service, the arrival waits for \(j+1\) service completions. While it waits, all \(c\) servers remain busy, so these completions occur at total rate \(c\mu\). The waiting time, conditional on \(j\), is therefore the time to \(j+1\) events in a rate-\(c\mu\) Poisson process; its tail at \(t\ge0\) is \(e^{-c\mu t}\sum_{k=0}^{j}(c\mu t)^k/k!\). Averaging over \(j\), the conditional tail given that the arrival waits is $$ \begin{aligned} \sum_{j=0}^{\infty}(1-\rho)\rho^j e^{-c\mu t}\sum_{k=0}^{j}\frac{(c\mu t)^k}{k!} &=e^{-c\mu t}\sum_{k=0}^{\infty}\frac{(c\mu t)^k}{k!}\sum_{j=k}^{\infty}(1-\rho)\rho^j\\ &=e^{-c\mu t}\sum_{k=0}^{\infty}\frac{(c\mu t)^k}{k!}\rho^k\\ &=e^{-c\mu t}e^{\rho c\mu t} =e^{-(c\mu-\lambda)t}, \end{aligned} $$ where the geometric sum is \(\sum_{j=k}^{\infty}(1-\rho)\rho^j=\rho^k\), and \(\rho c\mu=\lambda\). The probability of having to wait is \(C\), so multiplying this conditional tail by \(C\) gives the stated unconditional tail. Setting \(t=0\) gives \(\mathbb{P}(W_q>0)=C\). Integrating the tail gives \(\mathbb{E}[W_q]=\int_0^\infty C e^{-(c\mu-\lambda)t}\,dt=C/(c\mu-\lambda)\), since stability ensures \(c\mu-\lambda>0\). \(\square\)
Worked Example: Compute the Probability and the Mean Delay Separately
Use the stable queue with \(c=3\), \(\lambda=4\), and \(\mu=2\). Calculate Erlang C and the mean waiting time, checking each calculation.
From the earlier parameter calculation, \(a=2\) and \(\rho=2/3\). The terms in the Erlang C denominator are \(\frac{a^0}{0!}=1\), \(\frac{a^1}{1!}=2\), and \(\frac{a^2}{2!}=2\). The remaining term is \(\frac{a^3}{3!(1-\rho)}=\frac{8}{6(1/3)}=4\). Therefore
The total service rate is \(c\mu=3\cdot2=6\), so \(c\mu-\lambda=6-4=2\). The mean queueing delay is not \(C\); it is
time units. Check: the waiting-time tail gives \(\mathbb{P}(W_q>0)=(4/9)e^0=4/9\), as required. Integrating that tail gives \((4/9)\int_0^\infty e^{-2t}\,dt=(4/9)(1/2)=2/9\), confirming the mean.
Worked Example: A Waiting Probability Is Not a Waiting-Time Measure
Let \(c=2\), \(\lambda=1\), and \(\mu=1\). Find the probability an arrival waits, the probability its wait exceeds \(\ln 2\), and the mean waiting time.
Here \(a=1/1=1\), \(\rho=1/2\), and \(\lambda=1<2=c\mu\), so the queue is stable. The Erlang C numerator is \(\frac{1^2}{2!(1-1/2)}=1\), and the denominator is \(1+1+1=3\). Thus \(C=1/3\). Since \(c\mu-\lambda=2-1=1\), the tail formula gives
The first quantity is a probability, the second is a probability for a specified threshold, and the third is a time. Check: at \(t=0\), the tail formula gives \(\mathbb{P}(W_q>0)=\frac13 e^0=\frac13=C\). Also, conditional on waiting, the mean is \(1/(c\mu-\lambda)=1\); multiplying by the probability \(1/3\) of waiting gives the unconditional mean \(1/3\).
When the Formula Is Used Outside Its Conditions
Worked Example: An Unstable Queue Produces an Impossible Erlang C
Take \(c=3\), \(\lambda=7\), and \(\mu=2\). The offered load is \(a=7/2\), the total capacity is \(c\mu=6\), and \(\rho=7/6>1\). Thus \(\lambda>c\mu\), and the queue has no stationary distribution.
If the stable Erlang C formula is incorrectly applied anyway, the numerator becomes \(\frac{a^3}{3!(1-\rho)}=\frac{343/8}{6(-1/6)}=-343/8\). The finite-sum part of the denominator is \(1+\frac72+\frac{(7/2)^2}{2}=1+\frac72+\frac{49}{8}=\frac{85}{8}\). The full denominator is therefore \(\frac{85}{8}-\frac{343}{8}=-\frac{258}{8}\), and the formal ratio is
This is not a probability. The calculation is not a new waiting probability; it is evidence that the stable formula has been used where its hypothesis fails. Check: \(\rho=7/(3\cdot2)=7/6>1\), so the stability condition fails before any steady-state formula is evaluated.
Common mistake. Treating \(C\) as a duration, or reporting \(C\) as a probability that a customer waits longer than a particular threshold, loses essential information. For a threshold \(t>0\), use \(C e^{-(c\mu-\lambda)t}\); for the mean delay, use \(C/(c\mu-\lambda)\). Another common error is to divide \(\lambda\) by \(\mu\) and call the result utilization per server. That ratio is offered load; the utilization is \(\lambda/(c\mu)\).
A useful order of operations is to confirm the model assumptions, calculate \(a\) and \(\rho\) separately, check \(\lambda<c\mu\), and only then use steady-state formulas. After calculating, check the units and interpretation: Erlang C must be a probability between \(0\) and \(1\), a mean waiting time must have units of time, and a threshold probability must specify the threshold.
Check Your Understanding
For each question, state the relevant condition or quantity before calculating.
- An M/M/4 queue has \(\lambda=6\) and \(\mu=2\). Find the offered load and utilization per server, and check stability.
- Why is an Erlang C calculation not valid for an unlimited M/M/c queue when \(\lambda\ge c\mu\)?
- In a stable queue with \(C=1/4\) and \(c\mu-\lambda=2\) per unit time, find \(\mathbb{P}(W_q>0)\) and \(\mathbb{E}[W_q]\), including units for the mean.
- For a stable M/M/c queue, write the formula for \(\mathbb{P}(W_q>t)\) and explain what changes when \(t=0\).
- A calculation reports a steady-state probability of waiting equal to \(6/5\). Give two checks that should be made before interpreting the result.