Industrial Engineering Calculator

OEE Calculator

Calculate Overall Equipment Effectiveness (OEE) — the gold-standard metric that multiplies Availability, Performance and Quality to show how much of planned production time is truly productive.

OEE Formula

OEE = Availability × Performance × Quality

Availability

87.5 %

Run / Planned

×

Performance

95.2 %

(ICT × Count) / Run

×

Quality

95.0 %

Good / Total

=

OEE

79.2 %

Typical / Acceptable

Input Parameters

All time values in the same unit (minutes recommended).

min

Scheduled production time (breaks already excluded).

min

Unplanned + planned stops during the planned period (breakdowns, changeovers, etc.).

Run Time = 420.0 min
min/unit

Fastest possible cycle time under ideal conditions.

units

All pieces produced (good + defective).

units

First-pass good pieces (no rework / scrap).

Material Note

Material properties can vary significantly based on heat treatment and manufacturer. Always consult specific supplier datasheets for critical components.

Overall Equipment Effectiveness

79.2%

Typical / Acceptable

Availability

87.5 %

Performance

95.2 %

Quality

95.0 %

Typical / Acceptable — OEE = 79.2 %

World-class OEE is typically ≥ 85 %. Most plants operate between 40–60 %. Focus improvement on the lowest of the three factors.

Governing Formulas

Availability = Run Time / Planned Production Time

Performance = (Ideal Cycle Time × Total Count) / Run Time

Quality = Good Count / Total Count

OEE = Availability × Performance × Quality

Calculation Assumptions

  • Planned time excludes scheduled breaks
  • Downtime includes all stops during planned time
  • Ideal cycle time is the theoretical best
  • Good count = first-pass yield (no rework)
  • Performance capped at 100 %
  • Consistent time units throughout

Engineering Code

Reuse the calculation in your own production monitoring or MES systems.

Python
def calculate_oee(planned_time, run_time, ideal_cycle_time, total_count, good_count):
    """
    Overall Equipment Effectiveness (OEE)

    OEE = Availability × Performance × Quality

    Availability = Run Time / Planned Production Time
    Performance  = (Ideal Cycle Time × Total Count) / Run Time
    Quality      = Good Count / Total Count
    """

    if planned_time <= 0 or run_time <= 0 or ideal_cycle_time <= 0 or total_count <= 0:
        raise ValueError("Time and count inputs must be > 0")
    if good_count < 0 or good_count > total_count:
        raise ValueError("Good count must be between 0 and total count")
    if run_time > planned_time:
        raise ValueError("Run time cannot exceed planned time")

    availability = run_time / planned_time
    performance = min((ideal_cycle_time * total_count) / run_time, 1.0)
    quality = good_count / total_count
    oee = availability * performance * quality

    return {
        "availability": availability,
        "performance": performance,
        "quality": quality,
        "oee": oee,
    }


# Example
planned_time = 480      # minutes
downtime = 60              # minutes
run_time = planned_time - downtime
ideal_cycle_time = 0.5  # min/unit
total_count = 800
good_count = 760

result = calculate_oee(planned_time, run_time, ideal_cycle_time, total_count, good_count)

print(f"Availability : {result['availability']*100:.1f} %")
print(f"Performance  : {result['performance']*100:.1f} %")
print(f"Quality      : {result['quality']*100:.1f} %")
print(f"OEE          : {result['oee']*100:.1f} %")
MATLAB
function result = calculate_oee(planned_time, run_time, ideal_cycle_time, total_count, good_count)
    % Overall Equipment Effectiveness (OEE)
    % OEE = Availability × Performance × Quality

    if planned_time <= 0 || run_time <= 0 || ideal_cycle_time <= 0 || total_count <= 0
        error('Time and count inputs must be > 0');
    end
    if good_count < 0 || good_count > total_count
        error('Good count must be between 0 and total count');
    end
    if run_time > planned_time
        error('Run time cannot exceed planned time');
    end

    availability = run_time / planned_time;
    performance = min((ideal_cycle_time * total_count) / run_time, 1.0);
    quality = good_count / total_count;
    oee = availability * performance * quality;

    result.availability = availability;
    result.performance = performance;
    result.quality = quality;
    result.oee = oee;
end

% Example
planned_time = 480;
downtime = 60;
run_time = planned_time - downtime;
ideal_cycle_time = 0.5;
total_count = 800;
good_count = 760;

r = calculate_oee(planned_time, run_time, ideal_cycle_time, total_count, good_count);

fprintf('Availability : %.1f %%\n', r.availability*100);
fprintf('Performance  : %.1f %%\n', r.performance*100);
fprintf('Quality      : %.1f %%\n', r.quality*100);
fprintf('OEE          : %.1f %%\n', r.oee*100);
Excel Formula
=Availability*Performance*Quality
' Availability = RunTime/PlannedTime
' Performance  = MIN((IdealCycleTime*TotalCount)/RunTime,1)
' Quality      = GoodCount/TotalCount

Example Calculation

Planned production time = 480 min, downtime = 60 min → Run Time = 420 min. Ideal cycle time = 0.5 min/unit, total count = 800, good count = 760:

Availability = 420 / 480 = 0.875 → 87.5 %

Performance = (0.5 × 800) / 420 ≈ 0.952 → 95.2 %

Quality = 760 / 800 = 0.950 → 95.0 %

OEE = 0.875 × 0.952 × 0.950 ≈ 79.2 %

Technical Explanation: Overall Equipment Effectiveness (OEE)

Technical Introduction

Overall Equipment Effectiveness (OEE) is a composite metric widely used in lean manufacturing and Total Productive Maintenance (TPM). It quantifies how effectively a production asset is utilized by combining three dimensions: Availability, Performance, and Quality. OEE provides a single percentage score that reflects the proportion of planned production time that is truly productive. A perfect score of 100% would mean the machine ran continuously during planned time, at its ideal speed, and produced only defect-free parts.

Engineers and operations managers rely on OEE to identify hidden losses, prioritize improvement initiatives, and benchmark equipment effectiveness across lines or plants. Unlike isolated efficiency measures, OEE exposes the interplay between downtime, speed losses, and quality issues, making it a cornerstone KPI in industrial engineering.

Governing Formula

The governing equation is:

OEE = Availability × Performance × Quality

  • Availability = Run Time / Planned Production Time. Measures the proportion of scheduled time the machine is actually running.
  • Performance = (Ideal Cycle Time × Total Count) / Run Time. Compares actual output rate against the theoretical maximum speed.
  • Quality = Good Count / Total Count. Represents the fraction of produced units that meet quality standards without rework.

Each factor is expressed as a ratio between 0 and 1 (or 0–100%). Multiplying them yields the overall OEE percentage. This multiplicative structure ensures that losses in any dimension directly reduce the final score.

Calculation Method / Derivation

The derivation of OEE stems from the concept of Six Big Losses in TPM: equipment failures, setup/adjustments, idling/minor stops, reduced speed, process defects, and reduced yield. Availability captures downtime losses, Performance captures speed losses, and Quality captures defect losses. By quantifying each independently, OEE integrates them into a single metric.

For example, if a machine is scheduled for 480 minutes but experiences 60 minutes of downtime, Availability is 420/480 = 87.5%. If the ideal cycle time is 0.5 min/unit and 800 units are produced in 420 minutes, Performance is (0.5×800)/420 ≈ 95.2%. If 760 of those units are good, Quality is 760/800 = 95.0%. Multiplying yields OEE ≈ 79.2%. This derivation shows how each loss category cascades into the final effectiveness score.

Input Parameters

  • Planned Production Time: The total scheduled operating time, excluding planned breaks. Entered in minutes or hours.
  • Downtime: The duration of unplanned or planned stops within production time. Subtracted to obtain Run Time.
  • Run Time: Actual time the machine is operating. Critical for Availability calculation.
  • Ideal Cycle Time: The theoretical minimum time per unit under optimal conditions. Must be defined carefully to avoid inflated Performance scores.
  • Total Count: The total number of units produced, including defective ones.
  • Good Count: The number of units meeting quality standards without rework. Used to compute Quality ratio.

Accurate input classification is essential. Misreporting downtime or using average cycle times instead of ideal values can distort OEE and mask true losses.

Engineering Interpretation

OEE provides engineers with a holistic measure of equipment productivity. A low Availability score signals frequent breakdowns or excessive changeovers. A low Performance score indicates speed losses, micro-stops, or suboptimal operating rates. A low Quality score highlights scrap or rework issues. By decomposing OEE, engineers can pinpoint the dominant loss category and target improvement projects accordingly.

Importantly, OEE does not directly measure profitability. A machine with high OEE may still produce low-margin products, while a lower OEE machine could be profitable if margins are high. Thus, OEE should be interpreted alongside financial metrics in industrial decision-making.

Units and Unit Conversion

OEE is dimensionless, expressed as a percentage. Availability, Performance, and Quality are ratios of time, speed, and counts respectively. Engineers must ensure consistent units:

  • Planned Production Time and Run Time must be in the same units (minutes, hours).
  • Cycle time should match the time unit used for Run Time.
  • Total Count and Good Count must be measured in identical unit quantities.

Alternative / General Case

This calculator applies the standard OEE definition. In practice, variations exist such as TEEP (Total Effective Equipment Performance), which includes calendar time, and OEE for multi-product lines, where ideal cycle time differs per product. Some organizations also adjust definitions to account for planned maintenance or partial shifts. Engineers should clarify which convention is used when comparing OEE across sites.

Assumptions and Limitations

  • Ideal cycle time is constant and represents the best achievable rate.
  • Downtime is fully captured; unlogged micro-stops can distort Availability and Performance.
  • Quality is based on first-pass yield; reworked parts are treated as losses.
  • Analysis assumes all produced units are counted consistently.
  • Scheduled breaks are excluded from Planned Production Time.

These assumptions simplify calculation but may not capture complex realities such as variable cycle times, partial rework recovery, or overlapping downtime categories.

Practical Engineering Use

OEE is applied across diverse industrial contexts:

  • Automotive assembly: Tracking welding cell uptime, line speed, and defect rates.
  • Food packaging: Identifying hidden micro-stops from jams or misfeeds that reduce throughput.
  • CNC machining: Balancing feed rates against tool wear to avoid scrap losses.
  • Pharmaceutical production: Ensuring sterile batch quality while minimizing downtime during changeovers.
  • Electronics manufacturing: Monitoring pick-and-place machine speed and soldering defect rates.

By integrating OEE into continuous improvement programs, engineers can prioritize investments, justify maintenance schedules, and benchmark progress toward world-class manufacturing standards.

Real-World Engineering Cases

The Hidden Micro-Stops on the Packaging Line

A food packaging facility reported a world-class 95% Availability because they only logged major breakdowns lasting longer than 15 minutes. However, a cardboard jam was stopping the machine for 10 seconds every 2 minutes. The operators cleared it so fast they didn't log it. As a result, the Performance metric plummeted, and the true OEE was a dismal 60%.

Engineering Lesson

Unrecorded micro-stops are the silent killers of manufacturing capability. OEE forces you to look at Performance (speed) and Availability (uptime) separately, exposing issues that traditional downtime logs completely miss.

The Speed vs. Quality Dilemma

To meet a massive monthly quota, a CNC machining department cranked up their feed rates. Their Performance score hit 100%. However, the aggressive cutting speeds caused severe tool wear, resulting in a 20% scrap rate (bad parts). While they produced parts faster, their overall OEE actually dropped, and material costs skyrocketed.

Engineering Lesson

OEE is a balancing act. Optimizing one metric (Speed/Performance) at the expense of another (Quality) will always result in a lower overall effectiveness and lost profits.

Frequently Asked Questions

What is the OEE formula?

OEE = Availability × Performance × Quality, where Availability = Run Time / Planned Production Time, Performance = (Ideal Cycle Time × Total Count) / Run Time, and Quality = Good Count / Total Count.

What is a good OEE score?

World-class OEE is typically 85 % or higher. Many discrete manufacturers operate between 40 % and 60 %. The absolute number is less important than the trend and the identification of the largest loss category.

Should scheduled breaks be included in Planned Production Time?

No. Planned Production Time is the time the equipment is expected to be producing. Scheduled breaks, lunch and other non-production periods are normally excluded so they do not artificially lower Availability.

Why is Performance sometimes capped at 100 %?

If the recorded Ideal Cycle Time is faster than the actual average cycle time, the raw Performance ratio can exceed 1.0. Capping at 100 % prevents an inflated OEE caused by an unrealistically aggressive ideal cycle time.

Calculations provided by this tool are for educational and continuous-improvement purposes. Always verify definitions of planned time, downtime, ideal cycle time and good count against your site’s standards and any applicable industry guidelines before using results for operational decisions.