Пример нормализации: реальная номенклатура закупок, 6 154 строки
Мы взяли реальную номенклатуру закупок федерального предприятия за 10 лет, 6 154 строки, и разобрали её целиком. Ниже, что это за данные, что получилось и где мы намеренно не стали склеивать строки.
Что за данные
Это наименования товаров из контрактов федерального предприятия: эксплуатация, ремонт, хозяйственные нужды. Источник открытый: реестр контрактов ЕИС, 2015–2024 годы. Из 10 135 товарных позиций в контрактах после удаления точных повторов осталось 6 154 разных написания.
Это не выгрузка из 1С, а то, что люди разных лет вписывали в закупки. Но картина знакомая: один товар записан по-разному, с опечатками, с ГОСТ и без, с размером в разном формате. Ничего не готовили заранее: обычная грязная номенклатура.
Было и стало
| 6 154 → 4 889 | Строк было и позиций стало после первого разбора. Справочник короче на 21%. |
| 82% | Строк решено без участия человека: 5 066 строк. |
| 0 ошибок | В выборочной проверке 97 решений об объединении не нашлось ни одной ошибочной склейки. Спорные случаи ушли в вопросы, а не склеились. |
| 21 правило | 291 вопрос к заказчику сведён в 21 правило. |
| 4 735 позиций | Итог после ответов на правила. Открытых вопросов не осталось. |
Дублей здесь меньше, чем в типичном справочнике 1С: в среднем 1,26 строки на позицию. Это номенклатура из контрактов, а не заведённая вручную много лет подряд база. На справочнике учётной системы доля будет другой.
Что склеили
- Уголок 50×5, семь написаний. «Уголок равнополочный 50*5», «Уголок равнопрочный, 50х5», «Уголок … ст3, 50*5, ГОСТ 8509-93», «Сталь угловая ГОСТ 8509-93 Размер 50х50х5 мм», «Сталь угловая 50х50х5 мм». Это одна позиция, как её ни записывай. О том, как задать единый вид наименования, в статье про шаблон наименования.
- Подшипник «№ 309» и «6309». «Подшипник № 309», «Подшипник радиальный однорядный №309» и «Шарикоподшипник радиальный в сборе № 6309» оказались одной позицией.
- Доска обрезная 40×150×6000, десять написаний, включая «150*40*6000» и «(40х150х6000)».
- Лист г/к 8 мм: «Лист г/к Б-ПН-О (8 мм, 1500х6000мм)», «Лист г/к Б-ПН-О-8*1500*6000», «Лист стальной г/к 1500*6000*8».
- Литол-24: «Литол-24», «Смазка пластичная Литол-24», «Масла нефтяные смазочные Смазка Литол 24».
Что правильно не склеили
Склеить похожие строки нетрудно. Сложнее не склеить те, что отличаются одним важным символом.
- Трансформатор тока Т-0,66 300/5 и 100/5: разный коэффициент, разные изделия.
- Пускатель ПМЛ 2100 и ПМЛ 1100 на 380 В: разные серии.
- Седло клапана с H=11 мм и H=12 мм с одним и тем же артикулом.
- Кабель ВВГнг(А)-LS 3х4,0 и ВБШвнг(А)-LS 4×4,0; грунт-эмаль красная и коричневая.
Строки, где решение зависит от вашей методики, мы не угадываем. Они собираются на лист «Вопросы к вам» с причиной.
21 правило вместо 291 вопроса
В этом справочнике нашлось 291 спорное место: бренд, фасовка, марка стали, строка без модели. Если спрашивать по каждому, на разбор уйдёт много времени. Поэтому одинаковые вопросы мы сводим в правило: вы отвечаете один раз, и ответ применяется ко всем подходящим строкам. Вот несколько правил из этого справочника. Ответы в примере даёт условный заказчик, ваши могут отличаться, тогда пересоберём результат.
| Общее название без характеристик («Папка», «Светильник», «Круг стальной»). 258 строк. | Оставить: все такие строки одного товара станут одной позицией с пометкой «характеристики уточнить при закупке». |
| Бренд указан не у всех строк («Бумага для офисной техники Mega Engineer» и просто «белая»). 149 строк. | Бренд не различаем, если нет требования к производителю: одна позиция. |
| Прокат одного размера, у части строк есть ГОСТ и марка Ст3. 60 строк. | Одна позиция. Ст3 по действующему ГОСТ считаем по умолчанию, другие марки (09Г2С, Ст5) ведём отдельно. |
| Разная фасовка (100 шт/уп, рулон, 0,5 л/кор.). 23 строки. | Фасовка отдельная позиция: покупаем и учитываем упаковками. |
| Модель есть только у части строк («Редуктор кислородный» и «Редуктор кислородный ПТК»). 107 строк. | К конкретной модели не приписываем: строка без модели становится своей позицией с пометкой «модель уточнить». |
| В справочнике материалов оказались услуги («Ремонт оборудования», «Обучение персонала»). 34 строки. | Убрать из справочника МТР и перенести в справочник услуг. |
После ответов на все 21 правило и шесть точечных вопросов справочник сложился в 4 735 позиций, открытых вопросов не осталось.
Контрольный справочник
Для проверки точности нужен справочник, где правильный ответ известен заранее. На таком, из 2 889 строк, 94% строк решено без участия человека, ошибочных склеек нет. Реальная номенклатура выше показывает то же на данных, которых никто заранее не готовил.
Получить файл с результатом
У нас есть Excel с этим разбором: листы «Было», «Стало», «Вопросы к вам», «Правила». Можно проверить любую строку. Мы не выкладываем файл на сайт, но пришлём по запросу: напишите на por.dmitry@gmail.com. Или пришлите свои 5–10 тысяч строк на бесплатную пробу, и вы увидите то же на своём справочнике.
Проверьте на своём справочнике
Пришлите 5–10 тыс строк справочника номенклатуры в Excel или CSV, можно обезличенных. Вернём файл с группами дублей, единым наименованием, классом, уверенностью и статусом. Срок от одного дня. Бесплатно.
Прислать строки на пробу