12th April 2022
Can anyone who has successfully implemented the Erlang model for chat staffing give me a hand?
We have 24/7 chats coming in and agents can take 3 chats at a time (sometimes more). Is it as simple as use Erlang, then divide the number of agents required by the number of chats they can handle at once?
Question asked by gburr
Erlang C is traditionally built for 1:1 interactions (one agent handling one call), so you need to account for agents handling multiple chats concurrently.
Because you can handle several chats at the same time, to use the Erlang formula you must scale down the average handling time. This is done by applying a factor.
Because the number of concurrent chats will go up and down, the factor does not match the number of concurrent chats.
For example, if an agent is able to handle 2 concurrent chats, sometime they will be handling 2 chats and sometimes they will be handling 1 chat. Here is the concurrency factor table:
Time Intervals | Percentage of Calls |
---|---|
1 | 1 |
2 | 1.7 |
3 | 2.5 |
4 | 2.9 |
5 | 3.5 |
To adapt Erlang C:
Effective Average Handling Time (EAHT): Divide the AHT by the concurrency level to reflect the reduced burden on each agent.
EAHT= AHT / Concurrency Factor
Use this EAHT in your Erlang C formula instead of the standard AHT. For example, if agent handles 3 chats at once, with an average handling time of 600 seconds, the effective handling time per chat for an agent would be:
The solution is not ideal, but it is the most widely used.
Because AHT goes up as you increase concurrency you start to lose any real benefit. So you need to experiment with your own concurrency factor to get a better approximation.
It is possible to model this in Excel by mapping your Chat Volumes against concurrency, AHT, concurrent AHT and staffing numbers. You can then do some regression to work out a lookup table or a polynomial curve that fits your business.
To find out more about the Erlang Calculator and how it works, read our articles:
Reviewed by: Hannah Swankie