Итак, у нас есть данные, и есть требования к ним. От кого? От тех, кто будет ими пользоваться. Если те, кто ставит задачу говорят что “данные плохие” и не могут сформулировать критерии к качеству данных, им можно их подсказать, подсмотрев в предыдущей статье. Таким образом, управление качеством данных – это, в первую очередь, методология, которая обеспечивает некий уровень качества в отношении выбранных данных.
Управление качеством данных – это постоянный процесс. Да, для начала неплохо разобраться с уже имеющимися данными, но наша задача сделать так, чтобы все новые данные, попадающие в систему, проверялись, валидировались, насыщались и, в итоге, соответствовали предъявляемым к ним требованиям. Управление качеством, кстати, является важной частью управления Нормативно-Справочной информацией, MDM (Master Data Management).
Как же сделать так, чтобы данные попадали в системы уже “чистыми”? Думаю, что самый оптимальный способ – это правильно настроить поля ввода, не допуская ввод заведомо некорректный значений, а также предлагать автозаполнение по возможности: например, выбор адреса доставки предлагать из КЛАДР, а данные о компании автоматически заполнять используя специальные сервисы. Таким образом, и людям надо будет вводить меньше информации, и вероятность ошибки будет гораздо меньше.
Только не надо слишком “закручивать гайки”: я встречал, когда сайт понимал только номер телефона +7 ___ ____, и знакомые из Белорусии с другим сотовым не могли себе заказать пиццу. Требования только цифр в индексе автоматом запретит вводить индексы из ряда других стран, а выбор исключительно адресов из КЛАДР отсечет всех, у кого адрес по каким-то причинам в него не включен. Таким образом, если все введено автоматом, то можно ставить галочку что все ок, а если адрес был введен вручную – можно поставить флаг “тревога” и отправить данные на дополнительную проверку. И, при необходимости, дополнительного насыщения собственных мастер – справочников, такие как адреса.
Если мы говорим про проверку существующих данных, то она начинается не с оценки качества, а с “Data Integrity” – проверки на целостность данных, их доступность и проверку источников – точно ли данные получены из “правильного источника”, согласованность данных, соответствие хранимых данных в системе с их наименованием.
И при вводе новых данных, и при анализе существующих обычно применяют следующие методы проверки данных, связанных с качеством данных (как мы уже знаем, это точность, полнота, непротиворечивость, достоверность и уникальность):
-
Точность (Accuracy): Насколько данные соответствуют реальности и не содержат ошибок, такие как опечатки. По возможности, данные сравниваются с мастер-данными, и при расхождении или автоматически исправляются, или идут на валидацию сотруднику отдела НСИ (Иногда обозначается модным словом “Data Steward”). Вообще, конечно, золотое правило – стараться изначально не допустить ошибок или исправить их автоматом, иначе дата-стюард имеет шанс просто потонуть в ваших заявках на исправление данных.
-
Полнота (Completeness): Насколько данные полны и содержат всю необходимую информацию. Пример неполных данных – это нулевые значения, или отсутствие улицы в адресе, или номера телефона, или адреса электронной почты. Здесь важно требование бизнеса и под какие задачи необходим тот или иной сет данных – одним достаточно ФИО и электронной почты, а другом подавай телефон или дату рождения. На этом этапе также проводится возможное “насыщение” записи из других возможных источников. Например, если ИНН у нас валиден, то можно запросить из стороннего сервиса дополнительную информацию о компании, такую как юридический адрес.
-
Непротиворечивость (Consistency, которую иногда переводят как “Согласованность”): Согласованность данных между различными системами, причем в едином формате. То есть если у вас в одной системе даты записаны в разных форматах (например, ДД/ММ/ГГГГ и ММ/ДД/ГГГГ) – это нарушает принцип непротиворечивости и может вызвать проблемы в интеграции и анализе данных. Здесь как идет проверка на соответствие шаблонам и приведение записей к единому стандарту – той же дате или времени в едином формате UTC.
-
Достоверность (Validity): Насколько данные соответствуют бизнес-правилам и ограничениям, определенным для них. Достоверные данные попадают в ожидаемый диапазон и соответствуют указанным критериям. Например, допустимая дата рождения должна попадать в определенный диапазон, а цена продукта должна быть положительным значением. Здесь еще полезна проверка на смесь латинских и кириллических символов, а то некоторые хитрые сотрудники заводят дубликаты, вставляя латинские символы в кириллические названия. На глаз это не отличишь, а для системы это – две разных позиции.
-
Уникальность (Uniqueness): Насколько данные уникальны и не дублируют друг друга. Здесь наше все – дедубликация, в процессе которой находятся одинаковые записи и система по неким правилам пытается “склеить” из них одну полную запись, по возможности используя более “свежие” данные. Например, если мы нашли 2 записи клиента с разными почтами, то мы можем или отдать их на проверку дата-стюарду для проверки, если мы не уверены, что это один и тот же человек, или автоматически оставить одну запись, обновив e-mail на более “свежий”.
Если планировать проект по очистке существующих данных, то в нем выделяют следующие этапы:
-
Профилирование или Оценка: аудит данных с целью понять их текущее плачевное состояние. Например, оценить заполненность полей “Компания”, “Телефон”, и “e-mail”. “Дата рождения” можете даже не смотреть.
-
Очистка и обогащение: выполнение всех вышеуказанных действий по улучшению качества данных: удаление дублей; исправление ошибок; заполнение пропущенных данных, таких как адрес; проверка, попадают ли данные в нужный диапазон и так далее.
-
Стандартизация: Приведение данных к единому формату показателей. Например, использование унифицированного формата для телефонных номеров или времени.
-
Мой любимый, “Процесс непрерывного совершенствования”: ставим процесс на поток, подключаем мониторинг и осуществляем постоянный контроль новых данных.
-
Исправление: Если данные не соответствуют требованиях, они должны быть как можно быстрее исправлены, если не получается их исправить автоматом – то они должны ставится в очередь на проверку дата-стюарду или просто ответственному сотруднику. А, может, и Искусственному Интеллекту.
Таким образом, вам, возможно, даже и не надобятся специализированные решения по управлению качеством данных: вы можете использовать и имеющиеся в вашем распоряжении инструменты. Я видел примеры, когда для этих задач компании использовали имеющуюся у них платформу по интеграции данных, что меня удивило. И, кстати, подвигло на написание этой статьи.
Автор: GeorgeNordic