ics-it определяют коды ГАР, чтобы автоматически сопоставлять торговые точки с эталонной клиентской базой

Задача. Получать базы торговых точек от дистрибьюторов и торговых сетей, и затем автоматически сопоставлять эти базы с эталонным справочником торговых точек. Это нужно, чтобы обогатить исходный перечень географической иерархией и недостающими атрибутами, удалить записи-дубликаты.

Объем. 10—50 тыс. записей за раз. 

Решение. Сопоставлять торговые точки по кодам ГАР. Определять коды, отправляя адреса точек сервису «Стандартизация» — по API, с помощью метода «Разбор адреса из строки».

Результат. Сервис «Стандартизация» «Дадаты» автоматически определяет коды ГАР для 70-80% исходных адресов. Оставшиеся 20% адресов операторы обрабатывают вручную. На основе кода ГАР исходный адрес дополняют географической иерархией.

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

ics-it — разработчик и интегратор ПО для автоматизации продаж у производителей товаров

Компания ics-it разрабатывает хранилища данных, BI-системы и бизнес-приложения для производителей товаров. Специализируются на фармакологических компаниях и организациях из сферы FMCG — товаров повседневного спроса. 

ПО ics-it помогает автоматизировать процессы, связанные с продажами: 

  • сбор и обработку данных по продажам от дистрибьюторов и торговых сетей;
  • работу отдела продаж — с помощью CRM у фармкомпаний или SFA у FMCG;
  • расчет бонусов клиентам и команде продаж;
  • планирование продаж, промо-акций, ассортиментных матриц.

Компания разрабатывает четыре продукта:

  • low-code платформу MDT — платформа для автоматизации бизнес-процессов. С ее помощью бизнес-приложения объединяют в экосистему;
  • сервис SellOut+. Он собирает данные о продажах от дистрибьюторов, торговых сетей, систем маркировки МДЛП и «Честный знак». И готовит эти данные к анализу: приводит в общий вид, сопоставляет с эталонной базой клиентов и продуктов, обогащает информацией, удаляет дубликаты;
  • Quiz — мобильное приложение класса SFA/CRM, которое автоматизирует работу полевой команды продаж. Приложение помогает управлять анкетами и списками задач, планировать маршруты посещений и создавать заказы. С ним полевые команды продаж быстрее проводят визиты и собирают больше информации о выкладке и наличии товаров;
  • ТОТЕМ — комплексное решение по автоматизации процессов планирования продаж, промо-активностей, управления контрактными условиями, скидками и бонусами клиентов. ТОТЕМ является ключевым звеном планирования и контроля P&L — прибыли и убытков. А также основным источником данных для планирования производства.

Компании-производители продают через дистрибьюторов и торговые сети. Их называют клиентами

Представьте компанию, которая производит лекарства. Она не продает товары людям напрямую: нельзя прийти на завод и купить леденцы от кашля. Цепочка поставок устроена иначе.  

Фармкомпания продает лекарства через посредников: 

  • аптечные сети. Они покупают товары у производителя, развозят по аптекам и уже там продают людям;
  • дистрибьюторов. Они получают товары от производителя и перепродают аптечным сетям и независимым аптекам.

Аналогично работают и производители потребительских товаров. Скажем, «Балтика» сначала продаст партию пива «Перекрестку», затем ритейлер развезет бутылки по магазинам, где пиво купят обычные люди.

Производители называют посредников клиентами, а продажи им — первичными продажами. Соответственно, продажи посредников — вторичными продажами или продажами клиентов.

Цепочка продаж компании-производителя
Цепочка продаж компании-производителя

Дистрибьюторы и торговые сети присылают производителям данные по вторичным продажам

Производители важно знать, как продают дистрибьюторы и торговые сети. Следят, например, за:

  • объемом продаж;
  • регионами и городами, в которых представлены товары;
  • динамикой в разрезе команды продаж — торговых или медицинских представителей, менеджеров;
  • остатком товара на складах;
  • выполнением контрактных условий — скажем, ассортиментной матрицы и правил выкладки.

Дистрибьюторы и сети отчитываются производителю о продажах и остатках. Присылают сведения о покупках в торговых точках сети, отгрузки дистрибьюторов и складов.  

Пример данных по вторичным продажам
Сеть аптек прислала данные о продажах. Видно, что человек купил упаковку «Аксамона» за 2199 ₽ в аптеке на Тверской 22. Другой покупатель взял упаковку «Аксамона» за 1567 ₽ на Петровке 17

Сервис SellOut+ обрабатывает данные по вторичным продажам. Для этого сопоставляет присланные торговые точки с эталонным справочником клиентов

Торговые сети и дистрибьюторы присылают «грязные» данные:

  • в разных форматах — JSON, Excel, CSV, Word, SQL или API;
  • разного вида. Например, один и тот же адрес в одном случае запишут «рф Москва кибальчича 4\6», а в другом — «г. Москва, ул. Кибальчича, д 4\6»;
  • без географической иерархии — адреса, не разделенные на компоненты;
  • с дубликатами — задвоенными записями;
  • без важных для анализа атрибутов. Например, без категории клиента — супермаркет, заправка, аптека или склад.
Пример «грязных» данных, которые присылают дистрибьюторы и торговые сети
«Грязные» данные по продажам: адреса в названиях, компоненты адресов в разном порядке, пропущены города и регионы

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

Сервис SellOut+ обрабатывает данные. Для этого сопоставляет каждую запись в данных от дистрибьюторов и торговых сетей с эталонным справочником клиентов, которую ведут в ics-it. Такой процесс называют «мэппингом».

У торговых точек в эталонном справочнике уже есть географическая иерархия и все атрибуты, необходимые для анализа. Остается только связать торговые точки в данных по вторичным продажам с эталонными вариантами. 

Мэппинг торговых точек в SellOut+
SellOut+ привязал торговые точки из данных дистрибьюторов и торговых сетей к эталонному значению — аптеке ООО «Компании Монастырёв» на Кибальчича 4/6

SellOut+ сопоставляет клиентов автоматически, но раньше мэппинг работал в ручном режиме. Сейчас расскажем, как все было устроено.

Раньше торговые точки вручную сопоставляли с эталонным справочником клиентов. Теперь автоматически — с помощью кодов ГАР

Изначально за мэппинг отвечали операторы компании-производителя. Действовали так:  

  • брали каждую запись, которую прислали в данных по вторичным продажам;
  • определяли, какая торговая точка или дистрибьютор в эталонном справочнике соответствует этой записи;
  • привязывали исходник к эталонному значению через интерфейс MDT.

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

Например, в данных по продажам крупной торговой сети типа X5 — ≈10 тысяч торговых точек. В данных дистрибьютора, который работает с несколькими сетями — ≈50 тысяч.

В ics-it захотели автоматизировать мэппинг, чтобы снизить нагрузку на сотрудников компаний-производителей. 

В общем виде автоматически мэппить торговые точки решили по двум факторам: адресу и ИНН юридического лица. SellOut+ должен взять адрес и ИНН, которые прислали в данных по продажам → найти клиента с таким адресом и ИНН в эталонном справочнике → привязать исходник к эталону.

Одного только адреса для автомэппинга обычно недостаточно, ведь в одном доме могут работать торговые точки разных сетей. У них один адрес, но разные ИНН. Одного только ИНН тоже не хватит: у торговых точек нет ИНН, поэтому точки одной сети отличают по адресам.

Сопоставить клиентов по ИНН легко, ведь это числовой идентификатор. Заодно легко проверить, прислали настоящий ИНН или просто набор цифр — по контрольному числу.

Сложность возникает с сопоставлением текстовых адресов. Дело в том, что адреса торговых точек и дистрибьюторов в данных по продажам пишут по-разному. И не так, как в эталонном справочнике.

Скажем, три дистрибьютора продают лекарства одной аптеке. Но первый в данных по продажам укажет адрес аптеки так — «рф Москва кибальчича 4\6», второй — «г. Москва, ул. Кибальчича, д 4\6», третий — «г Москва, ул. Кибальчича, 4, корп 6». А в справочнике будет четвертый вариант — «г Москва, ул Кибальчича, 4\6». 

Текстовые адреса, записанные по-разному, не сопоставить простым сравнением. Поэтому SellOut+ для мэппинга использует не сами адреса, а их коды ГАР — уникальные идентификаторы адреса в Государственном Адресном Реестре, справочнике адресов налоговой. Их еще называют ГАР ID или ФИАС ID.  

Например, у дома 4/6 на улице Кибальчича в Москве уникальный код — 69778efb-3d7c-4a65-8dea-0bb4546e06bc.

Чтобы автоматически сопоставлять торговые точки, нужно определять коды ГАР для присланных адресов. Это делает «Дадата»

Торговым точкам в эталонном справочнике ics-it уже соответствуют коды ГАР. Они нужны для географической иерархии.

По коду ГАР адрес связывают со справочником — самим ГАР. Благодаря этой привязке адреса в справочнике SellOut+ хранят не в виде плоского текста, а как ссылку на географическую иерархию. Это важно для аналитики — можно, например, строить отчеты в разрезе регионов, городов, районов, улиц.

Географическая иерархия адреса в SellOut+
Адрес в эталонном справочнике разбит на отдельные компоненты: регион, город, район, улицу и дома

А вот в данных по вторичным продажам коды ГАР не присылают — только адреса торговых точек в виде текстовых строк. Чтобы сопоставлять торговые точки с эталонными значениями, сначала нужно проставить коды ГАР каждому адресу, который прислал клиент. 

В качестве решения в SellOut+ внедрили «Стандартизацию» «Дадаты». Наш сервис получает адреса в виде строк текста — по API, приводит к единому виду, разбивает на компоненты и обогащает полезной информацией. В частности определяет код ГАР:

Обогащение данных кодами ГАР в «Стандартизации» «Дадаты»

После «Стандартизации» 70-80% адресов автоматически сопоставляют с клиентами. Оставшиеся 20% отправляют операторам — на ручной разбор. Как правило, это:

  • случаи, когда найденному код ГАР не соответствует ни один клиент из справочника. Оператор исправляет ошибку, например, неправильный номер дома. Или заводит нового клиента в справочнике;
  • случаи, когда по одному адресу находится несколько торговых точек;
  • неполные адреса. Скажем, «Москва, Тверская», без номера дома;
  • неоднозначные адреса. Допустим, «Москва, Тверская-Ямская 6». В Москве четыре Тверских-Ямских улицы, непонятно, какую из них имели в виду;
  • ситуации, где вместо адреса пришел посторонний текст. Например, «Для Тебя Любимая» или «Не почемучкайте и делайте свою работу». Реальные примеры.

Вот как теперь устроен автомэппинг:

Процесс автомэппинга торговых точек в SellOut+ с помощью «Дадаты»

Таким образом, ics-it теперь предоставляет сервис полной обработки данных от дистрибьюторов и торговых сетей: от стандартизации адресов до мэппинга на эталонную базу. Это полностью снимает задачу мэппинга и ведения справочника клиентов с заказчика. 

За счёт «Дадаты» мы существенно сократили время, которое занимала обработка данных. Около 70-80% адресов теперь обрабатываем автоматически, и только оставшиеся требуют ручной обработки операторами.

С помощью «Дадаты» и сервиса SellOut+ нам удается собирать и обрабатывать данные более чем от 800 сетей, дистрибьюторов и их филиалов. Это почти все российские сети, ассоциации и дистрибьюторы. В результате чего мы имеем актуальную и постоянно обновляемую базу торговых точек и аптек.

Петр Покусаев, генеральный директор ics-it

Не пропускайте важные материалы

Подпишитесь в соцсетях

Публикуем ссылку на статью, как только она выходит. А еще даём знать о новых фичах и срочных новостях. Например, напишем, если налоговая потеряет данные по организациям в свежей выгрузке или API «Дадаты» перестанет отвечать.

Подпишитесь на рассылку

Раз в месяц присылаем на почту новые статьи из блога и обновления сервисов «Дадаты». Не тревожим без повода и не шлем спам.