Contact centre staffing models
The staffing model you use determines the accuracy of every schedule you produce. Erlang C is accurate for voice queues but breaks down for blended workloads. Simulation is more accurate for complex environments but costs significantly more to set up and maintain. Ratio models should never be the primary method.
The four staffing model approaches
Erlang C
How it works
Uses queuing theory to calculate the probability that a contact will have to wait, given a specific number of agents, contact arrival rate, and handle time. Produces the minimum agent count required to meet a service level target (e.g. 80% of contacts answered within 20 seconds).
Key assumption
Contacts arrive randomly (Poisson process); all agents handle all contact types equally; no abandonments; infinite queue capacity.
Accuracy
Very accurate for simple inbound voice queues under steady-state conditions. Typically within 2–4% of the empirical staffing requirement.
Breaks down when
High abandonment rates (Erlang A is more accurate); blended multi-skill environments where agents are not interchangeable; back-office work mixed with inbound contacts; very short interval lengths where queue dynamics are not in steady state.
Use case
Standard for voice contact centre staffing. Used by virtually all WFM software as the primary engine.
Erlang A (with abandonment)
How it works
An extension of Erlang C that models the fact that callers will abandon the queue if they wait too long. Produces a slightly lower staffing requirement than Erlang C for the same SL target because some contacts self-resolve by abandoning.
Key assumption
Contacts arrive randomly; callers abandon at a known average rate if not answered within a threshold period (patience parameter).
Accuracy
More accurate than Erlang C in operations with meaningful abandonment rates (above 5%). Requires a patience time parameter that is measured from historical data.
Breaks down when
Abandonment rates are very low (Erlang C is equivalent); patience time varies significantly by time of day, day of week, or customer segment (reducing the validity of a single parameter).
Use case
Preferred for operations with measurable abandonment rates — particularly those targeting abandonment reduction as well as SL.
Simulation model
How it works
Builds a statistical model of the contact centre operation — contact arrivals, routing rules, agent skill levels, handle time distributions — and runs thousands of simulated operating periods to produce staffing requirements and predicted service levels.
Key assumption
The simulation is only as accurate as the model parameters fed into it. Requires detailed empirical data on routing rules, skill distributions, handle time by agent and contact type, and arrival correlations.
Accuracy
More accurate than Erlang C for complex blended environments when the model is well-calibrated. Less reliable than Erlang C for simple voice queues because the added complexity introduces more parameter uncertainty without improving the result.
Breaks down when
Model parameters are estimated rather than empirically measured; routing rules change frequently (invalidating the model faster than it can be recalibrated); operation is too small for simulation complexity to be worthwhile.
Use case
Large, complex contact centres with multi-skill blended environments and complex routing. Financial services, telecoms, and outsourced BPO operations handling diverse contact types.
Ratio model (agent-to-volume)
How it works
Uses a historical ratio of contacts handled per agent per hour to calculate the agent count for a forecast volume. Typically: agents required = forecast contacts ÷ contacts per agent per hour.
Key assumption
The historical contacts per agent per hour ratio will hold at all volume levels and occupancy levels. Ignores queuing dynamics — does not model the non-linear relationship between staffing and SL.
Accuracy
Inaccurate for SL prediction. Correct at the centre of the volume range it was calibrated on; systematically overstates required staffing at low volumes and understates at high volumes.
Breaks down when
At any volume level that differs significantly from the historical average. Always produces the wrong answer for peaks and troughs even when the average is correct.
Use case
Only appropriate as a rough sense-check on Erlang C or simulation outputs. Never appropriate as the primary staffing model in a contact centre with SL targets.
Staffing model questions
When should a contact centre use Erlang C vs a simulation model?
Use Erlang C when: the operation is primarily inbound voice with a single queue or can be treated as one; contacts arrive randomly (Poisson process); AHT is predictable; no significant blending effects. Use simulation when: significant blending of contact types (voice, email, chat, back-office) is handled by the same agents; handle time distributions vary widely between contact types; routing rules are complex; the operation is large enough to justify the setup cost. For most contact centres with a primary inbound voice focus, Erlang C is the appropriate and sufficient model.
Related guides
Erlang C explained
How Erlang C works in detail
Erlang C calculator
Apply Erlang C to your volume and AHT
Net staffing guide
Applying staffing models to headcount planning
Forecasting methods
The volume input to staffing models
WFM technology selection
WFM systems that implement staffing models
WFM formula reference
The maths behind staffing models