The Erlang-C Formula

The widely-used Erlang-C formula is given here for people who want to see the actual mathematical definition.


The Erlang-C calculations are described step by step below, using and example of 360 calls per half hour, with an average call duration of 4 minutes, and 55 agents. The target answer time for service level is 15 seconds.

(1) Specify call arrival rate

The first parameter needed is the average customer arrival rate. It doesn't matter what time unit is used to specify the arrival rate, as long as the same time unit is used for the average call duration. Also, the results we shall get for waiting time will be in these time units.

(2) Specify call duration

The second factor to be specified is the average call duration. This must be expressed in the same time unit used for the call arrival rate.

(3) Specify number of agents

The third factor is the number of agents available.

(4) Calculate traffic intensity

The term "traffic intensity" comes from the original application of Erlang-C, which was for telephone networks, and the volume of calls was described as the "traffic". We need to calculate the traffic intensity as a preliminary step to the rest of the calculations.

(5) Calculate agent occupancy

The agent occupancy, or utilisation, is now calculated by dividing the traffic intensity by the number of agents. The agent occupancy will be between 0 and 1. If it is not less than 1 then the agents are overloaded, and the Erlang-C calculations are not meaningful, and may give negative waiting times.

(6) Calculate the Erlang-C formula

Now we can calculate the main Erlang-C formula. This formula looks complicated, but is straightforward to calculate with a few lines of programming. The value of EC(m,u) is needed to calculate the answers we actually want.

(7) Calculate probability of waiting

EC(m,u) is the probability that a call is not answered immediately, and has to wait. This is a probability between 0 and 1, and to express it as a percentage of calls we multiply by 100%.

(8) Calculate average speed of answer (ASA)

Having calculated EC(m,u) it is quite easy to calculate the average waiting time for a call, which is often referred to as the "Average Speed of Answer" or ASA. We have to remember the time units we used for arrival rate and call duration.

(9) Calculate service level

Frequently we want to calculate the probability that a call will be answered in less than a target waiting time. The formula for this is given here. Remember that, again, the probability will be on the scale 0 to 1 and should be multiplied by 100 to express it as a percentage.

(10) Calculate agents needed

If the service level is specified and you want to calculate the number of agents needed, then you must do a bit of (intelligent) trial and error. You have to find the number of agents that will just achieve the service-level you want. A good starting point is the traffic intensity, rounded up to the next integer. the increase the number of agents until the required service-level is reached.