how accurate is erlang c?
Erlang C has been used for many years to calculate agent
staffing needs in call centers. It is the 'industry standard' mathematical
model and generally provides very accurate results.
When using Erlang C though, it is important to understand
that it has several underlying assumptions and also that the results do depend
on the accuracy of the input parameters (the old 'garbage in - garbage out'
rule).
Overall, Erlang C provides slightly conservative results in
practice (that is, it will fractionally overestimate the actual agents
required to meet a particular service level).
assumptions
There are several underlying assumptions in the Erlang model
which are not entirely borne out in most call center operations -
Assumption |
Notes |
Callers wait
on indefinitely in the ACD queue - they don't hang up |
In real life some callers hang up, either
immediately or after varying on-hold times. Some of them will retry
later.
If the ASA (average speed to answer) is less
than 1 to 2 minutes, this does not significantly affect the results. |
Calls arrive
randomly in a Poisson distribution |
This means that there are no large spikes
and troughs in the incoming call rate.
For a medium to high call
rate, this assumption is generally satisfied over a 15 or 30 minute
interval.
For low call volumes however (e.g. a small help
desk) there will be quite significant call fluctuations from interval to
interval. |
The call
center operates in a 'steady state' |
The main aspect to this assumption is that
there is no backlog of calls from previous intervals. In practice if
there is an overload of calls at one time of the day, then some of the
callers will actually be answered in the next interval.
For centers with reasonable
service levels and medium or high call volumes this is not significant.
For 'event driven' centers such as I.T.
support, in the case of major problems or outages then there will be
occasional spikes and resulting backlogs. Erlang C does not cater for
this. |
That there
are enough trunks |
'Trunks' are
the incoming phone lines. Most calculators assume that no more than 1%
of callers will encounter a busy tone (i.e. there are enough trunks
available for incoming calls plus the callers on hold). |
input parameters
The input parameters to Erlang C calculations directly impact
on the accuracy of the results.
Parameter |
Notes |
Calls per
hour |
This is
always answered calls, not offered calls. Ensure that the
calls per hour is taken from a representative day of the week (and
period in the month). |
Talk Time |
The total call duration is talk time plus
wrapup time. (The total call duration is often called 'Average
Handling Time' or AHT).
Talk Time can generally be taken directly from
ACD reports. |
Wrapup Time |
Wrapup Time
is the second element of total call duration.
It is much more difficult to
measure accurately -
 |
If you have 'call forcing'
in effect on your ACD, then the wrapup time is simply the delay
between an agent terminating one call and being offered the next
call |
 |
If you are not using call forcing, wrapup time is
much more difficult to establish. generally the numbers reported
by an ACD are not accurate as they usually include such
things as agent 'not ready', breaks etc. |
Sometimes it is only possible to estimate the wrapup time. |
Service Level |
The required Service Level, either expressed
as -
 |
An Average Delay Before Answer (often also called
'Average Speed to Answer' or ASA) e.g. 20 seconds average
delay; or |
 |
Percent of calls answered within a threshold
(e.g. 80% answered within 40 seconds). This is often also called a
'Service Objective' or SO). |
|