Analytics Space
Оставить заявку
Что такое qualityCraft
qualityCraft — инструмент контроля качества данных. Он позволяет задать набор правил, которым должны соответствовать данные из базы, регулярно проводить проверки по этим правилам и строить отчеты по найденным несоответствиям.

Для кого он предназначен
Инженеры данных с помощью qualityCraft проверяют, что данные загрузились и обработались без ошибок, маркетологи и другие бизнес-пользователи отслеживают, что метрики рекламных кампаний (бюджет, стоимость лида и т. п.) достигают целевых значений.

Какие технические навыки нужны
Результатами qualityCraft могут пользоваться все, но для его настройки нужны технические навыки и знание SQL. В qualityCraft нет встроенного средства визуализации, поэтому для работы с его результатами нужно уметь настраивать дашборд в любой BI-системе. Подойдет Superset, Redash, Tableau, Power BI, Grafana.

Что проверяет qualityCraft
Любое условие, которое можно выразить SQL-запросом:
  • наличие актуальных данных, например, за вчерашний день, если обновление определенной таблицы должно проходить раз в сутки;
  • значение определенной метрики, например, расход, лежит в целевом диапазоне;
  • текущее значение метрики отличается от значения на прошлой неделе не более чем на 20%;
  • значение метрики отличается от прогнозного значения, рассчитанного с помощью регрессии не более чем на 20%;
  • значение метрики совпадает с контрольным значением, которое рассчитано альтернативным способом и лежит в отдельной таблице.

Как настроить qualityCraft
Пользователь указывает доступы к базе и создает объект проверки. Это таблица, в столбцах которой содержится необходимая для проверки информация: текущие/прогнозные/контрольные значения метрик в разбивке по нужным параметрам — датам, городам, продуктам и т.п. Пользователь составляет SQL-запрос, который позволяет получить такую таблицу, и сохраняет его в qualityCraft.

Дальше нужно создать проверки в виде условий на языке SQL, которые qualityCraft будет выполнять для каждой строки объекта проверки. Точнее, каждая проверка — это формула, которая:
  • выдает 0, если проверка пройдена;
  • 2, если qualityCraft должен выдать ошибку;
  • 1, если нужно показать предупреждение.
По каждой проверке пользователь также указывает:
  • сообщение, которое нужно написать, если проверка закончилась ошибкой. Это сообщение будет использовано в дашборде, чтобы бизнес-пользователь видел не просто количество ошибок, но и их содержание. Можно указать просто текст или сгенерировать сообщение с помощью SQL-формулы;
  • такое же сообщение, но для случая, если проверка закончилась предупреждением;
  • описание проверки двух видов: с точки зрения бизнеса (зачем нужна эта проверка? насколько серьезно, если она не проходит? как это исправить?) и с точки зрения технической методологии. Эти описания служат документацией.
Одна и та же проверка может проходить для одной строки, а для другой — заканчиваться ошибкой. Чтобы qualityCraft мог отличать строки, в него нужно завести параметры.

Параметр — это столбец в объекте проверки, которому мы даем понятное любому человеку название и описание. Например, city — Город — Город, выбранный пользователем для доставки. Оно будет показываться по результатам проверки.

Параметры можно объединить в иерархию, например, Год — месяц — день или Страна — Регион — Город. Тогда qualityCraft будет выполнять отдельные проверки сначала на верхнем уровне иерархии (по годам или странам), потом на следующем (по годам и месяцам или по странам и регионам) и так далее. Так вы поймете серьезность ошибки: большое расхождение наблюдается во всем наборе данных или это статистические выбросы в отдельных случаях.

Как qualityCraft работает после настройки
Формирует SQL-запросы для выполнения проверок к базе, выполняет их по расписанию и складывает результат в ту же базу или в хранилище S3.

Инструмент не визуализирует результаты, но вы можете построить дашборд в той BI-системе, которую используете для визуализации основных данных. Мы так сделали специально, чтобы для мониторинга качества данных пользователям не приходилось заходить в отдельную систему, а все данные были в одном месте.

Результат работы qualityCraft
Это файлы в формате CSV. Каждая строка в них соответствует найденной ошибке или предупреждению и содержит дату, время проверки и текст ошибки/предупреждения.

qualityCraft генерирует файлы таким образом, чтобы их можно было без дополнительной обработки визуализировать в любой BI-системе.

Аналогичные инструменты
Конечно, есть и другие решения для мониторинга качества данных. Самый известный — Monte Carlo. Это сложный и дорогой продукт, который требует больших ресурсов на внедрение. Если у вас не сотни потоков данных, то Monte Carlo будет для вас избыточным.

qualityCraft ближе к более легковесным инструментам: Great Expectations и Soda. У обеих программ есть версии Open Source и коммерческие. Главное отличие qualityCraft от них — в логике настройки. Оба инструмента фокусируются на облегчении написания проверочного SQL-запроса за счет шаблонов проверок — там есть готовые макросы, которые могут обнаружить, например, нулевые значения в определенной колонке или превышение максимального значения.

В qualityCraft идея немного другая. В реальной жизни часто невозможно достичь полного отсутствия ошибок в данных. Поэтому важно понимать, какие ошибки требуют немедленного реагирования, а какие — имеют низкий приоритет. Поэтому он позволяет выполнить одни и те же проверки как в целом по всему набору данных, так и в отдельной разбивке.

Если сумма продаж за месяц меньше суммы продаж за прошлый месяц в тысячу раз — это повод отправить срочное сообщение всем ответственным. Если же в тысячу раз различаются продажи одного товара в одном магазине за один день — то можно ограничиться оповещением одного конкретного менеджера, отвечающего за этот сегмент.

qualityCraft позволяет реализовать такую логику. Если задать иерархию параметров, он сделает отдельные проверки на разных уровнях иерархии. После этого пользователь может настроить разные сценарии оповещения об ошибках в зависимости от того, на каком уровне иерархии и каком наборе параметров обнаружена ошибка. Реализовать это с помощью других инструментов будет сложнее.

С какими базами данных работает qualityCraft
  • ClickHouse
  • Google BigQuery
  • PostgreSQL

Лицензия qualityCraft
qualityCraft доступен под коммерческой лицензией. После продажи мы проводим настройку инструмента и обучение команды по работе с ним.
Получить доступ к qualityCraft
О проекте
Analytic Space
Лицензия