21 July, 2025
How Many Agents Do I Need? A Quick Guide for Contact Centers
If you manage a contact center, one of your biggest questions is simple:
How many agents do I need to meet my service levels?
The go-to method for answering that is the Erlang C formula — the industry standard for estimating staffing needs in environments where calls are queued and answered in the order they arrive.
But here’s the catch: Erlang C on its own only gives you the base number of agents under perfect conditions. Real-world staffing requires extra steps, and that’s where most teams trip up.
Step 1 – Gather Your Data

Before you can calculate staffing needs, you’ll need a few key metrics:
Call Volume: The number of calls (or contacts) you expect in a given time period.
Average Handle Time (AHT): How long each interaction takes, including talk and after-call work.
Service Level Goal: The percentage of calls you want answered within a set time (e.g., 80% within 20 seconds).
Shrinkage: The percentage of time agents are unavailable for calls (breaks, meetings, training, PTO, etc.).
Occupancy: The percentage of time agents spend actively handling interactions versus waiting for the next one. High occupancy can lead to burnout, while low occupancy may indicate overstaffing.
Pro tip: If you have interval data (X amount of calls per hour), use it. Staffing from daily averages can hide peak periods and lead to missed service goals.
Step 2 – Use the Erlang C Formula
Most workforce planners use the Erlang C formula to determine the minimum number of agents needed to meet service levels. There are free calculators online if you're looking to do this yourself and save a bit of time. The formula itself can be heavy to digest..
While the math can get technical, here’s the concept:
Inputs: Call volume, AHT, service level target
Output: Required number of staffed agents
Example:
Volume: 500 calls in an hour
AHT: 300 seconds (5 minutes)
Service Level Goal: 80% in 20 seconds
Plugging these into an Erlang C calculator gives you the minimum number of agents needed to meet your service level under perfect availability — meaning no breaks, no meetings, no absences, and no multi-tasking.
And if you just went “yikes,” you’re not wrong.
That’s one of the biggest problems with using a basic calculator — it gives you the ideal scenario, not the real-world one. If you don’t adjust for things like shrinkage and occupancy, you’ll almost certainly be underestimating your staffing needs.
Step 3 – Factor in Shrinkage & Occupancy
Once you have your base staffing from Erlang C, you need to adjust it for reality.
Shrinkage:
If your shrinkage is 30%, you’ll need to increase your base staffing:
Base Staffing × (1 / (1 - Shrinkage %))
Using our example:
Base staffing from Erlang C: 19 agents
Shrinkage: 30%
Adjusted staffing: 19 ÷ (1 - 0.30) = 27 agents
Occupancy:
Occupancy is the percentage of time agents spend actively handling calls versus waiting for the next one. High occupancy (90%+) can cause burnout, while low occupancy can mean overstaffing.
Formula:
Occupancy = Traffic Intensity (in Erlangs - your calculator should output this number) ÷ Number of Agents
If your calculated occupancy is higher than your target (say, 85%), add agents until you reach the desired balance.
The easy way: Instead of running these adjustments manually, Spark Queue calculates staffing that meets your service level and respects your shrinkage and occupancy limits — in one step — across every interval of the day.
Step 4 – Understand the Limits of Free Erlang Calculators
Free Erlang C calculators are great for quick estimates, but they:
Only give you a single number, not a full-day staffing plan
Don’t show coverage by interval or highlight peak-hour gaps
Don't account for multi-channel work with agents handling multiple queues (calls, chat, email, SMS)
Require you to re-run everything manually for “what if” scenarios
This is why so many teams plug numbers into a calculator, get “the number,” and still miss service levels.
Step 5 – Bridge the Gap Between a Number and a Plan
That’s where Spark Queue comes in.
We use Erlang C for the math — then layer in the real-world intelligent logic that turns a static number into an actionable plan.
With Spark Queue, you can:
See all channels in one view – Calls, chat, email, and SMS together
Plan for reality – Shrinkage is built in automatically
Spot coverage gaps instantly – Interval-by-interval staffing view
Adapt on the fly – Change volume or handle time and see updates instantly
Turn math into a schedule – Add your agents in and know exactly where you’re over or understaffed
Final Thoughts
Erlang C is a proven formula for determining base staffing, but it’s only the starting point. If you stop there, you risk missing your service levels — or burning out your agents.
By layering in shrinkage, occupancy, multi-channel planning, and real-time schedule visibility, Spark Queue gives you the accuracy of Erlang C with the flexibility of a workforce manager’s brain — no spreadsheets, no guesswork.