В справочнике было 598 товаров. Для 225 из них система не находила ни одной цены.
Я разбирал закупочную таблицу, в которой цены поставщиков должны автоматически сопоставляться с внутренним каталогом.
Сначала подозрение упало на алгоритм. Возможно, он плохо понимает сокращения или слишком строго сравнивает названия.
Но проблема оказалась в самом справочнике.
В название товара годами складывали всё подряд: бренд, страну, фасовку, внутренний код и комментарий закупщика. Получалась строка, которую понимает человек, давно работающий с этой таблицей. Для системы это отдельный товар, которого нет ни в одном прайсе.
Можно было просто снизить порог совпадения. Тогда пустых ячеек стало бы меньше.
Заодно выросло бы количество неверных цен.
Я пошёл другим путём. У каждого товара появился постоянный внутренний номер. Название оставили коротким, а фасовку, бренд и остальные признаки вынесли отдельно. Сомнительные совпадения система не записывает автоматически — они попадают в очередь на проверку.
Это скучная работа. В ней нет эффектной нейросети, которая одним запросом наводит порядок во всех данных.
Зато после неё понятно, почему цена не нашлась и какой именно товар имелся в виду.
Иногда автоматизация упирается не в код. Просто таблицу десять лет заполняли так, как было удобно конкретному человеку.
Откройте несколько позиций без цены в своём справочнике. Товара действительно нет у поставщиков — или его название понимает только ваш закупщик?
