data (accuracy, completeness, timeliness, consistency etc.)per verification rule and Great Expectations, dbt tests etc.of also for guide. 'data ', 'verification rule', 'Great Expectations', 'dbt test', 'data profiling', 'or more detection', 'data ' etc. data this for. data-quality-managerof verification -ize. , pipeline schedulingthis before architecture this of scope .
Scanned 5/29/2026
Install via CLI
openskills install sideprojectmate/sideProjectMate---
name: data-quality-framework
description: "data (accuracy, completeness, timeliness, consistency etc.)per verification rule and Great Expectations, dbt tests etc.of also for guide. 'data ', 'verification rule', 'Great Expectations', 'dbt test', 'data profiling', 'or more detection', 'data ' etc. data this for. data-quality-managerof verification -ize. , pipeline schedulingthis before architecture this of scope ."
---
# Data Quality Framework — data framework guide
data systematicas of, measurement, monitoringlower framework.
## data 6
| | of | measurement | threshold example |
|------|------|----------|-----------|
| **accuracy** (Accuracy) | | , business rule verification | also > 99.9% |
| **completeness** (Completeness) | required data | NULL ratio, required satisfied | NULL < 1% |
| **timeliness** (Timeliness) | between within also | latencybetween, data also | latency < 30minutes |
| **consistency** (Consistency) | system between day | verification, integrity | day = 0 |
| **day** (Uniqueness) | | /key ratio | = 0% |
| **valid** (Validity) | /scope compliant | , scope | efficiency > 99% |
## verification rule pattern
### P0 (required — failure pipeline )
```yaml
rules:
- name: pk_uniqueness
type: uniqueness
column: order_id
threshold: 0 # 0cases
- name: not_null_critical
type: completeness
columns: [order_id, customer_id, total_amount]
max_null_rate: 0
- name: row_count_sanity
type: volume
min_rows: 1000 # dayday minimum order count
max_deviation: 0.5 # beforeday 50% or more warning
- name: referential_integrity
type: consistency
source: orders.customer_id
reference: customers.id
match_rate: 1.0
```
### P1 (important — warning after in progress)
```yaml
rules:
- name: email_format
type: validity
column: email
pattern: "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"
threshold: 0.99
- name: amount_range
type: accuracy
column: total_amount
min: 0
max: 100000000 # 1 exceeding order of
- name: freshness
type: timeliness
column: created_at
max_age_hours: 24
```
## Great Expectations
```python
import great_expectations as gx
# of
suite = context.add_expectation_suite("orders_quality")
# completeness
suite.add_expectation(
gx.expectations.ExpectColumnValuesToNotBeNull(column="order_id")
)
# day
suite.add_expectation(
gx.expectations.ExpectColumnValuesToBeUnique(column="order_id")
)
# valid
suite.add_expectation(
gx.expectations.ExpectColumnValuesToBeBetween(
column="total_amount", min_value=0, max_value=100000000
)
)
#
suite.add_expectation(
gx.expectations.ExpectTableRowCountToBeBetween(
min_value=1000, max_value=1000000
)
)
```
## dbt Tests
```yaml
# schema.yml
models:
- name: orders
columns:
- name: order_id
tests:
- unique
- not_null
- name: customer_id
tests:
- not_null
- relationships:
to: ref('customers')
field: id
- name: total_amount
tests:
- not_null
- dbt_utils.accepted_range:
min_value: 0
max_value: 100000000
tests:
- dbt_utils.recency:
datepart: hour
field: created_at
interval: 24
```
## data profiling list
```
columnper profile:
├── type: actual type vs type
├── count(Cardinality): value count
├── NULL ratio: pattern
├── distribution: the, also, also
├── or more: IQR this
├── pattern: date, thisday, before-ize etc. day
└── dependency: function-based
tableper profile:
├── count: scope vs actual
├── : before
├── integrity: FK violated casescount
└── between distribution: record creation between pattern
```
## or more detection
| | -basedfor | / |
|------|------|----------|
| Z-Score | distribution data | \|x - μ\| / σ > 3 |
| IQR | distribution | x < Q1-1.5*IQR or x > Q3+1.5*IQR |
| thisaverage | | 7day thisaverage 2σ this |
| beforeday | dayday -based | \|today - yesterday\| / yesterday > 0.5 |
## data (Data Contract)
```yaml
# data-contract.yml
name: orders
version: "2.0.0"
owner: order-team
description: "order data "
schema:
- name: order_id
type: string
required: true
unique: true
- name: total_amount
type: decimal(10,2)
required: true
min: 0
sla:
freshness: 1h
availability: 99.9%
quality:
completeness: 99.9%
accuracy: 99.99%
```
No comments yet. Be the first to comment!