top of page

How to Calculate Machine Utilization (Formula + Examples)


How to calculate machine utilization: Use × 100. Define scheduled time and measured uptime consistently across shifts for auditable results

How to Calculate Machine Utilization (Formula + Examples)

Most “utilization” arguments in CNC shops aren’t really arguments about performance—they’re arguments about math. One person is pulling numbers from an ERP schedule, another is relying on operator notes, and someone else is looking at controller hours. All three can sound credible, and all three can be measuring different things.


If you want utilization to be decision-grade (capacity planning, staffing, quoting confidence), the fix isn’t a prettier dashboard. It’s a simple ratio with explicit rules for what counts in the numerator and denominator—then applying those rules the same way across machines and shifts.


TL;DR — how to calculate machine utilization

  • Use one equation: (measured run time ÷ scheduled time) × 100.

  • Scheduled time is the time you expected the machine to be available to make parts (by shift plan), not “time it had a job on the router.”

  • Run time should come from the controller/machine state (cycle running/spindle-on proxy), not operator presence.

  • Don’t exclude normal friction (setups, waiting, offsets, inspection holds) if you staffed the machine to produce.

  • Roll up by summing hours first, then calculating utilization—avoid averaging daily percentages.

  • Overtime can lower utilization if it expands scheduled hours without increasing run time.

  • Treat utilization as a capacity-usage signal; it won’t tell you quality, cycle efficiency, or profitability.


Key takeaway Utilization is only trustworthy when “scheduled time” and “run time” are defined once and applied consistently. That consistency exposes the ERP-versus-reality gap: where a machine is scheduled and feels busy, but measured running time shows hidden idle windows and stop patterns that quietly consume capacity—often differently by shift.


The utilization formula (and the two numbers you must define)

The core equation is straightforward:


Machine Utilization % = (Uptime or Run Time ÷ Scheduled Time) × 100


The hard part is not the division—it’s committing to definitions you can defend on a whiteboard and audit shift-to-shift.


Scheduled time is the time the machine is expected to be available to run work. In a CNC job shop, that’s usually your shift plan (for example, two shifts scheduled means the machine is “available” for 16 hours), not the time it happened to have a work order assigned in an ERP.


Uptime/run time should reflect a controller- or automation-reported running state—something grounded in what the machine actually did. It is not “operator was there,” and it is not “machine had a job queued.” If your numbers come primarily from notes, rounding, or memory, utilization will usually drift upward over time.


Non-negotiable rule: pick your definitions once, document them, and apply them the same way across machines and shifts. If you’re already relying on operators to record stops and run windows by hand, it’s worth understanding where that breaks down with manual operations tracking before you treat the metric as “true.”


What counts as scheduled time (and what you may exclude)

Scheduled time is the planned available hours for a machine. If you run two 8-hour shifts, the basic scheduled time for that day is 16 hours. This is the denominator that keeps utilization honest: it answers, “How much of the time we expected the machine to be available did it actually run?”


You may exclude certain blocks, but only if you make them explicit and apply them consistently. Common planned exclusions include:


  • A planned preventive maintenance window that is truly scheduled and communicated

  • A company-wide meeting that stops production across the board

  • A planned holiday shutdown (where no one expected parts to ship)


What you should not do is quietly remove normal production friction—setups, waiting on material, waiting on a program revision, offsets, in-process inspection holds—when the machine was staffed and expected to produce. That’s “denominator games,” and it creates the exact ERP-versus-actual gap that makes capacity feel bigger than it is.


Rule of thumb: if you staffed it and expected parts, it belongs in scheduled time. Utilization is most useful when it forces you to face leakage rather than redefine it away.


What counts as uptime/run time (and common numerator mistakes)

The numerator is where most “machine was running all night” myths come from. The cleanest approach is to use a controller-derived running signal and stick to it across your fleet. Examples include:


  • Cycle running time (often the closest proxy for real production running)

  • Spindle-on time (useful, but can include non-cutting behavior depending on process)

  • A defined “running state” from an automation feed (if it maps clearly to your process)


Common numerator mistakes are predictable:


Counting idle as run time. Idle, stopped, alarm, and waiting states are not uptime—even if an operator is standing at the control or the door is open with “something happening.” If you want to expose lost capacity, you need a consistent definition of “running” and a separate way to review stops (for example, with machine downtime tracking).


Letting “warm-up and prove-out” float. Warm-up cycles and first-part prove-outs are real machine activity. Decide your policy: if it’s part of scheduled production (and you planned to do it on that shift), you may count it as run time. If you exclude it, do so intentionally and consistently, not ad hoc because a day “looked bad.”


Ignoring micro-stops. A night shift operator might honestly report “it ran most of the night,” while the controller shows frequent short pauses plus a couple long idle windows. Those small interruptions add up over a week and are nearly impossible to capture accurately with manual rounding. This is why near-real-time machine state capture is the cleanest path away from memory-based reporting and toward auditable utilization (see a practical overview of machine monitoring systems).


Worked example: single machine, one day (step-by-step)

Scenario: a two-shift CNC mill is scheduled for 16 hours/day. The floor feels busy—setups are happening, parts are moving, and the machine rarely sits with the doors closed for long. But first-article approvals, prove-outs, and waiting on material are mixed into the day.


Step 1: Define scheduled time. Scheduled time = 2 shifts × 8.0 hours = 16.0 hours.


Step 2: Get measured run time. The controller “cycle running” total for the day = 11.6 hours.


Step 3: Do the math. Utilization = (11.6 ÷ 16.0) × 100 Utilization = 0.725 × 100 = 72.5%


Step 4: Account for the “missing” time in realistic buckets. The non-running portion is 16.0 − 11.6 = 4.4 hours. That can be completely normal in a job shop, but it should be visible. For this kind of day, the drivers often look like: setups and tool touch-offs, program prove-out/first-part, waiting on first-article approval, waiting on material, offset edits, and short stoppages that nobody bothers to write down because they’re “only a few minutes.”


Decision support: 72.5% utilization tells you there is capacity leakage inside the scheduled window. Before you add capital or permanently add a shift, you can ask a sharper question: are those 4.4 hours mostly unavoidable (true mix complexity), or are they fixable patterns (approval delays, material staging, program release timing) that recur on this machine or shift?


Weekly rollup: multiple shifts and overtime without distorting the metric


Daily utilization is useful for a quick read, but most planning decisions happen weekly. The key rule is: roll up by summing time, not by averaging percentages. Otherwise, short days and long days get weighted the same, and you end up with an “average of averages” that doesn’t reflect reality.


Spreadsheet-ready method:

Day / Period

Scheduled Time (hrs)

Typical Range (hrs)

Measured Run Time Used (hrs)

Period Utilization (%)

Mon–Fri (Combined, 5 days)

80.0

55.0–62.5

58.0

72.5%

Saturday Overtime Block

8.0

2.0–4.0

3.0

37.5%

Weekly Total

88.0

61.0

69.3%

Weekly totals: Total scheduled = 80.0 + 8.0 = 88.0 hours Total run time = 58.0 + 3.0 = 61.0 hours Weekly utilization = (61.0 ÷ 88.0) × 100 = 69.3%


This directly addresses a common management question: “We scheduled Saturday—did it help?” In this scenario, the overtime block increased scheduled time more than it increased run time, so utilization dipped. That doesn’t automatically mean Saturday was “bad,” but it does mean you expanded the denominator without recovering proportional cutting time—often because material, programs, first-article approvals, or inspection staffing weren’t aligned to support weekend flow.


For shift-level comparisons, use the same approach: compute each shift’s utilization as (shift run time ÷ shift scheduled time) × 100, then compare apples-to-apples. If one shift consistently reports “running most of the night” but the controller shows long idle windows and frequent brief pauses, the utilization math is what reconciles perception versus measured uptime.


Interpretation: what a utilization number can and cannot tell you

Utilization is a time-based capacity usage metric. It tells you how much of the scheduled window became actual running time. It does not tell you whether the cycle was efficient, whether parts were good, or whether the work was profitable. Keep it clean: the value of utilization is that it’s auditable and comparable, not that it’s “the only KPI you need.”


Two practical cautions help keep it decision-grade:


  • High utilization can still hide problems. A machine can be “running” while cycles are longer than they should be, rework is creeping up, or the mix is forcing inefficient toolpaths. Utilization won’t diagnose that—it simply tells you the machine time is being consumed.

  • Low utilization can be strategic. Prototype work, constrained upstream operations, or deliberate scheduling gaps can reduce utilization without indicating poor execution. The point is to make the tradeoff visible and intentional.


Where utilization shines is in exposing leakage—where scheduled time is being consumed by waiting, approvals, changeovers, and stop patterns that rarely make it into ERP notes accurately. That’s why many shops pair a simple utilization calculation with a consistent way to review stops and idle windows. If your next question is “where did the hours go,” start from the same definitions and extend into a structured view of machine utilization tracking software rather than trying to reconcile handwritten logs across shifts.


A practical cadence that works in multi-shift shops is: a daily glance for anomalies (a machine that “should be fine” but isn’t running) and a weekly review that ties utilization back to a short list of repeatable loss categories. If you want help interpreting what the controller states are implying without turning it into an analyst project, an AI Production Assistant can be a useful way to translate patterns into the next operational question—without changing the underlying math.


If you’re evaluating how to operationalize this in a mixed fleet (newer controls plus older machines) and want cost context without chasing line-item numbers in a meeting, start with your internal rules for scheduled time and run time, then review implementation expectations and packaging on the pricing page.


When you’re ready for a quick diagnostic conversation, the fastest path is to walk through one machine for one week: what you consider “scheduled,” what you consider “running,” and what the controller states show by shift. From there, it’s clear whether you’re dealing with a real capacity constraint or recoverable time loss inside the hours you already pay for. You can schedule a demo to see how that audit looks with near-real-time data—without changing your definitions.

Machine Tracking helps manufacturers understand what’s really happening on the shop floor—in real time. Our simple, plug-and-play devices connect to any machine and track uptime, downtime, and production without relying on manual data entry or complex systems.

 

From small job shops to growing production facilities, teams use Machine Tracking to spot lost time, improve utilization, and make better decisions during the shift—not after the fact.

At Machine Tracking, our DNA is to help manufacturing thrive in the U.S.

Matt Ulepic

Matt Ulepic

bottom of page