What is the occupancy formula in BPO?
The occupancy formula in BPO is: occupancy (%) = total handle time / total logged-in available time × 100, where handle time is talk + hold + after-call work, and available time is handle time plus idle waiting time. It shows how busy agents are while ready to take calls. A common healthy range is about 75% to 85%.
Occupancy and utilization are two of the most confused numbers in workforce management. They sound alike, both are percentages of time, and some floors use the words the other way round. But they answer different questions. Occupancy asks how busy agents are while they are on the phones. Utilization asks how much of the paid shift is spent on the phones at all.
Getting the two straight matters, because a floor can have high occupancy and poor utilization at the same time, and the fixes are completely different.
What is the utilization formula in BPO?
The most common utilization formula is: utilization (%) = logged-in available time / total paid (or scheduled) time × 100. Logged-in available time means time spent either handling calls or ready and waiting for one. It leaves out breaks, training, meetings, coaching, system downtime and any other time off the phones.
Some floors define utilization more strictly, as handle time divided by paid time. That version measures productive time as a share of the whole shift and is sometimes called productivity instead. Neither is wrong, but you must know which one a report uses before comparing it with anything else. In this post, utilization means available time over paid time.
Utilization is closely linked to shrinkage. If shrinkage is the share of paid time lost to things other than taking calls, then utilization is roughly 100% minus shrinkage. Our shrinkage calculator breaks that lost time down by category.
How do you calculate both? A worked example
Take one agent on a paid 8-hour shift, which is 480 minutes. During the shift they spent 30 minutes on breaks, 30 minutes in a training session and 15 minutes in a team huddle. That is 75 minutes off the phones. The remaining 405 minutes were spent logged in and available.
During those 405 minutes, the agent handled 54 calls with an average handle time of 6 minutes. Total handle time is 54 × 6 = 324 minutes. The rest, 405 - 324 = 81 minutes, was idle time waiting for the next call.
- Occupancy = 324 / 405 × 100 = 80%. While available, the agent was busy four-fifths of the time.
- Utilization = 405 / 480 × 100 = 84.4%. Of the paid shift, 84.4% was spent on the phones.
- Productive time over paid time = 324 / 480 × 100 = 67.5%. This is occupancy multiplied by utilization, and shows how much of the paid shift went on actual calls.
What is the difference between occupancy and utilization?
Occupancy is driven by the queue. If calls arrive faster, or each call takes longer, occupancy rises. If you add more agents to the same volume, occupancy falls. Agents themselves have little control over it, apart from how quickly they finish wrap-up.
Utilization is driven by the schedule and by behaviour. Long breaks, extra meetings, training days, late log-ins and unplanned pause time all reduce it. Team leaders and agents control most of it directly.
A practical way to remember it: occupancy tells you whether you have the right number of people on the phones for the work. Utilization tells you whether the people you are paying are actually on the phones. Low occupancy suggests overstaffing or low volume. Low utilization suggests too much time lost off the phones.
What are healthy occupancy and utilization ranges?
There is no single correct figure, but general guidance on inbound voice floors puts sustainable occupancy around 75% to 85%. Below about 70%, agents spend a lot of paid time waiting, which costs money. Above about 90% for long periods, agents get almost no breathing space between calls, and fatigue, mistakes and attrition tend to follow.
Utilization depends on how much training, coaching and meeting time the process needs. A brand new process with daily training will have lower utilization than a mature one. Many floors plan around 80% to 85% and investigate anything much lower. The goal is not 100%: some time off the phones for coaching and training is what keeps quality up.
Occupancy also depends on queue size. Large teams can run higher occupancy at the same service level than small teams, because random spikes in volume even out more easily across many agents. That is why a 10-agent queue and a 100-agent queue with the same target can show very different occupancy.
How does occupancy connect to Erlang and service level?
Occupancy can also be worked out from the queue itself. The workload in an hour, measured in Erlangs, is calls per hour × AHT in hours. If 100 calls arrive in an hour with a 6-minute AHT, that is 600 minutes of work, or 10 Erlangs. With 12 agents available, occupancy is 10 / 12 = 83%.
There is a trade-off between occupancy and speed of answer. To answer calls quickly, you need some agents free when calls arrive, which means some idle time, which means lower occupancy. Push occupancy too high and callers wait longer. Our Erlang calculator shows how agents, occupancy and service level move together, and the AHT calculator gives you the handle time to plug in. Our guide to the SLA full form in BPO covers the service level side.
How do occupancy and utilization behave on outbound dialers?
On outbound floors running predictive dialers, occupancy works differently. The dialer's job is to keep agents busy, so it dials ahead and connects the next call as soon as an agent is ready. Occupancy on a well-tuned predictive campaign is often very high, because idle time between calls is short. The cost of pushing it higher shows up as dropped calls rather than queue wait time.
High occupancy on outbound also has a human cost. A fronter with almost no gap between calls for hours on end tires quickly, and the quality of each call falls late in the shift. Our post on why transfer rates drop after hour six shows how this shows up in the numbers.
Utilization on outbound floors is usually hit hardest by pause codes: long or frequent pauses, unclear pause reasons and agents pausing between calls to rest. Reviewing pause time by code and by agent is one of the quickest ways to find lost hours.
How do you fix low or high occupancy and utilization?
Each problem has a different fix, so diagnose before acting.
- Low occupancy: too many agents for the volume. Move agents to another queue or channel during quiet intervals, adjust the schedule, or offer voluntary time off.
- High occupancy: too few agents or longer calls than planned. Add staff in the peak intervals, cut after-call work, and protect breaks.
- Low utilization: too much time off the phones. Check break lengths, meeting schedules, late log-ins and pause codes, and schedule training in quieter intervals.
- Very high utilization: agents are not getting coaching or training. That looks efficient in the short run and costs quality and attrition later.
Should agents be judged on occupancy?
Usually not. Occupancy depends mostly on how many calls arrive and how many agents are logged in, and an individual agent controls very little of either. Ranking agents by occupancy tends to reward people who happen to sit on busy queues and punish those moved to quiet ones. It can also push agents to stretch calls or wrap-up time to look busy, which hurts both handle time and service level.
Occupancy is a planning and management number. It tells the workforce team whether staffing matches the work, and it tells operations managers whether the floor is overworked or underused. For individual agents, schedule adherence is the better measure: did they log in on time, take breaks as scheduled and stay available when they were supposed to be. Adherence is in the agent's control, and good adherence across a team is what makes utilization come out where the plan expected.
If you want one number per agent that combines productivity and quality, look at handle time next to a quality score, not occupancy.
Where do bots change the picture?
Voice bots do not get tired, take breaks or log in late, so a bot seat's utilization is close to its scheduled hours and its occupancy depends only on how many calls the dialer feeds it. That makes capacity planning simpler: the number of bot seats you run is the number available for the whole shift.
B3 Voice bots, including the Fronter bot, run on the center's own dialer and are priced per bot per month with unlimited calls, so higher occupancy on a bot seat does not raise the cost. Human closers and verifiers still need sensible occupancy and real breaks, so plan their numbers with the same formulas above.



