Quality Score Examples¶
DO Calculating quality scores
Real scenarios showing how dimensions, tags, and settings shape the score you see. Pick a tab to see scenarios grouped by the part of the score they involve.
Finding what pulls a container score down¶
Context. A team reviews the orders table, which scores in the low 80s even though most of its checks pass. With all weights at the default 1.0, its dimension scores are:
| Dimension | Score |
|---|---|
| Completeness | 98 |
| Coverage | 85 |
| Conformity | 92 |
| Consistency | 95 |
| Precision | 100 |
| Timeliness | 100 |
| Volumetrics | 100 |
| Accuracy | 88 |
What happens. The multiplicative model starts from a baseline of 70 and adjusts up or down based on each dimension. A dimension does not pull the score down just by being below 100: each one has its own break-even point, and a score above it nudges the total up. Here Coverage (85) and Consistency (95) sit below their break-even points and pull the score down, while Accuracy (88) is above its own and gives a small boost. The result is a container score around 82.
Why it works. The dimension breakdown points straight at the fix: adding checks to the fields with the fewest raises Coverage, and profiling regularly while keeping the data's shape stable raises Consistency. See Container-Level Scoring for how much each dimension can move the score.
Understanding an unexpectedly low datastore score¶
Context. A datastore has 100 synced tables. The team actively monitors 2 of them, one scoring 100 and one scoring 0, so they expect a datastore score around 50 (the average of 100 and 0). The datastore score shows 8.
What happens. Containers showing - are excluded from the aggregate, so a score of 8 means more than 2 tables have scores. During setup, someone ran a profile and scan operation on the entire datastore, not just the 2 monitored tables. Every table that was both profiled and scanned now has a score, even tables nobody intended to monitor.
With no quality checks defined, each of those tables is heavily penalized:
- Coverage: No checks defined → treated as unmonitored → significant penalty
- Accuracy: No accuracy checks → data correctness is unverified → significant penalty
- Consistency: No profiling history → stability is unknown → significant penalty
- Completeness: Measured from profiling data → minimal penalty
- Conformity: No conformity checks → assumed fine → slight boost
- Precision: No precision checks → assumed fine → slight boost
- Timeliness: No freshness checks → assumed mostly on schedule → slight boost
- Volumetrics: No volumetric checks → assumed mostly stable → slight boost
Coverage, Accuracy, and Consistency outweigh the small boosts, and the combined effect brings an unchecked table's score down to roughly 10–15 from the 70-point baseline. With 98 tables scoring this low and the 2 monitored tables at 100 and 0, a datastore score of 8 is entirely plausible.
Why it works. Once the cause is clear, the team picks one of these options:
| Approach | Effort | Description |
|---|---|---|
| Explore + tag filter | Low | Create a tag (e.g., "Monitored"), apply it to your tables, and filter by it in Explore. The aggregate score shown will only include those tables. |
| Tag weights | Low | Apply a high-weight tag (e.g., +10) to your monitored tables so they dominate the datastore aggregate. |
| Dimension weights | Low | Set Coverage and/or Accuracy weight to 0 in the datastore's Quality Score Settings (open the datastore, click Settings in the top-right corner, then Score , as shown in Quality Score Settings) to remove the "no checks defined" penalty for all tables. |
| Shorten decay period | Low | Reduce the decay period (default 180 days) to 60–90 days so tables profiled long ago drop out of the aggregate. |
| Selective profiling/scanning | Medium | Only run profile and scan operations on the tables you intend to monitor. This prevents the problem entirely. |
The most common cause of an unexpectedly low datastore score is a datastore-wide profile + scan during initial setup. Going forward, running operations on selected tables only keeps check-less tables out of the average.
Making critical tables count more¶
Context. A finance datastore has 20 scored tables. Two of them, general_ledger and invoices, feed the monthly close and score 60 and 70. The other 18 are staging and lookup tables that all score 90. Without tags, every container has a weight of 1, so the datastore score is (60 + 70 + 18 × 90) / 20 = 87.5, which hides the two problem tables.
What happens. The team creates a Critical tag with a weight modifier of +10 and assigns it to the datastore's two close tables. The container weights are recalculated the next time the datastore's tags change, or when a Move to, Merge, or Remove on a tag's page touches those tables. From then on each tagged table has a weight of 11, while untagged tables keep a weight of 1. The datastore score becomes (11 × 60 + 11 × 70 + 18 × 90) / (11 + 11 + 18) = 76.25.
Why it works. The datastore score now reflects the tables the business depends on, so a drop in the close tables moves the number everyone watches. See Tag Weight Modifiers for when weights are recalculated, and How Tags Affect the Datastore Score for the formula.
Ignoring timeliness on a static reference table¶
Context. A datastore holds a country_codes reference table that changes about once a year. It has a Freshness check, and because the table rarely changes, the check keeps flagging it as stale, so its Timeliness dimension pulls its score down. The rest of the datastore loads daily, and the team wants Timeliness to keep counting there.
What happens. The team opens the container's quality score settings and sets the Timeliness weight to 0 for country_codes only. The dimension is treated as fully healthy for that table and can no longer pull its score down. The datastore's own settings, and every container without an override, keep Timeliness at 1.0.
Why it works. A container override changes only that container, so one exception does not weaken the policy for the rest of the datastore. See Settings Inheritance and Overrides for how datastore and container settings combine.
See Also¶
-
Best Practices
Keep scores meaningful: what to profile and scan, how many checks to add, when to change settings, and how to read the trend.
-
Troubleshooting
Resolve missing scores, unexpectedly low values, settings and tag changes that do not apply, and missing AI explanations.
-
Permissions
See which roles can view quality scores and edit scoring settings.
-
How It Works
Learn what the quality score is, the key concepts behind it, the levels it is calculated at, the 8 dimensions it combines, and what triggers a recalculation.
-
Rule Types by Dimension
Look up which rule types feed the Conformity, Precision, Accuracy, Volumetrics, and Timeliness dimensions, with a link to each one.
-
Datastore-Level Scoring
See how container scores roll up into the datastore score, how tags change each container's weight, and how daily history is built.
-
Container-Level Scoring
Learn which containers get a score, how the 70-point baseline model combines the 8 dimensions, and how timeliness and volumetrics are measured.
-
Field-Level Scoring
See how each field is scored on completeness, coverage, conformity, consistency, precision, and accuracy, with the formula behind each dimension.
-
Score Settings
Learn how datastore settings flow to containers, and how the decay period, dimension weights, and tag weight modifiers change the score.
-
Interpreting Scores
See where scores appear, how they support decisions, and how to read them as a measure of fitness for purpose.
-
AI Explanations
Learn how the AgentQ-powered summary, per-dimension explanations, and Recommendations section render on the Quality Score panel.