OEE (Overall Equipment Effectiveness)
OEE is a single 0–100% score that summarises how effectively a machine is being used while running a job. It is the product of three factors, each of which is itself a fraction between 0 and 1:
OEE = Availability × Performance × Quality
- Availability — was the machine actually running when it was supposed to be?
- Performance — when running, did it run as fast as expected?
- Quality — of the parts it made, how many were good?
Because the three factors multiply, OEE is always lower than its weakest factor. A machine that is available 90%, performs at 90%, and produces 90% good parts has an OEE of only 73% (0.9 × 0.9 × 0.9).
OEE is calculated per job — that is, per operation running on a machine over a time range. The job statistics and Job OEE reports show one row per job with its three factors and the combined score.
The three factors
Availability
Operating time ÷ planned production time
Availability comes straight from the machine usage timeline (the same value shown on the usage gauges). Each slice of the timeline is classified as:
| Timeline state | Meaning |
|---|---|
| Uptime | Machine running and producing |
| Productive downtime | Stopped, but for a reason that still counts as production (e.g. setup, tool change) |
| Unproductive downtime | Stopped for an avoidable reason (counts against availability) |
| Discounted downtime | Planned stops that are excluded entirely (e.g. breaks, no shift) |
| Offtime | Machine off or no data |
Availability is then:
operating time = uptime + productive downtime
planned production time = operating time + unproductive downtime + offtime − discounted downtime
Availability = operating time ÷ planned production time
Discounted downtime is removed from the denominator so planned stoppages don't penalise the score. Productive downtime is counted as "good" time on top of uptime.
Performance
Ideal run time ÷ actual run time (capped at 100%)
Performance compares how long the parts should have taken to make against how long the machine was actually operating:
ideal run time = expected cycle time × number of parts
actual run time = operating time (uptime + productive downtime)
Performance = ideal run time ÷ actual run time (never more than 1.0)
If a machine produces more quickly than the expected cycle time, performance is capped at 100% rather than exceeding it.
The "expected cycle time" is the time set on the operation. Where an operation produces several parts per cycle, or takes several cycles per finished part, the counts are adjusted so performance is always measured in finished parts.
Quality
Good parts ÷ total parts
Quality = (total parts − scrap) ÷ total parts
Where the part counts come from
Quality and performance both depend on how many parts were made and how many were scrap. There are two possible sources:
- Machine data (default). Part counts and scrap come from the machine's own part-count signals collected over the job's time range.
- Operator-confirmed quantities. Once a job is finished and the operator has confirmed quantities, the operator-entered good/scrap counts replace the machine data for Performance and Quality (and for the Parts/Scrap columns shown in the tables). Availability is timeline-only and never changes.
A job switches to confirmed quantities when both are true:
- the job is finished (its time range has a real end, i.e. it is no longer live), and
- the operator entered a "quantity made".
If a job is finished but no quantity was entered, it falls back to machine data. Live jobs always use machine data, even if a partial quantity has been entered. Rows driven by confirmed quantities are marked with a Confirmed badge in the reports.
When OEE shows as blank
Any factor that can't be computed is left blank (NULL), and a blank factor
makes the whole OEE blank. This happens when:
- there is no expected cycle time set on the operation → no Performance,
- there are no parts counted in the range → no Performance or Quality, or
- there is no operating time in the range → no Performance.
This is intentional: OEE is only meaningful when there is enough data to compute all three factors.