The Erlang C formula

Danish mathematician who derived the formula at the beginning of the 20th century. We
have a call center with only one type of calls and no abandonments, thus every caller waits
until he or she reaches an agent. The number of calls that enter on average per time unit
(e.g., per minute) is denoted with the Greek letter _. The average service time of calls or
average holding time is denoted with _, measured in the same unit of time. We define the
load a as a = _ × _. The unit of load is called the Erlang.
Consider a call center with on average 1 call per minute, thus _ = 1, and a service time
duration of 5 minutes on average, thus _ = 5. The load is a = _ × _ = 1 × 5 = 5 Erlang.
Note that it does not matter in which time unit _ and _ are measured, as long as they are
the same: e.g., if we measure in hours, then we get again a = _×_ = 60× 1
12 = 5 Erlang.
The offered traffic is dealt with by a group of s agents. We assume that the number
of agents is higher than the load (thus s > a). Otherwise there are, on average, more
arrivals than departures per time unit, and thus the number of waiting calls increases all
the time, resulting in a TSF of 0%. (In reality this won’t occur, as callers will abandon.)
We can thus consider the difference between s and a as the overcapacity of the system. This
overcapacity assures that variations in the offered load can be absorbed. These variations
are not due to changes of _ or _, they originate in the intrinsic random behavior of call
interarrival and call holding times. Remember that _ and _ are averages: it occurs during
short periods of time that there are so many arrivals or that service times are so long that
undercapacity occurs. The strength of the Erlang formula is the capability to quantify the
15
TSF (and other waiting time measures) in this random environment with short periods of
undercapacity and therefore queueing.
The Erlang C formula gives the TSF for given _, _, s, and AWT. For the mathematically
interested reader we give the exact formula, for a < s:
TSF = 1 − C(s, a) × e−(s−a)AWT_ .
Here e is a mathematical constant, approximately equal to 2.7; C(s, a) is the probability
that an arbitrary caller finds all agents occupied, the probability of delay. In case a _ s
then TSF = 0. The formula itself is useful for those who implement it; see Appendix C.1
for details. For a call center manager it is more important to understand it, i.e., to have
a feeling for the TSF as variables vary. For this reason we plotted the Erlang formula for
some typical values in Figure 4.1. We fixed _, s, and AWT, and varied _. In the figure we
plotted _ on the horizontal axis, and the TSF on the vertical. The numbers in the figure
can be verified using our Erlang calculator at www.math.vu.nl/~koole/ccmath/ErlangC.
With the numbers of the example above, _ = 1 and _ = 5, we got a load of 5 Erlang. Let us
schedule 7 agents, and assume that a waiting time of 20 seconds is considered acceptable,
i.e., AWT = 20 seconds. Filling in 1 and 5 and selecting “Number of agents” (20 is already
filled in at start-up) gives after computation the TSF under “Service level”. It is almost
72% (check this!). Increasing the number of agents to 8 already gives a TSF of 86%.
0 0.5 1 1.5
0
20
40
60
80
100
Average number of arrivals per minute _
TSF in %
Figure 4.1: The TSF for _ = 5, s = 7, AWT = 0.33, and varying _.
We follow the curve of Figure 4.1 for increasing _. Starting at 100%, the TSF remains
close to this upper level until relatively high values of _. As _ gets such that a = _ × _
Chapter 4 — The Erlang C formula 17
approaches s then the TSF starts to decrease more steeply until it reaches 0 at _ = s/_ =
7/5 = 1.4. From that point on, as explained earlier, the TSF, as predicted by the Erlang
formula, remains 0%.
Next to the SL in terms of the fraction of calls waiting longer than the AWT, the TSF,
we can also derive the average speed of answer (ASA, also called average waiting time),
the average amount of time that calls spend waiting. The overcapacity assures that the
average speed of answer remains limited. How they depend on each other is given by the
Erlang formula for the ASA. This formula is given by:
ASA =
Probability of delay × Av. service time
Overcapacity=C(s, a) × _s − a.
For the same input parameters as in Figure 4.1 we plotted the ASA in Figure 4.2. We
see clearly that as _ approaches the value of s/_ = 1.4 then the waiting time increases
dramatically.
0 0.2 0.4 0.6 0.8 1 1.2
0
100
200
300
Average number of arrivals per minute _
ASA in seconds
Figure 4.2: Values of the ASA for _ = 5, s = 7, AWT = 0.33, and varying _.
The probability of delay is not only an intermediate step in calculating TSF or ASA, it
is also of independent interest: it tells us how many callers are put in the queue and how
many find a free agent right away. The probability of delay can also be computed using
an Erlang calculator. By computing the TSF for an AWT equal to 0 we find 100 minus
the delay percentage. Dividing by 100 gives the probability of delay. Thus we need to fill
in AWT = 0, and by noting that 100 × probability of delay = 100 − TSF.
Now we continue the example. We already saw that the load is 5 Erlang. Let us place 7
agents, then there is 2 Erlang overcapacity. Filling in 1, 5 and 7 we find that 68% waits
18 Koole — Call Center Mathematics
less than 0 seconds. Thus the probability of delay C(s, a) is equal to 0.32. Now we can fill
in the formula for the average waiting time, in seconds:
ASA =
C(s, a) × _s − a_0.32 × 3002= 48 seconds.
This corresponds with the answers of the Erlang C calculator (be careful with the units,
minutes or seconds!). Taking 8 agenten gives
ASA =C(s, a) × _s − a_0.17 × 3003= 17 seconds.
Thus increasing the number of agents with 1 reduces the average waiting time with a factor
3.
Up to now we just discussed the service level aspects of the Erlang C system. Luckily,
the agent side is relatively simple. Let us consider the case that a < s, thus s − a is the
overcapacity. Because every caller reaches an agent at some point in time, the whole offered
load a is split between the s agents. This gives a productivity of a/s × 100% to each one
of them, if we assume that the load is equally distributed over the agents. If a _ s then
saturation occurs, and agents get a call the moment they become available. In theory, this
means a 100% productivity. In practice such a high productivity can only be maintained
over short periods of time.

1 comments:

Unknown said...

We just released a new ErlangC calculator. In addition to basic calculators it also calculates percentage of immediately answered calls, average waiting time, and average agent occupation rate.

http://www.agenses.com/489/free_erlangc_calculator/

Post a Comment