Что это такое простыми словами
Есть два списка товаров. В одном ваш ассортимент, в другом — чужой: каталог конкурента, прайс поставщика, карточки на маркетплейсе. Нужно понять, какая позиция из первого списка соответствует какой из второго.
Человек делает это легко. Он видит «Парацетамол 500мг №20» и «Парацетамол таб. 500 мг 20 шт» и сразу понимает, что это одно и то же. Программа, которая сравнивает строки символ за символом, видит два разных текста.
Вся сложность в том, чтобы научить программу понимать так же, как человек, — и при этом не ошибаться там, где отличие маленькое, но принципиальное. «№20» и «№10» отличаются одним знаком, а товары разные, и цена у них разная вдвое.
Откуда берётся задача: три ситуации
Первая: следим за ценами конкурентов. Собрали цены с чужих сайтов, а дальше нужно понять, с чем сравнивать свои. Без сопоставления собранные данные бесполезны: вы не знаете, какая чужая цена относится к какому вашему товару.
Иногда это называют «матчинг цен». Порядок такой: сначала собрать цены с чужих сайтов (это парсинг), потом найти пары товаров, и только потом сравнивать цены. Если пропустить средний шаг, сравнение выйдет неверным.
Вторая: работаем с поставщиками. Каждый поставщик присылает прайс со своими названиями. Один и тот же товар у трёх поставщиков назван по-разному, и надо свести всё к своему справочнику, чтобы сравнить условия и не завести три карточки вместо одной.
Третья: наводим порядок у себя. В каталоге накопились дубли: один товар заведён несколько раз разными людьми в разное время. Покупатель видит две карточки одного товара с разной ценой, а вы видите разъезжающиеся остатки.
Задача во всех трёх случаях одна, а вот требования к точности разные. Дальше это важно.

Почему нельзя просто сравнить названия
Первое, что приходит в голову, — сравнить строки и найти похожие. Этот подход разваливается на реальных данных, и вот почему.
| Проблема | Пример |
|---|---|
| Одно и то же пишут по-разному | «Парацетамол 500мг №20», «Парацетамол таб. 500 мг 20 шт», «Paracetamol 0,5 №20 блистер» — для человека один товар, для сравнения строк три разных |
| Разное пишут почти одинаково | «№20» и «№10» отличаются одним символом. По похожести строк они почти идентичны, а на деле это разные товары, и сравнивать их цены нельзя |
| Важное прячется в середине | Дозировка, объём, количество в упаковке, цвет, размер могут стоять в любом месте названия и в любом формате: «0,5», «500 мг», «500мг» |
| Названия бывают неполными | В прайсе поставщика написано «Стул офисный чёрный» — а у него в ассортименте их восемь. Сопоставлять не с чем |
Практический вывод: сопоставление — это не сравнение текстов, а разбор смысла. Программа должна понимать, что бренд, дозировка, количество и форма — разные признаки, и сравнивать их по отдельности. Именно поэтому готовые решения «загрузите два файла и получите результат» работают на демонстрации и разваливаются на реальном каталоге: они сравнивают строки, а строки в реальных данных совпадают редко.
Как это делают: от простого к сложному
В работающих системах эти способы не выбирают, а комбинируют: сначала точные совпадения по идентификаторам, потом разбор признаков, потом смысл — и на каждом шаге остаётся всё меньше неопределённых позиций.
- По штрихкоду или артикулу
Самый надёжный способ: если у обеих позиций есть один и тот же идентификатор, сомнений нет. Проблема одна — в реальных данных он есть далеко не всегда, а у конкурентов на сайте почти никогда.
- По разобранным признакам
Из названия вытаскиваются составляющие: бренд, действующее вещество или модель, дозировка, количество, форма, объём. Дальше сравниваются не тексты, а эти признаки по отдельности. Так «500 мг» и «0,5 г» становятся одним и тем же, а «№20» и «№10» — разными.
- По смыслу
Программа сравнивает не буквы, а значение фразы целиком, и понимает, что «Ноутбук Apple MacBook Air 13» и «Макбук Эйр 13 дюймов» — про одно. Это хорошо работает там, где названия описательные и длинные.
- По картинке
Помогает в одежде, мебели, декоре — там, где описания у всех разные, а вещь узнаётся глазом.
Как выглядит результат
На выходе получается таблица. В каждой строке ваш товар, найденная пара и решение программы. Вот пример для аптеки.
| Ваш товар | Товар конкурента | Решение | Почему |
|---|---|---|---|
| Парацетамол 500мг №20 | Парацетамол таб. 500 мг 20 шт | Пара | Совпали вещество, дозировка и число таблеток |
| Парацетамол 500мг №20 | Парацетамол 500мг №10 | Не пара | В упаковке 10 таблеток, а не 20 |
| Парацетамол 500мг №20 | Парацетамол 500 мг 20 шт, другой производитель | На проверку человеку | Считать ли это одним товаром, решаете вы. Правило записывается, и дальше программа применяет его сама |
Дальше к каждой паре подтягивается цена конкурента. Видно, где вы дороже, а где дешевле, по каждому товару и городу. На этих данных строится ценообразование: какие цены поднять, какие снизить.
Главный вопрос: как понять, что сопоставлено верно
Об этом почти никто не пишет, а это единственное, что имеет значение. Любая система выдаёт результат. Вопрос в том, можно ли на нём принимать решения.
Ошибки бывают двух видов, и они по-разному опасны.
Не нашли пару, хотя она есть
- Неприятно, но безопасно
- Позиция просто выпадает из сравнения
- Вы недосчитались данных и знаете об этом
Сопоставили неверно
- Это дорого
- Программа связала упаковку из двадцати таблеток с чужой из десяти
- Вы увидели, что конкурент вдвое дешевле, и снизили цену — ошибка не видна
Поэтому нормальная система устроена так, чтобы второй ошибки почти не было — даже ценой первой. Лучше оставить позицию несопоставленной, чем связать её неправильно.
Как это проверяется на практике. Берётся выборка — несколько сотен пар — и размечается руками: верно или нет. По ней считаются две величины: какая доля сопоставленного оказалась правильной и какую долю от всех возможных пар система вообще нашла. Дальше выборка перепроверяется регулярно, потому что данные меняются.
Что стоит спросить у подрядчика: на какой выборке измерялась точность, кто её размечал и что происходит с сомнительными парами. Ответ «у нас точность 99%» без объяснения, как её считали, не значит ничего.
Что делать с остатком
Полностью автоматически не сопоставляется никогда. Всегда остаётся часть позиций, по которым программа не уверена, и это нормальное состояние системы, а не признак плохой работы.
Остаток разбирается человеком. Правильно устроенный процесс выглядит так: программа показывает спорные пары с объяснением, почему она сомневается, человек подтверждает или отклоняет, и его решения запоминаются — в следующий раз такие случаи система разберёт сама.
Отсюда практическое: закладывайте в проект не только автоматику, но и интерфейс для разбора спорного, и время сотрудника на это. Проекты, где про остаток не подумали, застревают именно на нём.
Объёмы при этом бывают большими. В нашем проекте для платформы товарных данных сопоставлено примерно 50 миллионов товаров (наш проект, 2025) — на таких объёмах ручной разбор всего невозможен в принципе, и вопрос только в том, какую долю удастся закрыть автоматически.
Другой пример — фармацевтическая розница, где мы ведём постоянный контур: данные собираются больше чем с 20 сайтов аптечных сетей по 33 городам и сводятся с эталонным справочником на 30 830 позиций (наш проект, 2026). Здесь сопоставление работает не разово, а каждый день: появляются новые позиции, меняются названия, и связки должны обновляться сами.
Источник: наш проект, 2025
Источник: наш проект, 2026
Источник: наш проект, 2026
Источник: наш проект, 2026
Разница между этими двумя задачами показательна. В первом случае главное — объём и умение обработать его за разумное время. Во втором объём меньше, но требования к точности жёстче: на этих данных принимаются решения по ценам, и ошибка стоит денег сразу.
Сопоставление в 1С: почему руками не выходит
Отдельная история, знакомая каждому товароведу и бухгалтеру. Сопоставление номенклатуры возникает при обмене документами с контрагентами, при работе с маркетплейсами, при загрузке прайсов поставщиков.
Штатный механизм устроен просто: система предлагает варианты, человек выбирает нужный, связка запоминается. Пока позиций сотни, это работает.
Ломается на трёх вещах. Когда поставщиков много и каждый называет товары по-своему — количество связок растёт как произведение, а не как сумма. Когда прайсы обновляются постоянно и в них появляются новые позиции. И когда сопоставлять приходится не с одним справочником, а с несколькими площадками сразу.
В этот момент ручное сопоставление превращается в постоянную работу одного-двух человек, которая никогда не заканчивается. И главное — она не накапливается: человек уходит, а его знание о том, почему эти две позиции связаны, остаётся только в его голове.
Автоматическое сопоставление здесь не заменяет 1С, а работает рядом: разбирает основную массу, а в систему отдаёт готовые связки, оставляя человеку только спорное.
Вручную в 1С
- Постоянная работа одного-двух человек без конца
- Число связок растёт как произведение, если поставщиков много
- Знание о связке уходит вместе с сотрудником
С автоматикой рядом
- Программа разбирает основную массу сама
- В систему приходят готовые связки
- Человеку остаётся только спорное
Почему работу считают категориями, а не позициями
Первый вопрос при оценке проекта звучит обычно так: «у нас тридцать тысяч позиций, сколько это будет стоить». А правильный вопрос другой: сколько у вас категорий товаров.
Причина в том, что у каждой категории свой набор признаков, по которым товары вообще можно сравнивать. И этот набор приходится описывать и настраивать заново для каждой категории.
Возьмём аптеку. Чтобы понять, что две позиции — один и тот же товар, нужны: действующее вещество, дозировка, количество таблеток в упаковке, объём, производитель. Программа разбирает названия именно по этим признакам, и «500 мг» с «0,5 г» для неё одно и то же, а «№20» и «№10» — разное.
Теперь одежда. Здесь эти признаки не работают вообще — нет ни дозировки, ни объёма упаковки. Значение имеют размер, цвет, сезон, мужская вещь или женская, фасон. Причём по названиям сопоставить получается плохо: у одного «худи оверсайз серое», у другого «толстовка с капюшоном, меланж». Поэтому в одежде приходится сравнивать ещё и фотографии — вещь узнаётся глазом надёжнее, чем по описанию.
| Категория | Признаки для сравнения | Как сопоставляют |
|---|---|---|
| Аптека | Действующее вещество, дозировка, количество в упаковке, объём, производитель | По признакам из названия: «500 мг» и «0,5 г» — одно и то же, «№20» и «№10» — разное |
| Одежда | Размер, цвет, сезон, пол, фасон | По названиям плохо: «худи оверсайз серое» и «толстовка с капюшоном, меланж» сравнивают ещё и по фотографии |
Между этими двумя категориями нет ничего общего, кроме самого подхода. Настройка под таблетки не переносится на одежду ни в какой части: другие признаки, другие правила нормализации, другой способ проверки.
Отсюда практическое следствие для бюджета: добавить в проект ещё десять тысяч позиций внутри той же категории — почти бесплатно. Добавить одну новую категорию — это отдельная работа. Поэтому и оценка идёт по категориям.
И отсюда же совет по старту: начинать с одной категории, самой важной для бизнеса. Она даёт результат, на котором видно, работает подход или нет, и стоит понятных денег.
Что нужно от вашей компании
Больше половины успеха определяется тем, что вы приносите на вход. Нужны четыре вещи.
| Что нужно | Детали |
|---|---|
| Свой справочник в приличном виде | У каждой позиции — название, по которому можно понять, что это за товар, и характеристики: бренд, объём, количество, размер. Не обязательно идеально, но «тов. 12 уп.» не годится: сопоставлять не с чем |
| Понимание, с чем сопоставляем | Список площадок, поставщиков или конкурентов, и по каким городам, если цены и ассортимент отличаются по регионам |
| Правило, что считать одним товаром | Самый спорный вопрос в проекте: разный цвет — тот же товар или другой? Упаковка двадцать штук и упаковка две по десять — одно и то же? Ответы зависят от того, зачем вам сопоставление |
| Человек, который разбирает спорное | Обычно товаровед или категорийный менеджер. Его время нужно не разово, а регулярно, хотя со временем нагрузка падает |
Как проходит проект
Порядок примерно одинаковый независимо от отрасли.
- Смотрим данные
Не рассказ о данных, а сами выгрузки. Обычно на этом шаге выясняется, что реальное состояние справочника отличается от представления о нём, и часть работ уходит на приведение в порядок.
- Договариваемся о правилах
Что считать одним товаром, что аналогом, какая точность нужна и что дороже — пропустить пару или ошибиться.
- Делаем на маленьком куске
Одна категория, несколько сотен позиций. Размечаем выборку руками, измеряем точность, показываем результат. На этом шаге видно, реально ли достижимо то, что нужно, — до того как потрачен весь бюджет.
- Расширяем и настраиваем разбор спорного
Подключаются остальные категории и площадки, появляется интерфейс, где человек подтверждает сомнительные пары.
- Переводим в постоянный режим
Данные обновляются, новые позиции сопоставляются сами, накопленные решения работают дальше. Именно на этом шаге проект превращается из разовой работы в систему, и именно здесь заканчиваются проекты, где про сопровождение не подумали.
Сколько стоит и от чего зависит
Единица оценки — категория товаров, а не количество позиций. Порядок цен такой.
| Что | Порядок цены |
|---|---|
| Разбор задачи: посмотреть данные и сказать, что реально сделать | Бесплатно |
| Сопоставление одной категории товаров с площадками | от 500 000 ₽ |
| Сопоставление товаров-аналогов — когда точного совпадения нет и нужна замена | дороже точного, зависит от категории |
Аналоги дороже неслучайно. Найти тот же самый товар — задача с проверяемым ответом: он либо есть, либо нет. Найти замену — задача с оценкой: программа должна понять, что два разных товара выполняют одну работу. Что считать достаточной заменой, определяется вместе с вами, и в разных категориях ответ разный.
Что увеличивает цену: несколько категорий вместо одной; необходимость сравнивать фотографии, а не только названия; много поставщиков со своими форматами; отсутствие идентификаторов в данных; высокие требования к точности; работа по нескольким регионам; постоянное обновление вместо разовой сверки.
Что почти не влияет: количество позиций внутри уже настроенной категории.
Подробнее об услуге — сопоставление и дедупликация каталогов. Как это работает в связке со сбором цен — в статье динамическое ценообразование.
Когда это не нужно
Мало позиций. Пара сотен товаров — товаровед сведёт их в таблице за несколько дней, и это будет дешевле любой автоматики.
У всех есть штрихкоды. Если и у вас, и у контрагентов данные с надёжными идентификаторами, задача решается обычным сопоставлением по коду. Умная система тут лишняя.
Разовая задача. Свести два списка один раз можно и вручную, наняв людей на неделю. Автоматизация окупается там, где сопоставление нужно постоянно и данные меняются.
Данные в беспорядке у вас самих. Если собственный справочник — это «тов. 12 уп.» без характеристик, начинать надо с него. Сопоставлять хаос не с чем: программе нужны признаки, которых нет.
Частые вопросы
Какая точность считается нормальной?
Зависит от задачи. Для сравнения цен, где на основе данных меняются деньги, требования жёсткие и лучше недосопоставить, чем ошибиться. Для обзора рынка, где нужна общая картина, допустимо больше. Правильный вопрос подрядчику — не «какая у вас точность», а «как вы её измеряли и на какой выборке».
Сколько времени занимает?
Первый рабочий результат обычно виден быстро, а вот доведение до нужной точности и разбор спорных случаев занимают основное время. Планировать стоит месяцами.
Можно ли обойтись без разбора спорного человеком?
Полностью — нет, и обещания обратного стоит воспринимать настороженно. Доля автоматически разобранного растёт по мере накопления решений, но остаток остаётся всегда.
Данные останутся у нас?
Да. Справочники, связки и история решений складываются в ваше хранилище. Это ваш актив, и он ценнее самой программы: подрядчик может смениться, накопленные связки остаются.
Работает ли это с товарами без описаний, только с картинками?
Частично. Сравнение по изображениям помогает там, где вещь узнаётся глазом — одежда, мебель, декор. Для товаров, где всё решают характеристики, картинка мало что даёт.
У нас несколько поставщиков с разными форматами прайсов. Это проблема?
Это обычная ситуация и основная причина, по которой ручное сопоставление перестаёт справляться. Разные форматы приводятся к общему виду на входе, это часть работы.
Чем матчинг товаров отличается от мониторинга цен?
Мониторинг цен — это сбор цен конкурентов. Матчинг отвечает на вопрос, какая чужая цена относится к какому вашему товару. Без матчинга мониторинг даёт просто список цен, и сравнить его со своими нельзя.
Для технических специалистов
Рабочая схема — многоступенчатая: сначала точные совпадения по идентификаторам, затем разбор признаков (бренд, действующее вещество или модель, дозировка, количество, форма, объём) с нормализацией единиц измерения, затем сравнение по смыслу для описательных названий. На каждой ступени пары с недостаточной уверенностью уходят не в результат, а в очередь ручного разбора.
Точность измеряется на размеченной вручную выборке, отдельно считаются доля верных среди сопоставленного и полнота охвата; выборка обновляется, потому что данные дрейфуют. Решения оператора по спорным парам сохраняются и используются дальше, поэтому доля ручного разбора со временем падает. Связки и история решений хранятся на стороне заказчика; выгрузка в учётные системы — через штатные механизмы обмена, для 1С это OData.

