How to calculate OEE: formula, worked example and calculator
OEE (Overall Equipment Effectiveness) is a single percentage that shows how much of its planned time a machine spends making good parts at its ideal speed. It is the product of three ratios: Availability × Performance × Quality. This guide explains each ratio, walks through an example with real numbers, lists the most common mistakes, and has a calculator for trying your own figures.
Last updated: 20 October 2026
What is OEE?
OEE measures how much of what a machine could theoretically produce it actually produces as good parts. An OEE of 100% means the machine ran for the whole planned time, at its ideal cycle time, with no scrap. No real machine is there. The value of OEE is that it splits the gap into three parts: did the machine stop, did it run slow, or did it make bad parts?
The idea comes from Total Productive Maintenance (TPM), developed by Seiichi Nakajima in Japan in the 1980s. Today it is used for single machines as well as for lines and whole shops.
The OEE formula and its three factors
OEE = Availability × Performance × Quality
Availability
How much of the planned production time the machine actually ran. Availability = Run time ÷ Planned production time. Planned production time is the shift minus planned stops such as breaks and lunch. Run time is what is left after unplanned stops — breakdowns, setups, waiting for material — are also taken out.
Performance
How fast the machine produced while it was running, compared with its ideal speed. Performance = (Total count × Ideal cycle time) ÷ Run time. The ideal cycle time is the shortest time in which the machine can make a good part — the best time, not the average.
Quality
How many of the parts made were good the first time. Quality = Good count ÷ Total count. Parts saved by rework are not counted as good; they were not right first time.
Shortcut: OEE = (Good count × Ideal cycle time) ÷ Planned production time. It gives the same result as multiplying the three ratios, but it does not show where the loss is, so it is worth tracking the three factors separately.
Worked example: one shift on a CNC lathe
A CNC lathe runs an 8-hour (480-minute) shift with 30 minutes of breaks. During the shift it was down for 25 minutes with a breakdown and 20 minutes for a setup. The ideal cycle time for the part is 30 seconds. By the end of the shift it made 700 parts, 35 of them scrap.
| Item | Calculation | Result |
|---|---|---|
| Shift length | 8 hours | 480 min |
| Planned stops (breaks) | 30 min | |
| Planned production time | 480 − 30 | 450 min |
| Unplanned stops (breakdown 25 + setup 20) | 45 min | |
| Run time | 450 − 45 | 405 min |
| Availability | 405 ÷ 450 | 90.0% |
| Theoretical output in run time | 405 × 60 ÷ 30 | 810 pcs |
| Performance | 700 ÷ 810 | 86.4% |
| Good count | 700 − 35 | 665 pcs |
| Quality | 665 ÷ 700 | 95.0% |
| OEE | 0.900 × 0.864 × 0.950 | 73.9% |
Check with the shortcut: 665 good parts × 30 s = 19,950 s, or 332.5 minutes of valuable output. 332.5 ÷ 450 = 73.9%. The lathe produced value for about three quarters of its planned time, and the biggest loss is in performance (slow running or small stops nobody recorded).
Try it with your own numbers
The fields below start with the example above. Enter the planned time, downtime, ideal cycle time and counts from one of your own shifts.
OEE calculator
Enter the numbers from one of your own shifts; the three factors and OEE are calculated as you type.
Run time 405 / 450 min
700 × 30 s / (405 × 60 s)
665 / 700
90.0% × 86.4% × 95.0%
The six big losses
TPM groups the losses that pull OEE down into six. Each one falls under one of the three factors:
| Loss | Example | Factor it hits |
|---|---|---|
| Breakdowns | Machine failure, broken tool | Availability |
| Setup and adjustment | Mold change, machine setup, first-piece approval | Availability |
| Small stops | Jams of a few minutes, sensor trips | Performance |
| Reduced speed | Worn tooling, feed rates set cautiously | Performance |
| Startup rejects | Scrap from the first parts after a setup | Quality |
| Production rejects | Bad parts during normal running | Quality |
In job shops the loss most often missed is small stops: each one is too short to bother recording, but together they pull performance down hard. They are usually what is behind a figure like the 86.4% in the example.
Common mistakes
- Using the wrong ideal cycle time. Entering the average time, or the time used in the quote, makes performance look better than it is, sometimes above 100%. Use the shortest time the machine can make a good part in, and keep one per part.
- Counting breaks as downtime. Breaks, lunch and shift changes are planned stops: they come off planned production time and do not lower availability. Counting them like breakdowns lowers OEE unfairly and hides the real losses.
- Averaging OEE across machines. Shop OEE is not the simple average of the machines' percentages. Calculate it from totals: the ideal time of all good parts divided by all planned time. Otherwise a machine that barely ran weighs as much as one that ran all week.
- Not recording why a machine stopped. "Down for 45 minutes" is enough to calculate OEE but not to improve it. Without reasons, the choice of which loss to tackle is a guess.
- Using OEE to grade people. If the figure is used to judge operators, stops stop being recorded and the data goes bad. OEE is for improving the process.
What is a good OEE?
The most quoted figure is an OEE of 85% as "world class", usually attributed to Nakajima: roughly 90% availability, 95% performance and 99.9% quality. It is a commonly cited benchmark, not a law. A high-volume line and a job shop that runs a different part every day with frequent setups cannot have the same target.
Shops that work to order commonly see 40–60% when they first measure. What matters is knowing your own starting point and improving from there, starting with the factor where the loss is largest.
Measuring OEE without sensors
You do not need sensors or a PLC connection to measure OEE. It needs four things: planned time, stops and their reasons, the ideal cycle time, and the total and good counts. All of them can come from what operators record as they start, stop and finish jobs.
- Cut the list of stop reasons down to a short, clear set (breakdown, setup/mold change, waiting for material, tool change, break...). Decide up front which are planned and which are losses.
- Have operators pick a reason every time they stop, and enter good and scrap counts when they finish a job.
- Set ideal cycle times for your highest-volume parts first.
- Treat the first two weeks of numbers as your baseline and set targets from there.
ModernMES collects these inputs on the shop floor: operators pick a reason when they pause a job on the terminal or their phone, and every pause opens a downtime record. The default reasons are grouped as planned, unplanned, setup and maintenance, and each reason is marked as counting toward OEE or not (a break does not, a breakdown does). Good and scrap counts are entered when a job is finished. That way the raw data for OEE is recorded for every work order. You can see what it looks like in the live shop floor demo.
Frequently asked questions
What is the OEE formula?
OEE = Availability × Performance × Quality. Availability is run time divided by planned time, performance is actual output divided by output at the ideal rate, and quality is good count divided by total count.
Do breaks count against OEE?
No. Breaks, lunch and shift changes are planned stops and are taken out of planned production time first. OEE only measures losses within the planned time.
Why is my performance above 100%?
Almost always because the ideal cycle time is set longer than the real best time. Bring the ideal time down to the shortest time the machine can make a good part in.
How do you calculate OEE for a whole shop?
Do not average the machines' percentages. Add up the ideal time of all good parts across machines and divide by the sum of their planned time, so a machine that ran more carries more weight.
Do I need sensors on my machines to measure OEE?
No. If operators record stops with reasons and the counts, OEE can be calculated. Sensors give finer data, especially on small stops, but they are not needed to start.
Related pages
- What Is MES? Manufacturing Execution Systems ExplainedWhat a manufacturing execution system (MES) does, how it differs from ERP and MRP, where it sits in ISA-95, and what to look for when choosing one.
- Production Tracking Software for CNC Machine ShopsJob tracking for CNC machine shops: barcoded route cards, operator terminals, a live machine view, real cycle times and deadline feasibility. Free for 14 days.
- Moving From Excel to an MES: A Step-by-Step PlanWhy spreadsheet production tracking breaks down, which lists to prepare, and how to move to an MES with a pilot area and a short parallel run, without stopping work.