Erlang C Scheduling for Call Centres: How Many Agents You Actually Need

Erlang

Erlang C tells you how many agents need to be logged in and taking calls during each interval to hit your service level. It doesn’t tell you how many people to hire. That gap, between the number the formula gives you and the number of people you actually have to employ, is where most call centre schedules fall over, and it’s the part the formula leaves entirely to you. Get the formula right and the headcount wrong, and your customers still wait.

Erlang C scheduling has been the backbone of call centre and operations staffing for decades, and the maths behind it is older than most people assume. A.K. Erlang was a Danish engineer at the Copenhagen Telephone Company, and he published the work it comes from in 1917 to size telephone exchanges, not contact centres. It’s a queueing formula: feed it how much work is arriving and how fast you want it answered, and it tells you the probability a caller has to wait for any given number of agents. The scary-looking version is below, and the even scarier explanation is here. You don’t need to be able to do it by hand. You do need to understand what it’s assuming, because every one of those assumptions is a place your schedule can go wrong.

The Erlang C formula, with A marked as traffic intensity and N as the number of agents on staff

What does Erlang C actually need from you?

Three inputs, and the formula is only as good as the worst of them. The first is average handle time: talk time plus whatever wrap-up happens after the call, because an agent who’s still filling in the ticket isn’t available for the next customer. The second is calls per interval, and 15 minutes is a good benchmark. An hourly forecast hides the spike at 9:05 when everybody who got in at nine picks up the phone at once. Multiply the two together and you get your workload, which is exactly how the Society of Workforce Planning Professionals lays out the calculation, and it’s worth getting right when, by their numbers, over two-thirds of call centre operating costs are people.

The third input is the one teams rush: your service target, usually expressed as something like 80/20, meaning 80% of calls answered in 20 seconds or less. That’s a business decision dressed up as a number. Correspondingly, you want to consider your abandon rate here too. Are you willing to accept that some of your customers will hang up? If so, how many, and what’s that going to do to your business in the long run? Don’t pick 80/20 because it’s the number everyone else uses. Pick it the same way you’d choose any KPI, from the customer’s point of view, because the service target is the single biggest lever on how many people the formula asks for.

Why seven agents isn’t “nearly” eight

Here’s a real worked example. Say you’re forecasting 24 calls in each 15-minute interval between 8am and 9am, so 96 calls in the hour, with a three-minute average handle time. That’s 4.8 Erlangs of work, which sounds like you need five people. You don’t. Run it through Erlang C with an 80/20 target and five agents answer 12% of calls inside 20 seconds. Six gets you to 55%. Seven gets you 78%, which misses. Eight gets you 90%, and eight is your answer for that hour.

It’s tempting to think staffing is roughly linear, that if you’re a little short you’ll be a little late. It isn’t. Queues don’t degrade politely, and going from eight agents to five doesn’t make service 40% worse, it makes it collapse. The flip side is occupancy: at eight agents those people are only busy about 60% of the time, and that’s the cost of answering quickly. Every finance conversation about “idle” agents is really a conversation about the service level you promised. You don’t need to do the maths yourself either. The free online traffic calculators from Westbay handle a single interval nicely, and Ger Koole’s Erlang C calculator is the same author’s tool that used to live at the Vrije Universiteit address this post originally linked. For anything bigger, the downloadable cc-Modeler is still around and I’d still call it highly recommended. The calculator isn’t the hard part. Believing it is.

From seats to headcount: holiday, sickness and 24/7 coverage

With the per-interval numbers in hand, you can work out how many people you actually need to employ. Take the easy version first. If you’re running a 24/7 call centre and you needed eight agents logged in every hour of the week, that’s 8 × 168 hours, or 1,344 seat-hours a week. At 40 paid hours per person, that’s 33.6 full-time staff. That’s your ‘X’, and it already surprises most people who’ve only looked at the eight. The reason is simple once you see it: a seat that has to be filled around the clock needs more than four people behind it before anyone takes a single day off, because one person’s 40-hour week only covers under a quarter of the 168 hours in it. Run a nine-to-five operation and the same eight seats need eight people. Run it 24/7 and they need four times that.

It’s still too low, because nobody is available for every hour they’re paid for. People take holidays. They get sick. They go to training, team meetings and one-to-ones, and they take breaks. That lost time is shrinkage, and you have to plan excess capacity for it, planned or unplanned, or the formula’s eight quietly becomes six on the floor. Measure your own shrinkage rather than borrowing someone else’s, but to show the effect: if 30% of paid hours go to those things, you divide by 0.7, and 33.6 becomes 48. That’s your ‘Y’, and the difference between the two is 14 people. Budget for ‘X’ and you’ll spend the year wondering why you never hit 80/20.

Real volume is never flat, which is why you build this hour by hour rather than from one busy hour times 168. At Q4 Inc, our support volume was directly tied to public company earnings cycles, so the same team could be overwhelmed one week and quiet the next, and a single weekly average would have been wrong in both directions. Forecast each interval, run Erlang C on each, add shrinkage, and then fit real shifts over the result. The overnight hours are where the maths gets uncomfortable: the formula will still ask for a minimum of people even when volume is tiny, and that’s a decision about your service promise, not the formula being wrong.

Frequently Asked Questions

What is Erlang C used for in a call centre?
Erlang C calculates how many agents you need logged in during an interval to answer a forecast number of calls within a target time. It takes call volume, average handle time and your service level target, and returns the probability a caller waits for each staffing level you try.

How many agents do I need for an 80/20 service level?
It depends on volume and handle time, and the relationship isn’t linear. 96 calls an hour at a three-minute handle time is 4.8 Erlangs of work, but it takes eight agents to answer 80% within 20 seconds, because seven only gets you to 78%.

What is shrinkage in call centre scheduling?
Shrinkage is the share of paid time agents aren’t available to take contacts: holiday, sickness, training, meetings and breaks. Divide your Erlang C requirement by one minus your shrinkage rate to get the headcount you actually need to employ.

Is Erlang C accurate for chat and email?
Not on its own. Erlang C assumes one contact per agent at a time and that nobody hangs up, so it overstates staffing when customers abandon and doesn’t model chat concurrency or an email backlog. Variants like Erlang X account for abandons, and email is usually better planned as a backlog you clear within your response target.

4 thoughts on “Erlang C Scheduling for Call Centres: How Many Agents You Actually Need”

  1. Pingback: Using an Erlang 'C' Calculator in the Call Center - CX Expert

  2. Pingback: A Blueprint for Getting and Keeping Customers - CX Master

  3. Pingback: Why Your Internal SLA Must Outpace Your Customer SLA: A Guide to Avoiding Costly Mistakes - CX Master

  4. Pingback: Navigating the Complexities of Skill-Based Routing and Scheduling in Contact Centers - CX Master

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.