top of page

Machine Availability Calculation (CNC Shop Formula + Examples)


Machine Availability Calculation

Machine Availability Calculation: a CNC Shop Formula You Can Actually Enforce


Most CNC job shops don’t have an “availability problem”—they have a definition problem. The number in the ERP (or on a whiteboard) often blends together breakdowns, setup, waiting on material, waiting on a program, and “we were busy” into one bucket called downtime. That makes availability look worse than it is, hides where time is actually leaking, and turns scheduling and maintenance into the same argument every week.


A usable machine availability calculation is simple time accounting based on machine states: during the time you scheduled production, how much time was the machine truly not capable of running due to a fault or failure? Then, separately, how much time did it actually run parts? Keeping those two answers distinct is what makes the metric operationally useful across shifts and across a mixed fleet.


TL;DR — Machine availability calculation

  • Pick one accounting window (shift/day/week) and never mix them in the same report.

  • Define Scheduled Production Time (SPT) explicitly (scheduled hours, not “power-on”).

  • Decide which planned stops are excluded by policy (breaks, meetings, PM, warm-up).

  • Availability only subtracts true down states (faulted/broken/intervention required).

  • Track “available but not running” (idle/ready, waiting) separately to avoid mislabeling.

  • Same availability can hide very different utilization; that’s a dispatching/material problem, not maintenance.

  • Audit one pacer machine for one week with the same definitions across shifts.


Key takeaway Availability is a strict “could it have run?” metric based on scheduled time minus true down states. If you treat waiting on programs, QA holds, or material shortages as downtime, you’ll understate capacity and send maintenance after problems that belong to scheduling, engineering, or material flow. Separate down from available-but-idle, and shift-level conversations get faster and more accurate.


What you need before you calculate availability (the minimum time buckets)


Start by locking down the accounting window. Choose per shift, per day, or per week and stick to it. Multi-shift shops get into trouble when first shift reports daily, second shift reports by shift, and the week gets “normalized” in a spreadsheet. Availability only means something when the denominator is consistent.


Next, decide whether you’re using calendar time (24 hours) or scheduled time (what you planned to run). For capacity and quoting conversations, scheduled time is usually the only denominator that stays comparable across machines that run different schedules. Whatever you choose, write it down as policy.


Then define planned stops up front. Typical planned-stop buckets in CNC job shops include breaks, shift meetings, tool crib runs, warm-up routines, first-article process steps, and preventive maintenance windows. The key decision is not what’s “ideal,” but what your shop will consistently exclude (or include) in the availability denominator. If setup/changeover is treated as planned, treat it that way across shifts and across the same machine family.


Define unplanned downtime narrowly: faulted states, crashes, maintenance calls, component failures, tooling failures that require intervention before the next part can be produced, or anything where the machine is not capable/ready to run. This is the bucket that reduces availability.


Finally, introduce one state that prevents most arguments: available but not running. These are “idle/ready” conditions—waiting on operator, waiting on material, waiting on a program, waiting on QA approval, waiting on a forklift—where the machine is technically capable. If you don’t separate this from “down,” you’ll inflate downtime and confuse the ownership of the problem. If you want a deeper read on how shops define and capture down states, see machine downtime tracking.


Step-by-step: machine availability calculation (with a worked example)


The repeatable procedure is straightforward. The only “hard” part is agreeing on the time buckets so everyone is subtracting the same things.


Step 1: Start with Scheduled Production Time (SPT). This is the time you intended the machine to be available for production in your selected window (e.g., one 10-hour shift).


Step 2: Decide how to treat Planned Stop Time (PST). Some shops calculate availability against SPT as scheduled (breaks included). Others subtract planned stops first and calculate against “net scheduled time.” Either can work—what matters is being explicit and consistent. In this article, we’ll show both, but we’ll keep the primary formula anchored to SPT to avoid shifting denominators from week to week.


Step 3: Subtract Unplanned Downtime Time (UDT). Only include events where the machine is truly not capable: alarms that stop production, breakdowns, crashes, maintenance intervention, etc.

Formula (common variant): Availability = (SPT − UDT) / SPT

Optional policy variant (if you exclude planned stops from the denominator): Availability = (SPT − PST − UDT) / (SPT − PST)

Now a working example using one machine on a 10-hour shift (600 minutes). Assume your shop counts breaks and a short warm-up as planned stops, but only UDT reduces availability.


Time bucket (10-hour shift)

Minutes

How it’s treated for availability

Scheduled Production Time (SPT)

600

Denominator

Planned stops: breaks + shift meeting

40–60 (assume 50)

Policy decision (PST)

Planned stop: warm-up / offsets check

10–20 (assume 15)

Policy decision (PST)

Unplanned downtime event 1: spindle alarm maintenance called

20

UDT (reduces availability)

Unplanned downtime event 2: toolchanger fault reset + intervention

35

UDT (reduces availability)

Unplanned downtime event 3: coolant pump issue

25

UDT (reduces availability)


Total UDT = 20 + 35 + 25 = 80 minutes.


Availability (SPT-based): (600 − 80) / 600 = 520 / 600 = 86.7% (rounded)

If your policy is to exclude planned stops from the denominator, first calculate PST. Using the assumptions above: PST = 50 + 15 = 65 minutes. Then:


Availability (net scheduled variant): (600 − 65 − 80) / (600 − 65) = 455 / 535 = 85.0% (rounded)

Notice the practical point: your availability number moves based on policy, not reality. That’s why writing down the denominator rules is part of the “calculation.” If you’re collecting machine states automatically across a mixed fleet, the definition work becomes far easier to enforce than relying on manual notes in travelers or ERP comments. For background on how shops structure machine-state capture, see machine monitoring systems.


Availability vs utilization: the machine-state difference that changes decisions


Availability answers: during scheduled time, was the machine capable/ready (not down) to run? That means alarms cleared, no breakdown preventing operation, and no required maintenance intervention keeping it from producing.


Utilization answers: how much of that scheduled time was actually spent running (cycle/feed/spindle on) versus not running. The biggest leak in many shops isn’t breakdown time—it’s the “ready but waiting” time that never gets consistently counted.


A useful way to think in machine states:

  • Down states (reduce availability): faulted, breakdown, maintenance intervention, crash recovery, component failure, tooling failure that blocks the next part.

  • Running states (drive utilization): cutting, feeding, cycle running, automatic cycle.

  • Available-but-not-running states (do not reduce availability, but hurt utilization): idle/ready, waiting on operator, waiting on material, waiting on program approval, waiting on inspection, waiting on fixture, blocked by downstream process.


This is where the ERP vs. actual machine behavior gap shows up. ERP run times can look “on track,” while the machine itself spends meaningful chunks of scheduled time in idle/ready states that never appear as downtime because nobody wants to stop and write it down.

Here’s the proof that the metrics answer different questions: two weeks (or two machines) can have the same availability but very different utilization. Using the earlier example, availability was 86.7% (SPT-based) because UDT was 80 minutes.


Now compare two utilization outcomes during the remaining 520 minutes of “not down” time:

Same shift, same availability inputs


Case A

Case B

SPT

600 min

600 min

UDT (down)

80 min

80 min

Availability

86.70%

86.70%

Running (cycle) time (hypothetical)

420 min

260 min

Available-but-idle time (hypothetical)

100 min

260 min


Both cases have identical availability because breakdown time is identical. But Case B has far more “ready and waiting” time, which points to dispatching, staffing, material staging, program release, or inspection flow—not a maintenance reliability issue. If you want the broader framework for converting these machine states into capacity decisions, see machine utilization tracking software.


Two quick scenarios that look like ‘downtime’ but aren’t (and how to classify them)


Misclassification is the fastest way to make availability meaningless. If second shift calls everything “down,” first shift starts discounting the report, and you lose the ability to compare machines or shifts.


Scenario 1: “The machine was down for 2 hours” (but it was waiting on a program approval + first-article inspection). If the machine is powered, not faulted, and technically ready to run once it receives the approved program or QA sign-off, that time should be classified as available-but-idle, not UDT. Availability stays higher because the machine wasn’t broken; utilization drops because it didn’t cut parts. Operationally, this shifts ownership from maintenance to engineering release and the first-article/inspection workflow.


Scenario 2: lights-out window, machine is “ready” but runs no parts because the bar feeder is empty (material shortage). In this case, the machine is still capable. Availability remains high for that window because there is no down event to subtract. Utilization, however, falls because the machine never enters a running state. This is exactly the pattern that gets missed when you rely on manual logs—nobody is there to write “no bar stock” at 2:00 a.m., but the lost capacity shows up in the morning schedule.


A simple decision rule when the machine is stopped: if it’s faulted or cannot produce without intervention, it’s down (UDT). If it’s ready but blocked/starved/waiting (program, QA, material, operator), keep it out of UDT and track it as idle/ready. Consistency across shifts matters more than perfection on day one—because you need the trend to be trusted before anyone changes behavior.


Common calculation traps in CNC job shops (and the operational fix)


Trap: using “power on” time as scheduled time. Power-on includes warm-up habits, operator preferences, and lights-out periods that may not be scheduled production. If you use it as the denominator, availability becomes a moving target and comparisons across machines get distorted.


Trap: counting setup/changeover as downtime without a written policy. Setup is real time, and it affects capacity, quoting, and staffing. But if it’s sometimes “downtime” and sometimes “normal work,” your downtime number becomes political. Decide whether setup is planned (and how you treat it in the denominator), and keep it consistent by machine family.


Trap: letting ERP run times stand in for machine time. Travelers and ERP timestamps rarely capture idle/ready periods, short stops, blocked/starved time, or shift-to-shift differences in how notes are entered. That gap is why shops feel slammed while output lags—because the “missing time” isn’t visible in the system of record.


Trap: mixing planned maintenance with unplanned downtime. When PM is counted as unplanned down, maintenance looks worse than reality and operators lose faith in the metric. Keep planned windows separate so true reliability issues stand out.


Operational fix: publish a one-page definition sheet (SPT, PST, UDT, idle/ready examples) and audit one pacer machine for one week. Do a short daily check with both shifts to resolve classification disagreements while the events are still fresh. This is also where manual methods start to hit their limit: as soon as you try to scale beyond a couple of machines, consistent state capture becomes a discipline problem. Automation is the scalable evolution—especially when you need to cover legacy controls without leaning on corporate IT overhead.


How to use availability once you have it (without turning it into a vanity KPI)


Availability becomes useful when it drives the right conversations. Use it to validate true reliability issues: if a machine’s UDT is trending up, maintenance response, parts availability, and recurring failure modes deserve attention. That’s a different meeting than “why didn’t we make the schedule?”


Separately, use utilization to find dispatching, staffing, and material constraints. If availability is stable but output is not, the issue is usually time spent in idle/ready states (waiting on operator, waiting on material, waiting on program release, inspection holds). That’s utilization leakage, and it’s where capacity is typically recovered before you consider capital spend.


A practical cadence in multi-shift shops is: a short per-shift review for exceptions (what went down, what was blocked), plus a weekly trend review by machine family. Pair two numbers: availability and available-but-idle time. When everyone agrees on definitions, daily decisions get faster because ownership is clearer: maintenance owns down states; scheduling/material/program dispatch own idle/ready constraints.


For action thresholds, use examples that route work rather than punish teams. For instance: recurring UDT events trigger a maintenance review; recurring idle/ready blocks tied to “waiting on program approval” trigger an engineering release process change; recurring “no material/empty feeder” during lights-out triggers kitting and staging changes. If you want help interpreting machine-state patterns without turning it into a blame exercise, an AI Production Assistant can be a practical way to standardize how exceptions are summarized for shift handoff.


If you’re moving from manual collection to automated machine-state capture, keep implementation considerations operational: can you apply the same definitions across modern and legacy equipment, across shifts, with minimal IT friction? Also be clear on total rollout cost drivers (machine count, shifts, and who owns daily review) rather than chasing a “cheap sensor” mindset. If you need a simple framing for what affects cost without digging into numbers, review pricing to align expectations with how shops typically scope deployments.


If you want to sanity-check your current availability math against machine states—and separate true downtime from “ready but waiting” so you can recover capacity before buying another machine—bring one week of shift schedules and your top three “down” stories. We’ll walk through the time buckets and definitions with you and show what your availability and utilization are actually saying. schedule a demo.

FAQ

bottom of page