How to calculate a contact centre staffing requirement
From forecast to roster: the chain from contact volume and handle time through Erlang C, an occupancy ceiling and shrinkage to agents per interval, and from there to FTE.
Published
“How many agents do I need?” has three different answers depending on what is being asked: on the phones right now, scheduled today, or employed this quarter. This guide runs the whole chain from a forecast to all three, with one worked interval that you can reproduce in the calculator.
The chain
- Forecast contacts and handle time for every interval of the week.
- Convert to erlangs: arrival rate multiplied by handle time.
- Erlang C gives the smallest number of agents that meets the service level target.
- Apply an occupancy ceiling, raising the number if Erlang C’s answer would work agents too hard.
- Gross up for shrinkage to get the agents to schedule in that interval.
- Fit shifts to the curve across the week, and express the result as FTE.
Steps 2 to 5 are one interval’s arithmetic. Step 6 is a scheduling problem, and it is where a workforce management tool earns its keep.
One interval, worked through
Take 200 contacts in a 30-minute interval, a 300-second handle time, an 80/20 target, an 85 per cent occupancy ceiling and 30 per cent shrinkage.
Erlangs. (200 ÷ 30) × (300 ÷ 60) = 33.3 erlangs of work.
Erlang C. The smallest agent count whose predicted service level reaches 80 per cent within 20 seconds is 39, delivering 82.6 per cent.
Occupancy ceiling. 33.3 erlangs across 39 agents is 85.5 per cent occupancy, just over the ceiling. One more agent brings it to 83.3 per cent, so the requirement becomes 40 on the phones, with service level rising to 87.8 per cent as a side effect.
Shrinkage. 40 ÷ (1 − 0.30) = 57.1, which rounds up to 58 agents scheduled for the interval.
So: 40 agents must be handling contacts, and 58 must be on the roster for that half hour to make it happen. The gap of 18 is the cost of breaks, coaching, sickness and leave, and it is the number that surprises people who have only seen the Erlang result.
For a small queue the ceiling matters more. 40 contacts in the same interval is 6.7 erlangs, and Erlang C needs 10 agents, who would be only 67 per cent occupied. The ceiling does not bind, but the shrinkage gross-up still turns 10 into 15.
From one interval to a week
Repeat the calculation for every interval and you have a requirement curve: perhaps 12 agents at eight in the morning, 58 at eleven, 30 at four, 6 at nine in the evening. The roster’s job is to cover that curve with shifts.
Two things happen on the way to an FTE figure.
Summing the curve gives a theoretical minimum. Add up the scheduled-agent requirement across every interval of the week, in hours. If that is 1,600 agent-hours and a full-time contract is 37.5 hours, the theoretical requirement is 1,600 ÷ 37.5 = 42.7, so 43 FTE.
Shifts do not fit curves. Contracts have fixed lengths and start-time rules; the curve has peaks and troughs. The roster that actually covers it carries hours above the minimum in the troughs. The ratio of scheduled hours to required hours is roster efficiency, and 85 to 95 per cent is typical, so the real FTE is 5 to 15 per cent above the theoretical figure. Flexible contracts, split shifts and part-time shapes improve it; a workforce of identical 9-to-5 contracts does not.
Where to apply shrinkage
Shrinkage can be applied per interval, as above, or once at the FTE stage, by dividing productive hours by 1 minus shrinkage. Both are valid. Applying it per interval gives a roster that is right for each half hour, which matters because internal shrinkage clusters at particular times of day. Applying it at the end is simpler for a budget.
What is never valid is applying it twice. If the interval requirement already includes shrinkage, the FTE calculation must use contracted hours, not productive hours. This is the single most common error in a staffing model and it overstates the requirement by the multiplier, which at 30 per cent shrinkage is 43 per cent.
Common mistakes
- Staffing to the average interval. The day’s average understaffs the peak and overstaffs the trough. Use the curve.
- Skipping the occupancy ceiling for small queues. Erlang C will happily return an answer that has a five-person team 90 per cent occupied.
- Rounding down. Every stage rounds up, because fractional agents do not exist and rounding down puts the interval short before it starts.
- Applying shrinkage twice. See above.
- Letting the inputs go stale. Handle time drifts, shrinkage has seasons, and the forecast is only as good as its last refresh.
Try it with your own numbers
Rostered headcount for this interval, after shrinkage.
- Agents on the phones
- 40
- Erlang C minimum
- 39
- Occupancy
- 83.3%
- Service level achieved
- 87.8%
- Average speed of answer
- 8.6 s
- Workload
- 33.3 erlangs
After the occupancy ceiling.
Before the occupancy ceiling.
Show the working
- Workload = 200 contacts ÷ 30 min × 300 s ÷ 60 = 33.3 erlangs.
- Erlang C: the smallest agent count with a service level of at least 80% within 20 s is 39, at 85.5% occupancy.
- That is above the 85% ceiling, so agents are added until occupancy falls to or below it: 40 agents at 83.3%.
- Shrinkage: 40 ÷ (1 − 0.30) = 57.1, rounded up to 58 to schedule.
Doing this for every interval of the week? Pebble WFM computes the requirement from your forecast and builds the roster. Free month, no card needed.
Where next
- How to calculate Erlang C staffing: step 3 in detail.
- How to calculate shrinkage: where the 30 per cent should come from.
- How to calculate occupancy: why the ceiling exists.
Frequently asked questions
- What is the difference between headcount and FTE?
- FTE (full-time equivalent) is hours expressed as a number of full-time contracts: 1,600 hours a week at 37.5 hours per contract is 42.7 FTE. Headcount is people. Two 20-hour part-timers are one FTE and two headcount. Requirements are calculated in FTE; recruitment and seating plans need headcount.
- How often should the requirement be recalculated?
- Every time the forecast, handle time or shrinkage assumptions change, which in practice means weekly for the tactical roster and at least quarterly for the budget. A requirement built on last year's handle time is wrong by whatever handle time has moved since, and the multiplier effect of shrinkage means a small drift there compounds.
Stop doing this one interval at a time
Pebble WFM forecasts your demand, computes the staffing requirement for every interval, builds the roster and publishes it, with self-service for agents and a copilot that can do what a planner can. Explore a sample organisation on day one.