Menu
Downtime Reason Code Design: The 90 Minutes That Decide Whether Your OEE Analytics Are Useful

Downtime Reason Code Design: The 90 Minutes That Decide Whether Your OEE Analytics Are Useful

Most plants design reason codes badly and live with noisy analytics for years. The principles of a useful reason code taxonomy.
Downtime Reason Code Design: The 90 Minutes That Decide Whether Your OEE Analytics Are Useful
Downtime Reason Code Design: The 90 Minutes That Decide Whether Your OEE Analytics Are Useful

Key takeaways

  • Downtime reason codes = the categories operators choose when logging a stop.
  • Bad reason code taxonomies produce noisy Pareto charts that hide what is actually happening.
  • Good taxonomies have 10-20 codes per line, mutually exclusive, easily recognized.
  • The taxonomy must be designed for analysis, not for completeness. Too many codes is worse than too few.
  • "Other" and "Unknown" should be rare — high rates mean the taxonomy is wrong, not that operators are lazy.

Short answer: Downtime reason codes are the categories operators select when logging a stop. The taxonomy design is where most plants ruin their OEE analytics — too many codes, too vague, too overlapping. A useful taxonomy has 10-20 codes per line, mutually exclusive, easily recognized by operators. Designed for analysis, not completeness. The 90 minutes spent designing this set right are worth years of cleaner analytics. See also PLC Fault Code Design.

What makes a reason code taxonomy good

Five properties:

  • Mutually exclusive. Every stop fits exactly one code. No "could be either" situations.
  • Collectively exhaustive at the right level. 95%+ of stops should be classifiable without "Other."
  • Recognizable by operators in seconds. If picking the code takes 30 seconds, operators bypass it.
  • Actionable. Each code points to a specific category of countermeasure.
  • Stable. Same codes mean the same thing across shifts and over months.

The common mistakes

1. Too many codes. 50+ codes per line. Operators cannot scan the list; they pick the first plausible one. Analytics noisy.

2. Too few codes. 3-5 generic codes. Pareto is meaningless; everything is "equipment fault" or "material."

3. Overlapping codes. "Mechanical failure" and "Mechanical breakdown" exist as separate codes. Operators pick randomly between them.

4. Codes that mix root cause with symptom. "Sensor fault" and "Wrong product" might both be triggered by the same root cause. Confusing.

5. Codes for the planner's needs, not the operator's. "PM Type 3.4.b" means nothing to a technician at 3am.

How to design the taxonomy

  1. Start with the six big losses. Equipment failure, setup/adjustment, idling/minor stops, reduced speed, defects, startup yield. These are the OEE Loss categories.
  2. Decompose each into 2-5 subcategories. Equipment failure → Mechanical, Electrical, Hydraulic, Pneumatic, Sensor. Setup → Changeover, Tooling change, Recipe load.
  3. Adapt to the line. A CNC line has different failure modes than a packaging line. Tailor.
  4. Test with operators. Show three operators five hypothetical stops. Do they pick the same code? If not, refine.
  5. Document and lock. The taxonomy is part of the OEE formula version.

A working example for a discrete line

Availability losses:

  • EQ-Mechanical
  • EQ-Electrical
  • EQ-Sensor
  • SET-Changeover
  • SET-Tool change
  • SET-Recipe load
  • MAT-Starvation upstream
  • MAT-Blockage downstream
  • UTIL-Power/air
  • SAFETY-Stop
  • PM-Planned

Performance signals:

  • MICRO-Operator clear
  • MICRO-Material jam
  • SLOW-Tool wear
  • SLOW-Recipe drift

Quality signals:

  • QA-Hold
  • QA-Rework
  • QA-Startup scrap

~18 codes. Each operator-recognizable. Each maps to a specific action.

When operators pick "Other"

"Other" is the smell. If it is more than 5% of stops, the taxonomy is missing categories. Add codes for what is actually happening.

Audit: pull a week of "Other" entries with their free-text comments. Cluster them. Promote frequent clusters to dedicated codes.

Tiered codes

Some platforms support two-level reason codes (category → subcategory). This can help operators (pick category fast, drill subcategory) but only if the second level is genuinely useful. If second-level is rarely used, simplify to one level.

How to review and refine

  • Monthly: review "Other" rate. If above 5%, refine.
  • Quarterly: review Pareto distribution. If one code dominates, decompose it.
  • Annually: review the full taxonomy. Remove unused codes; add codes for new failure modes.

Common mistakes

1. Letting each line define its own taxonomy. Cross-line comparison becomes impossible.

2. Never reviewing. Taxonomy decays as equipment and processes change.

3. Codes that mix structured and free-form. "Other - see notes" defeats the structured-data purpose.

4. Punishing operators for honest reason codes. "Safety stop" should be welcomed, not buried.

How a modern OEE platform supports taxonomy design

A modern OEE platform supports configurable reason code taxonomies, surfaces "Other" rate and Pareto distribution, and lets the data steward refine the taxonomy without losing historical comparability.

Fabrico's OEE module supports tiered reason codes, surfaces taxonomy quality metrics ("Other" rate, distribution skew), and allows refinement with versioned history.

See how Fabrico captures this automatically — explore OEE for manufacturing or book a demo.

Related reading

Frequently asked questions

How many reason codes should I have?

10-20 per line is typical. More than 30 makes operator selection unreliable.

Should every line have the same codes?

Categories yes; subcategories tailored to the line. The high-level structure should be consistent.

What is an acceptable "Other" rate?

Under 5%. Higher means the taxonomy is missing categories.

Can I auto-classify reason codes?

Increasingly. ML on PLC signatures plus operator-entered context can suggest codes. Human confirmation usually preserved.

How often should taxonomy be reviewed?

Monthly for "Other" rate, annually for full taxonomy review.

Das Neueste aus unserem Blog

Definieren Sie Ihren Zuverlässigkeitsfahrplan
Überzeugen Sie sich selbst!
Definieren Sie Ihren Zuverlässigkeitsfahrplan
Indem Sie auf die Schaltfläche „Akzeptieren“ klicken, erklären Sie sich mit der Nutzung einverstanden.Cookies beim Zugriff auf diese Website und bei der Nutzung unserer Dienste. Erfahren Sie mehrWeitere Informationen zur Verwendung und Verwaltung von Cookies finden Sie in unserem Datenschutzrichtlinie und Cookie-Erklärung