Разнобой в расчёте перевозки возникает не потому, что логисты небрежны, а потому что правило нигде не записано: каждый держит в голове свою ставку за километр, свой набор надбавок и свою память о том, сколько брали с этого клиента в прошлый раз. Убирается разнобой одним способом — тарифной моделью на правилах, где базовая ставка, надбавки и коридор скидки заданы явно и меняются без программиста.

Такая модель закрывает примерно 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 ₽ за час простоя. Дальше эта цифра будет встречаться в надбавке за ожидание и в расчёте потерь.

графикraschet-stoimosti-perevozki--01
Структура себестоимости километра: 19,84 ₽ топливо, 8,20 лизинг, 7,50 водитель и три меньшие статьи

Составная горизонтальная полоса длиной 46,09 ₽/км, разбитая на шесть подписанных сегментов с числами: «Топливо 19,84», «Лизинг и амортизация 8,20», «Водитель 7,50», «Накладные и страхование 4,10», «Шины и ТО 3,40», «Плата за проезд 3,05». Под полосой две фигурные скобки: одна охватывает топливо, шины и плату за проезд с подписью «переменная часть 26,29 ₽ — экономится на порожнем», вторая охватывает остальные три с подписью «постоянная часть 19,80 ₽ — идёт и на стоянке, отсюда 1 150 ₽/час простоя». Чертёжный стиль, подписи по-русски.

Топливо — 43 % себестоимости километра, но именно оно не влияет на цену простоя

Почему два логиста считают одну перевозку по-разному

Возьмём реальный по строению запрос: тент 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
    Уровень 1. Базовая ставка за километр по типу машины

    Тент 20 т — 53,59 ₽/км, тент 10 т — 38,84 ₽/км, рефрижератор 20 т — 63,02 ₽/км, малотоннаж 1,5 т — 25,00 ₽/км. Каждая получена делением полной себестоимости своего типа на 0,86. Расстояние берётся не по прямой, а по маршруту из справочника — иначе Москва — Казань превращается в 720 км вместо 820.

  2. 2
    Уровень 2. Надбавки и вычеты

    Температурный режим +18 %, негабарит +25 %, каждая дополнительная точка выгрузки +3 400 ₽, ожидание сверх трёх часов 1 150 ₽/час, платные участки по факту, зимний коэффициент на северных направлениях +12 %, подтверждённая обратная загрузка — вычет её ставки из себестоимости круга.

  3. 3
    Уровень 3. Минимальный чек

    18 000 ₽ независимо от расстояния. Ниже этой суммы рейс не окупает подачу машины и оформление документов, и «короткое плечо за 9 000 ₽» — это не гибкость, а убыток, замаскированный под загрузку парка.

  4. 4
    Уровень 4. Коридор скидки

    До 7 % — логист даёт сам. От 7 до 15 % — согласование руководителя. Больше 15 % — только с подтверждённой обратной загрузкой, приложенной к заявке. Коридор важнее самой ставки: без него любая тарифная модель за квартал превращается в справочное значение, от которого все отступают.

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

схема процессаraschet-stoimosti-perevozki--02
Четыре уровня тарифной модели: база, надбавки, минимальный чек и коридор скидки

Схема из четырёх последовательных блоков сверху вниз со стрелками между ними. Блок 1 «Базовая ставка: 53,59 ₽/км для тента 20 т». Блок 2 «Надбавки: температура +18 %, негабарит +25 %, точка +3 400 ₽, ожидание 1 150 ₽/час, зима +12 %». Блок 3 «Минимальный чек 18 000 ₽» с пометкой «отсекает убыточные короткие плечи». Блок 4 «Коридор скидки: до 7 % логист, 7–15 % руководитель, свыше 15 % только с подтверждённой обратной загрузкой». Справа от цепочки — отводящая стрелка в блок «Очередь ручного расчёта: 20 % запросов, ответ до 2 часов». Чертёжный стиль, подписи по-русски.

Каждый уровень редактируется в таблице; в коде не должно жить ни одно число

Обратный рейс меняет ставку почти вдвое

Это главный расчёт статьи и главная причина, по которой перевозчики не понимают ценообразование друг друга. Считать надо не плечо, а круг: машина, ушедшая в Казань, обязана вернуться, и её возврат стоит денег независимо от того, есть в кузове груз или нет.

Круг Москва — Казань — Москва, тент 20 т, 1 640 км
Полная себестоимость круга: 1 640 км × 46,09 ₽75 588 ₽
Сценарий 1: обратная загрузка не найдена, покрывать надо всё75 588 ₽
Ставка при марже 14 %: 75 588 ÷ 0,8687 893 ₽
Сценарий 2: обратная загрузка найдена за 34 000 ₽75 588 − 34 000 = 41 588 ₽
Ставка при марже 14 %: 41 588 ÷ 0,8648 358 ₽
Разница между двумя ставками39 535 ₽, то есть в 1,82 раза
ИтогоОдна и та же перевозка стоит 48 358 ₽ или 87 893 ₽ — вопрос только в обратной загрузке

Отсюда три практических следствия. Первое: ставка без подтверждённой обратной загрузки должна считаться по первому сценарию, а не по второму «в надежде». Второе: скидка сверх 15 % допустима ровно тогда, когда обратный груз уже найден и приложен к заявке. Третье: на направлениях, где обратная загрузка есть почти всегда, тарифную модель надо строить сразу по кругу, иначе логисты будут вручную занижать плечо, чтобы попасть в рынок, и модель перестанет что-либо описывать.

Проверить себя просто: возьмите двадцать последних рейсов на популярном направлении и посчитайте, в скольких из них обратный груз действительно был. Если в модели заложено «почти всегда», а по факту в двенадцати из двадцати, ваша тарифная сетка систематически занижена примерно на 20 %, и никакая скидочная дисциплина этого не исправит.

сравнениеraschet-stoimosti-perevozki--03
Два расчёта одного круга: 87 893 ₽ без обратной загрузки против 48 358 ₽ с ней

Сравнение двух вертикальных столбцов на общей денежной оси. Левый столбец «Обратная загрузка не найдена — 87 893 ₽» разложен на «себестоимость круга 75 588 ₽» и «маржа 14 %». Правый столбец «Обратная загрузка 34 000 ₽ — 48 358 ₽» разложен на «непокрытая себестоимость 41 588 ₽» и «маржа 14 %», а сверху отдельным светлым сегментом показана «загрузка обратно 34 000 ₽», закрывающая разрыв до той же высоты, что у левого столбца. Между столбцами двусторонняя стрелка с подписью «39 535 ₽, ×1,82». Внизу общая подпись: «круг 1 640 км, тент 20 т». Чертёжный стиль, подписи по-русски.

Разница в 39 535 ₽ объясняет, почему конкурент возит вдвое дешевле и не разоряется

Скорость ответа: 500 запросов, 69 сделок против 95

Точность тарифа важна, но в деньгах она проигрывает скорости. На конкурентных направлениях заявка уходит нескольким перевозчикам одновременно, и вероятность сделки у того, кто ответил первым, заметно выше — просто потому, что клиент уже начал разговор. Общую методику счёта этого эффекта мы разбирали в материале про скорость ответа и конверсию; здесь она применена к запросам на перевозку.

Эффект ускорения ответа при 500 запросах в месяц
Конверсия при ответе до 30 минут (модельное допущение)20 %
Конверсия при ответе дольше 4 часов (модельное допущение)10 %
Сейчас: быстро отвечаем на 38 % запросов500 × (0,38 × 0,20 + 0,62 × 0,10) = 69 сделок
После: тарифная модель считает 90 % запросов сразу500 × (0,90 × 0,20 + 0,10 × 0,10) = 95 сделок
Прирост: 26 рейсов × 8 680 ₽ маржи225 680 ₽/мес
Реально реализуется примерно половина — упирается в свободные машины112 840 ₽/мес
Итого112 840 ₽ в месяц при вложении 135 600 ₽ в тарифную модель и приведение тарифов к правилам

Две цифры конверсии в этом расчёте — модельное допущение, а не измерение. Свои надо взять из CRM: отобрать запросы за квартал, разметить их по времени первого ответа и посчитать долю выигранных в каждой группе. Если разрыв между быстрыми и медленными меньше двух процентных пунктов, весь этот раздел к вам не относится и тарифную модель надо обосновывать точностью, а не скоростью.

Половину прироста съедает нехватка машин

Быстрый ответ приводит больше заявок, но не создаёт транспорт. Если парк загружен на 90 %, вы просто начнёте отказывать чаще — и заработаете репутацию, которая обнулит эффект. Поэтому в расчёте выше стоит коэффициент 0,5: из 26 дополнительных рейсов реально берутся 13, остальные либо уходят на наёмный транспорт с чужой маржой, либо отдаются. Перед проектом честно посмотрите на коэффициент использования парка: при загрузке выше 85 % сначала нужен транспорт, а не расчёт.

Что делать с оставшимися 20 %

Правила не должны пытаться посчитать всё. Задача модели — честно определить, что она посчитать не может, и передать запрос человеку с понятным сроком ответа. Это принципиально: молча выданная неправильная цена дороже, чем прямое «ответим в течение двух часов».

  • Порог суммы. Всё дороже 150 000 ₽ уходит на подтверждение руководителю независимо от того, посчиталось ли по правилам. Ошибка в дорогом рейсе стоит как десять ошибок в дешёвых.
  • Порог скидки. Запрос со скидкой сверх 7 % от расчётной ставки не отправляется автоматически. Здесь важен не сам порог, а то, что решение фиксируется: кто согласовал, на каком основании, была ли обратная загрузка.
  • Классы груза вне правил. Опасный груз, негабарит, температурный режим с узким коридором, живой груз, мультимодальное плечо. Их можно добавлять в правила по одному, когда накопится статистика, но начинать надо с очереди.
  • Новый клиент с отсрочкой платежа. Это не тарифный вопрос, а вопрос кредитного лимита. Модель должна пометить запрос и показать логисту историю расчётов с этим контрагентом, а не считать цену как обычно.
  • Ручной расчёт с обратной связью. Каждый запрос из очереди после закрытия помечается причиной, по которой он туда попал. Через квартал этот список показывает, какие три правила надо дописать, чтобы очередь сократилась вдвое.

Готовое предложение при этом всё равно должно собираться автоматически — с расчётной ставкой или с ценой, проставленной руками. Как устроена сборка коммерческого предложения и счёта из данных заявки, разбиралось в отдельном материале про автоматическое КП.

Плановая маржа 14 %, фактическая 10,8 %

Тарифная модель обещает маржу, а рейс её приносит — и между обещанием и фактом всегда есть разрыв. Пока он не измерен, тарифы правятся вслепую. Считать надо по закрытым рейсам: плановая маржа из расчёта минус фактические отклонения из данных рейса.

Причина отклоненияРейсов из 180Потеря на рейсВсего за месяц
Простой под погрузкой и выгрузкой сверх норматива, не выставленный клиенту179 часов × 1 150 ₽ = 10 350 ₽175 950 ₽
Обратная загрузка не найдена или найдена дешевле заложенной1312 000 ₽156 000 ₽
Перепробег против расчётного маршрута1090 км × 26,29 ₽ ≈ 2 370 ₽23 700 ₽
Итого40 рейсов из 180355 650 ₽

Плановая маржа месяца — 180 × 8 680 ₽ = 1 562 400 ₽. За вычетом отклонений остаётся 1 206 750 ₽, а это при выручке 11 160 000 ₽ даёт 10,8 % вместо обещанных 14 %. Три четверти разрыва приходятся на две причины, и обе устранимы не тарифом, а данными: простой надо выставлять счётом, а обратную загрузку — подтверждать до отправки предложения.

Счёт за простой держится на отметках водителя

Выставить сверхнормативное ожидание можно только тогда, когда есть время прибытия и время окончания погрузки, зафиксированные так, чтобы клиент их принял. Водитель в вашей системе не работает, поэтому отметки приходят одним из трёх способов: сообщение в мессенджере с геометкой, автоматическая простановка по въезду в геозону склада или, если у водителя нет смартфона, звонок диспетчеру — 3 минуты на событие, около 18 часов в месяц на парк из 15 машин. Фотография отметки в товарно-транспортном документе с указанным временем закрывает спор надёжнее любого трека, поэтому её стоит требовать вместе со снимком подписанной накладной.

графикraschet-stoimosti-perevozki--04
Плановая маржа 14 % и фактическая 10,8 %: три причины разрыва в 355 650 ₽

Каскадная диаграмма (водопад) за месяц. Первый столбец «Плановая маржа 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 % — с подписью руководителя»; и ежемесячная сверка десяти закрытых рейсов на предмет того, совпала ли обещанная маржа с фактической. Это забирает две самые дорогие строки из расчёта отклонений и стоит ноль.

Цена перевозки считается по кругу, а не по плечу. Всё остальное — надбавки к этой мысли.