Skip to content
Quality dimensions, field by field

Each dimension is a percentage from a stated rule on a named field, with its grain and its denominator shown. Switch rules on and off and watch which measures move. The blend at the end is the number an executive gets, and it cannot tell anyone what to do.

Order records included 12
Rows in the customer table 12
Quarantined rows 2
Rows with an unresolved defect 7
Blended score91.7%
Validity, postcode100.0%Validity, order date100.0%Validity, order amount100.0%Completeness, mobile number91.7%Consistency, postcode across systemsnot assessed—Uniqueness, customer id91.7%Timeliness, captured at91.7%Accuracy, industry code66.7%Accuracy, mobile, postcode, amountnot assessed—blend 91.7%
DimensionFieldGrainScoreDenominator and rule
Validitypostcodeorder records100.0%12 of 12 order records, in the reference list of postcodes
Validityorder dateorder records100.0%12 of 12 order records, between 1 January 1990 and the as-of date
Validityorder amountorder records100.0%12 of 12 order records, the row records a currency and the amount is written as A$0,000.00
Completenessmobile numbercustomers91.7%11 of 12 customers, a non-blank value on the customer row
Consistencypostcode across systemsorder recordsnot assessedthe rule would compare each order postcode with the postcode held for the same customer in a second operational system, over the 12 order records in the working table. This fixture holds one system, so there is nothing to compare, and two systems agreeing would show only that they agree
Uniquenesscustomer idcustomers91.7%11 of 12 customers, 1 minus extra copies of a customer already present, over rows in the customer table
Timelinesscaptured atorder records91.7%11 of 12 order records, age at or under 90 days on 31 March 2026
Accuracyindustry codecustomers66.7%6 of 9 customers, matches the business register extract, over the customers the extract covers
Accuracymobile, postcode, amountnot applicablenot assessedno authoritative reference for these values exists here, and each would need its own reference and its own denominator, so this is reported rather than scored
Rules applied to the raw feed
Missing mobile numbers are always left unresolved. No rule here fills a blank, because a filled blank is an invented fact that everything downstream then treats as evidence. The format rule works the same way. It may rewrite how an amount is written only where the row records its own currency, which every row in this feed does, and a bare numeral on a feed that records no currency would stay flagged, because AUD 1,450 and USD 1,450 are different facts.
Timeliness tolerance (days)90 days
Audit log, 10 entries
ORD-1008 STANDARDISE Standardise amount. arrived as "1450" with no currency marker in the amount string, and the row records its currency as AUD in a field of its own, so the rule rewrites the presentation to A$1,450.00 from a recorded fact and the amount itself is unchanged
ORD-1009 QUARANTINE Postcode reference check. postcode 9999 is not in the reference list, row held out of the working table for review, not deleted and not guessed
ORD-1007 QUARANTINE Order date range check. order date 1 January 1900 is a well-formed date and outside the plausible range, so a format rule passes it and this one does not
ORD-1001 LEAVE UNRESOLVED Customer link. pair scored 0.405, under the review band floor of 0.58, so nothing merges and nobody looks at it. The second record of this customer stays in the working table and uniqueness carries the extra copy. At this threshold no pair of different people is merged anywhere in the candidate file.
ORD-1002 LEAVE UNRESOLVED Customer link. pair scored 0.405, under the review band floor of 0.58, so nothing merges and nobody looks at it. The second record of this customer stays in the working table and uniqueness carries the extra copy. At this threshold no pair of different people is merged anywhere in the candidate file.
ORD-1004 FLAG First-option concentration. Agriculture is first alphabetically and holds 25.0% of the working table, above the 20.0% limit, and the value is left exactly as it is
ORD-1005 FLAG First-option concentration. Agriculture is first alphabetically and holds 25.0% of the working table, above the 20.0% limit, and the value is left exactly as it is
ORD-1006 FLAG First-option concentration. Agriculture is first alphabetically and holds 25.0% of the working table, above the 20.0% limit, and the value is left exactly as it is
ORD-1010 FLAG Freshness check. captured 229 days before 31 March 2026, past the 90 day tolerance, a refresh policy is the fix and no rule can invent a fresh value
ORD-1003 LEAVE UNRESOLVED Missing mandatory field. mobile number is blank, no rule here may invent one, so the gap stays visible in the count
The blend is 91.7%, an unweighted mean of 7 ratios that count different things, 4 of them over order records and 3 over customers. Underneath it, accuracy on the industry code is 66.7% while validity on the postcode sits at 100.0%. Those two numbers call for different work, and the blend asks for none in particular. Consistency is not assessed, because it compares two systems and this fixture holds one. Accuracy on mobile, postcode and amount is not assessed either, because no authoritative reference for those values exists here, and reporting that is more honest than scoring it 100%.
The 14 orders are a stylised fixture written for this widget, not a real extract, and the as-of date is fixed at 31 March 2026. Every row records its own currency, which is what lets a format rule rewrite an amount without assigning one. The business register extract covers 9 of the 14 order records, which are 8 of the 13 customers behind them. The linkage weights, email 0.55, name 0.30 and postcode 0.15, are a stated choice rather than an estimated model, and the fixture also declares which candidate pairs are truly one customer, which is the only reason the merge decisions above can be scored at all.
Data quality dimensionsOpen in Dr Phil's Quant Lab ↗