What each number is
Offered load, service level, speed of answer and the agents that meet the target are arithmetic from the Erlang C queueing model on your inputs. The operating profiles are assumptions, labelled as heuristics, and a driver still at a profile grades Directional. The annual cost is a conditional forecast at the cost basis shown: your TCO figure when one arrives over the rail, otherwise the BLS median wage fully loaded. The hours open and the average interval open at 40 hours and 100% of the busiest interval, our defaults, and a yearly cost that still rests on either grades Directional.
Formulas
Contacts per interval × AHT in seconds ÷ (interval minutes × 60)
In Erlangs: the agents busy every moment if contacts arrived evenly.
Erlang B by recurrence, B(n) = A × B(n−1) ÷ (n + A × B(n−1)); then C = B ÷ (1 − (A ÷ n) × (1 − B))
The probability a contact waits. The recurrence stays finite at any size.
1 − C × e^(−(agents − load) × threshold seconds ÷ AHT)
The share answered within the threshold.
The fewest agents above the load that meet the target, searched upward from the first whole count above the load
Agents on the phones, before shrinkage.
Agents at least load ÷ ceiling, when a ceiling is set
The larger of the target's agents and the ceiling's agents is used, and the tool says which one set headcount.
Base agents ÷ (1 − shrinkage), rounded up
Paid staff needed to keep the base agents on the phones.
Busiest interval contacts × your average interval share, then Erlang C and shrinkage as above
The FTE an average open interval needs. At 100% it is the busiest interval itself.
Scheduled FTE for the average interval × hours open a week ÷ 40
A full-time agent covers 40 hours a week, so a center open 168 hours needs 4.2 times the seats of one interval. A planning ceiling: it takes no credit for part-time shifts fitted to the day.
FTE on payroll × cost per agent per month × 12
Per agent per month is your TCO figure, or your TCO wage × 1.95 × 173 hours, or the BLS median $21.53 × 1.95 × 173 hours.
Queues × FTE for one queue's share of volume − FTE for the pooled volume
An upper bound: it assumes independent queues with no overflow between them. Priced for the year at the average interval across your hours open, like the recovery time cost.
C × θ ÷ (θ + (agents − load) ÷ AHT), with θ = 1 ÷ average patience
An Erlang A approximation, shown only when you enter patience and the effect is material.
Rules and bands
The platform's shared occupancy bands, the same in every tool.
Workable for peaks; the read names the recovery-time trade.
The read shows the sustainable pair: the agents a 87% ceiling would add.
Below it, contacts carry across intervals and Erlang C understates staffing; the tool says so and grades completeness Directional.
Shrinkage above the 28% to 35% planning range, a labelled heuristic, is flagged as worth decomposing. Every other line is a threshold in the registry with its rationale.
Every constant and where it comes from
Voice contacts per interval for this profile. An operating profile so the tool opens on a runnable case. A volume, handle time or shrinkage still at this value grades evidence Directional.
Average handle time for this profile. An operating profile so the tool opens on a runnable case. A volume, handle time or shrinkage still at this value grades evidence Directional.
Service level target for this profile. An operating profile so the tool opens on a runnable case. A volume, handle time or shrinkage still at this value grades evidence Directional.
Answer threshold for this profile. An operating profile so the tool opens on a runnable case. A volume, handle time or shrinkage still at this value grades evidence Directional.
Total shrinkage for this profile. An operating profile so the tool opens on a runnable case. A volume, handle time or shrinkage still at this value grades evidence Directional.
The 2,080 hour full-time year over twelve months. A planning convention for converting an hourly wage to a monthly cost.
Default interval length. The most common forecasting interval, so the default case sits inside the Erlang C validity floor.
Default hours the queue is open a week, set to one paid week so the yearly cost equals the one-interval figure until the reader enters their own hours (method 1.2).
Default average interval across open hours, as a share of the busiest interval entered. 100 means every open interval is as busy as the one entered; enter your own to price a real week (method 1.2).
Default occupancy ceiling offered when the cap is switched on. Set at the healthy maximum of the ratified occupancy canon.
Volume spike the contingency finding prices. A planning stress step, labelled as one.
Handle time change the sensitivity finding prices, applied up and down.
Shrinkage step the what-if grid prices.
Upper bound on the shrinkage what-if, so the step never prices an implausible plan.
Service level step the what-if grid prices, up or down.
A target at or above this is eased in the what-if grid rather than raised.
Display floor. Erlang C never returns certainty, so a service level above this prints as above 99.9 percent. Display only. It reaches no confidence axis.
Erlang C steady state floor. An interval under three times AHT lets contacts spill across interval boundaries and the model understates staffing. Holds completeness Directional.
Severity split inside an invalid model. Below 1.5 times AHT the disclosure reads critical. Framing only. The completeness hold is the same either side of it.
A target at or above this is read as premium service in the analyst read and the premium signal. Framing only. It reaches no confidence axis.
An answer threshold at or below this is read as premium service. Framing only. It reaches no confidence axis.
Delivered service level this far above target is read as over-serving. Framing only. It reaches no confidence axis.
A split-queue penalty at or above this share is surfaced in the analyst read. Below it the effect is inside forecast noise. Framing only.
Estimated abandonment at or above this is material enough to show the Erlang A adjusted figure. Display only.
An abandonment adjustment of at least this many agents is shown even below the material share. Display only.
Queue count band on the wire. High from eight. Signal only. It reaches no confidence axis.
Queue count band on the wire. Mid from three. Signal only.
Scale band on the wire. Very large from 400 FTE. Signal only. It reaches no confidence axis.
Scale band on the wire. Large from 150 FTE. Signal only.
Scale band on the wire. Mid from 40 FTE. Signal only.
The one agent wage benchmark the platform cites. Staffing, Cost per Contact and Channel Shift read it. It is the occupation median, no figure of the user's own, so a driver still at it grades evidence Directional. Source: US Bureau of Labor Statistics, Occupational Employment and Wage Statistics, May 2025 (released 15 May 2026), SOC 43-4051 Customer Service Representatives, national median hourly wage.
Wage plus benefits, payroll tax, facilities, supervision and technology. The cost of standing a seat up. Use it only to price whole headcount, never to value a freed contact.
Bottom of the planning range for total shrinkage. A total below it can mean coaching and training time is being skipped as easily as good control.
Top of the planning range for total shrinkage. Staffing flags a total above it as worth decomposing before it is treated as fixed.
Worked example
Computed by the tool's own engine. The first case is the tool's opening profile; the second reproduces a published staffing example (Nextiva's worked Erlang C case: 400 calls, 257-second handle time, 80% in 20 seconds, 85% occupancy cap), so the arithmetic can be checked against a source outside this site.
Opening case: 400 contacts per 30 minutes, 360-second AHT, 80% in 20 seconds, 30% shrinkage, open 40 hours a week with every interval as busy as the busiest
Open all week: The same busiest interval, open 168 hours a week, the average interval at 60% of the busiest
Published case: 400 contacts per 30 minutes, 257-second AHT, 80% in 20 seconds, 85% occupancy ceiling
400 × 360 ÷ 1,800 = 80 Erlangs
88 agents give 81.8% in 20 seconds, speed of answer 13s, occupancy 90.9%
88 ÷ (1 − 30%) = 125.71, rounded up to 126
126 × $7,263.15 a month × 12 = $10,981,876 ($21.53 × 1.95 × 173 hours = $7,263.15 a month)
average interval 240 contacts, 55 base agents, 79 FTE; × 168 ÷ 40 = 4.2, so 331.8 FTE on payroll and $28,918,940 a year at the same basis
load 57.11 Erlangs; the 85% ceiling sets headcount at 68 base agents, 98 FTE at 30% shrinkage, occupancy 84.0%, the published result
Checked against
Cases whose answer is known outside this site. The test suite computes each one with this tool's own engine on every change.
Offered load 10 Erlangs on 11, 12, 13 and 14 agents. Result: 0.6821, 0.4494, 0.2853 and 0.1741. Erlang C formula (A. K. Erlang, 1917), as tabulated in standard Erlang C probability-of-wait tables.
Offered load 1 Erlang on 2 agents. The formula gives (1²/2! × 2/(2 − 1)) ÷ (1 + 1 + 1²/2! × 2/(2 − 1)) = 1 ÷ 3. Result: 0.3333. Erlang C formula (A. K. Erlang, 1917).
100 calls a half hour at 180 seconds (10 Erlangs), target 80% answered in 20 seconds. Result: 14 agents. Standard Erlang C staffing tables for a 10 Erlang load at an 80/20 service level.
400 calls a half hour, 257-second handle time, 80% in 20 seconds, 85% maximum occupancy, 30% shrinkage. Result: 68 agents, 98 FTE, 84.0% occupancy. Nextiva, Erlang C formula worked example (call center staffing guide).
What this tool cannot tell you
- Erlang C assumes callers wait until answered. With abandonment, measured service level runs higher than it predicts; enter patience for the Erlang A check.
- It models one contact per agent at a time, which fits voice. Chat and messaging agents handle several at once and need a different model.
- One interval is one steady state. The year uses one average interval across your hours open, a planning ceiling; peaks, intraday patterns and schedule fit need interval staffing across the day.
- The cost basis is the benchmark wage unless your TCO run supplies one; the grade says which.