Data Analyst Professional · Модуль 6 · Урок 22 із 51

Data Quality Report і контроль після очищення

Очищення завершене лише тоді, коли результат можна пояснити й відтворити: які rules виконано, скільки records змінилося або вибуло, чи збереглися totals, що лишилося невирішеним і хто відповідає за наступну дію.

90 хвBefore / after / evidenceМінітест: 3 питання

Структура Data Quality Report

БлокЩо зафіксувати
Contextdecision/use case, dataset, period, source/version, grain, owner
Baselinerows, keys, totals, freshness і DQ metrics до змін
Rule resultsID, dimension, denominator, failed count/rate, threshold, severity
Actionsnormalized, corrected, quarantined, excluded, accepted exception
Reconciliationbefore = accepted + quarantine; totals і key coverage
Residual riskopen 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 після очищення

Rows

raw rows = accepted + quarantined + documented technical exclusions.

Keys

distinct entities до/після та merge/split log.

Totals

amount/count totals із поясненням rejected records.

Distribution

segment/region/status shares не змінилися несподівано.

Чистіше не завжди правдивіше

Якщо після dedup або exclusion різко змінився сегмент, це може бути selection bias. Звіт має показати вплив, а не лише нижчий error rate.

Severity та дія

РівеньПрикладДія
Criticalпорушений primary key або фінансовий totalstop publication, incident, owner
Highthreshold перевищено для decision-critical fieldquarantine/fix до release
Mediumобмежений unmapped segmentdisclose, backlog, deadline
Lowкосметичний format без metric impactscheduled 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.

Практика: фінальний пакет модуля

  1. Створіть Markdown DQ Report для quality lab.
  2. Додайте baseline і мінімум 8 rule results.
  3. Покажіть quarantine table та reason distribution.
  4. Зробіть row/key/amount reconciliation.
  5. Додайте residual risks, owners і monitoring plan.

Офіційні джерела

Модуль завершено

Ви можете виміряти якість до змін, очистити дані без втрати audit trail і передати DQ Report із доказами, ризиками та власниками.

Практична перевірка · урок 22 з 51

Закріпіть матеріал уроку

Три сценарні питання. Для зарахування уроку потрібно дати щонайменше дві правильні відповіді.

1. Що має бути на початку DQ Report?
2. Навіщо показувати before і after?
3. Що входить у rule result?