top of page

Track Machine Uptime in CNC Shops (Without Bad Data)


Learn how to track machine uptime with clear CNC definitions, time buckets, and reason codes so you can expose utilization leakage and recover capacity

How to Track Machine Uptime in a CNC Shop (and Actually Use It)

Most CNC shops don’t have an uptime problem—they have a definition problem. “The machine was up all shift” often means “it was powered on,” “the control was enabled,” or “it wasn’t in a breakdown.” Meanwhile, parts shipped don’t match what the ERP plan implied, and capacity still feels tight.


Tracking machine uptime only helps when it’s consistent enough to compare shifts and machines, and specific enough to show where productive time disappears between “available,” “running,” and “making good parts.” That’s the gap that drives real decisions—staffing, staging, changeover sequencing—before you even think about overtime or another machine.


TL;DR — Track machine uptime

  • Define uptime for ops as “cycle running” (not “powered on”), then keep supporting states for context.

  • Always frame uptime inside scheduled time, or shift-to-shift comparisons turn into arguments.

  • Use a time waterfall: Scheduled → Available → Running → Cutting → Good parts to find where time leaks.

  • Two machines can show similar running time but different output if one is stuck in prove-out, inspection loops, or micro-stops.

  • Start with manual logs only if you can enforce definitions and audit weekly; otherwise garbage data wins.

  • Keep reason codes small (8–15) and decision-oriented; prune “Other” aggressively.

  • Weekly review should produce: top loss buckets, shift deltas, and one controllable target for next week.

Key takeaway If “uptime” isn’t tied to machine states and consistent shift boundaries, it will overstate capacity and hide where time is lost inside “available” hours—especially in setup, waiting, and short stops. Track uptime as a baseline signal, then use a small set of loss categories to expose utilization leakage by machine and by shift so you can recover capacity before adding overtime or equipment.


What “machine uptime” should mean in a CNC shop (so it’s usable)

In CNC, the word “uptime” gets overloaded. For operational decisions, you need a definition that aligns with how work actually flows through setups, prove-outs, and cycle execution. A practical way to do that is to separate machine states that often get lumped together as “up.”


At minimum, distinguish these layers:


  • Powered on: electricity is on; tells you little about production capacity.

  • Control ready / enabled: the machine could run, but may be waiting on material, tools, or an operator.

  • Cycle running: the control is executing a program (a reliable baseline for “uptime” in most shops).

  • In cut: actually cutting, not just moving/positioning (useful, but not always easy to capture consistently).

  • Producing good parts: cycles that result in accepted parts, not scrap, rework, or first-article loops.

Why not just track “uptime” as “machine on”? Because it hides the exact losses you’re trying to manage: setup time that expands across a shift, waiting on material during second shift, short stops that don’t feel like downtime, or first-article/inspection loops that keep the machine “busy” but not productive.


A good default for ops is: Primary uptime = cycle running time, supported by a few surrounding states (ready, stopped, alarm) so you can explain why running time is low. Most importantly, always anchor the discussion to scheduled time: what hours the machine was planned to be available (by shift, by day). Scheduled time is the frame that prevents “we ran it all day” from becoming a moving target.


If you want a broader overview of how shops typically structure monitoring beyond just uptime, see machine monitoring systems—then come back to keep your uptime definitions grounded in shop decisions.


The uptime-to-utilization chain: how uptime exposes utilization leakage

Uptime is only useful when it feeds a utilization conversation: where did the scheduled hours go, and what portion turned into acceptable output? The simplest mental model is a time waterfall. You don’t need a complicated KPI program—you need a consistent set of buckets you can defend in a meeting.


Time bucket

What it means

What it helps you decide

Scheduled

Planned production hours for that machine/shift

Capacity planning, shift coverage, where “tight capacity” is coming from

Available

Scheduled minus planned downtime (meetings, planned maintenance windows)

Whether losses are operational vs. intentionally planned

Running (uptime)

Cycle running time (program executing)

Where machines are starved or stalled despite being “ready”

Cutting

Actual cutting/engagement time (when measurable)

Process tuning vs. scheduling/staffing problems

Good parts

Time that results in accepted parts

Quality loops, first-article behavior, inspection timing, rework drivers

This chain highlights utilization leakage: time that looks like capacity on paper but doesn’t become output. In CNC, common leakage points include changeovers, program prove-out, waiting on material or tools, inspection/first-article loops, offset adjustments, and small interruptions that never get recorded as “downtime.”


This is also why two machines (or two shifts on the same machine) can show similar “uptime” and still ship very different numbers of parts. One may run long, stable jobs; the other may be cycling but repeatedly pausing for gauging, chasing offsets, or dealing with kitting problems that show up as short stops and waiting. The management output you want isn’t “a better uptime number.” It’s a ranked list of the largest loss buckets that explain the gap between schedule and good parts.


When you’re ready to connect this to broader capacity recovery (without turning it into KPI theater), the next step is typically machine utilization tracking software—because it keeps the same time logic but makes it scalable across 20–50 machines and multiple shifts.


How to track machine uptime: three levels of rigor (without boiling the ocean)

There’s no single “right” way to track uptime. The right level is the one your shop can run consistently across shifts without turning data entry into a second job. Think of it as a maturity path: start where you can enforce definitions, then automate the parts humans will always struggle to do reliably.


Level 1 (manual): shift log + consistent definitions

At Level 1, each machine (or cell) gets a simple shift log: scheduled hours, estimated running time, and the top reasons it wasn’t running. This can work for a small shop or a short diagnostic sprint when a supervisor is actively auditing. It fails when:


  • Definitions drift (“running” becomes “I was working on it”).

  • Busy shifts lead to end-of-shift guessing.

  • Second shift gets less oversight, so data quality diverges.

Level 2 (semi-automated): operator start/stop events + minimal reason codes

Level 2 uses simple operator interactions (start/stop, job change, basic reasons) to timestamp events. The key is to keep it light enough that it actually happens, then audit: spot-check one or two machines per week by comparing the log to what you can observe (program times, part counts, or a quick timeline review). The audit loop is what prevents “political” uptime.


Level 3 (automated capture): machine state signals + human context for exceptions

Level 3 captures cycle signals directly (cycle start/stop, run/idle, alarm) and then uses humans for the part machines can’t know: why it stopped (material, setup, inspection, prove-out). This is where uptime becomes comparable across a mixed fleet because the “running” portion isn’t based on memory. It also supports near-real-time decisions—like identifying which machines are ready but not running during a shift.


Non-negotiables at every level: (1) time synchronization across devices, (2) standard shift boundaries (including lunches and handoffs), and (3) a single source of truth so people aren’t reconciling three versions of “uptime” in production meetings.


Reason codes that matter: classify lost time inside ‘uptime’ and ‘available’

If you don’t classify losses, uptime turns into a vanity metric. But if you classify too much, you’ll get garbage data (or everything becomes “Other”). The practical approach is a small code set—usually 8–15—that maps to actions you can take.


Two separations keep the data usable:


  • Planned vs unplanned: planned maintenance windows and meetings shouldn’t get mixed with operational losses.

  • Constraint type: people/material constraints (waiting, staffing, kitting) vs process constraints (prove-out, inspection loops, tool offsets).

High-leverage codes in CNC environments often include:


  • Setup / changeover

  • Waiting for material (including incomplete kits)

  • First-article / inspection loop

  • Program prove-out / engineering support

  • Minor stop (short interruptions, chip clearing, small adjustments)

  • Tooling (missing tools, tool breakage response, offsets)

  • Quality issue / rework

  • Unplanned maintenance / alarms

Governance matters more than the list. Decide: who enters codes (operator, lead, supervisor), when they enter them (at stop, at restart, end of shift), and how you audit. A simple weekly rule works: review the biggest “Other” entries, reclassify them, and then either (a) coach on correct selection or (b) add a missing code and remove a low-value one. For a deeper dive on structuring downtime categories, see machine downtime tracking.


Two shop-floor examples: turning uptime into action in under a week

The point of tracking uptime isn’t reporting. It’s decision speed: identifying which loss bucket is actually constraining output and changing what happens on the floor within days—not quarters. Here are two end-to-end CNC examples that start with raw observations and end with specific operational changes.


Example 1: Two-shift VMC “high uptime,” but output lags

Raw observations: The ERP shows the VMC loaded across two shifts, and both shifts report the machine was “running most of the night.” But shipped quantities don’t match the plan, and day shift says second shift “must be slow.”


What you track: Scheduled time by shift, cycle running (uptime) from the machine state, and a small set of stop reasons entered when the machine is ready-but-not-running.


What the data shows: Second shift has plenty of “enabled/ready” time, but cycle running is fragmented—frequent short pauses combined with longer waiting periods tied to material not staged and incomplete kits. The uptime number looked “high” in conversation because the machine was seldom in a hard alarm state.


Decision in the same week: Adjust the staffing/material staging plan: a day-shift kitting cutoff (so second shift starts with complete kits), a simple handoff checklist for the pacer machine, and one designated material runner window early in second shift. The goal is not to “make people try harder,” but to remove the starvation pattern that breaks up running time.


Example 2: Swiss/lathe cell is “up” all day, but mostly in setup/first-article loops

Raw observations: The cell is powered and enabled nearly the entire day. From a distance, it looks busy. But completed good parts are low, and jobs feel like they take “forever” to get to steady production.


What you track: Separate states for running vs not running, and add one additional layer: whether cycles are producing good parts (operator-entered job start + first-article approved time, plus scrap/rework notes). This is where uptime tied to states matters: “up” is not the same as “producing.”


What the data shows: A large portion of the day is consumed by setup/changeover and repeated first-article/inspection loops. The machine is often “available” and even intermittently “running,” but the good-part time starts late and ramps slowly because prove-out and inspection timing are inconsistent.


Decision in the same week: Standardize setup elements (tool list discipline, preset expectations, documented offsets), move what you can to offline prove-out where practical, and time inspection so the cell isn’t stuck waiting mid-stream. The change is operational: you’re shrinking the “up but not producing” window rather than chasing a headline uptime figure.


In some shops, a third pattern shows up during these reviews: a bottleneck machine is assumed to need overtime—or a new purchase—because it’s “always up.” When you separate scheduled vs running vs good-part time, you may find recoverable capacity by resequencing changeovers and reducing program prove-out interruptions before committing to capital or weekend hours.


If interpreting these timelines across multiple machines is the sticking point, an AI Production Assistant can help summarize patterns and highlight recurring loss buckets—so your weekly review stays focused on decisions, not spreadsheet cleanup.


Common pitfalls that inflate uptime (and how to correct them)

Uptime becomes political when people know it will be used to judge performance, but the definition is fuzzy. The fix is almost always a tighter state hierarchy and cleaner time boundaries—not more meetings.


  • Counting “machine on” as uptime. Correct it by defining uptime as cycle running, while still tracking powered/ready for context.

  • Mixing planned downtime with losses. Put planned maintenance windows, meetings, and training in their own bucket so “available” time is honest.

  • Inconsistent shift boundaries and timekeeping. Standardize cutoffs (including lunches and handoffs) so shift comparisons aren’t distorted.

  • Too many reason codes leading to “Other.” Prune monthly or quarterly; coach the top 2–3 misused codes; treat “Other” as a signal your taxonomy is failing.

One practical tip: if a code can’t trigger a decision (staffing change, staging rule, prove-out process, inspection timing, setup standard), it probably doesn’t belong in the first version of your list.


What to review weekly: the minimum management cadence

Uptime tracking becomes valuable when it produces a repeatable weekly rhythm. The goal is a short review that ends with one clear target and an owner—not a long presentation about metrics.


Minimum weekly outputs:


  • Top 3 loss buckets by machine group (e.g., VMCs vs lathes vs Swiss).

  • Shift deltas (where second shift differs in waiting, minor stops, or setup behavior).

  • Bottleneck focus: one pacer machine where recovering time has the biggest scheduling impact.

To pick an improvement target, use a simple filter: choose the bucket that is (1) largest, (2) most controllable by the shop, and (3) has fast feedback (you’ll see the change in next week’s time buckets). Then assign an owner and define what “different next week” means operationally—new kitting cutoff, revised handoff checklist, setup standard, or scheduled prove-out window.


As you stabilize uptime definitions and loss categories, it becomes reasonable to expand from uptime into broader utilization conversations. The guardrail is simple: don’t turn it into a metric ceremony. If your review can’t answer “what changed on the floor?” then the numbers aren’t serving you.


If you’re considering moving from manual or semi-automated tracking to automated capture across a mixed fleet, cost typically depends on scope (machines, shifts, and how much context you want operators to enter), not on flashy features. You can review rollout considerations on the pricing page to see how packaging usually aligns to shop size and deployment approach.


If you want to sanity-check your current uptime definition and see what your loss buckets would look like with consistent shift boundaries, you can schedule a demo. The most productive first conversation is usually reviewing one bottleneck machine across two shifts and agreeing on states and codes that your team will actually use.

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