Specialist Workforce Management consultancy & delivery

A guide to our call centre simulation app

1. Introduction to Simulation

Discrete-event simulation is a technique used to model how a real-world system behaves over time. In a contact centre context, a simulation recreates the flow of calls through an operation, from arrival, to waiting in a queue, to being answered or abandoned. A computer program generates individual calls and processes them one by one, allowing randomness and variability to play out in a way that closely reflects reality.

One of the most common uses of simulation in workforce management is to calculate resource requirements. By specifying expected call volumes, handling times, caller patience, and staffing levels, a simulation can estimate outcomes such as service level, average speed of answer, occupancy, and abandon rates. This allows you to understand how many advisors are needed to achieve a particular level of performance, and how sensitive results are to changes in demand or behaviour.

Simulation is also particularly powerful for testing “what-if” scenarios. You can safely explore questions such as:

  • What happens if call volumes are higher than forecast?
  • How does service level change if handling times increase?
  • What is the impact of adding or removing advisors?
  • What is the impact to the operation if I make a major process change?
  • What is the impact to the operation of changing the multiskilling of advisors?

Such experiments make simulation a valuable decision-support tool. In this sense, a simulation acts as a digital twin of your contact centre. It is a virtual representation of the operation that mirrors key processes and behaviours, allowing you to observe how the system responds under different conditions. While a simulation is a simplification of reality, a well-designed and validated model provides reliable insight into how your contact centre is likely to perform and where the most effective improvements can be made.

2. Simulation can be more accurate than queueing theory

Classic queueing theory models, such as Erlang C, have been widely used in contact centres for decades. However, these models rely on certain assumptions that may not hold, and which can limit their accuracy in more complex or variable environments. For example, Erlang C assumes all advisors can handle every call type and there is no caller abandonment.

Simulation takes a different approach. Instead of solving a set of equations, it recreates individual events – each call arrival, each wait in queue, each conversation and each abandonment. This allows randomness and natural variability to emerge in the same way they do in a real operation. Call arrivals are not evenly spaced, handling times vary from call to call, and callers vary in their willingness to wait for an answer.

The result is a more realistic prediction of outcomes such as service level, average speed of answer, occupancy and abandon rates, particularly in scenarios where abandonment is significant, demand is volatile, or performance is being pushed close to operational limits. Note that a simulation model must be validated against the real world before it can be used to model alternative scenarios.

3. About this app

This Python app uses discrete-event simulation to model a single interval of a contact centre. Its purpose is to demonstrate how simulation can be applied to workforce planning questions such as staffing levels and service performance. Note that this is a beta version of the tool, and in its current state it is illustrative.

The model can run the same interval multiple times. Each run contains randomness in call arrivals, handling times and caller patience. By performing multiple runs and combining the results, the app reduces the impact of random noise and provides more stable results.

The simulation includes a one-hour warm-up period. Results from this period are ignored so that simulated operation begins in a more realistic state, rather than starting empty. This avoids distortions caused by an initially empty system.

The app allows you to experiment with staffing levels and observe the impact on service level, average waiting time and call abandonment. You can also test different demand volumes and variations in caller patience to explore a range of operational scenarios.

In real-world deployments, simulation is typically applied across multiple intervals. This allows the model to incorporate additional complexities such as intraday variation, multiskilling, and shift patterns.

Before using a simulation for analysis, the model must be validated against the real-world system. This involves checking that the simulation produces realistic results when current-state assumptions are applied. Once validated, the model can be safely used to experiment and explore “what-if” scenarios.

4. Input definitions

Expected Calls
The total number of inbound calls expected during the interval. The simulation converts this number into a mean interarrival time and generates calls according to an exponential distribution. As a result, each interval may see more or fewer calls than the expected total, reflecting natural randomness in arrivals.

Mean Talk Time
The average time, in seconds, that an advisor spends speaking to a caller. Individual calls will vary around this average. Each call’s talk time is generated using an exponential distribution to reflect natural variability.

Mean Wrap Time
The average time, in seconds, required for after-call work once the conversation ends. This includes tasks such as notes, updates, or follow-up actions. For each call, a unique wrap time is generated using an exponential distribution.

Mean Caller Patience
The average time, in seconds, that a caller is willing to wait in the queue before abandoning the call. Individual patience varies naturally, and the simulation generates a unique patience time for each caller using an exponential distribution.

Target Answering Time
The service-level threshold, in seconds. Calls answered within this time are considered “on time” for the purposes of service level measurement.

Number of Runs
The number of times the same interval is simulated. Running multiple iterations helps reduce the impact of random variation and produces more stable results.

Number of Advisors
The number of net advisors available to handle calls during the interval. This is the effective staffing level after accounting for all shrinkage, such as sickness, holidays, breaks, training or team meetings.

5. Output definitions

The simulation produces the following outputs, summarising performance across all runs of the interval, excluding the results from the warm-up hour.

Calls Offered
The total number of calls generated by the simulation across all runs. This is interval expected calls multiplied by the number of runs, but will vary from this due to randomness.

Calls Answered
The number of calls that are successfully handled by advisors, where the caller has not abandoned.

Calls Abandoned
The number of calls that are not answered because the caller’s patience has been exhausted.

Percentage Calls Answered (PCA)
The proportion of offered calls that are answered by an advisor.

Mean Time to Abandon (ATTA)
The average time, in seconds, that callers wait before abandoning their call.

Mean Speed of Answer (ASA)
The average waiting time, in seconds, for calls that are answered.

Percentage Calls Answered Within Target
The proportion of answered calls that are answered within the specified target answering time.

6. Next steps with the simulation tool

This beta version of the tool allows you to explore how staffing levels, call volumes, and call characteristics affect service outcomes for a single interval over multiple runs. By experimenting with different input values, you can see the impact on service level and abandonment rates, gaining a practical understanding of how changes in your contact centre operation influence customer experience and performance.

In future versions, we plan to include advisor occupancy calculations. Another planned enhancement is the option to select alternative statistical distributions to generate call arrivals and handling times, rather than relying solely on the exponential distribution.

Your feedback is invaluable. Please share your experience using this tool and let us know which features or next steps you would like to see implemented. Your suggestions will help guide future improvements and make the simulation useful for real-world workforce planning. You can contact us at hello@atlanticwfm.com. If you have a specific use case for simulation, we would particularly like to hear about it.

More Insight