# How to Calculate OEE from MES Data and ERP Standards

> Source: https://netray.co/erp-help/mes-oee-calculation-from-erp-and-mes-data
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: ERP Help

## Short answer

OEE equals Availability times Performance times Quality. Availability comes from MES run and stop events against planned production time, Performance compares actual output to the ideal cycle time (usually the routing standard from the ERP), and Quality is good units divided by total units. The numbers are only trustworthy if planned time, ideal cycle time and the good/scrap split are defined once and used consistently.

## Kind

how-to

## System

mfg-systems

## Erp

MES and ERP data

## Module

OEE Analytics

## Query

how to calculate OEE from MES data and ERP standards

## Alternate Queries

- OEE formula availability performance quality
- calculate OEE using ERP routing standards
- OEE ideal cycle time from ERP routing
- why is my OEE over 100 percent

## Applies To

Discrete and process plants using any MES or machine data collection with an ERP that holds routings and standards (SyteLine, LN, M3, SAP, NetSuite, Dynamics, Epicor)

## Steps

### How to calculate OEE step by step

**Items:**

- Define planned production time per machine and shift: scheduled shift minus planned non-production time (breaks, planned maintenance, no-demand periods) according to a written policy.
- Collect run time as planned production time minus unplanned stop time, from MES machine state events. Short stops under a set threshold may count as speed loss rather than downtime; document the threshold.
- Availability = Run time divided by Planned production time.
- Get the ideal cycle time per item and operation from the ERP routing (run time per piece, or pieces per hour), and confirm it is the best demonstrated rate, not a padded costing standard.
- Performance = (Ideal cycle time times Total count) divided by Run time.
- Quality = Good count divided by Total count, where total includes scrap and rework as defined in your scrap policy.
- OEE = Availability times Performance times Quality. Calculate per machine per order or per shift, then roll up by weighted time, not by averaging percentages.
- Validate with a sanity pass: any figure over 100 percent in a component points to a wrong ideal cycle time or counting error, not great performance.

## Sections

### The formula and what each term really needs

**Body:**

Availability, Performance and Quality each answer a different loss category. Availability captures stops: breakdowns, changeovers, waiting for material. Performance captures slow cycles and micro-stops. Quality captures scrap and rework. The product gives the fraction of planned time spent making good parts at ideal speed. A worked example: 480 minute shift, 60 minutes planned break leaves 420 planned; 63 minutes of stops leaves 357 run, so Availability is about 85 percent. Ideal cycle 0.5 minutes, 600 parts made, so Performance is 300 divided by 357, about 84 percent. 570 good of 600 gives Quality 95 percent. OEE is about 68 percent.

The arithmetic is easy. The disputes are about inputs: what counts as planned time, what is the ideal cycle, and what counts as a good part. Settle those in writing before comparing plants or lines.

**Code:**

Availability = RunTime / PlannedProductionTime
Performance  = (IdealCycleTime * TotalCount) / RunTime
Quality      = GoodCount / TotalCount
OEE          = Availability * Performance * Quality

### Where ERP data fits

**Body:**

The MES supplies time and counts. The ERP supplies the context that makes them comparable: routing run rates, work center capacity calendars, planned downtime from maintenance schedules, and the order, item and revision being made. Joining the two is what lets you compute Performance per item rather than per machine average, which matters on mixed-product lines where cycle time varies by part number.

Be careful with routing standards. A costing standard is often padded with allowances for setup, fatigue and typical losses. Using it as the ideal cycle time inflates Performance above 100 percent on good days. Prefer a demonstrated best rate or the machine's rated speed for OEE, and keep the costing standard for variance analysis.

### Data traps that distort OEE

**Body:**

Counting errors: if a machine counts cycles but each cycle makes two parts, Performance doubles unless the parts-per-cycle factor is applied. Reworked parts counted as good on the first pass and again on the second inflate Quality. Changeover time booked as run time hides Availability loss, and the opposite error, booking all setup as downtime when the plan allows for it, understates it.

Roll-ups: never average OEE percentages across machines. Sum the underlying time and counts, then recompute, otherwise a short, poor shift on one machine skews the plant figure as much as a full, strong shift on another.

### Use OEE for decisions, not leaderboards

**Body:**

OEE is a diagnostic, not a target to hit on every machine. A bottleneck machine at 60 percent costs far more than a non-bottleneck at 60 percent, so weight attention by constraint. Pair OEE with the loss breakdown (Pareto of downtime reasons, scrap reasons, speed loss) because the single number does not tell you what to fix.

Comparing across plants only makes sense if the same definitions are used. A plant that excludes changeovers from planned time will always look better than one that includes them.

## Pitfalls

- Using the padded ERP costing standard as the ideal cycle time, giving Performance above 100 percent.
- Averaging OEE percentages across machines or shifts instead of summing time and counts.
- Ignoring parts-per-cycle, so multi-cavity tools overstate Performance.
- Counting reworked units as good at both passes, inflating Quality.
- No written definition of planned downtime, so each plant calculates a different OEE.

## Ai Angle

An assistant grounded in your ERP and MES data, such as ERPray, can compute OEE per line and item while showing the exact query and the definitions it used, and flag rows where Performance exceeds 100 percent so a human can check the ideal cycle time. It will not decide your planned-time policy for you, and it cannot fix wrong machine counts; it can only point out where the numbers are inconsistent.

## Faq

### What is a good OEE number?

**Answer:** Rules of thumb quote 85 percent as world class for discrete manufacturing, but it depends heavily on definitions and product mix. A job shop with frequent changeovers may sensibly sit well below that. Track your own trend and loss categories rather than chasing a published benchmark.

### Why is my OEE over 100 percent?

**Answer:** Almost always the ideal cycle time is too slow (a padded standard), the part count is multiplied incorrectly, or run time is understated because stops were over-recorded. Check the routing rate against the machine's rated speed and verify the parts-per-cycle setting before trusting any component above 100.

### Can I calculate OEE in the ERP alone?

**Answer:** Only roughly. ERP labor and quantity reporting is too coarse to separate availability from performance losses. You need machine state or timestamped event data, usually from an MES, PLC or historian, and then the ERP supplies standards and order context.

### Does planned maintenance count against OEE?

**Answer:** That is a policy choice. The common definition excludes planned non-production time from planned production time, so scheduled maintenance does not hurt OEE, whereas TEEP measures against all calendar time. Pick one, document it, and apply it consistently.

## Search terms

how to calculate OEE, OEE formula availability performance quality, OEE from MES data, ideal cycle time from routing, OEE over 100 percent, OEE ERP standards, planned production time OEE, TEEP vs OEE, OEE roll up calculation, machine downtime OEE

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
