OEE for a CNC machine is Availability × Performance × Quality, and it is not the same as spindle utilization. Spindle utilization only asks whether the spindle is turning; OEE also asks whether it cut good parts at the ideal feed rate. In a job shop, setup, tool changes, and first-article inspection dominate the losses, which is why the two numbers can be far apart.

CNC shops love spindle utilization because a machine controller reports it for free, but a spindle can turn all day cutting air during a proveout, or grinding out scrap because a tool wore, and utilization will happily count both. This guide separates utilization from OEE, works a CNC example, and shows how setup, proveouts, and inspection distort the picture. For the base method see the OEE calculation; for the process itself, what is CNC machining.

What is the difference between spindle utilization and OEE?

The difference is what each one counts. Spindle utilization is the fraction of available time the spindle is running, a single number that says nothing about speed correctness or part quality. OEE decomposes the same time into three questions: was the machine available to run (Availability), did it cut at the ideal feed and speed when running (Performance), and were the parts good the first time (Quality). Utilization is closest to a piece of Availability, but it quietly forgives slow cutting and scrap.

That gap matters because CNC controllers make utilization easy and OEE harder. A shop can show 55% spindle utilization and a much lower OEE once you subtract time the spindle spent proving out a program, re-cutting a worn feature, or running conservative feeds an operator dialed back. Utilization is a fine first signal; OEE is the honest one. The two are related the way machine downtime relates to a full loss picture.

Where a CNC machine's time goes: utilization vs OEESpindle utilization counts more than OEE creditsAVAILABLE TIMEcutting goodslow/scraptool chgsetupinspectidlespindle utilization = spindle turning (incl. slow/scrap/proveout)OEE credit = good parts at ideal feed onlysetup, tool changes, and inspection are the job-shop losses OEE must show
Spindle utilization counts any time the spindle turns, including slow cutting, scrap, and proveouts. OEE credits only good parts at the ideal feed rate, which is why a job shop's OEE sits well below its utilization.

How do you calculate OEE for a CNC machine?

Calculate it the standard way, with the ideal cycle time set to the CAM-generated cut time for the part, the program's time at the intended feeds and speeds, not a padded standard. A hypothetical example on a single machining center running one job:

Input (hypothetical CNC job)Value
Planned production time (shift)450 min
Setup + tool changes + inspection stops135 min
Run time (spindle available to cut)315 min
Ideal cut time per part (CAM)4.5 min
Parts completed63
First-pass good (passed inspection)60

Availability = 315 ÷ 450 = 70.0%; Performance = (63 × 4.5) ÷ 315 = 283.5 ÷ 315 = 90.0%; Quality = 60 ÷ 63 = 95.2%; OEE = 60.0%. Notice that spindle utilization here would look like the 315 minutes of run time over 450, or 70%, comfortably above the 60% OEE, and that is before you subtract proveout time that utilization would have counted as cutting. The gap between 70% utilization and 60% OEE is the honesty tax.

Why do setup and tool changes dominate job-shop OEE?

Setup and tool changes dominate because job shops run short batches of many different parts. Studies of machine-tool utilization repeatedly find the spindle actually cutting only about 20 to 30 percent of available time in typical shops, with the balance eaten by setup, tool changes, part load and unload, program calls, and waiting between jobs. Every new job means a new fixture, new offsets, new tools, and a first part to prove, all Availability loss under OEE.

This is where CNC OEE meets SMED. Setup reduction, presetting tools offline, standardizing fixtures, staging the next job while the current one runs, converts internal setup (machine stopped) to external setup (machine running), the exact lever that lifts a job shop's Availability. Shops that treat setup as fixed accept a low ceiling on OEE; shops that attack it with lean for job shops methods move the number. The point of measuring OEE here is to make the size of that setup loss impossible to ignore.

Converting internal setup to external setup lifts CNC AvailabilityMove setup off the spindle to lift AvailabilityBEFOREpreset tools + prep fixturechange + provespindle stoppedAFTERpreset + prep OFFLINE (cutting)changestopped much lessexternal setup runs while the spindle still cuts the current job
SMED converts internal setup (spindle stopped) into external setup (done offline while the machine still cuts), which is the main lever for lifting a short-run CNC shop's Availability and OEE.

How do program proveouts and dry runs distort Performance?

Proveouts and dry runs distort the picture because the spindle turns without making a good part. When a new program runs for the first time, the operator steps through it at reduced feed, single-block, sometimes cutting air above the part to check toolpaths. Spindle utilization counts every second of that as running; a naive OEE that trusts spindle-on time as run time will credit it too, inflating both Availability and Performance.

The fix is to classify proveout and dry-run time as its own state, setup or engineering time, not productive run time, and to count parts, not spindle seconds, into Performance. Performance should be (good-or-total parts × ideal cut time) ÷ run time, so a program that ran for twenty minutes and produced one part cannot masquerade as full-speed cutting. Counting parts rather than spindle-on time is the single most important guardrail in CNC OEE, and it is why the count has to come from the part program or a probe, not from the fact that the spindle was spinning.

What are the quality losses on a CNC machine?

CNC quality losses are scrap and rework from dimensional drift, tool wear, thermal growth, and program or offset errors. Only parts that pass inspection the first time count as good, the same rule as first pass yield. First-article inspection is the gatekeeper: it stops the spindle (an Availability cost) but catches a bad setup before it makes a hundred scrap parts (a Quality save), and that trade is exactly why it belongs in the OEE picture rather than outside it.

The subtle CNC quality loss is drift within tolerance. As a tool wears, features march toward the edge of the tolerance band, and parts that pass today may fail tomorrow on the same program. Tracking process capability (Cpk) alongside OEE catches that drift before it becomes scrap, turning a Quality loss you would have discovered at final inspection into a tool-change decision you make on time. Pairing OEE with Cpk is how a machining cell keeps Quality honest.

How do you stand up CNC OEE in a job shop?

Build it per machine, in order:

  1. Set ideal cut time from CAM, per part. The program's time at intended feeds and speeds, not a padded standard and not last week's average.
  2. Count parts, not spindle seconds. Take the count from the program cycle or a probe so proveouts and air-cutting cannot masquerade as production.
  3. Classify setup, tool change, and proveout explicitly. They are Availability and engineering states, not run time; label them so the setup loss is visible.
  4. Log first-article and in-process inspection stops. They cost Availability and belong in the picture; do not hide them.
  5. Count first-pass good after inspection. Scrap and rework are Quality losses even when the part is later saved.
  6. Attack setup with SMED. Preset tools offline and stage the next job while cutting the current one to lift Availability.
  7. Pair OEE with Cpk. Watch capability trend so tool wear becomes a scheduled change, not a scrap event.

What is a realistic OEE for a CNC job shop?

A realistic CNC OEE depends on batch size and setup discipline, and it usually sits below what spindle utilization suggests. Use these reference points for context:

The honest use of CNC OEE is to expose the setup and proveout losses spindle utilization forgives, then shrink them. A number built on counted parts and classified states beats a flattering utilization figure, which is why computing OEE from the control and probe signals rather than spindle-on time matters (see the platform and the CLS case study). Put your own machine's numbers through the OEE calculator and compare it, honestly, against your spindle utilization.