На последней миле основные потери не в пробеге, а в повторных визитах. Курьер доехал, поднялся, позвонил — и уехал с той же коробкой, потому что клиента нет дома, окно с ним никто не согласовывал, а телефон он не берёт. Оптимизация маршрута такой заказ не спасает: маршрут был идеальный, просто одна из точек оказалась пустой.
В деньгах это выглядит так: одна недоставка обходится в 695 ₽ — 490 ₽ прямых расходов на повторный визит и 205 ₽ упущенного слота, который курьер мог отработать. При типичной доле недоставок 9 % служба на 200 доставок в день теряет 262 710 ₽ в месяц, и в отчётности эта сумма не видна нигде: она размазана по зарплате, топливу и по фразе «сегодня много переносов».
Ниже — разбор трёх механик, которые эту долю снижают, минимальный состав приложения курьера, честный раздел про мотивацию (там легче всего получить приписки вместо данных) и расчёт порога, ниже которого свою службу держать дороже, чем купить доставку у подрядчика.
Сколько стоит одна недоставка
Модельная служба: 8 курьеров на своих фургонах, 25 доставок на курьера в смену, 21 рабочий день — 200 доставок в день и 4 200 в месяц. Смена 8 часов, средний дневной пробег машины 110 км. Полная стоимость часа курьера — 550 ₽, диспетчера — 650 ₽. Начинать надо не с недоставки, а с себестоимости обычной доставки, иначе не с чем сравнивать.
| Статья расходов | В месяц | На одну доставку |
|---|---|---|
| Курьеры: 8 человек × 168 часов × 550 ₽ | 739 200 ₽ | 176 ₽ |
| Машины: 8 × 38 000 ₽ постоянных расходов | 304 000 ₽ | 72 ₽ |
| Топливо, шины, ТО: 18 480 км × 14 ₽ | 258 720 ₽ | 62 ₽ |
| Диспетчер: 168 часов × 650 ₽ | 109 200 ₽ | 26 ₽ |
| Итого на 4 200 доставок | 1 411 120 ₽ | 336 ₽ |
Здесь стоит остановиться на расхождении с соседним расчётом. В разборе себестоимости городской доставки товара выходит 721 ₽ за доставку — вдвое больше. Разница не в ошибке, а в двух вещах: там поток 880 доставок в месяц против 4 200, и в себестоимость входит упаковка, которой у курьерской службы нет — коробку собирает отправитель. Плотность маршрута — главный рычаг на последней миле, и он же объясняет, почему подрядчик умеет возить дешевле вас.
Теперь недоставка. Повторный визит — это 35 минут курьера, потому что к самой попытке добавляются подъезд не по оптимальному плечу, звонки и возврат в маршрут. Плюс лишний пробег, время диспетчера на перепланирование и связь. И отдельно — упущенный слот: при 25 доставках за восьмичасовую смену на одну доставку приходится 19,2 минуты, то есть повторный визит съедает 1,8 слота, каждый из которых приносит 114 ₽ маржи при тарифе 450 ₽.
Составной горизонтальный столбец на 695 ₽, разбитый на пять сегментов с подписями и суммами: «курьер, 35 мин — 321 ₽», «пробег 7 км — 98 ₽», «диспетчер — 65 ₽», «связь — 6 ₽», «упущенный слот, 1,8 доставки — 205 ₽». Первые четыре сегмента объединены скобкой «прямые расходы 490 ₽», последний выделен штриховкой и подписан «в учёте не появляется». Под столбцом строка: «× 378 недоставок в месяц = 262 710 ₽». Ось в рублях, подписи по-русски.
Три механики, которые снимают недоставки
Все три работают на одном принципе: клиент должен узнать о доставке раньше, чем курьер к нему поедет, и иметь дешёвый способ сказать «не сегодня». Ни одна из них не требует менять маршрутизацию — они меняют состав точек до того, как маршрут посчитан.
- 1Подтверждение окна накануне вечером
Сообщение уходит в 18:00–20:00 за сутки: «завтра, окно 14:00–18:00, подтвердите или перенесите». Ответ — две кнопки, не свободный текст. Отвечают не все: в модели подтверждает или переносит 62 % получателей, и этого хватает, чтобы убрать из завтрашнего маршрута самые безнадёжные точки. Канал по состоянию на сентябрь 2026 года — MAX как основной, push в приложении, если оно есть, и SMS как фолбэк для тех, кого нет ни там, ни там.
- 2Кнопка переноса у клиента
Не «позвоните нам в рабочее время», а ссылка, по которой клиент сам выбирает другой день и окно из реально свободных слотов. Ключевое слово — реально свободных: если страница показывает слоты, которых нет, вы получите не перенос, а вторую недоставку и раздражённого клиента. Это та же слот-модель, что стоит за подтверждением записи в услугах, только вместо кресла в ней машина курьера.
- 3Уведомление за 30 минут до приезда
Срабатывает по факту прохождения предыдущей точки, а не по плановому времени, и содержит расчётное время прибытия. Эта механика снимает меньше всего недоставок, но она единственная спасает случай «клиент дома, но вышел в магазин на двадцать минут». Работает только при живом расчёте времени прибытия — иначе уведомление врёт и его перестают читать.
Подтверждение накануне, уведомление о выезде и уведомление за 30 минут — это уже три касания на одну доставку. Добавлять к ним «ваш заказ передан курьеру», «курьер вышел на маршрут» и «оцените доставку» означает, что клиент отключит уведомления целиком и перестанет видеть те три, ради которых всё делалось. Каждое сообщение обязано менять что-то в жизни получателя — иначе оно не информирует, а расходует внимание.
Приложение курьера: шесть функций и три соблазна
Приложение курьера — единственное место, где данные о последней миле вообще появляются. Курьер часто не сотрудник в привычном смысле: самозанятый на своей машине, работающий сегодня у вас, а завтра у агрегатора. Он не будет учиться работать в сложном интерфейсе и не станет заполнять поля «для аналитики». Поэтому набор функций короткий и жёстко ограниченный.
- Список точек на смену с окнами и адресами, отсортированный в порядке объезда. Без ручной пересортировки: если курьер меняет порядок сам, окна перестают соблюдаться.
- Навигация до точки одним нажатием — передача адреса и координат во внешнюю карту. Свою карту рисовать не надо, это самый дорогой и самый бесполезный экран.
- Отметка результата в одно касание: доставлено, отказ, не застал, перенос. У трёх последних — обязательная причина из короткого списка, потому что без причины эти данные ничего не стоят.
- Фото и подпись получателя. Фото — не «для контроля вообще», а конкретно: состояние упаковки при отказе и место, куда оставлен заказ, если так договорились.
- Приём оплаты, если он есть: сумма подставляется, курьер её не набирает руками. Расхождение по кассе — самый частый источник конфликтов и самый простой в устранении.
- Кнопка «нужен диспетчер» с автоматической привязкой к текущей точке. Курьер не должен объяснять голосом, где он и какой заказ имеет в виду.
И три вещи, которые в приложение просятся, но добавлять их не надо. Первая — прямой чат курьера с клиентом: договорённости уходят из системы, и разбирать спор потом нечем. Второе — редактирование маршрута курьером: пересборку делает система, курьер только сообщает факт. Третье — показ курьеру его личного рейтинга в реальном времени: это не мотивация, а прямое приглашение подогнать отметки под цифру.
Нарисованный абстрактный экран телефона, разделённый на зоны с подписями. Сверху «Смена: 25 точек, выполнено 11». Основная зона — список из трёх карточек точек с адресом и окном «14:00–18:00», у активной карточки кнопка «Навигация». Внизу ряд из четырёх крупных кнопок: «Доставлено», «Не застал», «Отказ», «Перенос». Под ними всплывающая панель «Причина: обязательно» со списком из четырёх вариантов. Сбоку две маленькие иконки: «Фото» и «Нужен диспетчер». Отдельная выноска справа: «чего здесь нет — чат с клиентом, ручная пересортировка, личный рейтинг». Чертёжный стиль, подписи по-русски.
Пересборка маршрута в течение дня
Механики из предыдущего раздела создают новую проблему: если клиент переносит доставку в 11 утра, маршрут на день уже посчитан и курьер едет по нему. Перепланировать всю смену руками невозможно — диспетчер на 8 курьерах просто не успеет. Поэтому пересборка должна быть частичной и дешёвой.
- 1Точка помечается снятой, а не удаляется. Маршрут остаётся тем же, просто одна остановка пропускается: пересчитывать порядок из-за одного переноса дороже, чем проехать лишний квартал.
- 2Пересчёт запускается, когда снятых точек накопилось три и более или когда освободилось больше 40 минут. Порог настраивается: чаще — маршрут «дёргается» и курьер перестаёт ему доверять, реже — теряется смысл.
- 3Новый порядок уходит курьеру только на неотработанный хвост смены. Пройденные точки не трогаются никогда, иначе в приложении меняется история и разбирать спор становится нечем.
- 4Срочные заказы вставляются в существующий маршрут, а не порождают отдельный выезд. Правило вставки — то же самое, что в планировании рейсов и маршрутизации: вставка допустима, если она не ломает окно ни одной из следующих точек.
Ни одна пересборка не закрывает случаи вида «клиент просит принести на другой адрес в том же районе» или «в подъезде нет лифта, а холодильник один». В модельной службе после автоматизации диспетчер тратит на ручные правки примерно 1,5 часа в смену вместо 4 — это 109 200 ₽ в месяц по-прежнему в смете. Если подрядчик обещает убрать диспетчера полностью, он либо не работал с последней милей, либо считает эффект от его отсутствия.
Мотивация курьеров: что честно считать, а что даёт приписки
Как только появляются данные, появляется соблазн привязать к ним оплату. Здесь легче всего испортить и мотивацию, и сами данные, поэтому стоит различать два типа показателей: те, которые курьер может улучшить только работой, и те, которые он может улучшить отметкой в приложении.
| Показатель | Что с ним происходит на практике | Годится для оплаты |
|---|---|---|
| Число доставленных заказов | Честный счётчик, подтверждается получателем и оплатой | Да, это база сдельной части |
| Соблюдение окна доставки | Проверяется отметкой времени и координатой, подделать трудно | Да, как надбавка |
| Доля успешных доставок | Курьер начинает помечать недоставку как «отказ клиента» — своя вина исчезает | Нет, только для разбора причин |
| Средняя скорость на маршруте | Поощряет опасную езду и штрафы, экономии не даёт | Нет |
| Оценка клиента после доставки | Отвечают 10–15 %, и почти всегда — недовольные | Нет, слишком редкая выборка |
Практическое правило: показатель, который курьер ставит сам, не может быть основанием для его же премии. Причину недоставки он отмечает, но подтверждается она вторым источником — отметкой времени и координатой в точке, попыткой звонка в журнале телефонии, ответом клиента на подтверждающее сообщение. Если второго источника нет, причина идёт в отчёт как «со слов курьера» и в расчёт оплаты не попадает вовсе. Это неудобно, зато честно, и через месяц данные становятся пригодными для дашборда по причинам недоставок, а не только для спора.
Сравнение в две колонки. Левая «Подтверждается вторым источником»: доставленные заказы (оплата и подпись получателя), соблюдение окна (время и координата), расхождение по кассе. Правая «Ставит сам курьер»: причина недоставки, отметка «клиент отказался», комментарий к точке. Под левой колонкой зелёная плашка «идёт в оплату», под правой серая плашка «идёт в разбор причин, в оплату не идёт». Внизу общая строка: «доля успешных доставок 9 % → 3,2 % — показатель службы, а не курьера».
Когда своя курьерская служба дороже подрядной
Весь расчёт выше имеет смысл только при своём парке и своих курьерах. При потоке 4 200 доставок в месяц себестоимость выходит 336 ₽ за доставку. Но структура расходов почти целиком постоянная: люди, машины и диспетчер стоят одинаково и при полной, и при половинной загрузке. На 1 800 доставках в месяц служба сокращается до четырёх курьеров, но диспетчер и недозагруженные машины остаются — себестоимость поднимается до 392 ₽, и это уже верхняя граница подрядного тарифа 300–420 ₽ за городскую доставку.
Отсюда три условия, при которых свою службу держать не стоит.
- Поток ниже примерно 2 500 доставок в месяц при ровной загрузке. Постоянные расходы не с кем делить, и собственная доставка стоит дороже покупной при том же качестве.
- Пик выше среднего больше чем вдвое. Своя служба держится под пик и простаивает всё остальное время; подрядчик масштабируется в обе стороны и берёт деньги за факт. Считать надо не средний день, а отношение пикового дня к медианному.
- Нет требований к сервису, за которые клиент доплачивает. Если вам не нужны узкие окна, фото при отказе, возврат подписанных документов и приём оплаты по вашим правилам — вы покупаете голую перевозку, и покупать её выгоднее, чем производить.
Обратная сторона того же правила: если хотя бы одно из требований к сервису есть и оно оплачивается клиентом, своя служба выигрывает даже на меньшем объёме — потому что подрядчик её просто не окажет или окажет по индивидуальному тарифу, который съест разницу. Проверяется это не рассуждением, а сравнением двух чисел: вашей себестоимости из таблицы выше и реального счёта подрядчика за тот же месяц с теми же требованиями.
Маршрут можно оптимизировать бесконечно. Пустая точка в нём стоит дороже, чем весь выигрыш от оптимизации.
