📅 Free webinar on 20 October: Get unplanned shrinkage right with Marya Miakisheva
Simulation vs Erlang: When to Use Which for WFM

Simulation vs Erlang: When to Use Which for WFM

Whether you are working in a contact center, healthcare, or a large operation such as a warehouse or airport, determining how many colleagues should be present at any given time is crucial. Having the right number of people available directly affects how smoothly the operation runs and, ultimately, the customer experience.

Workforce planning can involve both short- and long-term decisions. A planner might need to determine the required workforce for next Tuesday, while capacity planning may look months or even years ahead.

In both situations, we need to figure out how many agents the predicted workload requires. This can be done using two approaches: simulation and Erlang models. 

Both can answer similar questions, but they solve them in different ways. Simulation should not automatically be seen as the more advanced or better option. If a workforce problem can be represented accurately by an Erlang model, Erlang will often be the preferred approach.

Why use Erlang?

Erlang models describe a queueing system mathematically. Instead of recreating and simulating every individual customer, the model calculates the expected behaviour of the system directly.

This has some important advantages. Erlang calculations are extremely fast, and the same inputs always produce the same result. A large number of workforce scenarios can be calculated in a very short period of time.

At CCmath, we use four Erlang models developed and verified by Prof. Ger Koole of Vrije Universiteit Amsterdam. These are Erlang C, Erlang X, Erlang Chat and Erlang Blending. Erlang C models standard inbound queues. Erlang X extends this by also accounting for customer abandonment and redials, which can make it particularly representative of real-world contact center behaviour. For environments where agents can handle multiple conversations simultaneously, Erlang Chat is the fit, while Erlang Blending combines inbound work with flexible outbound work. Together, these models allow us to represent different types of contact center behaviour while still benefiting from the speed of analytical calculations.

Consider a contact center. Once a customer enters the queue, there are only a limited number of possible actions the customer can take. The customer can continue waiting in the queue, be answered, lose their patience and abandon the queue, or, in some models, choose to receive a callback.

Because these behaviours can be described mathematically, we can calculate how the overall queue is expected to behave without having to simulate every individual customer.

So why not always use Erlang?

The difficulty starts when the operation becomes more complicated.

Imagine that we no longer have agents serving only one queue. Instead, we have Dutch-speaking agents, English-speaking agents and agents who can handle both languages. There may also be multiple queues, different priorities and rules that determine which agent receives which customer. In a standard Erlang model, the state of the system can largely be described by the number of customers waiting or being served. In a multi-skill environment, that is no longer enough.

We also need to know which type of customers is waiting, which agents are available, and which skills those agents have. On top of that, we need to know how work should be distributed between them.

Every new dimension creates additional possible situations that the mathematical model has to account for. With enough skills, queues and routing rules, the number of possible states becomes extremely large. An analytical model that was initially fast and elegant can therefore become impractical to calculate.

When simulation becomes useful

To see how simulation works, consider a warehouse where different types of orders arrive throughout the day and may require workers with different skills.

Instead of calculating the expected behaviour of a system directly, a simulation recreates the whole working day. It plays out second by second and minute by minute. Throughout that simulated day, orders arrive at different times, processing times vary, and different skills may be required.

Each order enters the system individually and moves through the operation. One order may arrive at 10:02 and take three minutes to process, while another arrives shortly afterwards and requires a different type of worker. In this way, the simulation includes the random variation and changing circumstances that occur throughout a real working day.

Simulation becomes particularly useful when an operation contains multiple types of work, different employee skills, priorities or routing rules. Instead of solving every possible combination mathematically, we define the rules of the operation and simulate how the day develops.

This does not make simulation inherently better than Erlang. When a system can be represented accurately with an Erlang model, Erlang is usually faster and simpler to set up.

What we offer at CCmath

At CCmath, we offer both Erlang models and simulation tools because the best approach depends on how the operation is structured.

Take the warehouse example. The complete operation could be simulated, including different product lines, worker skills and the way work is distributed. However, if those product lines can be treated as separate operations, each can also be modelled individually with Erlang. When the assumptions of the Erlang model fit the operation, this is often faster and easier to set up. It also provides accurate workforce calculations.

Although Erlang models are widely used in contact centers, they are not limited to calls. The business process simply needs to be translated into the right inputs. Incoming calls might become incoming orders, and agents might become warehouse employees. Average handling time becomes the average time required to process an order.

Our Erlang Calculators use different Erlang models depending on the situation. Erlang C can model relatively straightforward queues. More specialised models can account for factors such as customer patience or combinations of immediate and flexible work.

For operations where different types of work interact, our Multi-Skill Simulator can model employees who handle type 1 work, type 2 work, or both. This makes it possible to include the interaction between different workloads and employee skills throughout the day. 

The choice between simulation and Erlang therefore depends on the problem. Erlang is often a good fit when work can be divided into relatively simple or independent queues. Simulation becomes useful when the interactions between different types of work and employees need to be included.

If you need help translating your business data into the right model inputs, you can always contact us. Our support or data specialists can look at your specific operation and help determine which approach and inputs best fit your situation.