Матеріали

Три рівні якості даних у реєстрах

Що ISO 8000-8 каже про синтаксичну, семантичну і прагматичну якість і чому реєстрам потрібні всі три.

4 хв читанняСергій Бєляков

Звіт про якість даних реєстру часто зводиться до двох питань: чи заповнене поле і чи правильний формат. Обидва важливі. Але значення може пройти всі перевірки формату й однаково привести до неправильного рішення: про виплату, про право на послугу, про розподіл коштів.

Стандарт ISO 8000-8 (Data quality, частина 8: поняття якості інформації та даних і їх вимірювання) пропонує дивитися на якість на трьох рівнях. Для державних реєстрів, на яких тримаються адміністративні рішення й обмін даними між відомствами, ця різниця має практичну ціну.

Три рівні, які описує ISO 8000-8

Стандарт розрізняє три види якості даних:

  • Синтаксична якість. Наскільки дані відповідають заданому синтаксису: формату, структурі, кодуванню. Дата записана як дата, код має потрібну кількість символів, файл обміну відповідає схемі.
  • Семантична якість. Наскільки дані відповідають тому, що вони мають представляти. Для цього потрібні чітко визначені метадані або посилання на довідник: що саме означає поле і з якого переліку беруться значення.
  • Прагматична якість. Наскільки дані придатні для мети тих, хто ними користується. Це питання не до формату і не до довідника, а до рішення, яке на цих даних ухвалюють.

Синтаксичну і семантичну якість можна перевіряти відносно специфікації чи довідника, часто автоматично. Прагматичну без користувачів даних оцінити не вийде: тільки вони знають, чого достатньо для їхнього рішення.

Один запис, три різні відповіді

Умовний приклад (записи вигадані). У реєстрі отримувачів допомоги є поле «громада проживання» з кодом із класифікатора.

Що в полі Синтаксис Семантика Прагматика
UA-02-123, громада заявника, оновлено місяць тому так так так
UA-02-132, сусідня громада (переставлені цифри) так ні ні
UA-02-123, але людина переїхала рік тому так так на момент запису ні для виплати
0 ні ні ні

Перевірка формату пропустить перші три рядки. Перевірка повноти пропустить усі чотири. А для рішення про виплату придатний лише перший.

Це схоже на адресу на конверті. Індекс може мати правильну кількість цифр (синтаксис), але належати іншому місту (семантика). А навіть правильна адреса не допоможе, якщо людина там уже не живе (прагматика). Аналогія неідеальна: пошта поверне лист, а реєстр мовчки ухвалить рішення на підставі хибного запису.

Чому реєстрам замало перевірок формату

Більшість реєстрів добре контролюють синтаксис: маски введення, обов'язкові поля, схеми обміну. Це найлегше автоматизувати, тому саме тут зазвичай і закінчується розмова про якість.

Проблеми, які мають реальну ціну, частіше живуть на двох інших рівнях:

  • Семантика. Код із правильним форматом, але не з того класифікатора чи не тієї версії. Поле «дата» означає дату звернення в одній системі і дату рішення в іншій. Під час обміну між реєстрами такі розбіжності не видно, бо формат збігається.
  • Прагматика. Дані правильні, але застарілі для конкретного рішення. Або точні до громади, коли для рішення потрібна адреса. Або оновлюються раз на рік, а рішення ухвалюють щомісяця.

Повнота, про яку я писав раніше, взагалі лише найперший крок синтаксичного рівня: вона перевіряє, чи є в полі хоч щось.

Пороги визначає власник реєстру

Важлива деталь: ISO 8000-8 не задає готових шкал і порогів. Стандарт дає поняття і передумови для вимірювання, а поріг для кожного об'єкта вимірювання організація встановлює під свої потреби і має зазначати, за якою шкалою міряє.

Для реєстру це означає, що «достатня якість» не з'являється сама. Хтось має вирішити, яка частка записів із підтвердженою громадою прийнятна для виплати, а яка для статистичного звіту. Природно, що це власник реєстру або його розпорядник, разом із тими, хто ухвалює рішення на цих даних.

Як виглядає впровадження

Не треба починати з усього реєстру. Достатньо кількох критичних полів, від яких залежать рішення чи обмін:

  1. Синтаксис. Запишіть специфікацію формату: тип, довжину, маску, допустимі символи. Перевіряйте під час введення і під час обміну.
  2. Семантика. Дайте полю визначення словами, прив'яжіть його до довідника чи класифікатора з версією і перевіряйте значення відносно нього.
  3. Прагматика. Назвіть рішення, для якого поле потрібне, і того, хто його ухвалює. Разом з ним визначте поріг і шкалу: наприклад, актуальність не старша за певний строк.
  4. Вимір. Рахуйте результати регулярно, окремо для кожного рівня, а не одним загальним відсотком.
  5. Виправлення. Помилки виправляють у джерелі, там, де їх внесли, а не в черговому звіті.

Результат виглядає скромно: таблиця з кількох полів і трьох колонок. Але вона показує, де реєстру можна довіряти для рішення, а де поки лише для звіту. Це і є робота з якістю даних, а не з її відсотками.

Перевірте одне поле

Візьміть поле, від якого у вашому реєстрі залежить виплата чи право на послугу, і дайте відповідь на три питання. Чи є записаний опис формату? Чи є визначення і довідник, з яким звіряють значення? Чи відомо, для якого рішення поле використовують і який рівень якості для нього достатній?

Там, де відповідь «не знаю», і варто почати. А ваш реєстр уже міряє придатність даних для рішень чи поки лише формат?

Схожа задача у вашій команді?

Опишіть ситуацію кількома реченнями. Відповім, з чого я б почав і чи можу допомогти.

Обговорити задачу

Короткі розбори про дані щотижня в Telegram-каналі: @belyakovconsult

Усі матеріали