---
title: "How to calculate OEE from one shift’s numbers"
description: "OEE is availability × performance × quality. Work one shift through by hand, check the result in lost minutes and avoid the mistakes that skew the number."
category: "OEE and metrics"
author: "Data Analytics Team"
published: "2023-04-30"
updated: "2026-10-20"
source_url: "https://www.iotflows.com/blog/how-to-calculate-oee/"
---
> Question: How do you calculate OEE?

## Key takeaways

- OEE multiplies availability, performance and quality, so three factors at 90% give 72.9%, not 90%.
- Remove breaks and other time nobody planned to run before you calculate availability; changeovers and breakdowns stay in.
- Performance divides the ideal time for the parts made by run time, never by planned production time.
- Check any result with the short form: good count × ideal cycle time ÷ planned production time.
- Convert each factor into lost minutes to see which loss costs the machine the most time.

You calculate OEE by multiplying three factors: availability, performance and quality. Remove breaks and other time nobody scheduled to run from one shift to get planned production time, then divide run time by it, compare the parts made with what the ideal cycle time allows in that run time, and divide good parts by all parts. The product is the share of planned time that made good parts at full speed.

The example below follows one shift on a CNC lathe from the raw numbers to the result, then checks the answer a second way.

## The OEE formula

> **Definition.** **OEE (overall equipment effectiveness)** measures how much of a machine’s planned production time made good parts at the ideal speed: the product of availability, performance and quality, each a ratio between 0% and 100%.

Each factor captures one kind of loss, and the [OEE glossary entry](/docs/get-started/glossary/#oee) lists how IoTFlows names each one. If you want the background first, [What is OEE?](/blog/what-is-oee/) covers what the number is for.

**OEE** = Availability × Performance × Quality

| Factor | Formula | Loss it captures |
|---|---|---|
| Availability | Run time ÷ planned production time | Breakdowns, changeovers, waiting |
| Performance | (Total count × ideal cycle time) ÷ run time | Slow cycles and short stops |
| Quality | Good count ÷ total count | Scrap and rework |

Formulas from the standard OEE calculation. Your plant decides what counts as planned production time.

The formulas follow the standard OEE calculation.[1] Multiply the factors; never add or average them. For example, a machine at 90% on all three factors has an OEE of 0.9 × 0.9 × 0.9 = 72.9%, not 90%.

## Find planned production time first

> **Definition.** **Planned production time** is the part of a shift when a machine is scheduled to make parts: the shift length minus breaks, meetings and any period with no work scheduled.

Every factor starts from this number, so settle it before you calculate anything.

Breaks come out of the shift because nobody intended to run the machine during them.[1] A changeover stays in, because the machine was scheduled to produce. The *six big losses*, the standard breakdown of OEE losses, list setup and adjustments as an availability loss.[2]

Take a stop out of planned production time only when nobody intended to run the machine during it. Keep it in when the machine was scheduled to run and didn’t, whatever the reason.

Planned and excluded are different things. A planned changeover is on the schedule, but it still costs production time, so it stays in. The glossary entry for [planned downtime](/docs/get-started/glossary/#planned-downtime) shows how to label those stops so you can report them apart from breakdowns.

Plants don’t all draw this line in the same place. The ISO 22400 standard itself gives two definitions of OEE, and a 2020 review found they seem to diverge from each other and from Seiichi Nakajima’s original formulation.[3] Write your rules down once, then apply them to every machine and every shift, so this month’s number compares with last month’s.

## Calculate each factor

The example machine is a CNC lathe turning a steel shaft on an 8-hour day shift. The numbers are hypothetical and round, so you can recompute each step by hand.

| Input | Value | Where it comes from |
|---|---|---|
| Shift length | 480 min | The shift calendar |
| Breaks | 30 min | One lunch break |
| Unplanned stops | 45 min | Broken insert 25 min, bar stock 20 min |
| Ideal cycle time | 1.0 min per part | The operation’s set cycle time |
| Total count | 360 parts | Parts off the machine |
| Good count | 342 parts | Parts that passed inspection first time |

### Availability

*Run time* is planned production time minus every stop inside it, changeovers included. Here, 480 − 30 = 450 minutes of planned production time, and 450 − 45 = 405 minutes of run time.

**Availability** = (Run time) ÷ (Planned production time)

Availability is 405 ÷ 450 = 90.0%. The lathe was scheduled for 450 minutes and turned for 405 of them.

### Performance

> **Definition.** **Ideal cycle time** is the time one cycle of an operation takes when the machine runs at the best speed the process sustains in good conditions, not a one-off record and not a quoted estimate.

Performance compares the ideal time for the parts you made with the time the machine actually ran.

**Performance** = (Total count × ideal cycle time) ÷ (Run time)

The lathe made 360 parts at an ideal of 1.0 minute each, so they were worth 360 minutes at full speed. It ran for 405 minutes, so performance is 360 ÷ 405 = 88.9%.

The missing 45 minutes went to cycles slower than ideal and to short stops nobody recorded as downtime.

If one cycle makes several parts, divide the cycle time by the parts per cycle. For example, a 4-cavity mold with a 20-second cycle has an ideal of 5 seconds per part.

Performance should never exceed 100%. A reading above it means the ideal cycle time is set too slow.[1] To set the number, time 10 to 20 consecutive cycles on a good day and use the best sustainable cycle, as the guide to [setting the ideal cycle time](/docs/production/cycle-times-and-filters/#ideal) describes.

### Quality

**Quality** = (Good count) ÷ (Total count)

Quality is 342 ÷ 360 = 95.0%. The *good count* is the parts that passed the first time. A part that needs rework is not good, even if it ships after the rework.[1]

The glossary entry for [quality](/docs/get-started/glossary/#quality) shows how good and bad counts appear on a shift report.

### Multiply the factors

#### Worked example: One 8-hour shift on a CNC lathe

- Shift: 480 minutes, with a 30-minute lunch break, so planned production time is 450 minutes.
- Unplanned stops: 45 minutes, so run time is 405 minutes.
- Ideal cycle time: 1.0 minute. Total count: 360 parts, 342 good.

Availability is 405 ÷ 450 = 90.0%. Performance is (360 × 1.0) ÷ 405 = 88.9%. Quality is 342 ÷ 360 = 95.0%.

**Result:** OEE = 0.900 × 0.889 × 0.950 = 76.0%

Figure: Bars fall from a 480-minute shift to 450 planned minutes, 405 run minutes (availability 90%), 360 minutes of ideal output (performance 88.9%) and 342 good minutes (quality 95%). OEE is 342 ÷ 450 = 76.0%.

*One shift on a CNC lathe, loss by loss: each factor removes its share of planned time. Sample data.*

## Check the answer in lost minutes

OEE has a short form that skips the three factors: good count × ideal cycle time ÷ planned production time.[1] On the lathe, 342 × 1.0 ÷ 450 = 76.0%, the same answer. If the two forms disagree, one of the factors has an error.

**OEE, short form** = (Good count × ideal cycle time) ÷ (Planned production time)

The short form also says what OEE means in time. The lathe spent 342 of its 450 planned minutes making good parts at full speed. The other 108 minutes are losses, and each one belongs to exactly one factor.

| Loss | Factor | Minutes lost | Calculation |
|---|---|---|---|
| Unplanned stops | Availability | 45 | 450 − 405 |
| Slow cycles and short stops | Performance | 45 | 405 − 360 × 1.0 |
| Scrap | Quality | 18 | 18 rejects × 1.0 |
| All losses | OEE | 108 | 450 − 342 |

Availability reads 90.0% and performance 88.9%, yet both lost 45 minutes. The percentages sit on different bases: availability on 450 minutes, performance on 405. Compare losses in minutes when you decide what to fix.

## Mistakes that change the result

The most common error divides performance by planned production time instead of run time. On the lathe, that gives 360 ÷ 450 = 80.0% and an OEE of 0.900 × 0.800 × 0.950 = 68.4%. The 45 stopped minutes already lowered availability, so dividing by 450 counts them a second time.

Figure: Two bars compare performance on the same shift. Divided by 405 run minutes, 360 minutes of ideal output gives 88.9% and OEE 76.0%. Divided by 450 planned minutes, the 45 stopped minutes count twice: 80.0% and OEE 68.4%.

*Divide performance by run time, or the stopped minutes count against two factors. Sample data.*

Each row below changes one thing on the same shift and leaves the rest as it was.

| Mistake | Result on the lathe | Fix |
|---|---|---|
| Performance divided by planned time | Performance 80.0%, OEE 68.4% | Divide by run time |
| Lunch break counted as downtime | Availability 84.4%, OEE 71.3% | Remove breaks first |
| 10 reworked parts counted as good | Quality 97.8%, OEE 78.2% | Count first-pass good parts |
| Factors averaged, not multiplied | 91.3% instead of 76.0% | Multiply the three factors |
| Ideal cycle time set at 1.2 min | Performance 106.7% | Re-time the best sustainable cycle |

Every row uses the example shift: 450 planned minutes, 405 run minutes, 360 parts, 342 good, 1.0-minute ideal cycle.

> **Let the short form catch it**
>
> The short form never uses run time, so it can’t inherit a wrong performance denominator. On the lathe it gives 76.0% while the wrong denominator gives 68.4%. When the two disagree, check what performance was divided by.

## Which factor should you fix first?

Start with the factor that loses the most minutes, not the one with the lowest percentage.

- **Work on availability first** when unplanned stops lead. Give every stop a reason and rank the reasons by total minutes.
- **Work on performance first** when the machine runs but output lags. Look for short stops nobody records and cycles slower than the ideal, and confirm the ideal cycle time is current.
- **Work on quality first** when scrap minutes lead, or when each reject wastes material worth more than the machine time it took.

You don’t need a combined OEE number to act on any of these. The factor with the most lost minutes tells you where to look. On the lathe, stops and slow cycles tie at 45 minutes each, so check which one is easier to cut this week.

Compare a machine with its own history before you compare it with a benchmark. Vorne notes that 85% is often called world class, and advises against comparing dissimilar processes with external benchmarks.[4] Set the first goal a few points above the machine’s recent baseline, as the guide to [choosing an OEE goal](/docs/monitoring/oee-goals/#choosing) recommends.

## Track the factors automatically

A hand calculation covers one shift. Over a month, the inputs drift: short stops go unrecorded, counts get rounded and the ideal cycle time stays at whatever someone typed a year ago.

A SenseAi sensor on each machine records when it runs and stops, so availability arrives with no operator input. It counts parts against the ideal cycle time set on each operation, which gives performance. Quality comes from the good parts and the scrap your team logs with a reason.

IoTFlows reports [OEE factor by factor](/solutions/oee-tracking/), so each lost minute shows up under the factor that lost it. The [metrics reference](/docs/monitoring/metrics-reference/#performance) gives the definition behind each number.

Measured cycle times also test the numbers you plan with. Jesel, a valvetrain manufacturer, compares measured cycle times against the times in its bills of material, as its [customer story](/customers/jesel/) describes.

## Calculate OEE for your own shift

1. **Find planned production time.** Subtract breaks, meetings and periods with no work scheduled from the shift length.
2. **Measure run time.** Subtract every stop inside planned production time, changeovers included.
3. **Look up the ideal cycle time.** Use the best sustainable cycle for the operation, divided by the parts each cycle makes.
4. **Count total and good parts.** Count every part off the machine, then the parts that passed inspection the first time.
5. **Multiply the three factors.** Calculate availability, performance and quality, then multiply them.
6. **Check with the short form.** Divide good count × ideal cycle time by planned production time, then list the lost minutes by factor.

## Questions

### What is a good OEE score?

Vorne notes that 85% is often thought of as world class and traces the world-class figures to Seiichi Nakajima, who set them as minimums for plants to strive for. Vorne also advises against comparing dissimilar processes with external benchmarks. Set a target a few points above the machine’s own recent baseline, and raise it when the machine improves.

### Can OEE performance be over 100%?

Not when the ideal cycle time is right. Performance above 100% means the machine made parts faster than its ideal cycle time allows, so the ideal cycle time is set too slow. Time 10 to 20 consecutive cycles on a good day, enter the best sustainable cycle and recalculate.

### Do changeovers count against OEE?

Yes. A changeover is planned, but the machine was scheduled to make parts during it, so the time stays in planned production time and lowers availability. The six big losses list setup and adjustments as an availability loss. Only breaks and periods with no work scheduled come out before you calculate.

### Should reworked parts count as good parts?

No. Quality counts only the parts that pass the first time. A part that needs rework is a quality loss even if it ships later, because the machine spent its cycle on a part that was not right. Counting reworked parts as good raises quality and hides the loss.

## Sources

1. [OEE Calculation: Definitions, Formulas, and Examples](https://www.oee.com/calculating-oee/), Vorne Industries, accessed Oct 16, 2026
2. [Six Big Losses in Manufacturing](https://www.oee.com/oee-six-big-losses/), Vorne Industries, accessed Oct 16, 2026
3. [Overall Equipment Effectiveness: consistency of ISO standard with literature (Schiraldi and Varisco, Computers & Industrial Engineering 145, 2020)](https://art.torvergata.it/handle/2108/280082), University of Rome Tor Vergata institutional repository, accessed Oct 16, 2026
4. [World-Class OEE: Set Targets To Drive Improvement](https://www.oee.com/world-class-oee/), Vorne Industries, accessed Oct 16, 2026
