Data quality

Maintenance data quality audit

Paste an asset register, work order or parts export and see which fields are actually usable, ranked worst first.

What makes maintenance data unusable

Almost nobody sets out to keep a bad asset register. They import one at go-live, populate the fields the import had, and then the register drifts as assets are added by hand under time pressure. Four years later the fields that decide something are the emptiest ones, because they were the hardest to fill in at the time.

Completeness is not the whole story

A criticality column filled with N/A is 100% complete and 0% useful. Placeholder values are worse than blanks, because a blank is visibly missing and an N/A passes every check anyone runs. They are counted separately here for that reason.

The fields that decide something

Not every column is worth chasing. Criticality decides PM cadence and what goes on the shelf as a spare. Location decides who gets the work. Manufacturer and model decide whether a part can be found at two in the morning. A register can be missing half its purchase dates and still run a maintenance program; one missing its criticality cannot.

One location spelled three ways

Spelling variants are the cheapest thing on this list to fix and the most consistently ignored. A breakdown by location that splits Line 3 into three rows is wrong in a way nobody notices, because each row looks plausible on its own. A find and replace clears most of them in an afternoon.

Fix the key first

Duplicate records are the one problem that gets worse the longer you leave it, because history accumulates on both copies. Two records for one pump means its failure history is split, its cost roll-up is understated on both, and whichever one the technician opens is missing half the story. Merge them before anything else on this list.

Frequently asked questions

What does the audit count as a filled field?

A cell with something in it that answers the question. A cell reading N/A, unknown, TBD, none or a single dash is counted as a placeholder rather than as filled, because it reads as complete in every report and carries no more information than a blank.

The word No is deliberately not on that list. A yes-or-no column is data.

Which columns should I mark as required?

The ones something downstream depends on. Criticality decides PM cadence and spares policy, so a register that is 30% complete on criticality cannot support either. Location decides who gets the work. Manufacturer and model decide whether a part number can be found at two in the morning.

Everything starts ticked so the first score is the pessimistic one. Untick what genuinely does not matter at your site and the score becomes the one you can hold people to.

What is a spelling variant?

A value that differs from another only by capitals or spacing. "Line 3", "line 3" and "Line 3 " are one place to a human and three places to a report, so a breakdown by location splits the same area into three rows and none of them is right.

These are worth fixing first because they are cheap. A find and replace clears most of them, and they distort every count built on that column until they are gone.

Does my export get uploaded anywhere?

No. The file is read in your browser and never leaves it. There is no account and no server call. What you paste is saved in this browser so the page still has it when you come back, and Clear removes it.

What score should I be aiming for?

On the fields that decide something, 95% and above. That sounds severe until you look at what the missing 5% costs: the assets with no criticality are the ones nobody scheduled, and they are usually not a random 5%.

A score below 75 on required fields generally means the register was imported once and never maintained, and that any report run off it is describing a subset of the site rather than the site.

Why has it decided my column is a date column?

Because at least 80% of the values in it parse as dates. The remaining values are then reported as malformed, which is usually the point: one "ASAP" in a due date column is the reason a date filter silently drops rows.

If a column is genuinely mixed, the malformed count is telling you that too.

Can it find duplicate records?

Yes, on whichever column you pick as the key. Keys are compared with capitals and spacing ignored, so P-204 and p-204 are one asset. Duplicates matter more than they look: every count, cost roll-up and compliance percentage built on the file is inflated by them, and two records for one asset means its history is split across both.

Keep the register clean without auditing it by hand

The data auditor apps in UpKeep run these checks against your live asset, work order and parts records, so gaps surface as they appear rather than at the next export.