Data quality and service level agreements (SLAs) make a data product’s guarantees explicit and measurable: how good the data is, and how reliably it is delivered. In the Data Product Standard application, quality is expressed as measurable dimensions enforced by concrete checks, and delivery is governed by an SLA. This page covers the quality dimensions, the checks and operators that test them, the SLA dimensions, and where each attaches to a data product.

Data quality dimensions

Data quality is expressed as a set of dimensions. Each dimension pairs a target objective with a unit — the level the product commits to and how that level is measured. A consumer can then compare products on the same terms, dimension by dimension.

A data quality definition can also name the external tool that measures it, such as SodaCL, Montecarlo, DQOps, or Custom. The application supports the following dimensions:

DimensionWhat it measures
AccuracyHow closely the data reflects the real-world values it represents.
CompletenessWhether all required records and fields are present, with none missing.
ConformityWhether values follow the expected format, type, or standard.
ConsistencyWhether the same data agrees across records, tables, and systems.
CoverageWhether the dataset includes every entity or the full range it should.
TimelinessWhether the data is current and available when consumers need it.
ValidityWhether values fall within the allowed set, range, or business rules.
UniquenessWhether each real-world entity appears once, without duplicates.

Quality checks

Quality checks are the concrete tests that enforce a dimension. A dimension states the goal; a check is the executable test that confirms whether the data meets it. Each check combines the following properties:

PropertyWhat it definesAllowed values
TypeHow the check is definedLibrary, SQL, Custom, Text
DimensionThe quality dimension the check enforcesAny dimension listed above
SeverityHow the application treats a failing resultInfo, Warning, Error
MetricThe quantity the check evaluatesNull Values, Missing Values, Invalid Values, Duplicate Values, Row Count
EngineThe tool that runs the checkSoda, Great Expectations, Monte Carlo, dbt

The type, dimension, and severity options above are the complete set. The metric and engine values are common examples rather than a fixed list. Severity ranges from Info, for a result worth recording, through Warning, up to Error for a failure that breaks the product’s guarantee.

Comparison operators

A quality check tests its metric against a target value using a comparison operator. The operator defines the pass condition — the relationship the measured value must satisfy for the check to succeed.

OperatorMeaning
Must BeThe value equals the target.
Must Not BeThe value does not equal the target.
Must Be Greater ThanThe value is strictly greater than the target.
Must Be Greater Or Equal ToThe value is greater than or equal to the target.
Must Be Less ThanThe value is strictly less than the target.
Must Be Less Or Equal ToThe value is less than or equal to the target.
Must Be BetweenThe value falls within a range, inclusive of both bounds.
Must Not Be BetweenThe value falls outside a given range.

For example, a check on the Row Count metric can use the operator Must Be Greater Than with a value of 1000. It then passes only when a load produces more than 1000 rows. A severity of Error marks a failing result as a broken delivery rather than a note for review.

A quality check can attach to a data contract, a schema object, or a schema property. This lets a test apply at the level where it belongs — across the whole contract, on a single schema object, or on one schema property.

Service level agreements (SLAs)

An SLA states the service commitments for a data product or a data contract — the availability, freshness, and support that consumers can rely on. Commitments are expressed as SLA dimensions, each with an objective and a unit, in the same way data quality uses dimensions.

DimensionWhat it commits to
LatencyHow quickly data becomes available after an event or request.
UptimeThe share of time the product is available for consumption.
Response TimeHow quickly the product answers a query or request.
Error RateThe maximum share of failed requests or records.
Update FrequencyHow often the data is refreshed.
Time to DetectHow quickly an incident is identified.
Time to NotifyHow quickly consumers are told about an incident.
Time to RepairHow quickly a detected incident is resolved.
Email Response TimeHow quickly support replies to an email request.
End of SupportThe date after which the product no longer receives support.
End of LifeThe date after which the product is retired.

An SLA also records how to reach support: a phone number, an email address, and the hours during which each is available.

Where quality and SLAs attach

Data quality and SLAs attach at two levels — to the data product as a whole, and to specific parts of a data contract. The product level sets the headline promise; the contract level binds tests to the exact data being delivered.

LevelWhat it carries
Product levelThe data product carries Data Quality and SLA objects that describe its overall guarantees.
Contract levelA data contract carries quality checks and SLA properties bound to specific schema objects and properties.

A documented quality check with a severity of Error tells a consumer exactly which condition will fail their pipeline before they build on the data. An SLA dimension such as Update Frequency tells them how current that data will stay. For the full list of attributes on each object type, see Data product object types and attributes.