Laydyne

Erlang C queue model

Erlang C gives the chance an arrival must wait when identical counters share one first-come-first-served queue, with Poisson arrivals and independent exponential service times. The queue calculator uses this steady-state M/M/c model.

Formula and units

a = λs / 3600; ρ = a / c < 1

B₀ = 1; Bⱼ = aBⱼ₋₁ / (j + aBⱼ₋₁), j = 1, …, c

C = cB꜀ / (c − a + aB꜀)

Wq = Cs / (c − a) seconds; Lq = λWq / 3600 people

P(W > t) = C exp(−(c − a)t/s), t ≥ 0 seconds

W90 = 0 if C ≤ 0.1; otherwise s ln(C/0.1) / (c − a) seconds

λ is arrivals per hour, s the mean service time in seconds per person, and c a positive whole number of counters. a is the offered load in erlangs; ρ is utilisation and C is a probability, both dimensionless. Bⱼ is the Erlang B recurrence used to calculate C without factorial overflow. Wq is the mean wait before service, Lq the mean number waiting, and W90 the 90th-percentile wait. W denotes an individual wait, including zero.

Worked example

For λ = 120 people/hour, s = 60 seconds and c = 3 counters, a = 2 and ρ = 2/3 = 66.67%. B₁ = 2/3, B₂ = 2/5 and B₃ = 4/19, giving C = 4/9 = 44.44%. Wq = (4/9) × 60 / (3 − 2) = 26.67 seconds; Lq = 120 × (80/3) / 3600 = 0.89 people. W90 = 60 ln((4/9)/0.1) = 89.50 seconds. A mean-wait target under 30 seconds needs 3 counters; 2 counters are unstable.

Assumptions and limits

Use this method and check the sources