Как повысить маржинальность логистической компании с помощью алгоритмов

Кейс F5Devs, посвященный оптимизации логистических цепочек и снижению стоимости перевозок

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

F5Devs — поставщик IT-решений для оптимизации операционной и стратегический деятельности компании. Мы разрабатываем комплексные решения, которые помогают бизнесу снизить расходы и найти новые точки роста.

Основные этапы работы над кейсом

Чтобы максимально эффективно решить задачу, мы разбили работу на следующие этапы:

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

Подробно это выглядит следующим образом:

Как повысить маржинальность логистической компании с помощью алгоритмов

Этап 1. Целевая функция и ограничения

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

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

Создание модели расчета цены

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

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

  • Что влияет на себестоимость перевозки?
  • Как справедливо сформулировать тарифные правила касательно простоев ТС (транспортных средств) на погрузочно-разгрузочных операциях?
  • Как определить влияние направления перевозки на конечный тариф?

Первичный анализ показал основные закономерности:

  • Тип ТС, пробег и время на погрузку — основные драйверы стоимости.
  • Значительную роль играют регионы начала и конца маршрута:— При одинаковом расстоянии рейсы на восток дешевле рейсов в центральную Россию, например, «Москва — Дальний Восток» почти в 2 раза дороже, чем «Дальний Восток — Москва». — Маршруты «туда и обратно» дешевле, чем сумма «туда» и «обратно».

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

По итогам нескольких итераций, выделив особенности для сложных и кольцевых маршрутов, мы создали модель ценообразования, работающую с незначительными отклонениями для всех регионов России.

Основные ограничения

Ограничения для алгоритма разбили на три группы:

  • Ограничения по весогабаритным характеристикам (ВГХ).
  • Временные ограничения: временные окна для забора и доставки груза, производственный календарь, ограничения ТК РФ на рабочее время водителя.
  • Особенности конкретных точек или клиентов, например, невозможность принять 20т фуру из-за размера парковки у грузоотправителя.

Этап 2. Создание MVP и тестирование

Создав алгоритм, мы начали тестирование, в котором алгоритм и логисты маршрутизировали одинаковые заявки.

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

На этом этапе мы собрали обратную связь и доработали ограничения, которые не были учтены на предыдущем этапе.

Как выбрать оптимальную логистическую схему

Алгоритм, разработанный на этапе MVP, подходил для крупно- и среднетоннажных перевозок, но более 60% заявок клиента составляли мелкотоннажные грузы, консолидируемые через склады.

Оставался вопрос: как определить, что поедет на склад, а что напрямую грузополучателю?

Очевидное решение, которое сразу приходит в голову: для каждой заявки определить ближайший склад в радиусе n км, вес не более 1,5т, учет сроков доставки. Но данный подход не учитывает, что для принятия решения о консолидации логист смотрит не на заявку, а на её окружение, и оценивает «кучность» грузов.

То есть, чтобы выбрать, поедет ли заявка на склад, логист в голове уже пробует построить маршрут из неё и нескольких других: где-то груз в 3 тонны выгодно отдать на склад, а где-то — 200 кг отдать в другую транспортную компанию.

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

Итоговая связка алгоритмов

Итоговый алгоритм работает следующим образом:

  • Определяется оптимальная логистическая схема: Определяется набор ограничений: сроки, максимальные ВГХ для приемки на склад. Строятся прогнозные маршруты через склады, определяется удельная стоимость доставки каждой заявки.
  • Сравнивается три цены: удельная через склад, напрямую отдельным транспортом, сборный груз транспортной компанией. На уровне каждой заявки выбирается самая дешевая логистическая схема. Заявки распределяются по соответствующим группам и конечные маршруты строятся в рамках каждой группы.
  • Отдельно для групп заявок напрямую и на склад строим маршруты: Быстро находим субоптимальное решение. За отведенное время ищем лучшее решение метаэвристическим способом.

Но создание алгоритма — это ещё не всё. На его основе мы построили сервис, который затем встроили в платформу.

Этап 3. Разработка сервиса

При разработке сервиса консолидации было два основных требования:

  • Исходные данные по заявкам получаем из системы клиента.
  • Пользователь должен видеть все актуальные заявки и маршруты из них, а так же иметь возможность верифицировать или скорректировать маршрут.

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

Интерфейс сервиса консолидации
Интерфейс сервиса консолидации

Результаты работы сервиса или что получил заказчик

Мы создали алгоритм, который определяет оптимальную логистическую схему и маршрутизирует заявки, а вокруг него — сервис, которым ежедневно пользуются логисты.

Экономический эффект отчетливо наблюдается при масштабировании системы: имея сотни заявок в день, логисты успевают найти основной потенциал консолидации по очевидным направлениям. Алгоритм же в среднем даёт на 15% больше экономии, чем при ручной консолидации, а созданный сервис делает все решения прозрачными и отслеживаемыми.

Такой эффект достигается за счет:

  • Построения маршрутов с минимальной ценой

В отличие от человека, для алгоритма нет критерия «прямой» или «красивый» маршрут. Есть только маршруты, которые выгоднее других.

  • Выбора оптимальной логистической схемы

Алгоритм выбирает способ доставки не на правилах и опыте логиста, а из множества вариантов выбирает самый выгодный на данный момент.

  • Передачи части заявок в «невыгодных» направлениях в транспортные компании

В зависимости от наличия заявок, в ряде направлений доставка «сложным» маршрутом может оказаться дороже, чем доставка через транспортную компанию. Перебирая возможные маршруты, алгоритм определяет, какие заявки выгоднее отдать в ТК.

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

Что делать, если моей компании нужен похожий сервис или экспертиза

Если в вашей компании есть необходимость оптимизировать процессы и улучшить показатели бизнеса, мы вам поможем.

В нашей команде работают сильнейшие специалисты — выпускники МГУ, МФТИ, ВШЭ и ШАД Яндекса с опытом работы в промышленности и логистике. Мы поможем вам сформулировать задачу, разработаем и протестируем несколько гипотез и создадим сервис, который повысит показатели вашей компании. Если вы пока не решили, можно ли решить ваш запрос с помощью алгоритма, вы можете взять консультацию — мы давно работаем с лидерами рынка и понимаем специфику возможных задач. Почта для связи: email@f5devs.ru

1414
Начать дискуссию