In PackOS OEE is 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.

You can read more about What is OEE in this article.

## Duration of utilisation losses

**It’s 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 the ‘AvailabilityLoss‘ category in the “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.

## Duration of availability losses

**It’s 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 the ‘UtilizationLoss‘ category in the “OEE Loss Types” classification and, attaching it to specific states. (All states are by default availability losses)

## Duration of performance losses

**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.**

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

- There is a ‘PerformanceLoss’ category in the “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 the OEE Types classification

Read also about: Dynamic root cause analysis

Additionally, the performance 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:

The expected volume is:

If the line produced only **150 car**, 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 the “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` `

have been wasted, when an expected performance was **5 car****100 car/h**

The 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:

**Scheduled time**= TotalTime – Utilisation losses**Production time =**ScheduledTime – AvailabilityLosses**Operating time =**ProductionTime – PerformanceLosses**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 drill down in PackOS

In the PackOS (LogiX module) 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 find them in PackOS: **Reposts > 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:

All losses here, including ‘Performance losses’ only corresponds to

downtime losses.

Speed loss, is not aggregated here.That’s why the value for the ‘Performance loss’ does not match with the screen above. This summary describesline downtimesonly

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: