Erlang X calculator (abandonment, blocking & redials)

The most realistic of the classical Erlang formulae. Erlang C assumes callers wait forever; Erlang A adds patience; Erlang X goes further, folding in a finite number of lines (callers get a busy tone when all are full) and the redials that failed callers generate. Because redials feed back into the load, the model is solved by iteration.

Inputs

Genuine new attempts only — the model adds redials on top.
Mean time before a queued caller hangs up.
Maximum simultaneous calls (agents + queue). When all are full, new callers get a busy tone. Must be ≥ agents.
Share of blocked or abandoned callers who try again.

Results

Agents required (net)
Scheduled (after shrinkage)
Predicted abandonment
Blocking (busy tone)
Mean wait (accepted callers)
Probability of waiting
Occupancy
Base offered load (Erlangs)
Effective load incl. redials

Sensitivity

AgentsAbandon %Block %Wait (s)Occ %
Erlang X was assembled by Ger Koole in the 1990s to combine three behaviours earlier formulae handled in isolation: abandonment (Erlang A), blocking on a finite number of lines (Erlang B), and redials from callers who didn’t get through. The redial loop is circular — failed calls generate redials, which add load, which causes more failures — so the calculator iterates the arrival rate to a fixed point. It usually needs fewer agents than Erlang C, but the busy-tone and redial effects matter most when lines are tight. Read the full method in From Erlang to Excel.

Related: Erlang C · Erlang A · all calculators

How it works

Erlang X is the most realistic of the classical staffing formulae. On top of Erlang A's caller patience it adds two more real-world behaviours: blocking (a finite number of lines, beyond which callers meet a busy tone) and redials (a fraction of blocked or abandoned callers who simply call back). Because those redials feed back into the load, the model is circular and is solved by iteration rather than a tidy formula. Reach for it when waits regularly creep past about 90 seconds, when lines are genuinely capped, or when you want to see the extra load a busy signal creates.

Common questions

What's the difference between Erlang A and Erlang X?

Erlang A adds caller patience to Erlang C. Erlang X adds two more things on top: a finite number of lines (blocking / busy tones) and the redials that failed callers generate. It's more realistic but, because redials are circular, it has to be solved by iteration.

What is blocking?

Blocking is when every line or queue slot is full and a new caller can't even join the queue — they get a busy tone or are diverted. Erlang B models pure blocking; Erlang X folds it in alongside abandonment and redials.

Related: What is Erlang? · Erlang A · Abandonment & patience · From Erlang to Excel