How to use it
Enter the figures for a single interval and a single queue: how many calls arrive, how long the interval is and the average handling time (AHT), which adds up talk time, hold time within the call and after-call work. Then set the service level target, for example 80% of calls answered within 20 seconds, and, if you wish, a maximum occupancy and your team's shrinkage.
The tool finds the smallest number of logged-in agents that meets the target and, if you set one, stays within the occupancy cap. It then shows a table with that number and the next four, so you can see how much waiting improves with each extra person. Repeat the calculation for each interval of the day: the 10:00 workload is not the 16:00 workload.
What it calculates and its assumptions
First, traffic intensity in erlangs: A = calls × AHT ÷ interval length in seconds. ITU-T Recommendation E.600 defines traffic intensity as the product of the arrival rate and the mean holding time, with the erlang as its unit: one erlang is one resource busy continuously.
With N agents, the probability that a call has to wait is given by the Erlang C formula. The tool avoids factorials, which overflow with many agents: it computes Erlang B with the recursion B(0) = 1; B(n) = A·B(n−1) / (n + A·B(n−1)) and converts it with C = N·B / (N − A·(1 − B)). This is the method the ITU-D Teletraffic Engineering Handbook recommends for its numerical stability, and it works just as well with 5 agents as with 800. From C:
- Service level = 1 − C · e^(−(N − A) · T / AHT), where T is the threshold in seconds.
- ASA = C · AHT / (N − A): the mean wait across all calls, including those that do not wait.
- Occupancy = A / N.
- Agents to schedule = N / (1 − shrinkage), rounded up.
The model assumes Poisson arrivals, exponential handling times, a first-come, first-served queue, interchangeable agents and that nobody hangs up while waiting. If N does not exceed A, the queue grows without limit and there is no solution.
Worked example
Fictitious data, matching the default values. A customer service queue receives 120 calls between 10:00 and 10:30, with an AHT of 180 seconds. The target is 80% in 20 seconds, with an occupancy cap of 85% and shrinkage of 30%.
- Traffic: 120 × 180 / 1,800 = 12 erlangs. With 12 agents the queue never stabilises.
- With 15 agents, the probability of waiting is 31.9% and the service level is 77.1%: short of 80%.
- With 16 agents, the probability of waiting falls to 20.5%, the service level rises to 86.9%, ASA is 9.2 seconds and occupancy is 75%, below 85%.
- Headcount: 16 / 0.70 = 22.9, so 23 people scheduled for that interval.
| Agents | Service level (20 s) | ASA | Occupancy |
|---|---|---|---|
| 15 | 77.1% | 19.2 s | 80.0% |
| 16 | 86.9% | 9.2 s | 75.0% |
| 17 | 92.7% | 4.6 s | 70.6% |
With the same workload, a target of 95% in 180 seconds is met with 15 agents (98.4%). The threshold matters as much as the percentage.
How to read the result and its limits
The result estimates agents logged in and available for that queue throughout the interval, not a headcount of contracts. Erlang C does not model abandonment: it assumes everyone waits until answered. In a real queue, callers who hang up free capacity, so the model tends to overstate waiting when abandonment is high. Your report may also calculate service level with a different denominator. Check how you measure it with the guide to calculating telephone service level and separate abandoned calls using the guide to the abandonment rate.
Nor does it capture peaks within the interval, repeat calls, queues needing different skills or agents taking calls from several queues. With few calls, the model is very sensitive to AHT. If you only need a first capacity estimate, dividing workload by available minutes, as in the guide to estimating the staff you need, is simpler, but it promises no waiting time.
Common mistakes
- Putting the daily volume into a 30-minute interval, or using the daily average instead of the interval's own figure.
- Using talk time alone as AHT and forgetting after-call work.
- Deducting shrinkage twice: do not also deduct breaks from occupancy here. The difference between occupancy and utilisation explains why they use different denominators.
- Treating the result as proof of legal compliance. Article 10.3 of Spanish Law 10/2025 requires companies within its scope to answer 95% of calls, on average, in under three minutes. The calculator helps you plan for that target, but compliance is shown with the phone system's actual records.
The values you enter are calculated in your browser and are not sent to CallsIQ. The page measures visits with Google Analytics as described in the privacy policy.
Sources and limits of this tool
The linked sources support the formula, ranges or prices the tool uses. Examples with fictional data are identified in the text.
- E.600www.itu.int
- ITU-D Teletraffic Engineering Handbookwww.itu.int
- Article 10.3 of Spanish Law 10/2025www.boe.es