top of page

How to Calculate Machine Availability (CNC Shops)


How to calculate machine availability

How to Calculate Machine Availability (CNC Shops)

Most CNC shops don’t have an “availability problem”—they have an availability definition problem. The number looks precise in a spreadsheet or ERP report, but the math breaks as soon as one shift counts warm-up as planned time, another shift buries it in downtime, and a third shift never logs it at all.


This matters because availability is a readiness metric: when the machine was scheduled to run, was it actually capable of running? If your denominators drift by shift or by machine, you’ll “prove” the wrong bottleneck, push overflow work to the wrong asset, or justify capital spend before recovering the hidden time you already own. (This sits inside the broader discipline of machine utilization tracking software, but availability has to stand on its own definition.)


TL;DR — how to calculate machine availability

  • Availability answers one question: during scheduled time, was the machine capable of running?

  • Lock your time buckets first: Scheduled Time, Planned Downtime, Unplanned Downtime.

  • Option A (recommended): Availability = Operating Time / Planned Production Time.

  • Planned Production Time = Scheduled Time − Planned Downtime (if you carve planned out).

  • Operating Time = Planned Production Time − Unplanned Downtime.

  • Don’t mix denominator options across machines or shifts, or comparisons become misleading.

  • Classify “waiting” (material/program/inspection holds) with a written rule so it doesn’t silently inflate availability.


Key takeaway Availability only becomes a decision-grade metric when every shift uses the same denominator and the same planned/unplanned rules. Once that’s stable, you can see where time actually goes (by machine and by shift), separate readiness losses from utilization losses, and recover capacity before adding machines or overtime.


Start with the only question availability answers


Machine availability measures a simple concept: when the machine was scheduled to run, was it actually capable of running? That’s it. It’s time-based readiness, not a proxy for output, profitability, or even “spindle time.”


Used correctly, availability supports practical decisions like:

  • Staffing and coverage: whether the schedule you post is realistic for each shift.

  • Downtime focus: which machines are losing the most scheduled time to breakdowns, response delays, or missing operators.

  • Capacity assumptions: a defendable “how much time is truly available to run” baseline before quoting or reshuffling work.


Shops confuse availability with utilization because both touch the same time sources (shift schedules and machine states). But they answer different questions. Availability is about whether the machine was ready when you planned for it to be ready. Utilization is about whether it actually ran during time it could have run. Keep that separation now, and your later numbers won’t fight each other.


Define your time buckets (this is where most shops break the math)


Before you touch a formula, write down time buckets that a supervisor can apply consistently at 2:00 p.m. on day shift and 2:00 a.m. on night shift. Availability falls apart when the same event lands in different buckets depending on who is logging it—or when the ERP schedule is treated as reality.


Scheduled Time

Scheduled Time is the time the machine is expected to be available for production under your shift plan. In a multi-shift shop, that means the real schedule, not the “8 hours on the calendar” assumption. Example: a 2-shift CNC mill might show two 8-hour shifts in the ERP, but day shift loses time to a daily meeting and warm-up, while night shift has delayed startups and staggered breaks. If you don’t reflect those realities, your denominator drifts by shift and your comparisons become noise.


Planned Downtime

Planned Downtime includes breaks, planned maintenance, meetings, mandated warm-up, and any planned “non-production” time you want carved out. The key is not what you choose—it’s that you choose once and stay consistent. If you exclude planned maintenance on one machine but include it on another, you’ll make the wrong call when deciding where to push overflow work because one asset’s availability is artificially protected while another’s is penalized.


Unplanned Downtime

Unplanned Downtime is time you intended to run but couldn’t: faults, crashes, unexpected tool or workholding failures, operator absent when coverage was scheduled, or waiting on maintenance response. This is the bucket that availability is supposed to expose clearly—because it’s recoverable time loss that changes staffing, maintenance response, and scheduling decisions.


Waiting vs downtime (be explicit)

“Waiting” is where shops accidentally turn availability into a subjective opinion. Consider a turning cell where the machine is powered on but waiting on first-article approval, material, or a program revision. Is that downtime? Or is it “available but not utilized”? Either can be defensible, but only if your rule is written and applied the same way every time. If you classify all waiting as downtime, availability may look worse but you’ll highlight scheduling/material/engineering constraints. If you classify waiting as available time, availability looks better but utilization will reveal the queue and workflow issues. Pick the rule that matches how you want to manage the constraint—then enforce it.

Rule to live by: the same event must map to the same bucket every time, regardless of machine, shift, or who is logging it.


The availability formula (with two valid denominator options)

There are two valid ways to calculate availability. The wrong way is mixing them across machines or shifts. Below are both options—choose one, document it, and keep it stable.


Option A (recommended): Availability = Operating Time / Planned Production Time

This is common in OEE contexts, but you’re using it here strictly for availability clarity.

  • Planned Production Time = Scheduled Time − Planned Downtime (if you carve planned downtime out)

  • Operating Time = Planned Production Time − Unplanned Downtime

  • Availability = Operating Time ÷ Planned Production Time

Option A tends to produce the cleanest operational conversations because planned items (breaks, meetings, planned maintenance) don’t get argued about inside the availability score. You’ve already carved them out—consistently.


Option B (schedule-truthing): Availability = (Scheduled Time − Total Downtime) / Scheduled Time

Option B can work if (and only if) you intentionally include planned downtime as downtime for every machine and every shift.

  • Total Downtime = Planned Downtime + Unplanned Downtime

  • Availability = (Scheduled Time − Total Downtime) ÷ Scheduled Time

Non-negotiable: don’t report Option A on some machines and Option B on others, or you’ll create artificial “good” and “bad” performers based purely on accounting choices.


Worked example: one machine, one shift (clean math you can audit)


Here’s a single-shift example you can hand-check. Assume you’re using Option A (recommended).

Machine: Vertical mill (day shift) Shift length (Scheduled Time): 8 hours = 480 minutes Planned Downtime: 10-minute stand-up + two 15-minute breaks = 40 minutes Unplanned downtime events logged:

  • Tool setter issue + troubleshooting: 25 minutes

  • Coolant alarm, maintenance response: 30 minutes

  • Operator pulled to another machine (coverage gap during scheduled run time): 20 minutes

Step 1: Planned Production Time 480 − 40 = 440 minutes

Step 2: Total Unplanned Downtime 25 + 30 + 20 = 75 minutes

Step 3: Operating Time 440 − 75 = 365 minutes

Step 4: Availability (Option A) 365 ÷ 440 = 0.830… → 83.0% availability


Notice what this does not claim: it doesn’t say anything about parts produced, cycle efficiency, or whether the machine “ran hard.” It only tells you that the biggest availability hits came from maintenance response and coverage gaps—two issues you fix differently than programming throughput or setup time. If you’re using a structured approach to machine downtime tracking, this is the level of time arithmetic your logs should support.


Where availability gets inflated or deflated (and how to prevent it)

If your availability number is “too good to argue with” or “too bad to believe,” the root cause is usually classification, not reality. Here are the failure modes that create false confidence and hide utilization leakage.


1) Denominator drift across shifts

Scenario: a 2-shift CNC mill where day shift has consistent operator coverage and night shift has delayed startups. The ERP shows both shifts as 8 hours, but day shift includes a daily meeting and warm-up, and night shift runs staggered breaks with a late handoff. If your report assumes identical scheduled time, day vs. night availability comparisons become misleading—because you aren’t comparing the same denominator.


2) Planned downtime inconsistency (the overflow-work trap)

Scenario: you exclude planned maintenance on one machine (carved out of Planned Production Time) but include it as downtime on another. Machine A will look more available than Machine B even if the unplanned problems are identical. When you’re deciding where to push overflow work, that inconsistency pushes load toward the wrong asset and creates avoidable expediting.


3) ERP schedule vs. shop reality (operator not assigned)

If the machine is scheduled but no operator is actually assigned, decide the rule: is it unplanned downtime (coverage gap) or is Scheduled Time wrong? Either answer can be workable, but you must be consistent. The bigger point: treating the ERP schedule as “truth” hides where time actually goes—especially by shift.


4) State ambiguity: powered on but idle

“Idle” isn’t automatically downtime or operating time. In that turning-cell situation (waiting on first-article approval, material, or a program revision), the machine can be perfectly capable of running but blocked by workflow. If you shove all waiting into downtime, you might overstate availability losses; if you label it all as operating, you’ll overstate readiness. The fix is a written definition for waiting states and a consistent mapping.


A simple enforcement routine (no BI project required)

Keep it lightweight: create a one-page event-to-bucket mapping table (break, meeting, warm-up, waiting on material, waiting on inspection, fault, maintenance response, no operator, etc.). Then do a weekly audit of 10 logged events across two shifts: check the duration, the bucket, and whether the same scenario was classified the same way. That’s usually enough to stop metric drift before it becomes “KPI wallpaper.”


If you’re considering automation later, start by understanding what a system considers a “state” and how you’ll standardize it across a mixed fleet. A light overview is here: machine monitoring systems.


Availability vs utilization: the fast way to keep them from getting mixed up


Here’s the practical separation that prevents bad meetings:

  • Availability answers: was it ready when scheduled?

  • Utilization answers: did it actually run (productive cycle or commanded run) during time it could have run?


A machine can show high availability and still have low utilization when the constraint is upstream: material not staged, program revision in progress, inspection backlog, or no job queued. That turning-cell “powered on but waiting” scenario is exactly why these metrics must stay separate—otherwise you’ll blame maintenance for a planning or engineering block.


The reverse happens too: a low availability machine can look “busy” because when it’s up, it runs hard and dominates attention. Availability keeps you honest about how much scheduled time you’re actually losing to breakdowns, response delays, or coverage gaps. Utilization tells you whether the available time is being converted into run time. (If you need the utilization denominator and run-time definition, keep it separate and use a dedicated guide like machine utilization tracking software as a starting point for the broader framework.)


Operational takeaway: fix availability losses with maintenance response, reliability work, and coverage planning; fix utilization losses with scheduling, staging, programming flow, and queue discipline. Different problems, different owners.


How to use the number in a multi-shift shop (without turning it into a dashboard project)


Once availability is defined consistently, its value is speed: faster staffing calls, faster schedule adjustments, and faster “can we quote this?” reality checks—without arguing over whose spreadsheet is right.


Report by shift and by machine family

Don’t stop at an overall average. In a 10–50 machine shop, the shift-to-shift gap is often where the actionable truth lives (delayed startups, handoff losses, coverage gaps). Break availability out by shift and by machine family (mills, lathes, cells) so you can see patterns without drowning in machine-level noise.


Track top downtime reasons weekly (minutes, not counts)

Use minutes as the management unit. Pick the top 3 unplanned downtime reasons impacting availability each week and review them with maintenance/ops. Counts can mislead (many small events vs one long response delay). Minutes keep the focus on recoverable scheduled time. If your reason codes are inconsistent, the availability score will look stable while the underlying causes churn—one reason structured tracking matters.


Stabilize definitions for 2–4 weeks before setting targets

Targets on top of unstable definitions create gaming and frustration. Lock the mapping table, run it consistently for a few weeks, and audit classification drift. Then set expectations once the number is defendable across shifts.


Use availability as a quick capacity sanity check before quoting

When a hot job comes in, availability helps you avoid two expensive mistakes: assuming the schedule is real when it isn’t, and adding machines or overtime before fixing the time losses already present. If a machine family’s availability is being hit by maintenance response delays or coverage gaps, your “paper capacity” is inflated and your quoting risk is higher.


When to graduate to deeper analysis

Once availability is trustworthy, then it makes sense to go deeper into utilization (and eventually OEE if your environment supports it). Until then, expanding the metric stack just multiplies inconsistent denominators. If you want help interpreting patterns once your event mapping is stable—especially “idle vs waiting vs down” debates—an assistive layer like an AI Production Assistant can be useful for summarizing shifts and surfacing recurring classifications to review, without turning it into a corporate analytics build.


If you’re still collecting downtime and shift notes manually, that can work at small scale—but it tends to break once you’re running multiple shifts and the owner or plant manager can’t watch every pacer machine by sight. The scalable evolution is consistent state capture plus simple audits, not a complicated dashboard rollout.


Implementation and cost questions usually come down to effort and consistency more than “features.” If you’re evaluating what it takes to roll out tracking across a mixed fleet (including legacy equipment) and want straightforward cost framing without hunting through a proposal, start here: pricing.


If you want to pressure-test your time buckets and availability math against your real shift pattern (meetings, warm-up, staggered breaks, delayed startups) and see what the number looks like when it’s sourced from actual machine behavior—not just the ERP schedule—you can schedule a demo. The goal is a clean, defendable availability definition you can run with—before you make bigger staffing, scheduling, or capital decisions.

FAQ

bottom of page