OEE Detailed Story

OEE and OEE-related metrics are calculated based on the following input variables:

  • Total time

  • Duration of utilisation losses

  • Duration of availability losses

  • Duration of performance losses

  • Duration of work

  • Volume of good products

  • Volume of wasted products

  • Expected performance

Note that every time the ‘Expected performance’ is used, it is assumed to be constant in the scope of the calculation. When a loss is calculated across many different expected performances, one needs to calculate each period of time separately, and aggregate the loss at the end.
We do it, by calculating total losses for each ‘Bucket’ independently (https://ilabo.atlassian.net/wiki/spaces/LW/pages/1845690373).

Duration of utilisation losses

Is the time during which the line is not expected to work. It does not impact OEE, but it does impact TEEP.
e.g.:

  • Time outside shift, assuming there is no overtime.

  • Planned break

You can set it by adding it to ‘UtilizationLoss’ category in “OEE Loss Types” classification and attaching it to specific states. Utilising ‘NoPlan’ or ‘NoWorkHours’ tags to adjust the state of the line automatically, set rules to determine the state from the signals, or manually adjust the line state.

Read more:
- https://ilabo.atlassian.net/wiki/spaces/LW/pages/1741783048
- https://ilabo.atlassian.net/wiki/spaces/LW/pages/1868759041
-

Duration of availability losses

Is the duration when the line was in downtime, preventing it to produce. It lowers the availability metrics.
e.g.:

  • Failure of the filler

  • Maintenance

You can set it by adding it to ‘AvailabilityLoss’ category in “OEE Loss Types” classification and attaching it to specific states. (All states are by default availability losses)

Duration of performance losses

Line state can be considered a ‘performance loss’ if:

  • There is a ‘PerformanceLoss’ category in ‘OEE Loss Types’ classification added to downtime problem

  • There is a ‘Minor stop’ threshold set, and the downtime has not reached that threshold
    (e.g. all downtimes < 3min, can be considered a performance loss, regardless of adding them to OEE Types classification)

 

It’s the duration during which the line is assumed to ‘work’, even though it’s not actually producing. This duration does not impact availability, but it does count towards the performance metrics.

Additionally, a speed loss is the difference between the expected volume, and the actual production output (good + waste counts):

((WorkDuration * ExpectedPerformance) - (GoodCount + WasteCount)) / ExpectedPerformance

Or:

WorkDuration - ((GoodCount + WasteCount) / ExpectedPerformance)

Given the expected:

  • Expected performance = 100 car/h

  • Work duration = 2h


The expected volume is:


If the line produced only 150 car (Good count + Waste count), the performance loss caused by slower production is:

 

Alternatively:

You can intuitively think about as follows:

If we were producing exactly with the expected performance the whole time. How much faster we would have had completed it? How much time we have lost?


So to calculate OEE, the total performance loss is:
[Duration of downtimes added to 'Performance Loss' category in “OEE Loss Types” classification] + [Minor Stops] + [Speed losses]

Quality losses

Are derived from the volume of wasted products and expected performance:
[Wasted products] / [Expected performance]

e.g. If 5 car have been wasted, when an expected performance was 100 car/h
Quality loss was:

 

Calculating OEE

The simplest OEE calculation requires only 3 variables:
- What was the scheduled time, during which the line was expected to produce?
- What was the good count yielded?
- What was the expected performance?

Effective time = GoodCount / ExpectedPerformance
OEE = EffectiveTime / ScheduledTime

Example:
Scheduled time = 10h
Good count = 700 car
Expected performance = 100 car/h
Effective time = (700 car / 100car/h) = 7h
OEE = 7h/10h = 70%

However, a simple % number, does not explain where the 30% has been lost?
To dig deeper, we can calculate the following:

  1. Scheduled time = TotalTime - Utilisation losses

  2. Production time = ScheduledTime - AvailabilityLosses

  3. Operating time = ProductionTime - PerformanceLosses

  4. Effective time = OperatingTime - QualityLosses

Note that we have just redefined Effective time. In fact, these two equations are equivalent:
OperatingTime - QualityLosses = EffectiveTime / ScheduledTime

And calculate the components of the OEE:
- Availability (%)
- Performance (%)
- Quality (%)
After that, the OEE can also be calculated as: Availability * Performance * Quality

Availability

Defines what percentage of time has been lost, due to stoppages marked as ‘Availability loss’
To calculate it, we use a scheduled time (already excluding all utilisation losses), and total duration of all availability losses:

Production time = ScheduledTime - AvailabilityLosses
Availability = ProductionTime / ScheduledTime

Performance

Defines what percentage of time has been lost, due to slower production (including performance loss stoppages). To calculate it, we use a production time (already excluding availability losses), and total duration of all performance losses:

Operating time = ProductionTime - PerformanceLosses
Performance = OperatingTime / ProductionTime

Quality

Defines what percentage of time has been lost, due to bad, wasted products
To calculate it, we use a operating time (already excluding all availability and performance losses), and total duration of all quality losses:

Effective time = OperatingTime - QualityLosses
Quality = EffectiveTime / OperatingTime

TEEP

TEEP metrics help understand how much time is lost on scheduled activities, usually not taken into account in OEE. e.g. How much time is lost, because there are only 2 shifts, instead of 3?

TEEP use Total time in denominator, utilisation losses are not subtracted:

TEEP = EffectiveTime / TotalTime

Using the example from OEE:
Total time = 24h
Scheduled time = 10h
Good count = 700 car
Expected performance = 100 car/h
Effective time = (700car / 100car/h) = 7h
TEEP = 7h/24h ~= 29%

 

OEE for multiple lines (areas, plant)

To calculate OEE for a set of lines, you need to calculate Effective time and Scheduled time for each line separately, then sum and divide them:

Example:

Line 1:
Total time: 24h:

  • Utilization loss: 12h

  • Availability loss: 4h

  • Performance loss: 4h

  • Quality loss: 0h

  • Effective time: 4h

Line 2:
Total time: 24h:

  • Utilization loss: 8h

  • Availability loss: 6h

  • Performance loss: 2h

  • Quality loss: 1h

  • Effective time: 7h

Line 1 & Line 2 (grouped as area or plant - doesn't matter):

The rest of OEE metrics (Performance, Availability, Quality) are calculated exactly the same way, using exactly the same equations, we just use a sum of time from all lines
(e.g. sum of availability losses vs. sum of scheduled times, to calculate OEE Performance).

OEE drill down in PackOS

In the main dashboard you can find the OEE with components:

These values are calculated for the currently observed period of time selected in the top-left corner:

To check historical values, you can go to Reports -> OEE

To check raw data from which OEE was calculated click on the ‘OEE’ button, under line states:

Here you can find aggregated numbers, used for calculations:


You can find a similar breakdown in other places where OEE is calculated, like for the shift:

To dig even deeper, open the ‘Work spectrum’ view.
Here you can find a breakdown of line downtimes, including the duration of minor stops for each state, and aggregated type of downtime losses:

Finally, you can click on any of the loss types to filer through the downtimes, and see which are ‘Performance losses’. Each downtime has a small icon (corresponding to the legend on the left) indicating the loss type which it belongs to: