Разнобой в расчёте перевозки возникает не потому, что логисты небрежны, а потому что правило нигде не записано: каждый держит в голове свою ставку за километр, свой набор надбавок и свою память о том, сколько брали с этого клиента в прошлый раз. Убирается разнобой одним способом — тарифной моделью на правилах, где базовая ставка, надбавки и коридор скидки заданы явно и меняются без программиста.
Такая модель закрывает примерно 80 % входящих запросов и отвечает за секунды вместо часов. Оставшиеся 20 % — негабарит, опасный груз, мультимодальные плечи, нестандартная упаковка — она считать не должна и не будет: их задача попасть в очередь на ручной расчёт с понятным сроком, а не молча уехать клиенту с неправильной цифрой.
Дальше — модель на конкретных числах: тягач 20 тонн, междугородные плечи, 500 запросов в месяц, средняя ставка рейса 62 000 ₽ и плановая маржа 14 %, то есть 8 680 ₽ с рейса. Ставка часа логиста — 650 ₽ полной стоимости, ставка инженера — 3 000 ₽/час. Все цены на топливо и платные участки — по состоянию на сентябрь 2026 года.
Из чего складывается ставка: 46,09 ₽ за километр
Разговор о тарифе всегда надо начинать с себестоимости километра, иначе непонятно, от чего считается скидка. Шесть статей ниже — это полная себестоимость: она идёт и тогда, когда машина едет гружёной, и тогда, когда возвращается пустой.
| Статья | Как считается | ₽ за километр |
|---|---|---|
| Топливо | 32 л на 100 км × 62 ₽/л | 19,84 |
| Оплата труда водителя | Сдельная часть плюс суточные, в пересчёте на километр | 7,50 |
| Лизинг и амортизация тягача с полуприцепом | Платёж и износ на плановый пробег | 8,20 |
| Шины, ТО и ремонт | Ресурс шин и регламентное обслуживание | 3,40 |
| Плата за проезд по федеральным трассам | Для машин полной массой свыше 12 тонн | 3,05 |
| Страхование, налоги, диспетчеризация, накладные | Постоянные расходы парка на плановый пробег | 4,10 |
| Полная себестоимость | Сумма шести статей | 46,09 |
| Переменная часть | Топливо, шины и ТО, плата за проезд | 26,29 |
Разделение на полную и переменную часть — не бухгалтерская тонкость, а рабочий инструмент. Полная себестоимость нужна, чтобы назначить базовую ставку: 46,09 ₽ при плановой марже 14 % дают 53,59 ₽ за километр (46,09 ÷ 0,86). Переменные 26,29 ₽ нужны, чтобы решать про порожний пробег и догруз: постоянные затраты в этот момент уже понесены, и вопрос стоит только о том, покрывает ли предложение переменную часть.
Постоянные затраты, которые идут, пока машина стоит: оплата водителя, лизинг, страхование и накладные — это 19,80 ₽/км из шести статей выше. При плановом пробеге 9 000 км в месяц это 178 200 ₽ постоянных расходов на машину, а при 155 рабочих часах — 1 150 ₽ за час простоя. Дальше эта цифра будет встречаться в надбавке за ожидание и в расчёте потерь.
Составная горизонтальная полоса длиной 46,09 ₽/км, разбитая на шесть подписанных сегментов с числами: «Топливо 19,84», «Лизинг и амортизация 8,20», «Водитель 7,50», «Накладные и страхование 4,10», «Шины и ТО 3,40», «Плата за проезд 3,05». Под полосой две фигурные скобки: одна охватывает топливо, шины и плату за проезд с подписью «переменная часть 26,29 ₽ — экономится на порожнем», вторая охватывает остальные три с подписью «постоянная часть 19,80 ₽ — идёт и на стоянке, отсюда 1 150 ₽/час простоя». Чертёжный стиль, подписи по-русски.
Почему два логиста считают одну перевозку по-разному
Возьмём реальный по строению запрос: тент 20 тонн, Москва — Казань, 820 километров, паллетированный груз 18 тонн, погрузка завтра. Вот как его посчитают три источника.
| Кто считает | Метод | Результат |
|---|---|---|
| Логист А | 820 км × 55 ₽/км, сверху 15 % «на всякий случай» | 51 865 ₽ |
| Логист Б | Достал похожую заявку трёхмесячной давности | 58 000 ₽ |
| Тарифная модель | Круг 1 640 км, обратная загрузка 34 000 ₽, маржа 14 % | 48 358 ₽ |
Разброс между двумя логистами — 6 135 ₽, почти 12 % цены. Проблема даже не в разбросе, а в том, что ни один из них не может объяснить свою цифру: у первого 55 ₽/км взялись из памяти, у второго ставка трёхмесячной давности не учитывает ни изменившееся топливо, ни то, что в тот раз обратная загрузка была, а сейчас её нет.
Считать этот разнобой удобнее не по разбросу, а по недобору. В модели из 500 запросов выигрывается 69 рейсов, и примерно 22 % из них посчитаны ниже тарифной модели в среднем на 6 % ставки: 15 рейсов × 62 000 ₽ × 6 % = 55 800 ₽ недополученной маржи в месяц. Зеркальная половина — рейсы, посчитанные выше и проигранные конкуренту, — в этой сумме не учтена и сидит в конверсии.
Тарифная модель на правилах: четыре уровня
Работающая модель состоит из четырёх уровней, и все четыре должны редактироваться в таблице, а не в коде. Это принципиально: тарифы у перевозчика меняются раз в квартал, а иногда раз в неделю, и модель, каждая правка которой стоит вызова подрядчика, умирает за полгода.
- 1Уровень 1. Базовая ставка за километр по типу машины
Тент 20 т — 53,59 ₽/км, тент 10 т — 38,84 ₽/км, рефрижератор 20 т — 63,02 ₽/км, малотоннаж 1,5 т — 25,00 ₽/км. Каждая получена делением полной себестоимости своего типа на 0,86. Расстояние берётся не по прямой, а по маршруту из справочника — иначе Москва — Казань превращается в 720 км вместо 820.
- 2Уровень 2. Надбавки и вычеты
Температурный режим +18 %, негабарит +25 %, каждая дополнительная точка выгрузки +3 400 ₽, ожидание сверх трёх часов 1 150 ₽/час, платные участки по факту, зимний коэффициент на северных направлениях +12 %, подтверждённая обратная загрузка — вычет её ставки из себестоимости круга.
- 3Уровень 3. Минимальный чек
18 000 ₽ независимо от расстояния. Ниже этой суммы рейс не окупает подачу машины и оформление документов, и «короткое плечо за 9 000 ₽» — это не гибкость, а убыток, замаскированный под загрузку парка.
- 4Уровень 4. Коридор скидки
До 7 % — логист даёт сам. От 7 до 15 % — согласование руководителя. Больше 15 % — только с подтверждённой обратной загрузкой, приложенной к заявке. Коридор важнее самой ставки: без него любая тарифная модель за квартал превращается в справочное значение, от которого все отступают.
Такая модель считается не в отдельном калькуляторе, а внутри реестра заявок, потому что ей нужны структурированные маршрут, вес и объём. Как эти поля попадают в реестр из письма и голосового сообщения, разобрано в обзоре автоматизации транспортной компании; без этого шага тарифная модель окажется формой, которую логист заполняет руками, — то есть тем же самым калькулятором, только медленнее.
Схема из четырёх последовательных блоков сверху вниз со стрелками между ними. Блок 1 «Базовая ставка: 53,59 ₽/км для тента 20 т». Блок 2 «Надбавки: температура +18 %, негабарит +25 %, точка +3 400 ₽, ожидание 1 150 ₽/час, зима +12 %». Блок 3 «Минимальный чек 18 000 ₽» с пометкой «отсекает убыточные короткие плечи». Блок 4 «Коридор скидки: до 7 % логист, 7–15 % руководитель, свыше 15 % только с подтверждённой обратной загрузкой». Справа от цепочки — отводящая стрелка в блок «Очередь ручного расчёта: 20 % запросов, ответ до 2 часов». Чертёжный стиль, подписи по-русски.
Обратный рейс меняет ставку почти вдвое
Это главный расчёт статьи и главная причина, по которой перевозчики не понимают ценообразование друг друга. Считать надо не плечо, а круг: машина, ушедшая в Казань, обязана вернуться, и её возврат стоит денег независимо от того, есть в кузове груз или нет.
Отсюда три практических следствия. Первое: ставка без подтверждённой обратной загрузки должна считаться по первому сценарию, а не по второму «в надежде». Второе: скидка сверх 15 % допустима ровно тогда, когда обратный груз уже найден и приложен к заявке. Третье: на направлениях, где обратная загрузка есть почти всегда, тарифную модель надо строить сразу по кругу, иначе логисты будут вручную занижать плечо, чтобы попасть в рынок, и модель перестанет что-либо описывать.
Проверить себя просто: возьмите двадцать последних рейсов на популярном направлении и посчитайте, в скольких из них обратный груз действительно был. Если в модели заложено «почти всегда», а по факту в двенадцати из двадцати, ваша тарифная сетка систематически занижена примерно на 20 %, и никакая скидочная дисциплина этого не исправит.
Сравнение двух вертикальных столбцов на общей денежной оси. Левый столбец «Обратная загрузка не найдена — 87 893 ₽» разложен на «себестоимость круга 75 588 ₽» и «маржа 14 %». Правый столбец «Обратная загрузка 34 000 ₽ — 48 358 ₽» разложен на «непокрытая себестоимость 41 588 ₽» и «маржа 14 %», а сверху отдельным светлым сегментом показана «загрузка обратно 34 000 ₽», закрывающая разрыв до той же высоты, что у левого столбца. Между столбцами двусторонняя стрелка с подписью «39 535 ₽, ×1,82». Внизу общая подпись: «круг 1 640 км, тент 20 т». Чертёжный стиль, подписи по-русски.
Скорость ответа: 500 запросов, 69 сделок против 95
Точность тарифа важна, но в деньгах она проигрывает скорости. На конкурентных направлениях заявка уходит нескольким перевозчикам одновременно, и вероятность сделки у того, кто ответил первым, заметно выше — просто потому, что клиент уже начал разговор. Общую методику счёта этого эффекта мы разбирали в материале про скорость ответа и конверсию; здесь она применена к запросам на перевозку.
Две цифры конверсии в этом расчёте — модельное допущение, а не измерение. Свои надо взять из CRM: отобрать запросы за квартал, разметить их по времени первого ответа и посчитать долю выигранных в каждой группе. Если разрыв между быстрыми и медленными меньше двух процентных пунктов, весь этот раздел к вам не относится и тарифную модель надо обосновывать точностью, а не скоростью.
Быстрый ответ приводит больше заявок, но не создаёт транспорт. Если парк загружен на 90 %, вы просто начнёте отказывать чаще — и заработаете репутацию, которая обнулит эффект. Поэтому в расчёте выше стоит коэффициент 0,5: из 26 дополнительных рейсов реально берутся 13, остальные либо уходят на наёмный транспорт с чужой маржой, либо отдаются. Перед проектом честно посмотрите на коэффициент использования парка: при загрузке выше 85 % сначала нужен транспорт, а не расчёт.
Что делать с оставшимися 20 %
Правила не должны пытаться посчитать всё. Задача модели — честно определить, что она посчитать не может, и передать запрос человеку с понятным сроком ответа. Это принципиально: молча выданная неправильная цена дороже, чем прямое «ответим в течение двух часов».
- Порог суммы. Всё дороже 150 000 ₽ уходит на подтверждение руководителю независимо от того, посчиталось ли по правилам. Ошибка в дорогом рейсе стоит как десять ошибок в дешёвых.
- Порог скидки. Запрос со скидкой сверх 7 % от расчётной ставки не отправляется автоматически. Здесь важен не сам порог, а то, что решение фиксируется: кто согласовал, на каком основании, была ли обратная загрузка.
- Классы груза вне правил. Опасный груз, негабарит, температурный режим с узким коридором, живой груз, мультимодальное плечо. Их можно добавлять в правила по одному, когда накопится статистика, но начинать надо с очереди.
- Новый клиент с отсрочкой платежа. Это не тарифный вопрос, а вопрос кредитного лимита. Модель должна пометить запрос и показать логисту историю расчётов с этим контрагентом, а не считать цену как обычно.
- Ручной расчёт с обратной связью. Каждый запрос из очереди после закрытия помечается причиной, по которой он туда попал. Через квартал этот список показывает, какие три правила надо дописать, чтобы очередь сократилась вдвое.
Готовое предложение при этом всё равно должно собираться автоматически — с расчётной ставкой или с ценой, проставленной руками. Как устроена сборка коммерческого предложения и счёта из данных заявки, разбиралось в отдельном материале про автоматическое КП.
Плановая маржа 14 %, фактическая 10,8 %
Тарифная модель обещает маржу, а рейс её приносит — и между обещанием и фактом всегда есть разрыв. Пока он не измерен, тарифы правятся вслепую. Считать надо по закрытым рейсам: плановая маржа из расчёта минус фактические отклонения из данных рейса.
| Причина отклонения | Рейсов из 180 | Потеря на рейс | Всего за месяц |
|---|---|---|---|
| Простой под погрузкой и выгрузкой сверх норматива, не выставленный клиенту | 17 | 9 часов × 1 150 ₽ = 10 350 ₽ | 175 950 ₽ |
| Обратная загрузка не найдена или найдена дешевле заложенной | 13 | 12 000 ₽ | 156 000 ₽ |
| Перепробег против расчётного маршрута | 10 | 90 км × 26,29 ₽ ≈ 2 370 ₽ | 23 700 ₽ |
| Итого | 40 рейсов из 180 | — | 355 650 ₽ |
Плановая маржа месяца — 180 × 8 680 ₽ = 1 562 400 ₽. За вычетом отклонений остаётся 1 206 750 ₽, а это при выручке 11 160 000 ₽ даёт 10,8 % вместо обещанных 14 %. Три четверти разрыва приходятся на две причины, и обе устранимы не тарифом, а данными: простой надо выставлять счётом, а обратную загрузку — подтверждать до отправки предложения.
Выставить сверхнормативное ожидание можно только тогда, когда есть время прибытия и время окончания погрузки, зафиксированные так, чтобы клиент их принял. Водитель в вашей системе не работает, поэтому отметки приходят одним из трёх способов: сообщение в мессенджере с геометкой, автоматическая простановка по въезду в геозону склада или, если у водителя нет смартфона, звонок диспетчеру — 3 минуты на событие, около 18 часов в месяц на парк из 15 машин. Фотография отметки в товарно-транспортном документе с указанным временем закрывает спор надёжнее любого трека, поэтому её стоит требовать вместе со снимком подписанной накладной.
Каскадная диаграмма (водопад) за месяц. Первый столбец «Плановая маржа 1 562 400 ₽ — 14 %». Три убывающих шага вниз с подписями: «Невыставленный простой −175 950 ₽ (17 рейсов)», «Обратная загрузка −156 000 ₽ (13 рейсов)», «Перепробег −23 700 ₽ (10 рейсов)». Последний столбец «Фактическая маржа 1 206 750 ₽ — 10,8 %». Под диаграммой подпись: «180 рейсов, выручка 11 160 000 ₽». Чертёжный стиль, подписи по-русски.
Сверку удобно смотреть еженедельно на одной витрине вместе с загрузкой парка и порожним пробегом — как это собирается, разбиралось в материале про показатели на дашборде руководителя. Правило простое: тарифы правятся по данным закрытых рейсов раз в квартал, а не по ощущению, что «рынок просел».
Когда тарифную модель строить не надо
Модель на правилах стоит 120 000 ₽ разработки плюс 15 600–31 200 ₽ ваших часов на то, чтобы выписать действующие тарифы и все исключения. Есть четыре ситуации, в которых эти деньги и часы не вернутся.
- Два-три якорных заказчика с зафиксированными в договоре тарифами. Считать нечего: цена уже согласована на год, и модель будет пересчитывать то, что записано в приложении к договору. Достаточно справочника договорных ставок в реестре заявок.
- Меньше 80 запросов в месяц. Эффект скорости ответа пропорционален потоку. При 80 запросах прирост даже по оптимистичным допущениям — четыре рейса, то есть около 34 700 ₽ в месяц, и это ещё до коэффициента реализуемости. Проще завести один согласованный файл с сеткой и правилом «расчёт только по нему».
- Тарифы меняются чаще, чем раз в две недели, и меняются вручную. Такое бывает на биржевых направлениях с сильной сезонностью. Правило, которое переписывают каждую неделю, перестаёт быть правилом; здесь нужна не тарифная модель, а быстрый доступ логиста к рыночным ставкам и жёсткий минимальный чек.
- Нет справочника расстояний между вашими точками. Модель, считающая по прямой, будет ошибаться на 10–20 % на каждом маршруте и дискредитирует себя за месяц. Сначала справочник адресов с координатами и маршрутными расстояниями, потом расчёт.
Бесплатный минимум для тех, кому рано: одна общая таблица со ставкой за километр по типам машин, списком надбавок и минимальным чеком; правило «расчёт только по ней, отклонение сверх 7 % — с подписью руководителя»; и ежемесячная сверка десяти закрытых рейсов на предмет того, совпала ли обещанная маржа с фактической. Это забирает две самые дорогие строки из расчёта отклонений и стоит ноль.
Цена перевозки считается по кругу, а не по плечу. Всё остальное — надбавки к этой мысли.
