How many agents do you need to answer your calls on time? This free call center calculator uses the Erlang C formula, the standard staffing model for inbound phone queues, to turn your call volume and handle time into a staffing number, a service level and an average wait. A second calculator below does the same job for outbound teams: how many reps and dials it takes to reach a daily number of conversations.
Call center staffing calculator (Erlang C)
Enter the calls you expect in your busiest hour, the average handle time and your service level target. The calculator finds the smallest number of agents on the phones that meets the target, then adds shrinkage to give the number of people to schedule.
Example: 100 calls an hour with a 4-minute average handle time is 6.67 Erlangs of work. To answer 80% of calls within 20 seconds you need 10 agents on the phones. That gives an 86.8% service level, an average wait of about 13 seconds and 66.7% occupancy. With 30% shrinkage, you schedule 15 people for that hour.
Agents needed by call volume
Results from the same formula with a 4-minute handle time, an 80/20 service level target and 30% shrinkage. Use it as a quick reference, then run your own numbers above.
| Calls per hour | Agents on the phones | Service level (20 s) | Average wait | Occupancy | People to schedule |
|---|---|---|---|---|---|
| 10 | 2 | 85.1% | 30 s | 33% | 3 |
| 20 | 3 | 84.3% | 26 s | 44% | 5 |
| 40 | 5 | 86.7% | 17 s | 53% | 8 |
| 60 | 7 | 89.5% | 11 s | 57% | 10 |
| 100 | 10 | 86.8% | 13 s | 67% | 15 |
| 200 | 17 | 81.0% | 17 s | 78% | 25 |
| 400 | 32 | 84.9% | 11 s | 83% | 46 |
Notice the pattern: doubling the calls does not double the agents. Large queues are more efficient because idle time is shared by more people. That is also why a small team runs at low occupancy if it wants short waits.
The terms, in plain English
- Average handle time (AHT): talk time plus hold time plus after-call work, per call.
- Traffic intensity (Erlangs): calls per hour times AHT in hours. One Erlang is one agent busy for the whole hour.
- Service level: the share of calls answered within a target time, written as 80/20 for "80% within 20 seconds".
- Average speed of answer (ASA): the average time callers wait in the queue before an agent picks up.
- Occupancy: the share of logged-in time agents spend handling calls. Very high occupancy for long periods leads to tired agents and mistakes.
- Shrinkage: paid time when agents are not available for calls: breaks, meetings, training, sick days and time off. This page uses 30% as an example; measure your own.
How the Erlang C formula works
Erlang C was developed by the Danish engineer A. K. Erlang for telephone exchanges and is still the base of most workforce management tools. It takes the traffic in Erlangs (A) and a number of agents (N) and returns the probability that a caller has to wait. From that probability it computes:
- Service level = 1 minus (probability of waiting times e to the power of minus (N minus A) times target time divided by AHT).
- Average speed of answer = probability of waiting times AHT divided by (N minus A).
The calculator tries N = A rounded up, then adds one agent at a time until the service level meets your target. It assumes calls arrive at random, nobody hangs up while waiting and nobody is blocked by a busy signal. Real callers do hang up, so Erlang C tends to slightly overstate the staff you need, which is the safe side for planning.
Outbound calling calculator: reps and dials
Outbound teams plan the other way around: start from the conversations you want each day, and work back to dials and reps. Use your own connect rate and dialing pace; the defaults are only an example.
Example: 60 conversations a day at a 10% connect rate takes 600 dials. At 40 dials per hour, that is 15 rep hours, so 4 reps calling 4 hours each. Raising dials per hour is the lever a dialer pulls: a rep who no longer dials by hand or listens to voicemail greetings gets through more of the list in the same hours.
Tips to plan with fewer surprises
- Plan by the hour, not by the day. Calls bunch up. Staff each hour for its own volume, and plan your busiest hour first.
- Use real handle times. Pull AHT from your phone system for the same weekday and hour, and include wrap-up time.
- Keep occupancy sane. If the calculator shows very high occupancy, add an agent or plan breaks; nobody can sustain back-to-back calls all day.
- Recheck every month. Seasons, campaigns and new products change both volume and handle time.
- Respect calling rules for outbound. Calling hours and do-not-call lists apply. Read our guide on the predictive dialer abandoned call rules if you dial several lines per agent.
Frequently asked questions
What is a good service level for a call center?
80% of calls answered within 20 seconds is the most common target, but it is a convention, not a rule. Pick a target your callers accept and your budget can carry, then test it with the calculator.
Is Erlang C accurate for a small team?
It works for any team size, but small queues swing more from hour to hour, so add a margin. With 2 or 3 agents, one person on a break changes the picture a lot.
Does Erlang C work for outbound calls?
No. Erlang C models callers waiting in a queue. For outbound calling, use the reps and dials calculator above.
Can I use or share this calculator?
Yes. The calculators and the table are free to use. If you share them, a link to this page is appreciated.
Make every rep hour count
Zorino is a power dialer and calling CRM for teams of 2 to 10. It dials your list for each rep, skips answering machines and rings the rep's own phone only when a real person answers, so more of each calling hour is spent talking. Callbacks, notes and your Do Not Call list stay in the client file, and you see calls and talk time per rep every day. Try the live demo: it rings your own phone in 2 minutes, no account and no card.