Data Analyst Professional · Модуль 6 · Урок 22 із 51
Data Quality Report і контроль після очищення
Очищення завершене лише тоді, коли результат можна пояснити й відтворити: які rules виконано, скільки records змінилося або вибуло, чи збереглися totals, що лишилося невирішеним і хто відповідає за наступну дію.
Структура Data Quality Report
| Блок | Що зафіксувати |
|---|---|
| Context | decision/use case, dataset, period, source/version, grain, owner |
| Baseline | rows, keys, totals, freshness і DQ metrics до змін |
| Rule results | ID, dimension, denominator, failed count/rate, threshold, severity |
| Actions | normalized, corrected, quarantined, excluded, accepted exception |
| Reconciliation | before = accepted + quarantine; totals і key coverage |
| Residual risk | open issues, bias/accuracy limits, owner, due date, monitoring |
Rule registry як executable contract
SELECT 'DQ-001' AS rule_id,
COUNT(*) AS evaluated_rows,
COUNT(*) FILTER (
WHERE customer_ref IS NULL OR BTRIM(customer_ref) = ''
) AS failed_rows,
100.0 * COUNT(*) FILTER (
WHERE customer_ref IS NULL OR BTRIM(customer_ref) = ''
) / NULLIF(COUNT(*), 0) AS failed_pct
FROM seowork_lab.raw_customer_events;Зберігайте query/version поруч із rule metadata. Результат без denominator, snapshot time та scope не можна порівнювати між runs.
Reconciliation після очищення
raw rows = accepted + quarantined + documented technical exclusions.
distinct entities до/після та merge/split log.
amount/count totals із поясненням rejected records.
segment/region/status shares не змінилися несподівано.
Чистіше не завжди правдивіше
Якщо після dedup або exclusion різко змінився сегмент, це може бути selection bias. Звіт має показати вплив, а не лише нижчий error rate.
Severity та дія
| Рівень | Приклад | Дія |
|---|---|---|
| Critical | порушений primary key або фінансовий total | stop publication, incident, owner |
| High | threshold перевищено для decision-critical field | quarantine/fix до release |
| Medium | обмежений unmapped segment | disclose, backlog, deadline |
| Low | косметичний format без metric impact | scheduled improvement |
Threshold не замінює judgment. Навіть малий failed rate може бути critical, якщо він сконцентрований у важливій групі.
Monitoring після release
- Автоматизуйте rules на кожному refresh або за SLA.
- Зберігайте history metrics і source/version.
- Alert має мати severity, owner і runbook.
- Відрізняйте new incident від відомого accepted exception.
- Після upstream fix перевірте backfill і trend break.
Практика: фінальний пакет модуля
- Створіть Markdown DQ Report для quality lab.
- Додайте baseline і мінімум 8 rule results.
- Покажіть quarantine table та reason distribution.
- Зробіть row/key/amount reconciliation.
- Додайте residual risks, owners і monitoring plan.
Офіційні джерела
Модуль завершено
Ви можете виміряти якість до змін, очистити дані без втрати audit trail і передати DQ Report із доказами, ризиками та власниками.
Закріпіть матеріал уроку
Три сценарні питання. Для зарахування уроку потрібно дати щонайменше дві правильні відповіді.