Кейс: сведение единой картины из множества источников с разными мастер-данными

Расскажу об интересном решении вполне себе распространенной проблемы, которую я отчасти уже затронул в серии про уберизацию — проблему мастер-данных или справочников и классификаторов, без которых сложно построить сколько ни будь адекватную ИТ систему. А как решать эту проблему, если у тебя должны взаимодействовать сотни компаний, каждая со своими справочниками? Вот об этом и поговорим.

Итак, давайте представим себе, что Вы — большая компания, производитель нескольких тысяч наименований Нужных Каждому Товаров, которые через сеть из десятков дистрибуторов поступают в тысячи компаний, а еще конкретнее — в многие-многие тысячи торговых точек.

И как хороший, годный производитель Вы очень хотите понимать свой рынок, желательно в числах. В скольки магазинах и как Вы представлены? Какими линейками и видами продуктов? Как там с запасами, продажами, оборачиваемостью? Вам же производство планировать, эффективность рекламы отслеживать и вот это вот все.

И Вы идете понятным и естественным путем: налаживаете потоки отчетности от дистрирубуторов. Еженедельно, а то и чаще. Чего сколько куда отгрузили, вот прямо до торговой точки. Дистрибуторы не мудрствуюя лукаво налаживают выгрузку из своих учетных систем и… И ничего!

Потому что тут мы прилетаем лбом с размаху в стенку, на которой написано «отсутствие единых мастер-данных». У вас есть 50 огромных отчетов «по форме» каждую неделю, и теоретически они должны сводится в красивую аналитическую картинку, да вот беда:

  1. Не смотря на Ваши SKU (коды продукции) дистрибуторы устраивают полный фарш с кодами, названиями, группировками товаров и так далее, ибо у них есть и своя логика помимо вашей.
  2. Мир тесен, и одним и тем же магазинам легко грузят одни и те же Ваши товары разные дистирибуторы. Но это полбеды…
  3. Беда же в том, что эти самые конечные продавцы у разных дистрибуторов могут называться немного по разному. Даже юрлица. Чего уж там про конкретные точки продаж говорить, там и вовсе беда.

Вот и получается, что данных у нас много, даже слишком. А информации и знаний — по сути и нет. И получается, что вы из этих отчетов даже число магазинов и конечных партнеров более-менее уверенно получить не можете. Обидно!

Вот это и есть следствие отсутствия единых мастер-данных, разделяемых всеми участниками взаимодействия. Нет единой кодификации ни по одному из нужных вам аналитических признаков. И пока ее не будет — сколько ни будь внятная переработка данных в информацию и знания невозможна.

Что делать? Первая мысль, приходящая на ум: их надо создать! И раздать! Но есть нюанс: в игре множество независимых участников, создание и ведение единых справочников — огромный труд уже сам по себе, да вдобавок у Ваших партнеров мотивация к их использованию — нулевая, у них все хорошо и так, это нужно Вам, а не им. Можно, конечно, руки повыкручивать, но так можно и без дистрибуции остаться, ибо Вы тоже не уникальны, да и честно говоря в вашей товарной нише у любого дистрибутора — партнеров поболее одного, и что ему, под каждого отдельный транслирующий справочник держать? Не получается.

А ведь как было бы здорово, чтобы весь этот массив сводился сам! Ну там, как ни будь, волшебным образом. По дороге порождая необходимые справочники, соотнося данные с уже существующими справочниками компании и так далее.

И такое решение есть, хотя на него и нет ссылок в интернете. Но я вам про него расскажу простыми словами.

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

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

Дополнительно все данные на выходе система дополнительно помечает на уровне отдельных записей признаком «уверенности» их очистки и выравнивания. А Вы уж сами решаете — обрабатывать ли «непонятные» записи уточняя и дополняя их вручную, использовать ли в анализе только данные или вплоть до определенного уровня неопределенности и так далее. То есть появляется дополнительная плоскость качества данных, которая является отдельной метрикой.

В реальном кейсе эффективность «выравнивания» на большой базе составляет 95..98%, что, с учетом «мусора на входе»  — великолепный результат огромной практической ценности.

Но даже и это еще не все, ибо к процессу «рафинирования» данных можно подключить самые разные источники информации общего назначения: базы адресов и телефонных кодов как самый простой пример. Как результат — система будет помечать «сомнительными» записи, в которых указанная в адресе улица или телефонный код не соответствует городу и региону. Или базу ЕГРЮЛ, в результате чего станут видны отгрузки на несуществующие юрлица, а все наименования юрлиц будут выровнены по официальным из документов о регистрации. Вопрос фантазии, технология позволяет!

Парадоксально, но при этом «очистка» не является аналитической обработкой как таковой, она всего лишь превращает хаотичные и несогласованные данные в нормированные и обогащенные дополнительными атрибутами. Дальнейшая Ваша фантазия в части анализа и выводов ограничена только самим массивом.

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

Должен отметить, что вот эта технология в существенно большей степени про «Big Data», чем множество иных, примазавшихся к этому понятию. Хотя ее создатели и не оперируют этим ярлыком вовсе. Ключевое — она позволяет превращать разрозненные, несогласованные и даже противоречивые данные в информацию, которую потом можно превращать в знания.

Если перед Вами стоит такая задача — то милости просим, за контактами ко мне. На самом деле нет в этом ничего сложного. Для того, кто умеет.