Цена доставки на сайте должна собираться из себестоимости плюс решения о том, какую её часть вы сознательно берёте на себя. На практике она чаще всего назначается по памяти — «у соседей 300, поставим 300» — и дальше живёт годами, пока кто-нибудь не задастся вопросом, почему при растущем обороте не растёт прибыль.

Разрыв здесь больше, чем кажется. В модельном расчёте ниже одна городская доставка обходится в 721 ₽, а берут за неё 300 ₽. Разница в 421 ₽ не убыток — она покрывается маржой товара. Но при среднем чеке 2 400 ₽ и марже 30 % эта разница съедает 58 % всей маржи заказа, и решение о таком расходе никто сознательно не принимал.

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

Себестоимость одной доставки: пять составляющих

Считаем собственную развозку: три машины, 40 адресов в день, 22 рабочих дня — 880 доставок в месяц, суммарный пробег 240 километров в день. Час водителя берём по 700 ₽ — это полная стоимость часа рядового сотрудника со взносами, отпуском и оснащением рабочего места. Топливо — 12 литров на 100 километров по 62 ₽ за литр, то есть 7,44 ₽ за километр.

Себестоимость одной городской доставки, 880 доставок в месяц
Водители: 3 × 8 часов × 22 дня × 700 ₽/час = 369 600 ₽ ÷ 880420 ₽
Машины: лизинг, страховка и обслуживание 45 000 ₽ × 3 = 135 000 ₽ ÷ 880153 ₽
Топливо: 5 280 км × 7,44 ₽/км = 39 300 ₽ ÷ 88045 ₽
Упаковка и расходники на заказ60 ₽
Доля повторных выездов: 7 % заказов × 618 ₽ прямых затрат43 ₽
Итого721 ₽ себестоимость одной доставки

Три замечания к этой арифметике. Первое: доля водителя — больше половины суммы, и это значит, что любая экономия на топливе несопоставима с экономией на времени в пути. Второе: постоянная часть — водитель и машина — не зависит от числа заказов, поэтому себестоимость доставки резко падает с ростом плотности; те же три машины на 48 адресах в день дают уже 610 ₽ вместо 721 ₽. Третье и главное — про последнюю строку.

Возвраты и недозвоны — строка, которой почти никогда нет в расчёте

Клиент не открыл дверь, не берёт трубку, передумал у порога, товар не подошёл — курьер везёт заказ обратно, а потом кто-то едет второй раз. При доле 7 % это добавляет 43 ₽ к каждому заказу, включая те, что доехали с первого раза: 37 840 ₽ в месяц на потоке 880 доставок. В тарифе эта сумма невидима, потому что клиент за повторный выезд обычно не платит. Считать её надо не по отдельным случаям, а размазанной по всему потоку — иначе себестоимость систематически занижена на 6 %.

схема процессаraschet-stoimosti-dostavki--01
Пять слагаемых себестоимости доставки: 420, 153, 45, 60 и 43 рубля, итого 721

Горизонтальная схема-формула из пяти блоков разной ширины, пропорциональной сумме, со знаками плюс между ними и итоговым блоком справа. Блоки подписаны: «Водитель, 3 × 8 часов × 22 дня» — 420 ₽ (самый широкий), «Машина: лизинг, ОСАГО, ТО» — 153 ₽, «Топливо, 5 280 км» — 45 ₽, «Упаковка» — 60 ₽, «Повторные выезды, 7 %» — 43 ₽ (выделен другой штриховкой с пометой «забывают чаще всего»). Итоговый блок «Себестоимость одной доставки» — 721 ₽. Под схемой строка вводных: «3 машины, 40 адресов в день, 22 дня, 880 доставок в месяц». Чертёжный стиль, подписи по-русски.

Больше половины суммы — час водителя, а не топливо, на котором принято экономить

Три способа тарификации и что каждый делает с маржой

Способов назначить цену клиенту три, и выбор между ними — это выбор между простотой для покупателя и точностью для вас. Универсально правильного нет, но у каждого есть предсказуемое последствие.

СпособЧто видит клиентЧто делает с маржойКогда подходит
Фиксированная цена по городуОдну понятную цифру на всех страницахДальние заказы дотируются ближними; при росте доли окраин маржа тихо проседаетКомпактный город, разброс себестоимости внутри зоны меньше 25 %
По зонамСвою цену после ввода адреса, обычно 3–4 значенияКаждая зона окупает себя; недобор становится осознанным и управляемымБольшинство случаев: город с разной плотностью и пробками
От веса и габаритовЦену после сборки корзины, иногда неожиданнуюТочнее всего, но снижает конверсию: цена меняется при добавлении товараКрупногабарит, мебель, стройматериалы — там, где вес реально решает

Разница между первым и вторым способом на нашей модели считается точно. При фиксированных 300 ₽ недобор составляет 421 ₽ с заказа, то есть 370 480 ₽ в месяц. При тарифах по зонам 400, 650 и 1 000 ₽ средневзвешенный тариф равен 535 ₽, недобор падает до 186 ₽ с заказа — 163 680 ₽ в месяц. Разница между двумя способами тарификации, при том же товаре и том же курьере, — 206 800 ₽ в месяц.

Зоны считаются по времени в пути, а не по районам

Административные границы к логистике отношения не имеют. Два соседних района могут отличаться по времени подъезда вдвое из-за одной развязки, а один и тот же район на разных берегах реки — втрое. Зоны строятся по двум признакам сразу: времени в пути от склада в рабочие часы и плотности заказов.

  1. 1
    Шаг 1. Возьмите фактические адреса за квартал

    Не карту города, а свою выгрузку заказов: адрес, дата, время прибытия курьера. Триста-четыреста точек уже дают устойчивую картину, и она почти всегда расходится с интуицией.

  2. 2
    Шаг 2. Посчитайте фактическое время подъезда, а не расстояние

    Километры обманывают: 8 км по набережной и 8 км через центр в будний день — это 15 и 45 минут. Берите медиану времени по каждому кусту адресов в те часы, когда вы реально ездите.

  3. 3
    Шаг 3. Сгруппируйте по времени и проверьте плотность

    Зона А — до 25 минут в пути, зона Б — 25–50 минут, зона В — дальше. Дальше проверка: если в кусте меньше 8 адресов в день, он не отрабатывает выезд машины, даже находясь в 20 минутах, и должен попасть в более дорогую зону.

  4. 4
    Шаг 4. Посчитайте себестоимость в каждой зоне отдельно

    В нашей модели получилось: зона А — 600 ₽ при 60 % заказов, зона Б — 820 ₽ при 30 %, зона В — 1 150 ₽ при 10 %. Средневзвешенная сходится с общей себестоимостью: 0,6 × 600 плюс 0,3 × 820 плюс 0,1 × 1 150 равно 721 ₽.

  5. 5
    Шаг 5. Назначьте тариф и осознанно решите, сколько дотируете

    Тарифы 400, 650 и 1 000 ₽ означают, что вы доплачиваете 200, 170 и 150 ₽ на заказ соответственно. Это нормально — доставка часть маркетинга. Ненормально, когда размер этой доплаты никто не знает.

карта связейraschet-stoimosti-dostavki--02
Три зоны доставки по времени в пути: 600, 820 и 1 150 рублей себестоимости

Условная схематичная карта города в чертёжном стиле, без узнаваемой географии. В центре отметка «склад», от неё расходятся три неровные зоны, границы которых явно не совпадают с прямоугольной сеткой кварталов и огибают реку и крупную магистраль. Зона А подписана «до 25 минут, 60 % заказов, себестоимость 600 ₽, тариф 400 ₽». Зона Б — «25–50 минут, 30 % заказов, 820 ₽, тариф 650 ₽». Зона В — «дальше 50 минут, 10 % заказов, 1 150 ₽, тариф 1 000 ₽». Отдельно в зоне А отмечен вырезанный кусочек с пометой «меньше 8 адресов в день — по тарифу зоны Б». Внизу подпись «средневзвешенная себестоимость 721 ₽». Подписи по-русски.

Границы зон идут по времени подъезда, а не по районам — поэтому они неровные

Порог бесплатной доставки выводится из маржи

Порог обычно берут у конкурентов или округляют до красивой цифры. Считается он элементарно: сумма заказа должна принести маржу, которая покрывает себестоимость доставки и оставляет целевой минимум прибыли. Возьмём целевой минимум в 300 ₽ с заказа.

Что это значитПорог бесплатной доставки

Порог равен (себестоимость доставки плюс целевая прибыль) делённое на долю маржи в чеке. В нашей модели числитель — 721 ₽ плюс 300 ₽, то есть 1 021 ₽. Дальше всё зависит от маржинальности ассортимента, и разброс получается почти вдвое.

Маржа в чекеРасчёт порогаПорог с округлением вверхНасколько это выше среднего чека 2 400 ₽
22 %1 021 ₽ ÷ 0,22 = 4 641 ₽4 700 ₽+96 %
30 %1 021 ₽ ÷ 0,30 = 3 403 ₽3 500 ₽+46 %
40 %1 021 ₽ ÷ 0,40 = 2 553 ₽2 600 ₽+8 %

Последняя колонка объясняет, зачем всё это считалось. Порог бесплатной доставки — не подарок покупателю, а инструмент увеличения чека: при марже 30 % он предлагает клиенту добрать корзину почти в полтора раза. При марже 22 % порог получается вдвое выше среднего чека, и это честный сигнал, что бесплатная доставка на таком ассортименте работать не будет: до неё дотянутся единицы, а остальные увидят недостижимую планку. Правильный ход в этом случае — не бесплатная доставка, а скидка на неё от определённой суммы.

графикraschet-stoimosti-dostavki--03
Три порога бесплатной доставки: 4 700, 3 500 и 2 600 рублей при марже 22, 30 и 40 процентов

Столбиковая диаграмма из трёх столбцов, ось Y — рубли. Столбцы подписаны по марже: «22 %» — 4 700 ₽, «30 %» — 3 500 ₽, «40 %» — 2 600 ₽. Через всю диаграмму горизонтальная пунктирная линия на отметке 2 400 ₽ с подписью «средний чек». Над каждым столбцом подпись превышения: «+96 %», «+46 %», «+8 %». Слева от диаграммы вынесена формула: «(721 ₽ себестоимость + 300 ₽ целевая прибыль) ÷ доля маржи». Столбец «22 %» помечен как «порог недостижим, нужна не бесплатная доставка, а скидка». Чертёжный стиль, подписи по-русски.

Один и тот же ассортимент, разная маржа — и порог отличается почти вдвое

Что нужно технически, чтобы цифра считалась сама

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

  1. 1Справочник тарифов в учётной системе. Строка справочника — это зона, диапазон веса, срок доставки и способ; значение — цена и порог бесплатной. Справочник ведёт один человек, правки логируются. Это единственный источник истины по цене доставки.
  2. 2Определение зоны по адресу. Адрес клиента превращается в координаты и сопоставляется с границами зон. Ручной выбор зоны менеджером здесь недопустим: он ошибается в пользу клиента примерно в каждом десятом случае, и ошибка невидима.
  3. 3Обмен с сайтом. Сайт не хранит тарифы, а спрашивает цену по адресу и составу корзины. Тогда изменение тарифа применяется везде одновременно, а не «на сайте поправили, в CRM забыли». Общие правила такого обмена разобраны в статье про обмен остатками и ценами с сайтом.
  4. 4Обращение к службам доставки за расчётом. Для отправлений за пределы своей развозки цена берётся не из таблицы, а запросом к службе — у СДЭК, Яндекс Доставки и Почты России есть интерфейсы расчёта. Обязательно предусмотрите поведение при недоступности службы: показывать заранее заданную цену «от», а не ошибку.
  5. 5Учёт факта, а не только плана. Раз в месяц фактическая себестоимость пересчитывается по реальному пробегу и числу повторных выездов и сравнивается с тарифом. Без этой сверки конструкция устаревает за полгода: топливо подорожало, плотность заказов изменилась, а тариф остался прежним.

Когда всё это считать не надо

Четыре ситуации, в которых подробная тарифная модель — лишняя работа.

  • Меньше 100 доставок в месяц. Разброс себестоимости на таком объёме случаен: одна дальняя поездка сдвигает среднее на десятки процентов. Считайте общую сумму расходов на доставку за квартал и делите на число заказов — этой точности достаточно, чтобы понять, дотируете вы доставку или нет.
  • Доставка целиком отдана службе. Тогда ваша себестоимость — это счёт службы, и считать нечего. Работа сводится к другому: сверять счёт с фактическими отправлениями и следить, чтобы тариф на сайте не отставал от тарифа службы после его пересмотра.
  • Компактный город и однородная плотность. Если разброс себестоимости между самой близкой и самой дальней доставкой меньше четверти, зоны не нужны: фиксированная цена проще для клиента и не искажает экономику.
  • Доставка сознательно бесплатная как часть позиционирования. Тогда её всё равно надо посчитать — но не для тарифа, а чтобы знать, сколько стоит это решение. В нашей модели полностью бесплатная доставка съедает 721 ₽ из 720 ₽ маржи, то есть заказ уходит в ноль. Такое решение принимается осознанно и с расчётом на повторные покупки, а не по умолчанию.

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