← ccPlanning Academy

Measuring schedule efficiency

Deep-dive lesson · about 10 minutes · short quiz at the end

ccPlanning academy · scheduling · deep dive

Measuring schedule efficiency

How good is this roster, really — and what is it costing you?

The big idea

A schedule has two ways to be wrong.

It can put too few people in an interval (understaffing — service cost) or too many (overstaffing — labour cost). Measuring efficiency means seeing both, interval by interval, instead of trusting a single headline.

Metric 1

Overstaffed hours.

Sum the intervals where coverage exceeds requirement — that’s paid time spent not handling contacts. It’s the most visible inefficiency and the one finance notices: idle agents on the clock.

Metric 2

Understaffed hours.

Sum the intervals where coverage falls short. This is the service-risk side — queues, abandons, SLA misses, burned-out staff. It rarely shows on a labour report, which is exactly why it gets ignored.

Why one number hides both

Net staffing can read “perfect” over a disaster.

understaffed overstaffed requirement

Net = zero. Reality = understaffed all morning, idle all afternoon.

The better metric

Add the absolute gaps, don’t net them.

Sum over- and under-coverage as positive numbers and you get the total mismatch — the real measure of fit. Like bias in forecasting, the sign matters: netting hides the very problem you’re trying to find.

Coverage fit %

One honest headline.

Express coverage as a percentage of requirement met without going short — or report the understaffed and overstaffed hours side by side. Either way, you want a single, honest figure that can’t be gamed by averaging good and bad intervals.

The cost translation

Put a price on each side.

Overstaffed hours × loaded hourly cost = wasted labour. Understaffed intervals translate into abandons, SLA penalties and attrition. Costing both turns “the schedule’s a bit off” into a number leadership can act on.

The efficiency frontier

You can’t drive both to zero.

Whole shifts under a bumpy curve mean some mismatch is unavoidable. The goal isn’t perfection — it’s the best fit your flexibility allows, and knowing whether buying more flexibility (part-time, split shifts) would pay for itself.

Two rosters, same headline

Why “net zero” is a trap

Roster A: coverage matches requirement every interval — net zero. Roster B: 40 hours short all morning, 40 over all afternoon — also net zero. The summary calls them identical.

Sum the absolute gaps and the truth appears: A = 0 hours of mismatch, B = 80. Same as bias in forecasting — netting hides the very problem you’re hunting.

The takeaway

Measure both gaps, never the net.

Track overstaffed and understaffed hours separately, sum the absolute mismatch, cost both sides, and judge the schedule on coverage fit — not on a net number that hides the morning you drowned and the afternoon you idled.

Now test yourself ↓

1 / 10

Slides done? Here’s the same idea in a bit more depth — the part worth keeping.

In depth: how good is this roster, really?

A schedule has two ways to be wrong: too few people in an interval (understaffing, which costs service) or too many (overstaffing, which costs labour). Measuring efficiency means seeing both, interval by interval, instead of trusting a single headline number — because a single number can read “perfect” over a day where you drowned all morning and idled all afternoon.

Two metrics, never netted

Overstaffed hours — the intervals where coverage exceeds requirement — are paid time spent not handling contacts; it’s the visible inefficiency finance notices. Understaffed hours — where coverage falls short — are the service-risk side: queues, abandons, SLA misses, burned-out staff. The second rarely shows on a labour report, which is exactly why it gets ignored. The trap is netting them: equal areas of over and under cancel to zero, hiding the disaster. Sum them as absolute numbers instead and you get the total mismatch — the real measure of fit. Just like bias in forecasting, the sign matters, and netting hides the very thing you’re trying to find.

Cost both sides, and know the frontier

To make it actionable, put a price on each: overstaffed hours times loaded hourly cost is wasted labour; understaffed intervals translate into abandons, SLA penalties and attrition. Costing both turns “the schedule’s a bit off” into a number leadership can act on. And set realistic expectations — whole shifts under a bumpy curve mean some mismatch is unavoidable, so the goal isn’t zero, it’s the best fit your flexibility allows, plus the knowledge of whether buying more flexibility (part-time, split shifts) would pay for itself.

The principle to remember: measure both gaps, never the net. Track overstaffed and understaffed hours separately, sum the absolute mismatch, cost both sides, and judge the roster on coverage fit — not a net number that hides the morning you drowned and the afternoon you idled.

Quick quiz

Five questions. Pick an answer to each, then check your score.

1. What are the two ways a schedule can be wrong?

Too few people = service cost; too many = labour cost. Efficiency means seeing both.

2. Why does understaffing often get ignored?

Overstaffing is visible to finance; understaffing hides as queues and attrition.

3. Why is a single net-staffing number misleading?

Net to zero can mean understaffed all morning and idle all afternoon — the shape is hidden.

4. What’s the better way to measure mismatch?

Add the absolute gaps — like bias, the sign matters and netting hides the problem.

5. Can a schedule drive both over- and understaffing to zero?

Some mismatch is unavoidable; the goal is best fit, and knowing if more flexibility would pay.