• Computersimulation in der Call Center Planung

Computersimulation in der Call Center Planung

Using Simulation to Address the Limitations of the Erlang C Model

Improve your knowledge of where computer simulation may be used to break through the barriers imposed on Call Centre analysis by the limitations of the widely used Erlang C model

1. Summary Comparison of Erlang C and Computer Simulation Models

The table below details aspects of analysing a Call Centre’s operations and whether they can be addressed by either the Erlang C model or a computer simulation model:


1.1. What is the Erlang C Model?

The Erlang C model is used to analyse the performance of simple queuing systems. It is widely used in the telecommunications industry to determine the number of Call Centre agents required in a given time period to answer calls within a desired Service Level.

2. The Importance of Getting Resource Levels Correct

The charts below show the service level predicted by the Erlang C model given varying numbers of agents. The upper chart shows requirements for lower numbers of agents and the lower chart shows requirements for higher number of agents; all data is based upon an average call length of 125 seconds and a target answer time of 20 seconds.

The charts show that as the number of agents decreases towards the theoretical minimum number required to cope with the demand the greater the reduction in service level caused by each decrease in resource; the dynamics shown still hold with longer average call durations, however the Service Level achieved by the same number of agents is slightly lower.

Using the sample data, at lower volumes of calls 11 agents are required to achieve a Service Level of above 80% (80.4%) and at higher volumes of calls 55 agents are required to achieve a similar level of service (82.7%). If 10 agents were used at lower call volumes a Service Level of 62.7% would be achieved, a reduction of 17.7%, which emphasises the requirement to ensure that resource levels are set correctly.

If there is even a small under-staffing of resource there are potentially big performance penalties; which could be caused by having too few agents or by having the correct number of agents but then having them diverted onto other tasks than answering calls. Even with larger teams of agents every agent matters; in our example with higher call volumes a reduction in resource from 55 agents to 54 would cause a 7.7% fall in Service Level.


3. Primary Limitations of the Erlang C Model

We have seen the importance of ensuring that resource levels are matched correctly to the expected levels of demand. The Erlang C model is a well-known and respected method of analysing simple queuing systems; however, even with a simple queuing system there are dynamics involved that are not addressed by the Erlang C model due to its limitations:

  • Variability in Service Level: The level of service achieved by a group of agents will not be the same in every hour of the day due to the effects of backlogs of calls being held over between each hour; the Erlang C model cannot account for these backlogs in its calculations
  • Call Abandonment: It is well known that the Erlang C model often over estimates the level of resource required to hit a desired Service Level because it does not handle call abandonment

4. Using Simulation to Address the Limitations of the Erlang C Model

A simulation model accurately predicts the performance of a system under a specific set of inputs (data) and rules. By varying the data and rules and running the model the effects of any changes can be determined.

They can be used to easily address the primary limitations of the Erlang C model to understand the dynamics of queuing systems further and to ensure that resource levels are set at a level where the required Service Level will consistently be achieved.

4.1. Variability in Service Level

Backlogs of calls held over between hours of the day will cause the Service Level achieved to vary slightly, even when there is not changing volumes of calls throughout the day. Taking one of the examples from section 2, when there are on average 240 calls per hour the Erlang C model predicts that a Service Level of 80.4% will be achieved using 11 agents.

By simulating the interaction between consecutive hours of the day we can more accurately predict performance. Using Simulation it may be established that a Service Level of 80.1% is predicted, however the hourly Service Level may vary anywhere between 75.7% and 85.4%; this is immediately detail that is not possible from an Erlang C model because of the limitation that calls cannot be ‘held-over’ from one hour to the next.

This analysis is particularly important if the Service Level required must be achieved on an hour-by-hour basis rather than over a longer period of time. Simulation shows that using 12 agents will achieve a predicted Service Level of 90.0%. This may initially seem like overstaffing, however, crucially, the Service Level achieved never drops below 80% in any individual hour.


4.2. Call Abandonment

It is well known that the Erlang C model often over estimates the level of resource required to hit a desired Service Level because it does not handle call abandonment. Simulation does not have this limitation; it can include call abandonment with abandoned calls being recorded against the Service Level in a variety of ways.

The upper chart from section 2 and the one below to it show the same set of information except that now a call will be abandoned after 30 seconds.

There are marked differences in Service Level, particularly at the lower levels of resourcing; Erlang C predicts that a Service Level of 31.7% could be achieved with 9 agents, however when call abandonment is taken into account a Service Level of 78.9% could actually be achieved with the same level of resource.

Hence the simulation model predicts that the desired Service Level of 80% can almost be achieved with 9 agents rather than 11 once call abandonment is taken into account. However the increased Service Level has a trade-off with the level of call abandonment; using 9 agents would result in 12.1% of calls being abandoned.

The right-hand chart above is also indicative of a telephone system where, say, calls could be routed to a messaging system after a call has been waiting for 30 seconds.


5. Additional Functionality provided by a Simulation Model

Simulation models offer a wealth of functionality that can lift analysis to a level that would never be possible with the Erlang C model when moving away from a simple queuing system of a single type of call being answered by a single group of agents.

The table in section 1 contains details of the functionality offered by a simulation model that is not possible in the Erlang C model; here we pick out a couple of key aspects of analysis that can be done using a simulation model.

5.1. Prioritising Different Call Types

In our example in section 4.1 it was established that, without call abandonment, 12 agents were required to achieve a consistently high enough level of service. However it was noted that this could perhaps be slightly over-staffed if an overall service level of 80% were all that was required; using 12 agents a simulation model predicts that they would have a utilisation of 69.5%.

To make better use of the agents’ time it’s been decided, say, that they should answer a secondary type of call, arriving with on average 30 calls per hour, but only when there are no primary calls waiting.

Without prioritising the two call types (i.e. agents answer the call that has been waiting the longest) a simulation model predicts that the following Service Levels will be achieved:

  • Primary Call Type: 77.8%
  • Secondary Call Type: 92.6%

As can be seen, answering the secondary call type has caused the Service Level for the primary calls to be below the desired 80%. Using the functionality provided by a simulation model we can now analyse what the effects would be of prioritising the primary calls; this would lead to the following Service Levels being achieved:

  • Primary Call Type: 81.4%
  • Secondary Call Type: 75.3%

This then means that the desired Service Level for the primary calls can be achieved whilst enabling the agents to have a predicted utilisation of 78.2%. Nonetheless, similarly to the analysis in section 4.1, the Service Level for the primary calls would still sometimes fall below 80% for some hours.


5.2. User Defined Distributions

The Erlang C model assumes that an exponential distribution is sampled for the length of each call; simulation is not restricted by this assumption, hence any desired distribution may be applied to the call length in a simulation model. This may even extend to a fully userdefined distribution, such as the one shown below where the majority of calls take a shorter length of time but some may have a noticeably longer length if there is a particularly difficult issue to resolve.

The above distribution has roughly the same average call duration as used previously (125 seconds), however when this is tested in the model using 11 agents it caused the performance to rise from 80.1% when using the exponential distribution to 82.7%.


6. Process Evolution’s Simulation Products

Process Evolution has developed a range of simulation based products that can accurately mimic the behaviour of queuing systems. An example is Resource Profiler which is general purpose queue modelling system. It enables up to 10 customer types and 10 resource types to be defined, with any combination of skills between those resource types to answer the differing types of call.

We have developed specific products to enable the characteristics of different processes to be modelled. For example, Response Profiler models the effect of geography, single and double crewing of vehicles and the use of specialist appliances for some incidents, key drivers of workload within incident response processes. Call Profiler contains specific features relating to call centres.

We’ve linked these products to the XIMES shift pattern design and demand forecasting software in order to provide a more complete solution to queue management.