В отчете одного дистрибьютора аптека записана как «Москва, Кибальчича, 4/6». В файле другого — «г. Москва, ул. Кибальчича, д. 4, корп. 6». В базе торговой сети у нее может быть третий вариант адреса и собственный внутренний код. В системе маркировки — четвертый. А в базе CRM у самого производителя — пятый.
Для человека очевидно, что речь идет об одном адресе. Но для информационной системы это разные строки. Если их не сопоставить, одна аптека или магазин превращается в несколько записей. Часть продаж остается без привязки к клиенту, в справочнике появляются дубли, а показатели покрытия и дистрибуции начинают расходиться с реальностью. В результате даже безупречно настроенный BI-дашборд показывает неточную картину. Именно поэтому качественная аналитика продаж для производителя начинается задолго до визуализации — с очистки, нормализации и мэппинга торговых точек.
В SellOut+ мы используем сервис стандартизации DaData в процессе обработки торговых точек. Ниже расскажем, как.
Зачем обрабатывать точки
Производитель получает данные о товародвижении из большого количества источников — из внутренних учетных систем и CRM, от дистрибьюторов, розничных и аптечных сетей, интернет-магазинов и маркетплейсов, систем маркировки, маркетинговых агентств, полевых команд. Каждый источник может использовать разные форматы, справочники и правила заполнения полей.
Если сразу начать использовать исходные данные в аналитике без обработки, это приведет к появлению десятков дублей по каждой точке. Это, в свою очередь, завысит численную дистрибуцию и покрытие по одним клиентам и территориям, и занизит по другим. Нельзя будет не только корректно посчитать бонусы партнерам, но и в целом понять реальный объем продаж. Аналитики начнут тратить большую часть своего рабочего времени на попытки обнаружить и объяснить расхождения между отчетами вместо поиска точек роста.
Поэтому в сервис SellOut+ включен процесс сопоставления всех записей из исходных отчетов с эталонной базой точек и продуктов. Мы называем это мэппингом. Затем эталонную запись мы насыщаем дополнительными атрибутами: стандартизируем название, добавляем стандартизированный адрес и координаты, тип точки, подтягиваем свойства юридического лица из открытых источников, вычисляем активность точки по наличию фактов. При этом каждая связанная запись из исходного отчета товародвижения тоже получает эти атрибуты, которые можно использовать в дальнейшей аналитике.
Для осуществления мэппинга каждая загружаемая запись сравнивается с эталонной базой по нескольким признакам, в том числе по адресу, ИНН юридического лица, вывеске точки. Совпадения одного лишь адреса недостаточно: в одном здании могут находиться точки разных сетей и юрлиц. Но и один ИНН не решает задачу — одному юридическому лицу может принадлежать множество магазинов или аптек. Сочетание признаков делает сопоставление надежнее.
Как DaData помогает стандартизировать адреса
Адреса в исходных отчетах, которые получает производитель, слишком разношерстные:
- с разными вариантами сокращений и опечатками
- с индексом или без
- части адреса стоят в разном порядке
- различается формат написания адресов
- в строке может не хватать части региона, города, улицы или номера дома
- в поле с адресом вместо адреса может оказаться вообще что-то другое: вывеска точки, ИНН, комментарии от полевой команды.

При этом объемы настолько большие, что вручную разобраться с адресами невозможно. В сервисе SellOut+ ежемесячно обрабатывается более 5,5 млн уникальных записей точек — и это только по РФ. Простым сравнением двух строк с адресом задачу тоже не решить: небольшое отличие в написании не позволяет уверенно признать два адреса одинаковыми. Поэтому для задачи сравнения адресов в ходе мэппинга мы подключили сервис DaData, чтобы превратить свободный текст в структурированные данные.
Сначала по каждому исходному адресу с помощью LLM мы определяем страну. Если это РФ, то очищаем исходную адресную строку и отправляем ее в сервис стандартизации DaData через API. Сервис приводит запись к единому виду, разбирает ее на компоненты — регион, город, улицу, дом — и определяет код ГАР (ФИАС).
ГАР, или Государственный адресный реестр, содержит уникальные идентификаторы адресных объектов. Поэтому вместо сравнения нескольких вариантов написания SellOut+ может использовать устойчивый код и связать адрес с географической иерархией. После стандартизации система сопоставляет входящую запись с эталонной торговой точкой и обогащает ее необходимыми для анализа атрибутами.
В результате DaData автоматически определяет коды ГАР для 70–80% исходных адресов. Это еще не полный мэппинг, а только первый его этап по стандартизации адресов для их дальнейшего использования в многочисленных правилах сравнения и мэппинга.
Почему автоматизация не отменяет ручную проверку
В мастер-данных опасно сопоставить две разные точки только потому, что система нашла похожий адрес. Поэтому неоднозначные записи SellOut+ передает операторам. Ручной разбор нужен, например, если:
- указан неполный адрес без номера дома;
- найденному коду ГАР не соответствует точка в эталонном справочнике;
- по одному адресу расположено несколько торговых точек;
- улицу или населенный пункт можно определить несколькими способами;
- вместо адреса источник прислал название, комментарий или посторонний текст.
В этом случае операторы подключаются к процессу и, используя дополнительные данные из открытых источников, проводят «расследование», чтобы определить — это новая точка или одна из уже существующих эталонных записей в системе.
Такой гибридный процесс объединяет скорость автоматической стандартизации и контроль качества там, где алгоритму не хватает данных.
Что получает отдел аналитики производителя
Стандартизация адресов и дедупликация торговых точек — не техническая уборка ради порядка в базе. От их качества зависят прикладные показатели и управленческие решения.
- У производителя появляется единая географическая иерархия. Продажи можно корректно анализировать по регионам, городам, районам и территориям ответственности, даже если источники присылали адреса в разном виде.
- Данные сетей и дистрибьюторов складываются в единую картину sell-out. Одна физическая точка учитывается один раз, а ее продажи не распадаются между дублями.
- Становятся надежнее расчеты покрытия и дистрибуции. Коммерческая команда видит, где продукт действительно представлен, а где рост показателя возник из-за задвоенных записей.
- Сокращается объем регулярной ручной работы. Отдел аналитики тратит меньше времени на сверку справочников и может быстрее переходить к анализу продаж, ассортимента и территорий.
Советы по интеграции с DaData
На нашем опыте взаимодействия с коллегами мы пришли к некоторым полезным идеям, которыми делимся со всеми заинтересованными, дочитавшими до этого момента.
- Отправляйте на разбор в DaData не исходный адрес, а предварительно очищенный: без лишних символов пунктуации, пробелов, табуляций и непечатных символов. Это значительно повышает шанс успешного разбора адреса.
- Сервис хорошо стандартизирует адреса РФ, но лишь выборочно работает с адресами стран СНГ — предлагает только автоподстановку похожих результатов вместо полноценной стандартизации. Здесь мы пошли путем предварительного определения страны, а затем и реализации собственного механизма стандартизации на базе данных географии и OpenStreetMap (OSM) для стран СНГ.
- DaData тарифицирует количество запросов на разбор. Поэтому используйте внутренний кэш с периодическим обновлением, чтобы сэкономить бюджет интеграции и не отправлять каждый раз одни и те же запросы.
От адресной строки — к данным, на которые можно опереться
Совместная работа SellOut+ и DaData закрывает важный участок обработки данных товародвижения. DaData стандартизирует адреса и определяет коды ГАР (ФИАС), что позволяет SellOut+ сопоставлять записи с эталонным справочником и передавать сложные случаи операторам. На выходе производитель получает не набор разрозненных строк, а подготовленную основу для сквозной аналитики.
Если вы хотите оценить качество собственных справочников, можно начать с пилота SellOut+ на фрагменте данных: проверить долю дублей и несопоставленных точек, оценить качество адресов и увидеть, как очистка повлияет на отчетность по sell-out и дистрибуции.
