Running at 100%

  • Why loading a system full blows up the wait
  • Nimbus: one support engineer, an escalation queue, a 45-minute promise
  • *Presenter note:* Say the honest line — teaching material, not a certification.

The case & the plan

  • One engineer resolves 6 tickets/hr; escalations arrive at 4.8/hr; promise: reply in 45 min
  • Head of support: "she's only 80% busy — route more, push to 100%" (arrivals up to 5.7/hr)
  • *Presenter note:* Take the vote now — push to 95, hold at 80, or hire. Record the split; don't comment.

Utilization, plainly

  • rho = arrivals / capacity = 4.8 / 6 = 0.80 — how full the server is
  • rho must be below 1 or the queue grows forever; it's a ratio of rates, not a headcount
  • The idle 20% looks like waste — hold that thought

Why the wait explodes

  • wait factor = rho / (1 - rho); the bottom is the slack
  • 0.80 -> factor 4 (~40 min) · 0.90 -> 9 · 0.95 -> 19 (~190 min) · 0.98 -> 49
  • *Presenter note:* 15 points of utilization, almost 5x the wait. Not linear.

Your table's call

  • Find today's rho -> test the push to 95% -> find the ceiling the promise sets -> make the call
  • Name what each rejected option costs; one free move before hiring
  • *Presenter note:* Circulate; ask "read the wait factor at 0.8 and at 0.95 — small change?"

Slack is not waste

  • The idle fraction absorbs the bunching so the queue drains between bursts
  • Same engineer, same tickets: 40 min at 0.8, over 3 hours at 0.95
  • Past ~85-90% each extra point buys a sliver of output and a mountain of wait

A promise is a ceiling

  • 45-min promise = wait factor ~4.5 = utilization ceiling ~0.82 = ~4.9 arrivals/hr on one engineer
  • Add a second engineer -> each near rho 0.48 -> waits in minutes, with slack for bursts
  • *Presenter note:* Tie back to the opening vote — the "small 15 points" was the trap.

Takeaway

  • The last points of utilization are the most expensive you will ever buy
  • The right target holds deliberate slack — don't chase 100%
  • Further reading: the utilization-vs-wait Decide course