Для чего нужна автоматическая маршрутизация в доставке и почему вопрос оптимизации настолько важен?

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

Рынок ждет быстрой доставки заказанного товара. И при этом почти не важно, какое это направление бизнеса.
Если рассматривать сегмент e-commerce, то в нём самыми популярными способами являются 2 типа доставки:

  • Доставка в ПВЗ
  • Доставка курьером на адрес клиента

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

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

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

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

Что же это за метод?

Как правило, не принимая во внимания мелкие отличия, основной механизм выглядит одинаково;

  • Опытный логист распределяет заказы по машинам с помощью простых инструментов, которые учитывают уровень наполнения автомобиля по весу и объему, а также зачастую делят город на сектора.
  • Этот логист знает территорию, знает курьеров/водителей, их возможности и особенности, знает кто способен выполнить 20 заказов, а кто и все 50.
  • Заказы передаются на доставку исполнителям и дальше исполнитель сам решает в какой последовательности он будет доставлять заказы
    Схематично его можно изобразить так:

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

Слабые места этого метода:

1) Предел возможностей человека
с ростом количества заказов качество маршрутизации будет снижаться, так как человек физически не может учитывать все параметры доставки и тем более загруженность дорог.Это будет маршрутизация из разряда -”Лишь бы поместилось в машину, а там как-нибудь водитель разберется”.
На выходе это даст огромный поток не доставленных заказов, рост неудовлетворенных качеством доставки клиентов, увеличение затрат на складские операции по обработке груза и рост затрат на повторную доставку

2) Линейный рост персонала
Рост количества заказов приведет не только к снижению уровня доставки, но и к росту количества сотрудников, которые эту маршрутизацию будут осуществлять. Человек физически ограничен количеством операций в час, даже если он тратит на одну операцию минимум времени - все равно будет достигнут предел и потребуется посадить второго такого же логиста, который будет делать тоже самое, а потом и третьего и четвертного и т.д.

3) Уникальная экспертиза
Бизнес, по сути, становится заложником уникальной экспертизы логиста.

Только логист знает, как и кому надо правильно распределить заказы, чтобы они хоть как-то доставлялись.Если такой логист уходит из копании, с ним уходит и экспертиза, что неминуемо влечет резкий спад качества доставки.

4) Отсутствие контроля и прогнозируемости
Никто не знает во сколько клиент получит свой заказ, потому что доставкой управляет не директор логистики, не логист, а конкретный водитель/ курьер.Только он определяет, когда он поедет к клиенту, а это зачастую уже зависит не от желания клиента и даже не от выбранного интервала доставки, а от желания и удобства конкретного водителя/курьера.

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

То есть, если клиент выбрал интервал с 14:00 до 18:00 и находится в начале маршрута следования курьера, а для того, чтобы доставить в указанный интервал курьеру придется возвращаться, то курьер позвонит клиенту и под любым предлогом вынудит клиента принять заказ раньше выбранного времени, так как возвращаться он точно не будет.

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

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

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

Следующим моим вопросом был - “А как вы понимаете, что такой заказ будет доставлен в нужный интервал времени, а главное,можно ли его успеть доставить в нужный интервал времени без ущерба другим заказам?”.

На этот вопрос был ответ: “У нас таких таких проблем нет, все доставляется без проблем в нужные клиенту интервалы”.

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

5) Низкий уровень сервиса основного продукта

При ручной маршрутизации невозможно внедрение коротких окон доставки, например:
10:00-13:00
11:00-14:00
12:00-16:00
и т.д.
Вернее, указать их у себя на сайте можно,так делают многие, даже очень крупные компании.

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

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

Поэтому, часто можно встретить случаи, где интервал заявлен, но он не исполняется, либо интервалы доставки очень длинные, например с 10:00 до 22:00

6) Нет возможности развития доп сервисов при доставке

Возьмем для примера компанию, которая доставляет строительные товары.

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

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

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

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

Оправдан он только в одном случае; если более 50% заказов требуют для доставки участия грузчика.Но если такой заказ в рейсе 1 или 2 - то, как правило, себестоимость их исполнения будет в несколько раз выше прибыли, которую принесет этот заказ.

Второй вариант - самый выгодный для случаев, когда тяжелых заказов в рейсе 1 или 2.

Как правило, разница в стоимости достигает от 60% до 70%.Но тут, возникает необходимость сообщить грузчикам время, в которое нужно подъехать на адрес и сделать это необходимо заранее, чтобы партнер, который предоставляет грузчиков так же смог спланировать маршруты их движения по городу.

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

Как решить проблему?

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

  • Время доставки клиенту
  • Время смены водителя (в какое время может работать)
  • Длина/ширина/высота товаров и транспорта
  • Ограничение по кол-ву заказов на водителя
  • Секторы доставки (разрешенные секторы работы)
  • Тип услуги (доставка/сбор)
  • Доступность груза для определенного автомобиля
  • Учет пробок
  • Место старта и место финиша транспорта
  • Совместимость товаров в пределах кузова
  • Совместимость исполнителя и тип оплат которые он может принимать (есть терминал/нет терминала)
  • Учет особенностей клиента (например, к какому- то клиенту требуется отправлять только брендированный транспорт)
  • Длительность вручения заказа на адресе клиента
    и т.д.

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

И после того, как будет найдено оптимальное решение - выдает готовые маршруты с определенной последовательностью посещения

Чтобы понять что такое итерация в пересчете маршрута, приведу пример:

Представим, что есть задача по распределению заказов на 2 автомобиля

заказы к доставке
заказы к доставке

Составим маршруты и определим порядок их посещения для каждого автомобиля

построенные маршруты
построенные маршруты

Теперь возникает вопрос: А точно ли это оптимальные маршруты, можно ли как-то их оптимизировать и улучшить?

Для этого я хочу попробовать поменять местами последовательность посещения точки 1 и точки 2 у серого автомобиля, пересчитать его пробег и время рейса.

смена порядка посещения
смена порядка посещения

Поменяв последовательность точек, я провел 1 итерацию изменения, после которой пересчитал маршрут и получил результат:
Снижение времени рейса 8 минут
Снижение пробега 3,4 км

На выполнение руками одной итерации изменения и рассчета этого изменения у меня ушло 1,5 минуты, с учетом того, что надо еще понять, что именно менять и в каком месте маршрута.

Теперь берем реальный объем в 250 автомобилей и 5 тыс заказов. получается, что даже для того чтобы в каждом маршруте мне сделать хотя бы одну итерацию расчета, мне необходимо 375 минут, то есть, 6 часов.

И при этом я понимаю, что мне одна итерация ничего не даст.
Если мы говорим про эффективность, то мне нужно пересчитать все возможные варианты, попробовать все комбинации всех заказов со всеми машинами в доступных им секторах работы и выбрать лучший сценарий.Но на это у меня уйдет несколько дней... хотя, какие дней?
В маршруте в среднем 25 доставок, если даже я каждую переставлю метсами 1 раз то это уже =25*1,5= 37,5 минут на один маршрут, а у меня таких 250, соответственно домножаем 37,5*250=9375 минут, а это 156 часов.
То есть, если логист будет сидеть всю свою 8 часовую рабочую смену и перебирать эти варианты, то у него на это уйдет =156/8 =19,5 дней.
И при этом, он посчитает только изменения внутри маршрутов.
Но что если будет выгоднее поместить какой-то заказ из маршрута одной машины в маршрут другой машины? или несколько заказов?
Тогда можно смело все затраченной время домножать еще минимум на 5 и тогда уже выходит несколько недель рассчетов.
Ну, так-себе перспектива.
Именно поэтому, те, кто планируют вручную, просто набрасывают заказы в машину, а дальше будь как будет, водитель разберется.

А как с этой задачей справляется программа?
Приведу реальный пример:
5 тысяч заказов на доставку, 220 транспортных средств.
За 30 минут программа совершает и рассчитывает примерно 1,5 миллиарда итераций в маршрутах.
Через 30 минут я получаю 250 готовых маршрутов и уверенность в том, что все параметры и требования учтены и что это самые оптимальные маршруты.

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

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

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