
Всем привет!
Меня зовут Егор Корнеев, я менеджер практики по сопровождению и разви��ию НСИ в «Норникеле». В этой статье я расскажу, как мы победили дубли справочника МТР НСИ (Материально-технические ресурсы Нормативно-справочной информации) и вместе с тем реализовали непрерывный мониторинг бизнес-качества данных.
У нас более 20 централизованных справочников на поддержке. Среди них, конечно же, популярный справочник МТР (Материалы, ТМЦ, Готовая продукция). Более 1,9 тыс. пользователей и полумиллиона уникальных записей. В месяц до 20 тысяч, а в год до - 200 тысяч создается запросов на изменение справочника МТР.
Все основные внутренние функции Компании: Снабжение и Логистика, Промышленные активы и Производство, Бухгалтерия и Экономика, Проектирование и Капитальное строительство, заинтересованы в качестве данных НСИ и справочника МТР в частности. В таких масштабах важно правильно подходить к поддержанию необходимой консистентности и уникальности данных.
Мы не пошли по пути найма консалтинга для дополнительной экспертизы данных, а поступили в интересах бизнеса – спросили внутреннего Заказчика, что для них качество и по каким критериям его оценить, на этом и сфокусировались. ДУБЛИ, именно они представляли наибольший интерес, наш бизнес ждал чего-то нового в этом вопросе, а стандартные методы их отслеживания не всегда давали ожидаемый эффект.
И мы приступили к работе. Нашей командой был разработан и внедрен в Автоматизированную систему управления Нормативно-справочной информацией (далее – АСУ НСИ) кастомизированный механизм поиска дублей, простой и действенный, снижающий человеческий фактор и трудозатраты по поиску до минимума.
Инструмент был внедрен в АСУ НСИ два года назад (2023 г.) и работает на сегодняшний день.
Какого эффекта мы добились:
·За весь период после внедрения механизма поиска дублей в справочнике МТР не было создано ни одного нового дубля.
·Существенно снизилось количество запросов на создание новых записей МТР, поступающих от бизнеса, которые были фактическими дублями существующих записей в справочнике.
·Внедрение механизма позволило повысить уровень культуры пользователей по самостоятельному предварительному поиску имеющихся записей.
·Снизилась нагрузка в целом на процесс ведения справочника и участников процесса (Эксперты МТР, Кураторы номенклатуры, Инициаторы МТР).
Об инструменте
Это нестандартный подход к выявлению дублей.
Основным принципом, обеспечивающим эффективность и результативность инструмента, является сравнение значений всего одного «особого» поля в записи МТР, значение которого формируется по уникальной методике «Норникеля». При этом весь процесс проходит без участия искусственного интеллекта.
Для формирования значения «особого» поля используются введённые пользователями данные записи, из которых затем удаляется абсолютно всё, что не несет ключевой ценности в идентификации и при этом может иметь вариативность одного и того же значения. В том числе ошибочного: все знаки, символы, слова, аббревиатуры, сокращения, которые так часто написаны по-разному, что и приводит к появлению потенциального дубля. Остаются только идентифицирующие символы, по которым формируется «особое» поле для поиска дублей. По нему система проводит сравнительный анализ и определяет дубли.
Быстрый пример:

Ведь, как показывает практика, любую запись можно дополнить неограниченным количеством характеристик, признаков, уточнений, не меняя сам МТР по сути. Но основа значений при этом постоянна (в данном случае: типоразмер и гост – М10/16/3579). Именно основа и определяет если не 100%-е, то близкое к этому порогу совпадение.
Может показаться, что не хватает наименования, но это не случайно. Для таких случаев, когда наименование вариативно (Насос, Агрегат насосный, Станция Насосная, Гидронасос и пр.), срабатывает одна логика. Когда наименование постоянно, то срабатывает другая логика, где наименование в связке ключевых параметров участвует. Логические сценарии работают параллельно, а вместе дают очень точный результат.
А теперь обо всем по порядку и как это работает в системе (теория с практикой):
·Процесс создания новых записей в справочнике МТР стандартный: формируется запрос с карточкой записи МТР (черновик записи). Задача Инициатора запроса - заполнить обязательный перечень полей в карточке записи МТР. Инициатор видит эту форму и продолжает ее заполнять, как обычно.
·Самое интересное происходит «под капотом». В форму, которую уже не видит Инициатор МТР, добавлено для каждой записи новое «особое» поле.
·«Особое» поле формируется автоматически. ��то значение не имеет бизнес-ценности, поэтому не выводится в открытые источники справочника МТР и системы, а используется только для поиска дублей. Хранится в записи постоянно и может обновляться в случае изменения значений основных полей, из которых оно собрано.
·Формирование/обновление значения «особого» поля происходит каждый раз, как только запрос с заполненной карточкой записи МТР отправляется на следующий шаг согласования.
·Система перед отправкой карточки запроса запускает серию быстрых команд: формирует из полей карточки значение для «особого» поля и запускает сравнительный анализ по всем значениям этого поля, текущих записей в справочнике МТР.
·Если система нашла потенциальный дубль, она сообщает об этом Инициатору МТР. Далее Инициатор МТР принимает решение отклонить запрос или доказать, что это не дубль.
· Аналогично система работает в случае, когда запрос согласовывает Эксперт МТР. У эксперта есть дополнительная возможность сразу пометить запись как дубль или наоборот, отклонить решение системы. Но это происходит удивительно редко.
Конечно, чтобы поиск дублей заработал максимально эффективно, мы единоразово сгенерировали значение «особого» поля для всех уже существующих записей в справочнике МТР.
Как мы упоминали выше, особый способ подготовки данных – залог результативности инструмента.
В чем же наша уникальная Методика?!
Частично о ней мы уже рассказали, и ниже мы приводим один из основных алгоритмов преобразования данных записи для формирования значения «особого» поля для поиска дублей:

По сути, мы создали уникальный шифр, содержащий ключевую информацию, определяющую идентификацию записи МТР. Если правила шифрования, пример которых привели выше в таблице, настроены в системе верно, дубли будут найдены. Важно отметить, что данный механизм не зависит от типа номенклатуры и работает со всеми записями справочника МТР.
Далее система, имея это готовое значение «особого» поля, может вести фоновую автопроверку наличия дублей в любой точке процесса ведения справочника МТР.
Путем такого шифрования решается ключевая проблема создания дублей, а также затруднительного их поиска в автоматизированном режиме.
Завершение
Инструмент особенно полезен для штатных служб Экспертного сопровождения централизованных справочников НСИ, у которых в приоритете быстрая бесперебойная отработка всех заявок и обращений от бизнес-пользователей. Ведь в этих условиях все сервисные функции должны быть максимально автоматизированы, в том числе минимизировано вовлечение сотрудника / участника процесса в оценку конечного результата, сформированного системой.
После создания такого простого механизма команда НСИ перешла к следующему этапу – контролю показателей, связанных с дублями. На основе этого были созданы метрики качества данных, которые открыты для просмотра всем бизнес-пользователям, которые могут в реальном времени отследить сокращение количества дублей в справочнике, прирост новых (точнее отсутствие этого роста) и другие показатели.
Спасибо, что дочитали! Вместе мы делаем мир НСИ чище!
propell-ant
А как быть с перестановкой значимых полей в названии?
Например "Доска длина 5м 4х20см" и "Доска 4х20см длина 5м"