- Home
- Blog
- Scheduling Concepts
- Why 100% Utilization Is a Trap
One hundred percent utilization is a trap because queue time grows nonlinearly as a resource approaches full load, so the last few points of utilization multiply lead times while adding almost no throughput. A machine planned to be busy every minute has no slack to absorb a breakdown, a rush order, or a slow changeover, so any variation cascades into late jobs. EDGEBIC by User Solutions lets you plan each work center below full load through a schedule-at-utilization percentage, deliberately leaving the protective capacity that keeps lead times stable. Chasing 100 percent looks efficient on a report and delivers late in reality.
The plain definition of the metric is in glossary: utilization. What planners need to understand is the shape of the curve, because it is not a straight line.
The queue curve is not linear
Intuition says loading a machine from 90 to 100 percent adds 10 percent more work and should cost proportionally. Queueing theory says otherwise. The average wait a job experiences scales with utilization divided by one minus utilization. That denominator, one minus utilization, shrinks toward zero as you approach full load, so the wait blows up.
| Utilization | Relative average queue time |
|---|---|
| 50% | 1.0 |
| 80% | 4.0 |
| 90% | 9.0 |
| 95% | 19 |
| 99% | 99 |
Read the jumps. Going from 50 to 80 percent quadruples the wait. Going from 90 to 99 percent multiplies it roughly elevenfold, for nine extra points of load that add barely any throughput. The last slice of utilization is the most expensive capacity you will ever buy, paid for in lead time.
Why the wait explodes
The reason is variation. Jobs do not arrive on a metronome and do not all take exactly their planned time. Setups run long, a machine hiccups, a rush order jumps in. A resource with slack absorbs that variation: when a burst arrives, it catches up in the idle time it had. A resource at full load has no idle time to catch up in, so a burst that arrives has nowhere to go but the queue, and the queue grows. At 100 percent there is no recovery room at all, so the first disruption of the day ripples through every job behind it and never gets absorbed.
Protective capacity is not waste
This is why the slack below full load has a name: protective capacity. It is not idle waste to be eliminated; it is the buffer that lets a resource recover from variation without cascading delays. A non-bottleneck especially needs it, because a non-bottleneck's job is to keep the constraint fed, and it can only catch up after a slip if it has spare capacity to catch up with. Eliminate that slack in the name of efficiency and you have removed the very thing that keeps the bottleneck from starving. This is the flip side of why the bottleneck sets the pace: the constraint needs its feeders to have room.
Even the constraint benefits from a little breathing room. A bottleneck pinned at 98 percent with no buffer swings wildly, because it has no capacity to absorb any variation in its feed. A constraint held at a steady 90 percent with a small buffer of work in front of it delivers far more predictably, which is exactly what handling a shared bottleneck is about.
Setting it in the schedule
You build protective capacity by planning work centers below full load. In EDGEBIC this is the schedule-at-utilization percentage on a job or work center: set it to 80 percent on an 8-hour shift and the engine plans 6.4 productive hours per instance per day, reserving the rest as the buffer. Set it to 100 percent and you have told the engine to plan every minute, which recreates the trap: the schedule looks full, then the first disruption makes it fiction. The right number depends on how variable the resource is; the more breakdowns, rush orders, and setup variation it sees, the more slack it needs. Keep this dial separate from an efficiency factor, because efficiency and utilization are two different capacity dials: one scales the run time of the work, the other scales the hours the work center offers.
This also changes how the engine searches for capacity. When a resource is planned with slack, the forward search for the next open slot finds room sooner and more predictably, because the slack is there to be found. Plan at 100 percent and every job has to wait for a gap that the queue math says will keep growing.
The report-versus-reality gap
The trap persists because 100 percent utilization looks like success on a utilization report. High utilization reads as efficient use of expensive assets, and it is tempting to drive every machine there. But the report measures how busy the machine is, not whether the shop delivers on time, and those two diverge sharply at the top of the curve. A shop that runs its machines at 80 to 85 percent and hits its dates is winning; a shop that runs them at 99 percent and misses deliveries is losing, no matter what the utilization column says. Finding the resource that actually constrains you, rather than maximizing utilization everywhere, is the point of production bottleneck identification.
Over 35-plus years, User Solutions has watched this play out from job shops to GE Railcar, which reached 90 percent on-time delivery not by pinning every machine at full load but by scheduling against realistic, protected capacity. The full engine pipeline is in the scheduling engine guide, and you can set schedule-at-utilization on your own work centers and watch lead times stabilize in EDGEBIC.
As a resource approaches full load, queue time grows nonlinearly, so the last few points of utilization buy almost no extra output while lead times explode. Queueing theory says the average wait scales with utilization divided by one minus utilization, so going from 90 to 99 percent multiplies the queue roughly tenfold. A machine planned at 100 percent has no slack to absorb variation, so any hiccup ripples into late jobs. Some protective capacity is not waste; it is what keeps lead times stable.
Protective capacity is the deliberate slack a resource keeps below 100 percent load so it can absorb variation without lead times blowing up. It is not idle waste; it is the buffer that lets a machine recover from a breakdown, a rush order, or a slow changeover without cascading delays. Non-bottleneck resources especially need protective capacity, because their job is to keep the constraint fed, and that requires the ability to catch up when something slips.
Plan most work centers below full load, commonly around 80 to 85 percent, to leave protective capacity for variation. In EDGEBIC you express that through the calendar rather than a percentage on the machine, because work centers run at 100 percent utilization and the value is not editable there. Define the shift as the productive window, add a downtime event, or set a per-day capacity override, so an 8-hour clock is planned as the 6.4 hours it really delivers. The exact number depends on how variable the resource is: the more breakdowns, rush orders, and setup variation it sees, the more slack it needs to keep lead times predictable.
Expert Q&A: Deep Dive
Q: Management wants every machine loaded to 100 percent. What do I tell them?
A: Show them the queue math. At 90 percent load the average wait is about nine times the base; at 99 percent it is about ninety-nine times. Those last nine points of utilization multiply lead time roughly tenfold while adding almost no throughput. A machine planned at 100 percent has zero room to absorb a breakdown or a rush order, so one disruption cascades into a week of late jobs. Planning at 80 to 85 percent keeps lead times stable and predictable, which protects on-time delivery far more than the last few points of utilization ever could. Full utilization looks efficient on a report and delivers late in reality.
Q: Our bottleneck runs at 98 percent and lead times are wild. Is the bottleneck the problem?
A: The bottleneck being busy is expected, but 98 percent with no buffer is why the lead times are wild. At that load, any variation upstream or any hiccup on the constraint has nowhere to be absorbed, so waits swing enormously run to run. The fix is not to run the constraint slower; it is to give it a stable feed and a small buffer, and to make sure non-bottlenecks carry the protective capacity to keep it fed. A constraint at a steady 90 percent with a buffer in front of it delivers more predictably than one pinned at 98 percent.
Frequently Asked Questions
Ready to Transform Your Production Scheduling?
User Solutions has been helping manufacturers optimize their production schedules for over 35 years. One-time license, 5-day implementation.

User Solutions Team
Manufacturing Software Experts
User Solutions has been developing production planning and scheduling software for manufacturers since 1991. Our team combines 35+ years of manufacturing software expertise with deep industry knowledge to help factories optimize their operations.
Share this article
Related Articles
Plan on Lead Time vs Require on Hand: the Material Availability Choice
A product's Material Availability setting decides whether a job without covering supply is planned on an assumption or reported as a shortage. Here is what each choice does to the plan.
Why a Missing Tool Stops the Job Instead of Scheduling Anyway
A step whose tool is inactive, unknown, or at zero quantity fails the run immediately and names the tool. Why that refusal is a feature, not a limitation.
Why a Tool Is Held for Setup and Run Alike
An operator can tend two machines at once. A fixture cannot be half mounted. Why tools book at the full rate for every hour, with no attention fraction and no escape.
