Комментарии 8
изначально это все работает следующим образом - сидит человек, который заводит новые номенклатуры и изначально категоризирует все, и никакому менеджеру не позволено вносить в номенклатуры ничего, кроме комментариев, без ведома этого самого человека (а еще лучше - отдела), и 200 миллионов номенклатур без категорий тупо не существуют.
Я не знаю, насколько надо быть идиотом в управлении, чтобы довести НСИ до ситуации, когда из 200 миллионов категоризированы только 5%, что должно произойти? Все 200 миллионов вывалены инопланетянами напрямую в базу с диверсионными целями? Нет. Просто 10 и более лет в вашем колхозе никто никогда даже не интересовался, как упорядочить НСИ, каждый дурак НСИ заводил и редактировал, в систему годами импортировали идиотские каталоги и базы, не приводя их в какую-то однообразную систему, причем делалось это все с одобрения и при попустительстве начальства. Результат - 76% все-таки удалось каталогизировать КАК-ТО. Качество, которое вы посчитали выборкой, фактически гораздо хуже - моя многолетняя практика об этом говорит достаточно ясно. Оно приемлемо лишь в ситуации "изобразите хоть что-то, а то нас государство на кукан насадит".
Коллега, спасибо за острую реплику. По делу: в автозапчастях номенклатура исторически живёт по принципу «бренд + артикул» — это и есть уникальный ключ. Название всегда было вторичным полем, которое тянулось из прайсов поставщиков автоматически (кросс-док, сотни поставщиков, сотни тысяч прайсов за годы работы). Ручной контроль каждой позиции убил бы оперативность. Да, получилась свалка, но она не мешала продажам, пока работал поиск по артикулу. А «Честный знак» заставил нас залезть в эту помойку и навести порядок уже постфактум. Так что это не «колхоз», а legacy-последствие отраслевой специфики.
А процесс попадания номенклатуры в БД как бы смешно не звучало, он полуавтоматический, закупки устанавливают только факт того что поставщик надежный и доступные к продаже бренды от этого поставщика. Далее все работает по уникальной связке артикул + бренд, поле наименования является опциональным с точки зрения бизнеса.
Название всегда было вторичным полем, которое тянулось из прайсов поставщиков автоматически (кросс-док, сотни поставщиков, сотни тысяч прайсов за годы работы).
Продолжайте меня убеждать что когда одной физической номенклатуре соответствует сто системных с разным наименованием, это нормально, не убедите. Это ненормально.
Ручной контроль каждой позиции убил бы оперативность.
Нормальные люди именно контроль автоматизируют в первую очередь - например, поставщик не прокинет свой каталог, не установив определенных категорий и стандартизированных описаний и реквизитов. В нормальной компании невозможна ситуация, когда манагер загружает НСИ, фактически дублируя существующие, не имея возможности контролировать что он там загружает.
а, получилась свалка, но она не мешала продажам, пока работал поиск по артикулу.
как минимум, ручной контроль категоризации артикулов в такой ситуации вполне доступен. Чисто теоретически возможно, что есть сотни номенклатур с одним артикулом, но если физически за артикулом болт М10, то к артикулу должно быть четкое описание и дерево категорий - типа - Крепеж - Болты общего назначения - Болты ГОСТ - Болт М10. Это азы управления НСИ. Но, конечно же, торгашам удобней никаких расходов на порядок в учете не нести, а потом бегать с горящей жопой и воплями "ой, Честный знак!"
Можно было изначально всё сделать проще. Выгрузить всё в один огромный файл и натравить на него дорогую модель. Она сама бы всё разобрала и классифицировала за не очень большое количество токенов. Сам как-то делал подобную задачу, всё отработало даже лучше чем я ожидал. ИИ сама строила выражения, находила паттерны, писала скрипты и всё такое. В итоге огромный файл улетел очень быстро и токенов ушло не много.
У меня получалось ~150мб текста, для 1 млн sku. Для 200млн это ~30гб. К сожалению я не знаю куда можно скормить такой объем за раз или как натравить на такой объем, не написав хотя бы примитивные механизмы батчей. Поделитесь опытом какая у вас была задача, какие объемы и как быстро обработали, интересно.
Нужно взять агента, например в Cursor или Claude. Модель ИИ - тут дело вкуса, я бы взял Sonnet 4.6. А дальше дать задачу, вот тебе файл - путь, и что с ним надо сделать. Классифицировать и т.п. ИИ не будет в себя всё это загружать и тратить на это драгоценные токены, он посмотрит на структуру, заберет несколько строк, проанализирует. Дальше начнёт строить регулярки, скрипты и т.п. В конечном итоге всё разгребёт и даст отчет что сделал. Всё. Я подобные задачи делал несколько раз, всегда результат был быстрым и качественным.
Применительно к Честному знаку категории - это хорошо. У нас, например, такой проблемы особо не стояло(сейчас уже обязательная маркировка на масла и тех.жидкостей). У нас вся номенклатура в группах. Но 100% решения задачи не дает, так как обязательность маркировки определяется по сочетанию ТН ВЭД и ОКПД 2 товара. И там, например: "Жидкости тормозные гидравлические и жидкости готовые прочие для гидравлических передач, не содержащие или содержащие менее 70 мас.%". И теперь из группы/категории "Торомозная жидкость" нужно выбрать, те что подлежат обязательной маркировке.
Ну да, в том-то и дело. У нас тут ситуация один в один с вашей. Вы про тормозные жидкости привели отличный пример - из одной группы нужно вычленить те, что под маркировку. И если копаться в каждом наименовании руками, проверяя код ТН ВЭД и ОКПД2, можно поседеть.
Поэтому изначально мы и отталкивались от идеи «определили разово - и забыли». Берем самые жирные, массовые категории, где четко понятны условия (например фильтра салонные), настраиваем там правила и автоматизируем процесс.
А все эти пограничные случаи, которые на стыке ТН ВЭД и ОКПД2, или позиции, где описание кривое, мы осознанно относим в разряд «изысков» и добиваем их точечно, когда основной поток закрыт. Иначе действительно утопия - можно бесконечно копаться в номенклатуре и не сдвинуться с места. Затраты/эффект должны быть в балансе.
К тому же есть интересные случаи. Например за последние 2 года, идет активное замещение в той же расходке, с европейских брендов на китайские. Количество номенклатуры там тоже запредельное и измеряется миллионами. Если пойти по сценарию вводить корректно изначально, это огроменные убытки. В таких случаях как раз нужны автоматы, которые будут покрывать на самом деле любую часть от нового потока, это всегда выгодно и как будто единственный вариант в текущих реалиях.

Как я готовился к Честному знаку и разработал подход к нормализации данных