Колонки

Личный опыт: зачем онлайн-магазинам нужна собственная TMS

Колонки
Сергей Оленцов
Сергей Оленцов

Product owner TMS «Утконос Онлайн»

Алина Алещенко

Новый виток вводимых ограничений ведет к кратному росту числа клиентов в онлайн-ритейле. Для того, чтобы справиться с растущими объемами, компании e-commerce сегмента массово внедряют различные проекты по автоматизации привычных процессов.  Одним из таких все чаще становится внедрение Transportation Management system (TMS) — это общее название для технологий, которые позволяют автоматизировать управление таксопарком компании и дают возможность компании масштабироваться за счёт оптимизации грузоперевозок. 

Подобную систему можно как приобрести у внешних разработчиков, так и создать самим. Сергей Оленцов, product owner TMS «Утконос Онлайн», рассказал об опыте компании в разработке собственной TMS-системы и о том, как ее можно дополнить с помощью внешних решений для усиления бизнес-процессов компании. 

Личный опыт: зачем онлайн-магазинам нужна собственная TMS

Что такое TMS и какие задачи она решает?

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

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

 

С помощью TMS компании могут: 

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

 

Из чего состоит функционал TMS 

Если раскладывать по полочкам, то функционал TMS состоит из следующих этапов: 

  • 1. Обработка входящего заказа 

Покупатель выбирает товары и адрес доставки, сайт запрашивает у TMS интервалы.

15 топ-менеджеров, которые вывели свои компании на лидирующие позиции в рейтинге ESG.

  • 2. Определение параметров заказа

TMS определяет сегмент доставки, зоны и кластер. Затем сервис раскладки (Layout Service, LS) заказов по коробам завершает работу и отдает полученный результат в TMS.

  • 3. Оценка доступных ресурсов

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

  • 4. Выбор подходящего интервала заказа

TMS передает сайту доступные интервалы, клиент выбирает нужный. Затем выбранный интервал возвращается в TMS.

  • 5. Размещение заказа

Оценка ресурсов в выбранном клиентом интервале, оптимизация по пробегу, фиксируется новая точка в маршруте.

 

Как повысить эффективность TMS с помощью внешних решений 

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

Одни из таких решений стали технологии нашего партнера «Яндекс.Маршрутизации». С помощью алгоритмов компании мы усилили нашу разработку в части процесса планирования маршрутов. Сейчас этот процесс выглядит следующим образом.

В течение дня TMS набирает данные о заказах, а в момент, когда заполненность автомобилей достигает отметки выше 70%, либо по триггеру (примерно раз в час) все принятые заказы отправляются на внешний сервис в «Яндекс.Маршрутизацию».

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

После этого мы отправляем в систему новые, более плотные значения маршрутов.

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

Объясним на примере: наш внутренний алгоритм TMS предлагает отправить на маршруты 20 водителей. Система посчитала их автомобили полностью укомплектованными, поэтому на внешний сервер «Яндекса» уходит информация о 20 машинах. В результате второго этапа обработки это число сокращается до 17-18 автомобилей. Таким образом мы получаем еще 2-3 машины, доступных для заполнения. 

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

 

Качественные изменения

Как улучшились показатели, насколько оптимизировались процессы, где удалось сэкономить и перераспределить ресурсы

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

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

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

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

 

Разработка TMS 

Наша команда разработки состояла из product owner’a, трех backend-разработчиков, одного frontend-разработчика, аналитика и тестировщика.

 

Сам подход к разработке TMS выглядел так:

  • 1. Формулируем цель проекта

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

  • 2. Выбираем язык разработки

Изначально TMS писали на Java, но впоследствии было принято решение переписать все на Python, более быстрый в освоении и более удобный для работы с массивами данных, а специалистов, работающих с ним, намного больше.

  • 3. Прописываем архитектуру системы

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

  • 4. Пишем код

Прописываем взаимодействие всех блоков системы и складываем их в единое целое.

  • 5. Тестируем

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


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

Кстати, еще одно преимущество Python заключается в том, что он позволил не строить административный интерфейс с нуля, а подключить готовый фреймворк — это позволило нам не тратить много времени на frontend-разработку в этом направлении.

 

Что важно помнить при разработке TMS

  1. Собственные разработки могут значительно улучшить бизнес-процессы и способствовать масштабированию бизнеса, а для достижения максимального результата можно задействовать подходящие для вас внешние разработки;
  2. Предварительный анализ бизнес-процессов и выявление их слабых сторон поможет выяснить, какие процессы требуют усовершенствования;
  3. Прежде чем переходить непосредственно к написанию кода IT-решения, продумайте основные блоки, из которых будет состоять автоматизируемая часть ваших процессов. Не забудьте про гибкость и адаптивность, которая поможет в синхронизации со сторонними решениями.

Фото на обложке: unsplash.com

Нашли опечатку? Выделите текст и нажмите Ctrl + Enter

Материалы по теме

  1. 1 «Вкусвилл» начал регистрацию бренда «Вкусмил» для услуг доставки
  2. 2 «Яндекс.Лавка» улучшила функционал сервиса: пользователи могут выбрать нужные ингредиенты
  3. 3 «Лента» протестирует формат гибридного гипермаркета с зонами сборки и хранения товаров
  4. 4 «Сбер» запустил в Беларуси сервис доставки еды «Еду!»
  5. 5 Почему кризис цепочки поставок было невозможно предсказать
ТЕСТ
Проверь себя: какой ты экспортер?
Узнать больше