OEE Formula Explained: Availability × Performance × Quality With a Worked Example

August 16, 2026 · Category: Guide · Tags: OEE, Manufacturing, Formula

Overall Equipment Effectiveness (OEE) is one number that tells you how well a machine actually runs. It is not a mysterious KPI: it is three measured percentages multiplied together. This guide walks through each component, runs a full worked example with real numbers, and shows the common mistakes that make scores look better than the floor really is.

The Formula

OEE = Availability × Performance × Quality

Each factor is a percentage between 0 and 1, so OEE is also a percentage. The math deliberately punishes weakness: if any one factor drops, the total drops with it, and compound losses are visible immediately.

Availability: Was the Machine Scheduled to Run and Did It?

Availability = Operating Time / Planned Production Time

Availability answers: of the time we expected the machine to produce, how much did it actually run?

Performance: Did It Run at the Expected Speed?

Performance = (Ideal Cycle Time × Total Units) / Operating Time

Performance compares actual output against what the machine should have produced at ideal cycle time during its operating time. It captures:

This is the component most plants under-measure, because micro-stops and slow running rarely appear in downtime logs.

Quality: Of What You Made, How Much Was Good?

Quality = Good Units / Total Units

Quality counts defects, rework, and scrap against total production. Note the subtlety: units that were reworked out of the count are still not good on first pass. Quality is a first-pass metric, not a final-shipment metric.

A Full Worked Example

Take a packaging machine with an ideal cycle time of 1 second per unit (60 units per minute). One 8-hour shift:

Input Value
Shift length 480 minutes (8 h)
Planned breaks 60 minutes
Unplanned downtime 45 minutes (jam + fault)
Total units produced 18,000
Good units 17,100 (900 scrap)

Step 1: Availability:

Planned production time = 480 − 60 = 420 min
Operating time           = 420 − 45 = 375 min
Availability             = 375 / 420 = 0.893 → 89.3%

Step 2: Performance:

Ideal cycle time × total units = 1 s × 18,000 = 18,000 s = 300 min
Performance                    = 300 / 375 = 0.80 → 80.0%

The machine was down for 45 minutes, but it also lost 75 minutes of the remaining 375 to micro-stops and slow cycles; that is the performance loss, invisible in any downtime log.

Step 3: Quality:

Quality = 17,100 / 18,000 = 0.95 → 95.0%

Step 4: OEE:

OEE = 0.893 × 0.80 × 0.95 = 0.679 → 67.9%

An OEE of 67.9% is respectable but unremarkable, and it shows exactly where to look. Availability is fine. Performance is the problem: 75 minutes of unlogged micro-loss. That is the actionable insight OEE exists to surface.

What the Numbers Mean

OEE is not a passing grade; it is a diagnosis. The standard reference points (from the original TPM literature, widely used as benchmarks):

The benchmark matters less than the trend. The real power of OEE is watching each component move as you fix the underlying losses.

The Mistakes That Inflate Your Score

1. Padding planned time. Labeling a breakdown as a "planned maintenance window" inflates Availability. Planned time should be genuinely planned.

2. Only counting logged downtime. If micro-stops and slow cycles are not measured, Performance silently reads 100% and your OEE looks great while the floor visibly underproduces. Measuring performance requires counting units, not just logging faults.

3. Using the fastest cycle time ever seen as "ideal." Ideal cycle time should be the engineered design rate, not the one golden run from 2019. Inflating ideal inflates nothing (it deflates performance), but the reverse (using a slow average as ideal) flatters the score.

4. Counting rework as good. First-pass quality is the honest metric. A part reworked twice still cost you capacity.

Getting the Data Without a Spreadsheet

The math is easy; the data is hard. Availability needs accurate downtime classification, performance needs unit counts and cycle times, quality needs first-pass good counts. Manually, that is a clipboard and a stopwatch, which is exactly why OEE projects die after two weeks.

Voltrus OEE captures the data automatically: a sensor node on the machine reads the run/fault signal, the floor statuses (running, breakdown, changeover, micro-stop, slow cycle, defect) are classified in real time, and OEE, Availability, Performance, and Quality are computed per shift (per machine, per line, per site) without anyone transcribing anything.

Stop Calculating OEE in a Spreadsheet

Voltrus OEE tracks every machine live: downtime, reason codes, scrap, and the OEE formula computed automatically. Hardware optional.

Explore Voltrus OEE →