Your 85% OEE isprobably a story.
Changeovers get relabeled “planned” and drop out of planned time. The dashboard stays green while a fifth of your capacity hides in plain sight — until you buy a machine to replace capacity you already own. This grader computes every line’s OEE twice, reported and true, and refuses to call a number honest when time has been taken out of its planned time.
The most-quoted number on the plant floor is the one nobody checks.
of capacity commonly hides in the “hidden factory” that inflated OEE conceals — capacity a plant tries to buy new when it already owns it.
OEE gets softened: changeovers taken out of planned time, an ideal cycle padded to the rate the line really runs, and micro-stops moved out of availability (that one only shifts loss between factors). The grader catches the first and reports the third.
is the size of a single avoidable line or capex decision made off a number that omitted the very time the new machine was meant to recover.
Every AI vendor on the floor is selling prediction — sensors, vision, digital twins, a six-figure pilot. None of them check whether the number you already report is telling the truth. That is arithmetic, not machine learning, and it is where the money actually leaks.
Grade a line yourself. Watch a good number get caught.
Live grader · evaluated 2026-06-30
25.0 minutes of changeover were taken out of planned time, so this line reads INFLATED even at a true 74.3%. Tap "Put the changeover back" to see it release to its real band. The excluded micro-stops stay inside run time: they move loss from Availability to Performance, and OEE does not move.
Scores an equipment number, never a person. Deterministic and offline — your inputs, no benchmark multiplier.


How the gate works, in one image
How the OEE Honesty Grader rebuilds true OEE from A, P, and Q and forces INFLATED when changeover taken out of planned time pads the headline — the same math the demo runs, as a diagram you can share or embed anywhere.
View & embed the full diagramThe worked line runs at a true 74.3% — a genuinely strong OEE — yet reads INFLATED because 25 minutes of changeover were booked as planned and taken out of its planned time. Put them back and the same line releases to TRUE OEE AS DESCRIBED. Its 35 excluded micro-stop minutes are reported, not gated: they move loss from Availability to Performance, and OEE does not move. That is the whole discipline: the gate makes the reporting honest so the number can be trusted.
One command reads your shift log and grades every line.
$ python3 oee_grader.py sample_lines.csv --as-of 2026-06-30 ================================================================== OEE HONESTY GRADER - RedHub AI (OEE-099) Evaluation date: 2026-06-30 ================================================================== Line: Line 1 - Filler Reported OEE : 78.2% True OEE : 74.3% (inflation +3.9 pts) <- changeover hidden in planned time A / P / Q : 87.1% / 87.0% / 98.0% Weakest : Performance at 87.0% C/O moved : 25.0 min (booked as planned downtime; back in planned time) Micro-stops : 35.0 min left out of downtime - moves loss to Performance, OEE unchanged VERDICT : INFLATED Line: Line 1 - Filler (cleaned up) Reported OEE : 74.3% True OEE : 74.3% (inflation +0.0 pts) A / P / Q : 80.2% / 94.5% / 98.0% Weakest : Availability at 80.2% C/O moved : 0.0 min VERDICT : TRUE OEE AS DESCRIBED Line: Line 2 - Capper Reported OEE : 81.3% True OEE : 81.3% (inflation +0.0 pts) A / P / Q : 87.5% / 94.3% / 98.5% Weakest : Availability at 87.5% C/O moved : 0.0 min VERDICT : TRUE OEE AS DESCRIBED Line: Line 3 - Labeler Reported OEE : 61.1% True OEE : 61.1% (inflation +0.0 pts) A / P / Q : 68.8% / 92.9% / 95.7% Weakest : Availability at 68.8% C/O moved : 0.0 min VERDICT : TRUE OEE AS DESCRIBED Line: Line 4 - Palletizer Reported OEE : 66.3% True OEE : 60.6% (inflation +5.7 pts) <- changeover hidden in planned time A / P / Q : 68.6% / 91.7% / 96.4% Weakest : Availability at 68.6% C/O moved : 45.0 min (booked as planned downtime; back in planned time) VERDICT : INFLATED Line: Line 5 - Case Packer Reported OEE : 74.8% True OEE : 74.8% (inflation +0.0 pts) A / P / Q : 81.3% / 93.8% / 98.0% Weakest : Availability at 81.3% C/O moved : 0.0 min VERDICT : TRUE OEE AS DESCRIBED Line: Line 6 - Shrink Wrapper Reported OEE : 48.9% True OEE : 48.9% (inflation +0.0 pts) A / P / Q : 60.4% / 86.9% / 93.1% Weakest : Availability at 60.4% C/O moved : 0.0 min VERDICT : SOFT NUMBER ------------------------------------------------------------------ PLANT REPORTING VERDICT : INFLATED REPORTING Fix first : Line 4 - Palletizer (inflation +5.7 pts, true OEE 60.6%) ------------------------------------------------------------------ Scores an equipment number, never a person. Not a safety-compliance certification and not accounting advice.
Stdlib-only Python, no install beyond Python itself. The workbook reproduces these exact verdicts, and the demo above computes the identical numbers — verified byte-for-byte on the shipped sample.
Three rules keep the number honest.
Reported vs. true, side by side
Every line is computed both ways from your own inputs. The gap between them is the inflation — named, in points, not buried.
Planned time is dispositive
Any changeover taken out of planned time forces INFLATED, whatever the true number. An OEE that shrinks its own planned time is not an OEE. Put it back and it releases. A row whose numbers cannot all be true is refused, never capped at 100%.
World-standard math, no multiplier
Availability × Performance × Quality, exactly as the standard defines it. No benchmark stat, no invented uplift — just your numbers.
A reporting-integrity check, not a sensor or a scorecard for people.
- A deterministic, offline grader you run on shift facts you already have.
- A way to expose the hidden factory before it drives a capital decision.
- A workbook and engine that agree byte-for-byte, so any team can reproduce the verdict.
- Not a sensor, PLC integration, or predictive-maintenance model — it connects to nothing.
- It scores an equipment number, never a person, operator, or crew.
- Not a safety-compliance certification and not accounting advice.
Anyone who signs off on an OEE number or spends against one.
- Plant and operations managers who report OEE up the chain
- Continuous-improvement and lean leads running the numbers
- Finance and ops reviewing a capacity or capex request
- Consultants auditing a plant's reporting before a project
- Real-time line monitoring — this grades a window, not a live feed
- Ranking or evaluating operators or shifts
- Plants that want a black-box AI score instead of the arithmetic
- Replacing your MES — it reads facts you export from it
Build the honest number, then act on it.
Manufacturing & Distribution Ops Pack
$89Seven Claude skills for the make-and-move surface, plus a runnable inventory auditor.
ViewCSV / Data-Export Schema & Quality Gate
$69Grade whether your exported shift or MES file is fit to be processed before any tool reads it.
ViewThe Supplier-Concentration Risk Gate
$99The plant risk desk's other half — computes single-source exposure from your own spend.
ViewThe honest answers.
Stop reporting a number
you can’t defend.
One purchase, lifetime access, 12 months of updates. $99, once.
Sold by RedHub AI LLC · Secured by Stripe · redhub.ai