On this page
Data quality in Golden
Understand the Golden record-quality score, what moves it, what it deliberately does not mean, and how saved table measurements support comparison.
Golden measures records against their dataset’s quality rules. A measurement can contain a score from 0 to 100, findings, counts, a definition, and a calculation time. It describes conformance to those rules, not whether a customer is real or two records describe the same person.
Quality score calculation
For simple fields, a mandatory field has weight 2 and an optional field has weight 1. Passing fields contribute their weight; a failed field does not. The proportion of earned points to available points is expressed as an integer percentage. Repeated and nested structures have their own contributions: use the record’s quality explanation instead of counting visible JSON members.
The result has these boundaries:
| Condition | Result |
|---|---|
| An error remains | The final score cannot exceed 99 |
| Some points are earned | Rounding does not turn the result into zero |
| No points are earned | The score is zero |
| Nothing is measurable | No numeric score is reported |
| Only warnings remain | A score of 100 is still possible after rounding |
A warning can reduce its field’s contribution. The additional whole-record ceiling applies to errors, not to warnings.
Aurelia phone example
In Aurelia, the customer source file gives Ana’s CRM-0001 a national phone
number, 611000000. The installed cleaning pipeline stores it as
+34611000000 before measuring the record. A check of the original source
value runs that same write pipeline before measuring without saving anything.
The calculation measures the canonical form, not the source
file’s spelling; it does not prove that the number belongs to Ana.
Follow Read quality in Aurelia to inspect the saved picture and check a draft without modifying the sample.
Quality metadata on a record
Read _metadata._quality with the record’s top-level qualityState:
| State | Meaning |
|---|---|
CURRENT | The stored quality definition matches the current definition |
STALE | Measurement information remains but its definition differs or is missing |
UNCALCULATED | Neither a definition nor a measurement has been recorded |
This is not determined by comparing _quality_calculated_at and _updated.
A definition change can make a stored score stale without changing a business
value. CURRENT does not guarantee a numeric score when nothing is measurable.
Non-current responses omit detailed findings and their error/warning counts. They can retain the previous score alongside its state. Missing findings do not mean the record passed validation.
Use the metadata reference for exact paths.
Use messageKey to identify a finding programmatically; localized message
text is for readers. schemaPath names its field definition and recordPath
locates the affected value, including an item in a repeated structure.
Changes that affect measurement
Tokens, validation rules, mandatory values, nested structures, and repeated values affect measurement. Cleaning and transformations can change what is stored and therefore what is measured. A completed load can still contain invalid or missing data; a cleaner’s error policy is a separate decision.
Compare measurements only when their definitions and coverage are comparable. A higher score after relaxing a rule is not evidence of improved source data. Datasets with different available points give the same defect different weight.
From records to a table
The Quality overview displays a saved observation: either a daily snapshot for a closed UTC day or an on-demand measurement with its actual measurement time. Aurelia’s installer saves an initial measurement, so its quality can be read without waiting for a daily snapshot. Opening the page does not recalculate records or create another measurement.
Read the selected observation’s date, definition, and coverage before interpreting its mean, histogram, or issue ranking. Measuring on demand aggregates the stored record measurements; it does not make stale records current. Both kinds of observation are table-wide aggregates; they do not become row-scoped aggregates for a restricted reader. See Metrics for the response and access conditions.
For comparison, a fresh Aurelia Utilities 1.0.0 installation measures the 378 customer records at an average of 96.91. Its score histogram has 25 records in 70–79, 25 in 80–89, and 328 in 90–100. The measurement records 17 error findings and 149 warning findings. The second entity’s 108 leads average 60.7 because each capture channel supplies only some fields. These are initial measurements, not a promise about later edits or snapshots.
Improve the outcome
- Read the findings for a record, not just its score.
- Identify whether the authoritative source or a Golden transformation should change.
- Check a corrected draft and inspect the resulting findings.
- Apply the chosen correction through the appropriate write or load operation.
- Read back the stored record and measurement; a draft check alone saves nothing.
- Request a new measurement, or use the next daily snapshot, to assess the table-wide change. Check its date, definition, and coverage.
See Investigate data quality and Configure validation and quality.