Occupancy rate explained — the most misunderstood WFM metric
Occupancy is the proportion of an agent's logged-in time spent on contact-related work. Most operations chase high occupancy as a cost efficiency goal. Most are wrong to. This page explains why, and what the right target actually is.
The formula
Or equivalently, in Erlang C terms:
Where Erlangs A = arrival rate (calls/hour) × AHT (hours). This means occupancy is determined entirely by how many agents are staffed relative to the volume arriving. You cannot set occupancy independently of headcount.
A worked example
At 80% occupancy, each agent is busy for 48 minutes of every hour. The remaining 12 minutes is idle time: buffer that absorbs call arrival variance and prevents queue build-up.
Why high occupancy is dangerous
Call arrivals are random. Even if average volume is constant, there will be intervals where more calls arrive than average — and intervals where fewer do. At 85% occupancy, there is enough idle time to absorb these spikes before the queue grows. At 95% occupancy, there is almost none.
Agents have 18 min/hour idle. Queue spikes clear instantly. High staff cost relative to volume.
12 min/hour idle. The standard target for most operations. Sustainable.
9 min/hour idle. Approaching the edge. Small volume spikes cause visible queue build-up.
6 min/hour idle. Queue grows rapidly under any spike. SL breaches become frequent.
3 min/hour idle. Queue is almost always non-zero. Agents have no recovery time. Burnout accelerates.
Occupancy and service level are linked — you cannot optimise both
Erlang C models the exact relationship between occupancy and service level. The key insight: the minimum number of agents needed to hit your SL target also defines your maximum sustainable occupancy.
Erlang C constraint
Given: 120 calls/hour, AHT 4 min, SL target 80% in 20 seconds:
Minimum agents = 11 → occupancy = 8.0 ÷ 11 = 72.7% → SL ≈ 93%
With 10 agents → occupancy = 8.0 ÷ 10 = 80.0% → SL ≈ 73%
With 9 agents → occupancy = 8.0 ÷ 9 = 88.9% → SL ≈ 42%
To hit 80/20 SL, you need 11 agents — which gives 72.7% occupancy. You cannot set a 80% occupancy target AND a 80/20 SL target simultaneously with this volume.
Occupancy vs. utilisation — they are not the same
Occupancy
Proportion of logged-in time spent on contact work (talk + hold + ACW). The denominator is available time — not shift time. Shrinkage events (breaks, training) are not included.
Utilisation
Proportion of scheduled time spent logged in and available. Captures shrinkage: breaks, training, sickness, admin. An agent can have high occupancy but low utilisation if they are logged in for less of their shift than expected.
Rule of thumb: Occupancy measures efficiency when agents are available. Utilisation measures how often agents are available. Both are needed to convert seated headcount into scheduled FTE via the shrinkage formula.
What drives occupancy changes
Volume increases
Occupancy rises (more contacts per agent)
Volume decreases
Occupancy falls (less to do per agent)
Agent count increases
Occupancy falls (same work, more agents)
Agent count decreases
Occupancy rises (same work, fewer agents)
AHT increases
Occupancy rises (more time per contact)
AHT decreases
Occupancy falls (less time per contact)
Occupancy targets by operation type
Frequently asked questions
What is occupancy rate in a contact centre?
Occupancy rate is the proportion of an agent's logged-in time that is spent on contact-related work — call handling (talk + hold) and after-call work (ACW). The remainder is idle time waiting for the next contact. Formula: occupancy = (AHT × contacts per hour) ÷ 3600, or equivalently: occupancy = Erlang traffic ÷ number of agents. It is always a function of how many agents are logged in relative to the volume arriving.
What is a good occupancy rate for a contact centre?
The sustainable occupancy range for most contact centre operations is 75–85%. Below 75%, agents have too much idle time and staffing costs rise. Above 85%, queue dynamics deteriorate rapidly: small volume spikes cause disproportionate queue build-up, agents have no recovery time between contacts, and burnout risk increases. An occupancy above 90% sustained over multiple hours is a leading indicator of service level failure and high attrition.
Is occupancy the same as utilisation?
No. Occupancy and utilisation measure different things. Occupancy measures the proportion of logged-in time spent on contacts (talk + hold + ACW). Utilisation measures the proportion of scheduled time spent logged in and available — it captures shrinkage. An agent can be on shift for 8 hours (utilisation base), logged in for 6 hours (utilisation = 75%), and busy with contacts for 5.4 of those 6 hours (occupancy = 90%). Both metrics are needed to understand full capacity efficiency.
Why does Erlang C produce a maximum occupancy?
Erlang C has a mathematical stability condition: the queue only converges (callers are eventually answered) if the number of agents is greater than the Erlang traffic intensity A = λ × AHT. At exactly A agents, occupancy = 100% and the queue grows without bound. Erlang C therefore requires you to have more agents than the traffic intensity. The occupancy that results from the minimum agent count needed to hit your SL target is the maximum occupancy consistent with that target. You cannot achieve a lower occupancy without adding agents.
Calculate your occupancy rate
Enter your volume, AHT, and agent count. See your current occupancy — and what SL it produces via Erlang C.
Open the occupancy calculator →Related
Occupancy calculator
Occupancy rate with Erlang C SL check
Erlang C explained
The queue model that connects SL and occupancy
CC metrics guide
All 10 key KPIs in one reference
Shrinkage explained
Converting occupancy into scheduled FTE
AHT guide
How AHT changes directly move occupancy
Erlang C calculator
SL-based agent requirement