Data Quality Framework: How to Build One in 5 Steps
July 2026 · Dataobservability
Alerted #data-eng 0.8s ago.
Downstream impact · consumers at risk
Live console · pick a break, watch it get caught
A data quality framework is the set of dimensions, rules, owners, and checks a team uses to define what "good data" means and to keep it that way. A working framework answers four questions: which datasets matter, what quality means for each one in measurable terms, who is accountable when it breaks, and how a breakage gets detected and fixed. Everything else is documentation.
Most published frameworks fail for the same reason: they start with a maturity model and a 40-page policy, and end with nobody changing what they do on Monday. This guide builds one from the other direction, starting with the tables that would embarrass you if they were wrong.
What are the 6 dimensions of data quality?
The six standard dimensions are accuracy, completeness, consistency, timeliness, validity, and uniqueness. Accuracy means the data matches reality. Completeness means no required values are missing. Consistency means the same fact agrees across systems. Timeliness means the data is current enough for its use. Validity means values conform to their format and range. Uniqueness means no unintended duplicates.
The dimensions are useful only when you attach a number to each one for a specific table. "Our customer table should be accurate" is worthless. "Fewer than 0.5 percent of rows in dim_customer may have a null email, checked hourly, owner: growth data team" is a rule you can enforce.
| Dimension | Example rule | How it gets checked |
|---|---|---|
| Accuracy | Revenue in the warehouse matches the billing system within 0.1 percent | Reconciliation against a source of truth. Cannot be fully automated. |
| Completeness | Null rate on customer_id stays under 0.1 percent | Automated null-rate and volume monitors |
| Consistency | Order count in the warehouse matches the app database daily | Cross-system reconciliation or a diff tool |
| Timeliness | Table lands by 6am UTC, no more than 90 minutes stale | Freshness monitor with an SLA |
| Validity | Status is one of: completed, shipped, delivered | Accepted-values test in dbt or a testing framework |
| Uniqueness | One row per order_id | Uniqueness test at build time |
How do you build a data quality framework?
Five steps, in this order. The order matters more than the content, because doing step three before step one is how teams end up with 4,000 alerts and no trust.
1. Rank your datasets by blast radius, not by volume
Not all tables deserve equal protection. Score each one on two axes: how many downstream assets depend on it, and how visible those assets are to the business. Your top tier is usually 10 to 30 tables: the ones feeding executive dashboards, revenue reporting, customer-facing features, and production models. Everything else is tier two or three.
Column-level data lineage makes this step trivial, because it shows you exactly how many models, dashboards, and exports sit downstream of each table. Without lineage you are guessing, and teams consistently guess wrong about which tables actually matter.
2. Define measurable rules per tier, not per dimension
For tier-one tables, define rules across all six dimensions. For tier two, freshness and volume are usually enough. For tier three, nothing beyond schema drift detection. Write each rule with a threshold, a check frequency, and an owner. A rule without an owner is a wish.
3. Automate detection before you write more rules
This is the step teams skip. Hand-written rules only catch failures somebody imagined. The expensive incidents are the ones nobody predicted: a sync that paused over a holiday weekend, a vendor that dropped a column, a currency field that flipped units after a deploy. Automated monitors learn each table's normal freshness, row count, null rate, and distribution, then flag deviations from that baseline. Turn those on across every table first, then hand-write rules only where the business logic is too specific for a baseline to learn (a revenue reconciliation, a regulatory constraint).
4. Route alerts to a human who can fix them
Every rule needs a named owner and a channel. If the same Slack channel gets both a critical revenue table failure and a schema drift on a scratch table, people mute the channel within two weeks and your framework is dead. Group related failures into one incident, set severities, and route by severity. That is the whole point of data incident management, and it is what keeps alert fatigue from destroying the effort.
5. Measure the framework itself
Track four numbers monthly: number of incidents, mean time to detection, mean time to resolution, and the percentage of incidents found by your monitors rather than by a stakeholder. That last one is the honest scorecard. If a human is still telling you the dashboard is wrong more than half the time, your framework is not working, no matter how many rules you have written.
What is the difference between a data quality framework and data governance?
A data quality framework is about whether data is correct: rules, checks, thresholds, and detection. Data governance is about who is allowed to do what with it: ownership, access, privacy, retention, and stewardship. They overlap on ownership. Governance without quality gives you well-permissioned bad data. Quality without governance gives you correct data that nobody is accountable for.
What tools do you need for a data quality framework?
Fewer than vendors would like. A working framework typically needs three things: a testing layer inside your transformation tool (dbt tests, Soda, or Great Expectations) for rules you can state up front, an observability platform for the failures you cannot state up front, and a lineage graph so you know what any given failure affects.
You do not need a data catalog to start, and you do not need master data management unless you are reconciling golden records across systems. If you are choosing between options, the honest breakdown of the categories is in the guide to data quality tools. What matters is coverage of your tier-one tables, not the length of the feature list.
How do you get the business to care about data quality?
Translate incidents into money and minutes. "We had 14 data incidents last quarter, detected on average 9 hours after they started, and 6 of them reached a stakeholder before we knew" is a sentence an executive understands. "Our completeness score is 94 percent" is not.
The other lever is self-service. When business users can query data themselves, they hit quality problems directly and become allies rather than complainants. Teams that let stakeholders ask questions of the warehouse in plain English tend to get quality issues reported faster, because the person who notices the weird number is the person who cares about it most.
A framework you can implement in two weeks
Week one: list every table feeding an executive dashboard or a production model. That is your tier one. Assign each an owner by name. Connect an observability tool read-only and let it auto-generate freshness, volume, schema, and anomaly monitors across everything, so you have a detection floor while you do the rest.
Week two: for each tier-one table, add the two or three business rules a baseline cannot learn, such as a revenue reconciliation or a regulatory range. Set severities and route them to the owning team's channel. Start recording every incident with a detection time and a resolution time, even if you record them in a spreadsheet.
That is a real data quality framework. It fits on one page, it produces a number you can report every month, and it covers the failures that actually happen. You can add maturity models later, once you have earned the credibility to be listened to.
Catch broken data before your stakeholders do
Connect your warehouse and get all five pillars monitoring in 15 minutes. Transparent pricing, no credit card.