Специальные стали нужны для буровых установок, спецтехники и всего того, что должно выдерживать очень серьёзные нагрузки. У совместного предприятия нашей компании и холдинга NBH есть завод в Бельгии (в Клабеке), где производится износостойкая и высокопрочная сталь.

Логистика от Липецка до Клабека бывает долгой. Нужно произвести слябы (стальные слитки-полуфабрикаты) соответствующей марки в Липецке, отправить их железной дорогой в порт, и тут чего только не было: в порту может быть задержка из-за шторма, потом пандемийные истории с поиском судна, потом нечто похожее на принимающей стороне.

Сталь заказчикам нужна не через год, а всегда как можно быстрее, поэтому есть два варианта: либо держать на складе полуфабрикаты всех типов (очень много вариантов химсоставов) в большом количестве, либо прогнозировать спрос и держать то, что оптимально соответствует этому спросу.

Логика такая: если под то, что заказали на складе, нет полуфабриката, значит у нас меньше заказов. А если на складе лежит всё, что только можно, и в итоге оно не востребовано, тем больше у компании издержек. Поэтому надо решать задачу прогнозирования. Стандартные модели прогноза дают очень плохие результаты, поскольку спрос именно на эту сталь достаточно случайный, не всегда понятно, какой химсостав стального листа понадобится клиенту. Каких-то шаблонов «в лоб» мы не видим.

Но кое-что всё равно придумали.

Коротко, что за сталь и почему она так важна


Для примера возьмём Quard. У нас есть карьерные самосвалы. У них футерованный кузов, то есть покрытый изнутри защитным материалом. Футеровка делается по умолчанию листовым металлом марки стали 09Г2С толщиной 20 и 12 мм. В местах повышенного износа футеровочные пластины наплавляются износостойким электродом Т 590. После трёх лет эксплуатации обычно для очистки от сажи коробов приходится полностью их вырезать и устанавливать новые. Футеровка кузова полностью изнашивается, и часто нужно менять металл основной конструкции кузова. Это приводит к значительному увеличению срока ремонта кузова при капремонте.

Тенденция износа:



Вид кузова через три года:



Поменяли сталь на Quard разных марок на основании данных о разном износе разных частей кузова:


Сверху — Quard 400 толщиной 8 мм, жёлтый участок — Quard 400 12 мм, красный — Quard 450 12 мм и тёмно-красный — наиболее дорогая Quard 500 толщиной 12 мм

Вот промежуточные данные об износе:


Обратите внимание, максимальное значение осей уже другое

Мы испытывали несколько разных вариантов футеровок. Конкретно этот образец после 448 дней эксплуатации показывает более равномерную тенденцию центральной части по направлению от кабины к хвосту кузова. Прогнозная стойкость футеровки составит около 7,3 года. На «обычной» стали такой срок менее двух лет. То есть благодаря тому, что есть другой материал кузова, можно сильно сэкономить на самом ремонте и на выводе машины из эксплуатации на время ремонта.

Сталь на новую футеровку стоит примерно в 1,65 раза дороже, и речь о сотнях тысяч рублей. Что ещё интереснее, износостойкая Quard сталь легче, то есть мы повышаем грузоподъёмность карьерного самосвала примерно на 3%, что даёт нам 9850 ежегодно сэкономленных рейсов. С учётом затрат топлива это не просто нужно делать, а это обязательно нужно делать по всему парку как можно быстрее.

Вот почему эта сталь важна и востребована.

Возвращаемся к задаче управления запасами


Казалось бы, достаточно затарить склад всем нужным по максимуму — и проблема решена. Нет, это очень дорого. Слябы нужно производить по запросу на конкретные большие заказы: мощности под них в Липецке под высокой внутренней конкуренцией и просто сделать большой запас впрок не выйдет. Ну и экономически это не лучшая идея — просто взять и «вморозить» деньги в склад.

Для запаса нужны редкие, сложные и дорогие марки стали. Под каждый заказ есть требования по химии, механическим характеристикам и так далее. Типов слябов до сотни. Из одного сляба можно произвести несколько разных по характеристикам листов. Можно также выполнить один и тот же заказ из разных слябов с разной себестоимостью, есть матрица пересечения.

Процесс производства Quend


В итоге получается достаточно многомерная задача, в которой надо предсказывать слабопредсказуемое. Первая попытка прогнозирования базировалась на модели скользящего среднего с некоторыми модификаторами. Далее на основании прогноза мы вычисляли минимальный размер остатка по сортаменту стали, в который нужно начинать поставку (чтобы хватило до её прибытия), вычисляли максимальный размер запаса (до какого числа пополнять) и пополняли по этой схеме. Так в принципе работает любая система поставок, вопрос лишь в том, как вычисляются эти уровни. Первый подход был не очень точен: по каким-то слябам запас рос и они оставались невостребованными, а по другим не хватало запасов и наш уровень исполнения заказа падал.

Для улучшения качества прогнозирования мы начали использовать ML модель. Обучающая выборка состояла из внутренних факторов, таких как сток на дату, история потребления, книга заказов, количество слябов в пути, а также внешних макроэкономических факторов. К тому же мы активно занимались feature engineering’ом, строили бейзлайн-модели временных рядов типа SARIMAX, GARCH и использовали их выходы как входы в нашу финальную модель. Метамодель — либо случайный лес (sklearn random forest), либо бустинг (catboost/xgboost). Где данных меньше и более шумные, там применяется лес, в других случаях — бустинг. Оценка проводилась на отложенной выборке фиксированное число раз.

В результате мы добились того, что в худшем случае наша модель показывает качество скользящего среднего, а в большинстве случаев существенно улучшает текущий процесс прогнозирования потребления:



В итоге точность прогнозирования выросла на 38%. Что важно: наша модель ошибается и вверх, и вниз, при этом недопрогнозирование более критично. Поэтому в некоторых случаях при обучении также использовалась кастомная loss function.

После моделирования нам нужно было оценить, как использование данной модели отразится на оборачиваемости, а также какой теперь необходим буфер (страховой запас) для поддержания целевого уровня сервиса. Для данной оценки мы использовали распределение ошибки модели на отложенной выборке и распределение лид-таймов (сроков поставки слябов).

Если бы данные распределения были нормальными, то мы бы могли математически строго оценить необходимый страховой запас или буфер для любого желаемого уровня сервиса. Однако в нашем случае распределения не были похожи на нормальные и их трудно чем-либо аппроксимировать. К тому же любая аппроксимация данных распределений неизбежно повлечёт искажение реальности. Мы решили оценить наши показатели в результате численного эксперимента.

Поскольку мы хотели оценить математическое ожидание уровня сервиса и оборачиваемости, то провели тысячи симуляций стоков по историческим данным. В симуляции ошибка модели каждый месяц сэмплируется случайным образом из полученного ранее распределения, а срок поставки — из распределения лид-таймов. По данным симуляциям мы смогли оценить необходимый страховой буфер по каждому sku, который позволит обеспечить заданный уровень сервиса.

Кроме трудностей моделирования, у нас были определённые сложности с интеграцией данных. В Бельгии живут в своих системах, мы в своих. Пришлось собирать инструмент, который факультативно решает задачу сбора и представления данных в одном месте. Оказалось, что проще всего выгружать срезы данных ежедневно в эксель и отправлять их нам по почте. На нашей стороне был развёрнут парсер почты, который укладывает данные в базу. Далее эти данные могут быть использованы как для обучения модели, так и для продакшена.

В результате каждый месяц планеры NLMK Clabecq используют наш инструмент для пополнения запасов. Аналогичные инструменты развёрнуты на NLMK DanSteel, NLMK La Louviere, NLMK Verona, ТД НЛМК. И несмотря на сложности, санкции, масштабные макроэкономические изменения, нам удаётся поддерживать свои модели и обеспечивать высокий уровень клиентского сервиса.

Комментарии (11)


  1. sergeyns
    25.04.2023 11:27

    Удивительно, всегда почему-то думал, что уж в области, где нужны всякие специальные сплавы (всякое хитрое машиностроение), должно быть планирование года на 3-5 вперед. Уж если кто-то купил карьерные самосвалы (да и сами самосвалы он заказал сильно заранее, ибо их тоже под заказ делают), то и ремонты этих самосвалов тоже планируют, и потребности примерно ясны.. Неужели не так?


    1. nlmk_scm Автор
      25.04.2023 11:27
      +1

      Это лишь один пример. Сталь, произведенная на NLMK Clabecq, используется в строительстве, судостроении и т. д. Широкий спрос на весь ассортимент продукции не так предсказуем. Мы выстроили сервис пополнения ассортимента слябов всех марок стали, которые необходимы для работы предприятия.


    1. ArtemVoilov425
      25.04.2023 11:27

      именно так , у любой техники и любого оборудования , будь то станок или самосвал, есть несколько видов ремонта , таких как техническое обслуживание, плановый ремонт и капитальный ремонт, это все планируется для расчета амортизации


  1. alexhott
    25.04.2023 11:27
    +2

    а зачем в этой цепочке Бельгия?


    1. nlmk_scm Автор
      25.04.2023 11:27
      +1

      Во-первых, бельгийский Клабек находится в непосредственной близости от потребителей. Во-вторых, там работает прокатное оборудование, которое может сделать из российских слябов особый вид толстого проката. Производство Q&T — это своего рода ноу-хау компании. И с точки зрения технологии, и с точки зрения разработок видов стали под эту продукцию.


  1. Dynasaur
    25.04.2023 11:27
    +3

    Ну что же, за свои акции НЛМК я спокоен (хоть и останусь без дивов в этом году) :-) А если серьёзно - для успеха подобных оптимизаций важно получать данные об износе оборудования ваших покупателей. Честно говоря, я не понял и даже не представляю как вы получаете данные по износу самосвалов покупателей (видимо, секрет в том, что это ваши собственные самосвалы). И под каждый вариант применения надо иметь отдельную модель и качественные данные от всех заказчиков - у одного это программа бурения на 5 лет вперёд, у другого данные о состоянии парка самосвалов, с детализацией по каждой единице - когда введена в эксплуатацию, как используется, какой пробег, какие ремонты перенесла и пр. Этих данных с большой вероятностью толком нет у самого заказчика. А ещё надо поддерживать модель, ибо условия плывут... В общем да, проект интересный, но повторить успех будет не просто


    1. nlmk_scm Автор
      25.04.2023 11:27

      Отвечу по второй части комментария, про износ самосвалов. Действительно, сами заказчики как правило заранее не знают, что и когда понадобится, но чудо числовых законов вселенной в том, что это с небольшой погрешностью укладывается в некую закономерность. А закономерность мы выявляем на массиве исторических данных – статистики, и вариативно обрабатывающий ее искусственный интеллект – наше всё. Если же спрос однозначно определён, то планёр будет ориентироваться на свои цифры, а не на модель. Финальное слово всегда за ним. А если есть большая доля вариативности, то там уже мы.


      1. Dynasaur
        25.04.2023 11:27

        Статистика наше всё, это да. Но представим себе, что ваш клиент начал освоение нового месторождения. Никакой статистики нет ни у него, ни у вас, так как год назад он ещё ничего толком не бурил или бурил на старом месторождении в другом месте и на другие деньги. Чего и сколько он теперь будет бурить он и сам с трудом понимает, ибо что там под землёй ему встретится и сколько долот на это уйдёт прогнозируется плохо. А вам тем более не видно. В общем, когда к подобной задаче удаётся подобрать ключик, это большой успех аналитика и звезда на грудь однозначно. :-)


  1. Makorovin
    25.04.2023 11:27
    +1

    Очень интересная статья - спасибо!

    В чем принципиальная ценность ML кроме прогнозирования ключевых параметров: спрос, лид тайм - почему для определения лучших параметров пополнения (страхового запаса, целевого уровня, точки перезаказа) недостаточно Монте-Карло имитационного эксперимента на эмпирических распределениях?


    1. nlmk_scm Автор
      25.04.2023 11:27

      Нам важно не столько эмпирическое распределение спроса, а распределение ошибки нашего прогноза. Предположим планёр компании использовал скользящее среднее или книгу заказов для формирования прогноза спроса. В итоге получалось сильно скошенное распределение с высокой дисперсией. Мы же с помощью ML модели добились существенного снижения дисперсии ошибки. В результате, на Монте-Карло симуляциях можно оценить, насколько получится снизить страховой буфер при переходе к ML прогнозированию спроса.