Как объединить номенклатуру нескольких компаний и найти дубликаты товаров
При слиянии компаний часто возникает задача сведения товарных баз данных. Разные наименования, артикулы и описания одного и того же продукта - обычная ситуация. В этой статье разберём, как разработать инструмент для автоматического поиска одинаковых товаров и присвоения им единого маркера.
Почему возникает проблема дублирования номенклатуры
Каждая компания ведёт учёт товаров по-своему. Например, один и тот же автоматический выключатель может быть записан как:
- Автоматический выключатель Shneider Electric 1P 16A, Dekraft
- Автомат Shneider Electric, однополюсный, 16А, арт. 11056DEK
- Автомат ВА 101 1P 16А DIN-рейка 4,5kA АС DEKraft
Ручное сравнение шести баз с тысячами позиций - трудоёмкая задача. Автоматизация позволяет сократить время и исключить ошибки.
Алгоритмы поиска дубликатов в товарных базах
Для решения задачи применяются методы нечёткого сравнения строк (fuzzy matching). Основные подходы:
1. Нормализация данных
Перед сравнением названия приводят к единому формату: удаляют лишние пробелы, знаки препинания, приводят к нижнему регистру, заменяют синонимы (например, «автомат» → «автоматический выключатель»).
2. Сравнение по расстоянию Левенштейна
Этот алгоритм вычисляет, сколько символов нужно изменить, чтобы одно название стало другим. Чем меньше расстояние, тем выше вероятность, что товары одинаковые.
3. Использование регулярных выражений
Позволяют извлекать ключевые характеристики: бренд, количество полюсов, номинальный ток, артикул. Затем сравниваются только эти параметры.
4. Машинное обучение (опционально)
Для сложных случаев можно обучить модель на размеченных данных, но для большинства задач достаточно правил и нечёткого поиска.
Как реализовать программу объединения номенклатуры
Вам потребуется команда из двух специалистов:
- Бизнес-аналитик - опишет правила сравнения, составит словарь синонимов и определит, какие поля считать ключевыми (наименование, артикул, бренд).
- Разработчик (Python, C# или Java) - напишет скрипт, который загружает данные из всех шести баз (Excel, CSV, SQL), выполняет сравнение и выгружает результат с маркером группы (например, Group_ID).
Пример работы программы
Допустим, после нормализации и сравнения программа выявила, что все три варианта относятся к одному товару. Она присваивает им общий идентификатор «Group_001». В итоговой таблице появляется столбец «Маркер», где одинаковые товары получают одинаковое значение.
К кому обращаться за разработкой
Ищите фрилансеров или компании с опытом в ETL-процессах (извлечение, трансформация, загрузка) и обработке товарных данных. Хорошо подойдут специалисты по Python (библиотеки pandas, fuzzywuzzy, re) или 1С-программисты, если базы ведутся в 1С. Уточните в портфолио наличие проектов по дедупликации номенклатуры.
Заключение
Объединение номенклатуры при слиянии компаний - решаемая задача. Главное - правильно подготовить данные и выбрать подходящий алгоритм сравнения. Обратитесь к бизнес-аналитику и разработчику, и они помогут создать инструмент, который автоматически найдёт дубликаты и присвоит единые маркеры.