Измерения качества данных
Введение
Когда руководитель ДатаТех спрашивает “у нас хорошие данные?”, команда не может ответить — потому что нет определения “хорошие”. Data Quality (качество данных) — это не субъективная оценка, а измеримая характеристика, определяемая через конкретные Data Quality Dimensions (измерения качества данных). В этом уроке мы разберём шесть базовых измерений по DMBOK2 и научимся количественно оценивать качество данных.
Шесть измерений качества данных
Data Quality Dimensions (измерения качества данных) — стандартные категории для оценки качества. DMBOK2 определяет шесть базовых измерений:
1. Completeness (полнота)
Доля заполненных (non-null) значений в датасете. Если в таблице клиентов 1000 записей и у 200 из них отсутствует email — полнота поля email = 80%.
# Базовый расчёт полноты
completeness = count_non_null / count_total # 0.0 - 1.0
2. Accuracy (точность)
Степень соответствия данных реальному миру. Если клиенту 25 лет, а в базе записано 250 — данные неточные. Accuracy часто требует внешнего эталона для сверки.
3. Consistency (консистентность)
Согласованность данных между системами и внутри одной записи. Если в PostgreSQL клиент “Иванов”, а в ClickHouse — “Иванова” для того же customer_id — нарушена консистентность.
4. Timeliness (своевременность)
Актуальность данных относительно SLA. Если аналитический склад обновляется ежедневно, но данные за вчера ещё не загружены — нарушена своевременность.
5. Uniqueness (уникальность)
Отсутствие дубликатов. Если один и тот же клиент представлен тремя записями с разными ID — уникальность нарушена.
6. Validity (валидность)
Соответствие данных определённым форматам и бизнес-правилам. Например, email должен содержать ”@”, возраст — быть в диапазоне 0-120, статус заказа — из фиксированного списка.
-- dbt test для validity
SELECT *
FROM orders
WHERE status NOT IN ('pending', 'confirmed', 'shipped', 'delivered', 'cancelled');
Проверка знанийВ таблице orders у 5% записей поле customer_id = NULL, а у 3% записей customer_id ссылается на несуществующего клиента. Какие два измерения качества нарушены?
Data Quality Scorecard
Для системной оценки качества используется Data Quality Dashboard (дашборд качества данных) — визуализация, агрегирующая метрики по всем измерениям в единый scorecard. Каждое измерение получает оценку от 0.0 до 1.0, а общий Data Quality Score вычисляется как взвешенное среднее.
На дашборде видно, что у DataTech Solutions (ДатаТех Солюшенз) наибольшие проблемы с Timeliness (0.50) и Consistency (0.60). Это типично для организации Level 1: нет SLA на обновление данных, нет процесса синхронизации между системами.
Подход к оценке качества
Оценка качества — не разовый аудит, а непрерывный процесс. Data Quality Rules (правила качества данных) формализуют проверки для каждого измерения:
| Измерение | Пример правила | Severity |
|---|---|---|
| Completeness | customer_id IS NOT NULL | critical |
| Accuracy | age BETWEEN 0 AND 120 | warning |
| Consistency | pg.email = ch.email (cross-system) | critical |
| Timeliness | updated_at >= NOW() - INTERVAL '24 hours' | warning |
| Uniqueness | COUNT(DISTINCT id) = COUNT(id) | critical |
| Validity | email LIKE '%@%.%' | warning |
Каждое правило привязано к конкретному измерению и имеет severity: critical (блокирует пайплайн), warning (генерирует алерт), info (для отчётности).
Сценарий: ДатаТех и БиоГенезис
Сценарий: DataTech Solutions (ДатаТех Солюшенз)
В ДатаТех Data Engineer Алексей получил задачу: “Оцени качество данных клиентов”. Без фреймворка измерений это превращается в бессистемный поиск проблем. С шестью измерениями задача декомпозируется:
- Completeness:
SELECT COUNT(*) FILTER (WHERE email IS NULL) FROM customers— 30% NULL emails- Uniqueness:
SELECT email, COUNT(*) FROM customers GROUP BY email HAVING COUNT(*) > 1— 15% дубликатов- Validity:
SELECT COUNT(*) FILTER (WHERE email NOT LIKE '%@%.%') FROM customers— 5% невалидных email
Для сравнения: BioGenesis Lab (БиоГенезис Лаб)
В БиоГенезис качество клинических данных — не просто метрика, а регуляторное требование. Ошибка в дозировке препарата (Accuracy) или пропущенный результат анализа (Completeness) может повлиять на клиническое исследование. Здесь Data Quality SLA (SLA качества данных) определяется не бизнесом, а регулятором: completeness >= 99.5% для клинических данных.
Проверка знанийПочему для клинических данных БиоГенезис порог completeness (99.5%) значительно выше, чем типичный корпоративный порог (95%)?
Итоги
- Data Quality Dimensions — шесть стандартных категорий оценки: completeness, accuracy, consistency, timeliness, uniqueness, validity
- Каждое измерение выражается числовым score (0.0-1.0) и имеет целевой порог (target)
- Data Quality Rules формализуют проверки для каждого измерения с уровнями severity
- Data Quality Scorecard агрегирует метрики в единый дашборд для мониторинга
- Порог quality зависит от контекста: корпоративные данные (95%), клинические данные (99.5%+)
В следующем уроке мы научимся программно измерять Completeness — наиболее фундаментальное измерение качества, с которого начинается любой DQ-аудит.
Проверьте понимание
Закончили урок?
Отметьте его как пройденный, чтобы отслеживать свой прогресс
Войдите чтобы оценить урок