Why failure history sits unused while maintenance costs keep climbing
Last Tuesday, a facilities manager in Riyadh called us about a recurring chiller failure.
“Same compressor. Fails every 4 months. We replace it, runs fine, then fails again.”
I asked to see their Maximo failure history.
He pulled up the work orders. All twelve failures over three years, right there in the system.
Then I asked: “What does the failure code say?”
He clicked into the first work order.
Failure code: blank.
Second work order: blank.
Third work order: “EQUIPMENT FAILURE”
Fourth through twelfth: all blank or “EQUIPMENT FAILURE”
Twelve failures. Zero useful information captured.
The answer to why that compressor keeps failing was sitting in Maximo. The technicians knew it. They fixed it twelve times.
But nobody wrote it down in a way the system could use.
The $80K Question
Here’s what those blank failure codes cost:
Direct costs:
- 12 compressor replacements: $38,400
- Emergency callout labor: $14,200
- Expedited parts shipping: $8,900
Indirect costs:
- 340 hours reduced cooling capacity: $18,500 (calculated from patient comfort complaints and delayed procedures)
Total: $80,000 over three years
The fix turned out to be simple. Refrigerant charge was consistently low. The real problem was a slow leak in the discharge line.
One technician mentioned it casually: “Yeah, we always have to top up the refrigerant when we replace the compressor.”
That sentence, captured in a failure code, would have saved $80,000.
Why Failure Codes Stay Blank
We analyzed 4,200 work orders across eight clients in 2024-2025.
Failure code completion rate: 23%
That means 77% of failures get fixed with zero record of what actually happened.
Here’s why:
Reason 1: Too many options
One hospital had 340 failure codes in their system.
Technician opens dropdown, sees 340 choices, scrolls for 20 seconds, gives up, leaves it blank.
Reason 2: Codes written by someone who doesn’t do the work
“MECHANICAL SYSTEM DEGRADATION” “HVAC PERFORMANCE ANOMALY”
“ELECTRICAL COMPONENT MALFUNCTION”
These were actual failure codes we found.
Technician’s real finding: “Belt was loose”
Which code fits? None of them clearly. So it stays blank.
Reason 3: Filling it in takes time nobody has
Technician finishes repair at 4:47 PM. Next emergency call waiting. Work order gets closed. Failure code gets skipped.
What Actually Works
Manufacturing plant in Egypt, 2024.
When we started, failure code completion: 19%
We rebuilt their failure code structure using one rule: technicians have to write these, so technicians have to design them.
We pulled the five most experienced technicians into a room for two hours.
“Show me the last ten failures you fixed.”
They pulled up work orders on the screen.
“What actually broke?”
They told us in plain language:
- “Coupling came loose”
- “Oil leak at the seal”
- “Bearing making noise”
- “Motor overheating”
- “Vibration got worse”
We wrote those down exactly as they said them.
Twenty failures later, we had patterns.
Equipment: Pumps
- Seal leaking
- Coupling loose
- Bearing noise
- Motor overheat
- Cavitation
Equipment: Conveyors
- Belt slipping
- Roller seized
- Chain broken
- Drive misaligned
- Speed sensor failed
Five codes per equipment type. Plain language. Things technicians actually see and say.
We loaded them into Maximo.
Six months later:
Failure code completion: 81%
Why? Because clicking “Seal leaking” takes two seconds and matches what the technician just fixed.
The Pattern That Appeared
Three months into tracking failures properly, the plant’s maintenance manager ran a simple query:
“Show me equipment with the same failure code three or more times in six months.”
Results:
Pump P-447: “Seal leaking” – 5 times
Conveyor C-12: “Belt slipping” – 6 times Motor M-203: “Motor overheat” – 4 times
Those three assets consumed 40% of reactive maintenance budget.
The fixes:
Pump P-447: Seal kept failing because installation procedure was wrong. Technician was over-torquing the gland. Showed him correct torque spec. Seal failures stopped.
Conveyor C-12: Belt kept slipping because tension sensor was miscalibrated. Adjusted sensor. Slipping stopped.
Motor M-203: Overheating because cooling fan inlet was partially blocked by dust buildup. Added quarterly cleaning to PM schedule. Overheating stopped.
Three recurring problems. Three simple fixes. Total cost: $0 (just attention).
Savings in following twelve months: $47,300
None of this was possible when failure codes were blank.
The Failure History Report That Actually Gets Used
Most plants have failure history buried in Maximo but never look at it.
We build one report that operations managers check every Monday morning:
“Top 10 Repeat Offenders – Last 90 Days”
Shows:
- Asset number and description
- Failure code (the new simple ones)
- Number of times this failure happened
- Total cost (parts + labor)
- Days since last occurrence
Takes 30 seconds to scan.
Immediately shows: “These three things keep breaking. Deal with them this week.”
University in Saudi Arabia runs this report every Monday at 8 AM.
Maintenance manager reviews it during morning meeting.
If anything shows up three times in 90 days, it goes on the “fix root cause” list.
They’ve eliminated 60% of repeat failures in eighteen months using just this one report.
The ROI Math
Time investment to fix failure codes:
- 2 hours with technicians to build new code list: $180
- 3 hours to clean up old codes in Maximo: $270
- 1 hour training session: $90
Total: $540
Results after 6 months (actual client data, manufacturing plant, 450 assets):
- Failure code completion: 19% → 81%
- Repeat failures identified and fixed: 14 assets
- Reactive maintenance reduction: $63,200 annually
- Time to spot patterns: 90 days → 2 weeks
ROI: $63,200 annual savings from $540 investment
Payback period: 3 days
What To Do Sunday
Step 1: Check your completion rate
Run this in Maximo:
Count work orders with failure codes filled vs total work orders closed in last 90 days.
If you’re under 50%, you have a problem.
Step 2: Look at your failure code list
Pull up the dropdown technicians see.
If there are more than 30 codes, it’s too many.
If codes use words like “degradation,” “anomaly,” or “malfunction,” technicians won’t use them.
Step 3: Ask one technician
“Show me your last five repairs. What actually broke?”
Listen to how they describe it.
That’s your new failure code language.
Step 4: Pick five equipment types
Start small. Motors, pumps, HVAC, electrical panels, whatever you have most of.
Build 5-7 failure codes per type.
Test for 30 days.
Check completion rate.
Expand from there.
The Pattern You're Missing
Right now, your Maximo has the answer to:
- Why that motor keeps overheating
- Why you can’t keep that valve in stock
- Why building 3 has twice the HVAC failures as building 2
- Why summer maintenance costs spike 40%
The answers are sitting in your work order history.
You just can’t find them because the data is blank, generic, or inconsistent.
Failure codes aren’t paperwork.
They’re the difference between fixing the same thing twelve times and fixing it once.
Want to see what patterns are hiding in your Maximo?
We’ll pull your last 90 days of work orders and show you:
- Current failure code completion rate
- Top repeat offenders
- What a simplified failure code structure looks like for your equipment
30-minute analysis. Zero cost.
Contact Innexa. Let’s find your $80K.
About Innexa IT Solutions
Innexa works exclusively with IBM Maximo and Maximo Application Suite for asset-intensive organizations across Egypt and the GCC. We support clients in building asset performance capabilities through disciplined data practices, integration clarity, and practical execution roadmaps grounded in real operational environments.