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.
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 stops | 135 min |
| Run time (spindle available to cut) | 315 min |
| Ideal cut time per part (CAM) | 4.5 min |
| Parts completed | 63 |
| 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.
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:
- 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.
- Count parts, not spindle seconds. Take the count from the program cycle or a probe so proveouts and air-cutting cannot masquerade as production.
- Classify setup, tool change, and proveout explicitly. They are Availability and engineering states, not run time; label them so the setup loss is visible.
- Log first-article and in-process inspection stops. They cost Availability and belong in the picture; do not hide them.
- Count first-pass good after inspection. Scrap and rework are Quality losses even when the part is later saved.
- Attack setup with SMED. Preset tools offline and stage the next job while cutting the current one to lift Availability.
- 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:
- Machine-tool utilization studies commonly find the spindle cutting only 20–30% of available time in typical job shops, while many owners assume 60–70%, the gap is setup, tool changes, and waiting between jobs. Read this alongside what a good OEE score is.
- ISO 22400-2:2014 defines OEE and its time-states precisely, so a machining center's number is comparable shift to shift and site to site (ISO 22400-2).
- The 85% world-class OEE figure is Nakajima's 1980s TPM reference point for discrete manufacturing, useful context for a high-volume cell but a stretch for a short-run job shop where setup dominates.
- U.S. manufacturing capacity utilization was 75.7% in May 2026 per the Federal Reserve's G.17 release (Federal Reserve G.17), a reminder that machining capacity, like all capacity, runs below its theoretical maximum.
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.