I’ve been in budget reviews where the contact center’s cost-per-contact number was treated as fixed. A given, something to benchmark against industry averages and move on from. What rarely came up was the question sitting underneath it: how much of that cost are we paying for time when nobody was actually talking to a customer?
Occupancy rate (the percentage of logged-in time an agent spends handling contacts versus waiting for them) is one of the most revealing metrics in contact center economics. It’s also one of the least discussed in budget conversations, and I think that’s because it doesn’t have a natural home in a P&L. It doesn’t show up as waste. It shows up as payroll.
What the Number Actually Tells You
An agent at 40% occupancy is being paid for a full hour and productively engaged for less than 25 minutes of it. That’s not a performance problem — it’s a scheduling one. The gap between hours paid and hours productive is idle time, and idle time has a real dollar value that most finance teams never explicitly calculate because it’s never explicitly labeled.
The industry benchmark for healthy occupancy ranges from 75% to 85% (https://www.sqmgroup.com/resources/library/blog/industry-standards-top-call-center-kpis). Below that range, you’re carrying structural inefficiency. Above it, you start seeing burnout, errors, and attrition — agents with no recovery time between contacts make worse decisions and leave faster. The narrow band in the middle is where cost efficiency and service quality actually coexist.
Most contact centers I’ve encountered aren’t operating in that band consistently. They’re oscillating. Too low during off-peak stretches, too high during spikes, which means they’re paying for idle time in one part of the day and burning out staff in another.
Why This Is Hard to See From the Outside
The occupancy problem is structurally invisible in most reporting. Daily or weekly averages smooth it out. A center can report 75% average occupancy for the week while running at 40% for six hours and 95% for two, and both numbers hide inside the same average.
The visibility problem compounds the cost problem. If you can’t see where the idle time is actually occurring (by hour, by day, by team) you can’t make informed decisions about where staffing is misaligned with demand. You’re managing to an average that doesn’t represent any specific moment your agents or customers actually experienced.
The most practically useful thing a contact center leader can do with occupancy data isn’t benchmark it against industry averages. It’s break it down to the hour and map it against actual call arrival patterns. The gap between when your agents are scheduled and when your customers are actually calling is where the idle cost lives. It’s usually more concentrated, and more addressable, than the blended number suggests.
What Hourly Mapping Actually Reveals
A few years ago I worked with a multi-brand service organization — sixteen different brands under one customer care operation — that was puzzled by a persistent gap between their reported occupancy and their actual cost-per-contact. Their weekly average looked reasonable. No obvious red flags.
When we broke it down to the hourly level, the picture changed completely. Occupancy was running well below the healthy range during morning hours — customers weren’t calling yet, but the full day shift had already started. Then it spiked above 90% as midday volume came in. The daily average was masking both a burnout window and an idle-cost window happening every single day.
Here’s the part that still surprises people when I tell this story: abandonment rates were in the double digits even while the center was, by any normal measure, overstaffed. The agents were there. They just weren’t there at the right times.
When they shifted to a flexible staffing model — scaling capacity to actual call arrival patterns instead of fixed shift coverage — the results were significant. Monthly labor costs dropped by 40%. Occupancy improved by 50%. Abandonment rates fell by over 60%. And they posted the highest conversion rate in company history using a fully flexible workforce.
The fix wasn’t complicated. The visibility was the hard part.
The Conversation I Wish Happened More in Budget Reviews
When cost-per-contact goes up, the instinct is usually to look at handle time, after-call work, or headcount. Those are legitimate levers. But if occupancy is running significantly below the healthy range, adding efficiency pressure on agents without addressing the scheduling mismatch just burns people out for marginal savings.
The better question is: are we scheduling to our business hours, or to our actual demand curve? Those are different things in nearly every operation I’ve worked with. Business hours are a policy decision. Demand curves are a customer behavior pattern. Staffing to one when the other is what determines your occupancy is where structural inefficiency gets locked in.
I don’t think this is a hidden insight. Most experienced contact center leaders understand the relationship between schedule adherence, demand patterns, and occupancy. What I’ve found is that the organizational pressure to staff to coverage (be open for business, have people available) tends to crowd out the harder conversation about whether those people are actually needed at that specific hour.
The budget review that makes room for the occupancy question, not just the cost-per-contact benchmark, is the one that finds the most durable savings. It’s also the one I’ve sat in least often.
Curious whether others are tracking occupancy at the hourly level or whether the daily/weekly average is still the primary lens. Would be glad to hear what’s working in the comments.