Erlang C for Chat?

livechat on laptop
3,342

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

How to Use Erlang C for Chat

1. Define Key Metrics for Chat

  • Average Handling Time (AHT): How long it takes, on average, to handle a chat conversation from start to finish. For chats, this may be longer due to the pauses in conversation.
  • Concurrency Level: How many chats an agent can handle at the same time. For example, agents might handle 3 or 4 chats concurrently.
  • Service Level: The target for how quickly chats should be answered. This is often expressed as the percentage of chats answered within a certain time (e.g., 80% of chats answered within 30 seconds).
  • Chat Arrival Rate: The number of chat requests per interval, often per 30 minutes or per hour.

2. Adjust Erlang C for Concurrency

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.

Chat Concurrency Factor

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:

  • EAHT = AHT / Concurrency Factor
  • EAHT = 600 Seconds / 2.5
  • EAHT = 240 Seconds

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:

Author: Jonty Pearce
Reviewed by: Hannah Swankie

Published On: 12th Apr 2022 - Last modified: 22nd Oct 2024
Read more about - Call Centre Questions, ,

Follow Us on LinkedIn

Recommended Articles

A picture of the Erlang A formula
A Beginner’s Guide to the Erlang A Formula
Two hands holding a calculator with the words erlang calculators explained
What is Erlang and the Erlang Calculator?
A black calculator with pen on solid blue background with the erlang c formula
Erlang C Formula - Made Simple With an Easy Worked Example
Erlang Calculation - An Introduction