In a busy contact center, every second of waiting matters. If you schedule too few agents, you may face long queues, frustrated customers, and missed service targets. If you schedule too many, you may increase costs without seeing much improvement. The Erlang C Formula helps you find the right balance by estimating how many agents you need to handle incoming calls while keeping wait times under control.
In this guide, you’ll learn how to use the Erlang C Formula to plan staffing, estimate caller wait times, and meet service targets without adding unnecessary costs.
The Erlang C formula calculates the probability that an inbound call will wait in a queue. It also tells you how many agents you need to meet a target service level. You provide two inputs: your traffic intensity and the number of agents. The formula then returns a wait probability that you can use to make staffing decisions.
Danish engineer A.K. Erlang developed the formula in 1917 while studying congestion at the Copenhagen Telephone Exchange. His original work addressed a telephone switching problem, but call centers adopted it decades later because it answers the same basic question: How many agents do you need to keep customers from waiting too long?
Today, the Erlang C model is used in most call center staffing calculators. It runs behind spreadsheet templates, workforce management software, and standalone Erlang calculator tools.
The Erlang C Formula calculates the probability that an incoming call will wait for an available agent. The formula uses traffic intensity and the number of agents in the calculation. Here is the formula:
Where,
Pw = Probability that an incoming call has to wait in the queue
A = Traffic intensity measured in Erlangs
N = Number of agents available to handle calls
i = Index used in the summation
N! = Factorial of the number of agents
To calculate Erlang C, you first convert your call volume and average handle time into traffic intensity. Then you use that value with your agent count to calculate the probability of waiting. Finally, you can calculate the service level for a specific answer-time target. Here is how you get from raw call data to a staffing number.
Traffic intensity tells you how much call traffic your agents need to handle during a given period. You measure it in Erlangs.
Keep all time measurements in the same unit.
Take a rough guess at your staffing level by starting just above your traffic intensity. If your traffic intensity is 10 erlangs, start by testing 11 agents. This gives you a baseline to run through the formula.
Plug your traffic intensity (A) and your agent count (N) into the formula to get Pw, the probability that a call waits in the queue. This step involves factorials and summations, which is why most people rely on a spreadsheet or an Erlang calculator instead of solving it by hand.
If you want to know how many calls you can answer within a specific time, use the service level formula.
Here, t represents your target answer time.
You can then test different agent counts. Increase the number of agents until the calculated service level reaches your target.
Now put the Erlang C formula to work with real numbers.
Before you calculate anything, gather these five numbers for your interval.
Convert your call volume into an hourly rate first. 100 calls per 30 minutes equals 200 calls per hour. Multiply that by your AHT in hours (180 seconds equals 0.05 hours).
A = 200 x 0.05 = 10 erlangs
Ten erlangs means your call center generates 10 hours' worth of talk time for every hour that passes.
You always need more agents than erlangs, since matching agents to erlangs one-for-one pushes occupancy to 100% and creates instant queues. Start your test one or two agents above the traffic intensity. With 10 erlangs, try 11 agents as your first guess.
Run the Erlang C calculation for each agent count and check the resulting service level.
Fourteen agents are your answer, since it's the first count that actually clears your 80% target.
Divide your traffic intensity by the agent count. At 14 agents, occupancy works out to 10 divided by 14, or about 71%. That sits comfortably under your 85% cap, so 14 agents pass this check too.
The 14 agents above only cover people actively available to take calls. Real schedules need to absorb breaks, meetings, training, and time off, and that's where shrinkage comes in.
Divide your net agent count by (1 minus your shrinkage rate).
14 / (1 - 0.30) = 14 / 0.70 = 20 agents
You need to schedule 20 agents so that 14 of them stay available and ready at any given moment during that interval.
| Measure | Result |
|---|---|
| Calls Per Hour | 200 |
| Average Handle Time | 180 seconds |
| Traffic Intensity | 10 erlangs |
| Service Level Target | 80% within 20 seconds |
| Required Available Agents | 14 |
| Calculated Service Level | 88.8% |
| Occupancy | 71.4% |
| Shrinkage | 30% |
| Scheduled Agents | 20 |
This example shows why you cannot determine staffing from traffic intensity alone. You need to test the agent count against your service level target, then account for shrinkage to determine how many agents you need to schedule.
Erlang C can help you estimate your staffing needs, but the accuracy of the result depends on the conditions in your call center. The model follows a specific set of conditions about call arrivals, waiting queues, and how agents handle calls. Here are the key conditions to keep in mind when you use Erlang C.
The model makes several important assumptions
The model can become less reliable when your actual call patterns differ from these assumptions.
For these reasons, use Erlang C as a staffing guide rather than an exact prediction. Compare its results with your actual call data and operating conditions before making staffing decisions.
Trends and team-level analytics that show what matters.
Explore Workforce Analytics →