Answers
How to measure CMDB health without a single score
Every CMDB health dashboard eventually produces one number, and that number eventually goes up without anything improving. Here is why, and what to report instead.
A single score collapses three unrelated questions into one.
- Completeness — are the records there at all? This fails because a scanner cannot reach a subnet, or a class is out of scope, or a source was never onboarded.
- Correctness — do the records say true things? This fails because two sources disagree and the wrong one won the field, or because a value was right in March.
- Compliance — do the records meet the schema the consumers need? This fails because a required field is empty, or a relationship the model asks for was never asserted.
They have nothing in common except that all three make a report look bad. A score that averages them tells you a number moved and not which of the three moved it — so nobody can act on it, and the dashboard becomes something people screenshot rather than use.
Report three numbers. Always three. Never their average.
The trap underneath the trap
Even three numbers lie if the bar moves.
Most health scores are measured against a schema definition, a class scope, or a set of required fields that someone edits as the programme matures. Add a required field and compliance drops overnight with nothing having changed in the estate. Narrow the class scope and completeness jumps.
So the trend line everyone presents to the steering committee is usually comparing measurements taken under different definitions — which looks like progress or regression and is neither.
Version the bar. Stamp every measurement with the version of the schema and scope it was taken against, store it on the result, and when the definition changes, mark the break in the series rather than back-filling. A chart with an honest discontinuity in it is worth more than a smooth one nobody believes.
What to do first
If you only do one thing: find out what fraction of your CIs have no relationship at all.
That single figure predicts more downstream failure than any health percentage. Those records can never appear in an impact analysis, can never be reached by a service map, and will never show up in the reports people use to decide anything — whatever else is true about them.
And one question to ask of any score
Who is answerable for it? A number that recomputes quietly every night has never made anyone defend the claim it replaced. If nobody owns the definition, the score is telemetry, not governance.
The full derivation — including why coverage is three numbers or it is not a number — is in the CSDM quality documentation.