Личный опыт: зачем онлайн-магазинам нужна собственная TMS
Кейс «Утконос Онлайн»
Новый виток вводимых ограничений ведет к кратному росту числа клиентов в онлайн-ритейле. Для того, чтобы справиться с растущими объемами, компании e-commerce сегмента массово внедряют различные проекты по автоматизации привычных процессов. Одним из таких все чаще становится внедрение Transportation Management system (TMS) — это общее название для технологий, которые позволяют автоматизировать управление таксопарком компании и дают возможность компании масштабироваться за счёт оптимизации грузоперевозок.
Подобную систему можно как приобрести у внешних разработчиков, так и создать самим. Сергей Оленцов, product owner TMS «Утконос Онлайн», рассказал об опыте компании в разработке собственной TMS-системы и о том, как ее можно дополнить с помощью внешних решений для усиления бизнес-процессов компании.
Что такое 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
- Собственные разработки могут значительно улучшить бизнес-процессы и способствовать масштабированию бизнеса, а для достижения максимального результата можно задействовать подходящие для вас внешние разработки;
- Предварительный анализ бизнес-процессов и выявление их слабых сторон поможет выяснить, какие процессы требуют усовершенствования;
- Прежде чем переходить непосредственно к написанию кода IT-решения, продумайте основные блоки, из которых будет состоять автоматизируемая часть ваших процессов. Не забудьте про гибкость и адаптивность, которая поможет в синхронизации со сторонними решениями.
Фото на обложке: unsplash.com
-
Партнёрский материал Альфа-Банк поддержал новый бизнес-фестиваль «Атланты Сити»: мероприятие собрало в Сочи 1700 человек 07 июля 2026, 16:33
-
Автомобили Как машина для гонок стала символом тихих денег: история Bentley 09 июля 2026, 02:55
-
Личное Сундар Пичаи. Как эмигрант из Индии за 11 лет прошёл путь от продакт-менеджера до CEO Google 08 июля 2026, 23:19
-
Автомобили Как приручить итальянского быка: история Lamborghini 07 июля 2026, 19:50
-
Личное Криштиану Роналду. Как сын уборщицы первым в истории футбола заработал 1 млрд $ 06 июля 2026, 20:16
-
Автомобили От авиационных двигателей до электромобилей: история BMW 04 июля 2026, 10:16
-
Искусственный интеллект Цифровизация начинается не с ИИ: эксперты рынка — о том, почему для трансформации бизнеса нужно изменить мышление 03 июля 2026, 11:58
-
Личное Ли Шуфу. Как мальчик из китайской деревни основал Geely и купил Volvo 01 июля 2026, 20:17
-
Россия Минцифры усилит контроль за SIM-картами и массовыми звонками — расходы операторов уже оценили в 3 млрд ₽ 08 июля 2026, 18:30
-
Россия Разработчик электромобиля «Атом» массово задерживает зарплаты сотрудникам — работникам не платят уже 43 дня 08 июля 2026, 16:55
-
Автомобили «Изменений не произойдёт»: АвтоВАЗ опроверг информацию о повышении цен на Lada с 1 августа 08 июля 2026, 16:10
-
Маркетплейсы Flowwow запустил кабинет для продвижения товаров — продавцы смогут покупать рекламу внутри маркетплейса 08 июля 2026, 15:10
-
Россия 48% россиян считают питомцев частью семьи — миллениалы чаще других включают животных в круг близких 08 июля 2026, 19:30
-
IT Раскрыты новые детали iPhone Air 2 — инсайдеры показали двойной блок камер и новый лавандовый цвет 08 июля 2026, 18:00
-
Россия В России могут смягчить запрет на криптоплатежи — их разрешат использовать для операций с ценными бумаги и валютами 08 июля 2026, 17:25
-
Искусственный интеллект Госдума приняла закон о регулировании ИИ — маркировка нейросетевого контента может стать обязательной 08 июля 2026, 16:25