OEE — Overall Equipment Effectiveness — has a reputation as an enterprise metric: something you get from a monitoring suite, a consultant, and a six-month rollout. Strip the vendor packaging off and it's three fractions multiplied together, computable on a whiteboard from numbers your shop already tracks. Here's the whole thing, with a worked example and the traps.
The formula
OEE = Availability × Performance × Quality. Each factor is a ratio between 0 and 1, each captures a different way a machine loses output, and multiplying them tells you what fraction of the machine's theoretical output you actually got.
- Availability = run time ÷ planned production time. Losses: breakdowns, setups, changeovers, waiting for material or an operator.
- Performance = (ideal cycle time × parts made) ÷ run time. Losses: running slower than the ideal cycle, micro-stops, chip jams, door-open pauses.
- Quality = good parts ÷ total parts. Losses: scrap and rework — including startup scrap while dialing in.
A worked example
One machine, one 8-hour shift (480 min), with a 60-minute changeover and breakdown total. It ran 420 minutes and made 350 parts against an ideal cycle time of 1.0 min/part. 340 of them were good.
Availability = 420 / 480 = 87.5 %
Performance = (1.0 × 350) / 420 = 83.3 %
Quality = 340 / 350 = 97.1 %
OEE = 0.875 × 0.833 × 0.971 = 70.8 %Each factor looks respectable on its own — that's the point of multiplying. Three "pretty good" numbers compound into 71%, meaning almost a third of the shift's theoretical output never existed. The factors also tell you where it went: this machine's biggest loss is performance, not uptime, so buying faster changeovers would fix the wrong problem.
How shops game it (usually by accident)
- Padding the ideal cycle time. Set the ideal to what the machine does on a slow day and performance magically reads 100%. The ideal should be the best demonstrated cycle, not the average.
- Shrinking planned time. Excluding setups or "scheduled" waiting from planned production time inflates availability. Decide what's excluded once, write it down, never move it to make a number look better.
- Counting rework as good. A part that needed a second operation wasn't a good part the first time through.
- Comparing machines with different rules. OEE is a trend tool for one machine over time. Cross-machine league tables mostly measure whose ideal cycle time is most padded.
The number is not the goal
An OEE score by itself changes nothing — the value is in the three factors pointing at which loss dominates. Chasing the composite number invites exactly the gaming above. Chase the biggest loss instead.
Where the data comes from
Paper works: run time from the operator log, counts from the router, ideal cycle from the program. But this is also the single best use for machine data collection — run state and part counts read straight off a FANUC control with FOCAS or via MTConnect/OPC-UA turn OEE from a Friday spreadsheet ritual into a live number. Start with paper this week; automate the collection when the habit sticks.
I built a free OEE calculator that runs this exact math in your browser — punch in a shift and watch the losses compound. And if you want the live version wired to your machines, that's a thing I build.


