Последняя миля — дороже всего. На неё приходится 28–53% всех затрат на доставку. Причина — низкая плотность заказов, узкие временные окна, частые отказы. Мы решаем эту задачу с помощью AI: строим динамические маршруты, предсказываем успех доставки, автоматически перепланируем при сбоях. Система управления доставкой на базе AI координирует работу курьеров (AI-курьер) и микро-фулфилмент центров, обеспечивая бесшовную последнюю милю. Наши системы показывают снижение failed first delivery с 20% до 9% и рост количества остановок на курьера до 90–100 в день. В результате cost per delivery снижается на 15–28%, а производительность курьеров растёт в 1.5 раза.
AI-оптимизация последней мили: ключевые результаты
Динамическая маршрутизация на основе AI сокращает количество неудачных доставок в 2 раза по сравнению со статическим планированием. Ниже — наглядное сравнение.
| Параметр | Статическое | AI-динамическое | Улучшение |
|---|---|---|---|
| Failed first delivery | 18–25% | 8–12% | в 2 раза |
| Остановок на курьера | 50–70 | 70–100 | +40% |
| Cost per delivery | 100% | 72–85% | -15–28% |
| Удовлетворённость (NPS) | +25 | +45 | +20 пунктов |
Почему 28–53% стоимости доставки приходится на последнюю милю?
В отличие от магистральной логистики, здесь высокая стоимость визита при малом числе заказов на точку. Курьер может сделать 50–70 доставок за смену, каждая — 5–15 минут. При этом 15–25% первых попыток проваливаются — получателя нет дома, неверный адрес, неудобное время. Повторная доставка стоит почти столько же, сколько первая. AI-оптимизация позволяет снизить эти показатели: failed first delivery падает до 8–12%, а количество успешных остановок на курьера вырастает до 70–100.
Как AI снижает процент неудачных доставок?
ML-модель оценивает вероятность успеха до приезда курьера. Если риск высокий, система предлагает альтернативы: уточнить время через SMS, перенаправить в постамат, объединить с соседним заказом. Признаки: история получателя, тип адреса (бизнес-центр или жилой дом), день недели, способ оплаты. За счёт этого failed first delivery падает до 8–12%. Модель обучается на ваших данных и учитывает сезонность, праздники и погоду.
Архитектура системы
Мы строим систему на стеке: Python, OR-Tools для маршрутизации, OSRM для матриц расстояний, CatBoost для прогноза. Динамическое перепланирование — ключевая фича. Если курьер не застал получателя, маршрут в реальном времени перестраивается, а неудачная точка уходит в пул на следующий день. Для прогнозирования успеха мы используем градиентный бустинг (CatBoost) — он даёт прирост точности на 5–7% по сравнению с логистической регрессией.
import requests from ortools.constraint_solver import routing_enums_pb2 from ortools.constraint_solver import pywrapcp import numpy as np class LastMileOptimizer: def __init__(self, osrm_url="http://router.project-osrm.org"): self.osrm_url = osrm_url def get_travel_times(self, locations): """Матрица времён через OSRM table service""" coords = ";".join(f"{lon},{lat}" for lat, lon in locations) url = f"{self.osrm_url}/table/v1/driving/{coords}" r = requests.get(url, params={"annotations": "duration"}) return np.array(r.json()["durations"]) def reoptimize_on_event(self, current_routes, new_event): """ new_event: {'type': 'failed_delivery'|'new_order'|'traffic', 'location_idx': int, 'details': dict} """ if new_event['type'] == 'failed_delivery': route = current_routes[new_event['courier_id']] route.remove(new_event['location_idx']) self.reschedule_failed(new_event['location_idx']) elif new_event['type'] == 'new_order': best_courier, best_position = self._cheapest_insertion( current_routes, new_event['location'] ) current_routes[best_courier].insert(best_position, new_event['location']) return current_routes def _cheapest_insertion(self, routes, new_location): min_cost = float('inf') best = (0, 0) for courier_id, route in routes.items(): for pos in range(len(route)): cost = self._insertion_cost(route, pos, new_location) if cost < min_cost: min_cost = cost best = (courier_id, pos) return best Мы используем векторные базы (Pinecone) для быстрого поиска ближайших постаматов и оркестрацию на Kubernetes. Средняя latency пересчёта маршрута — 200 мс, что позволяет реагировать в реальном времени. В качестве метода перепланирования применяем cheapest insertion — он обеспечивает скорость и близкое к оптимальному решение.
Сравнение моделей прогнозирования
| Модель | Точность (F1) | Время обучения | Интерпретируемость |
|---|---|---|---|
| Логистическая регрессия | 0.72 | 5 мин | высокая |
| CatBoost | 0.85 | 20 мин | средняя |
| LightGBM | 0.83 | 15 мин | средняя |
| Нейронная сеть (MLP) | 0.87 | 2 ч | низкая |
На практике мы используем ансамбль CatBoost и нейронной сети: CatBoost даёт быстрое решение для массовых запросов, а нейронная сеть — для сложных случаев с богатой историей.
Как мы обеспечиваем точность прогноза
Мы используем three-way validation: offline test на исторических данных, A/B-тест в «теневом» режиме и постепенный rollout. Каждая модель проходит проверку на смещение (distribution shift) — если распределение признаков изменилось более чем на 1 стандартное отклонение, система отправляет alert. Для детекции дрейфа применяем Magnitude metric — сравнение средних значений ключевых фич (время доставки, процент отказов) за последние 7 дней.
Этот подход гарантирует, что модель не теряет точность даже при изменении поведения клиентов или сезонных колебаниях.
Как выглядит процесс работы над проектом?
- Аналитика — изучаем ваши данные: история заказов, геоданные, временные окна, отказы. Оцениваем текущий failed first delivery и cost per delivery.
- Проектирование — выбираем модели, настраиваем признаки, проектируем интеграции (WMS, CRM, мобильное приложение курьера). Определяем KPI: снижение failed first delivery минимум на 30%.
- Разработка — пишем код, тренируем модели, настраиваем MLOps (MLflow, Weights & Biases на клиенте). Используем техники fine-tuning и quantization для ускорения инференса.
- Тестирование — A/B-тест на части потоков: сравниваем с текущим планированием. Фиксируем метрики: latency p99, FLOPS, GPU utilization.
- Деплой — разворачиваем в вашем контуре (SageMaker, Vertex AI или on-premise). Обучаем операторов и предоставляем документацию API.
Что входит в разработку?
- Исходный код и конфигурации
- Документация API и модели
- Инструкция для операторов
- Обучение команды (2–3 воркшопа)
- Поддержка 3 месяца после запуска
Гарантии качества модели
Наша команда — 5+ лет в AI/ML, 50+ проектов в логистике и ритейле. Используем проверенные методики Vehicle Routing Problem with Time Windows (VRPTW) и best practices MLOps. Гарантируем снижение failed first delivery минимум на 30% относительно вашего текущего показателя.
Свяжитесь с нами, чтобы обсудить ваш проект. Получите консультацию инженера уже сегодня. Закажите разработку под ключ.







