Top.Mail.Ru

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Освободите время и зарабатывайте больше с помощью ИИ! Пройдите курс и получите в подарок лучшие промты для решения бизнес-задач.
  • 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

ТЕГИ
7 писем для старта
Начни бизнес с RB.RU
Подписаться

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