Contribution margin и cost-to-serve: как считать прибыльность…
  • Аналитика
  • Автор: Команда CrmAI
  • Опубликовано:
Contribution margin и cost-to-serve: анализ прибыльности по сегментам и каналам на данных CRM

Марат управляет оптовой компанией в Астане. Двадцать лет в бизнесе, стабильный рост, хорошая репутация. Казалось бы, всё под контролем. Но в прошлом году случилось странное: выручка выросла на 18%, а прибыль... упала на 7%.

«Я смотрел на отчёты и не понимал, что происходит, — рассказывает Марат. — Продаём больше, работаем интенсивнее, менеджеры перевыполняют планы. А денег в конце месяца меньше. Как будто вода сквозь пальцы утекает».

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

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

«Выручка — это тщеславие, прибыль — это здравый смысл, а денежный поток — это реальность».

Альфред Раппапорт
автор концепции Shareholder Value
Цитата

Contribution margin: что это и почему важнее выручки

Окей, начнём с азов. Contribution margin — звучит умно, да? На русский переводят как «маржинальная прибыль» или «вклад на покрытие». По сути, это то, что остаётся у вас в кармане после того, как вы вычли всё, что напрямую потратили на эту конкретную продажу. Купили товар за 100, продали за 150 — contribution margin 50. Ну, грубо говоря.

А теперь фокус. Почему это круче, чем просто смотреть на выручку? Смотрите, есть у вас два клиента:

Клиент А: «Тихий»

  • Заказ в месяц: 500 000 ₸
  • Себестоимость товара: −350 000 ₸
  • Доставка (самовывоз): 0 ₸
  • Возвраты: 0 ₸
  • Время менеджера (2 звонка): −3 000 ₸
Contribution margin: 147 000 ₸
29.4% от выручки

Клиент Б: «Требовательный»

  • Заказ в месяц: 800 000 ₸
  • Себестоимость товара: −560 000 ₸
  • Доставка (в область): −45 000 ₸
  • Возвраты (15%): −72 000 ₸
  • Время менеджера (18 звонков): −27 000 ₸
Contribution margin: 96 000 ₸
12% от выручки

Чувствуете подвох? Клиент Б вроде круче — выручки на 60% больше. Но маржи с него на треть меньше! Если на собрании хвалить менеджера за «крупного клиента Б» — это как хвалить рыбака за тяжёлый улов, не зная, что половина рыбы гнилая.

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

Кстати, про unit-экономику и как всё это связано с LTV/CAC — есть отдельная статья Unit-экономика через призму CRM: LTV, CAC, Payback период. Там про формулы подробнее.

Cost-to-serve: сколько стоит обслужить клиента

Идём глубже. Cost-to-serve — это, по сути, ответ на вопрос «а сколько мне стоит этот клиент?». Не в смысле «сколько он платит», а в смысле «сколько я трачу, чтобы ему продать и его обслужить».

Тут вот какая штука. Два клиента могут покупать на одинаковую сумму. Но один заказывает раз в месяц оптом, сам приезжает на склад и молча забирает. А второй заказывает каждую неделю по мелочи, требует доставку в область, звонит уточнить каждую позицию и возвращает половину. Догадываетесь, кто обходится дороже? Если не считать cost-to-serve — вы этого никогда не узнаете. Будете думать, что оба клиента одинаково хороши.

Из чего складывается cost-to-serve

Логистика

Доставка, хранение, возвраты, срочные отгрузки, мелкие партии

Поддержка

Звонки, переписка, решение проблем, жалобы, рекламации

Продажи

Время менеджера, КП, согласования, встречи, командировки

Администрирование

Документы, сверки, дебиторка, специальные условия

Ладно, хватит теории. Вернёмся к Марату — помните его? Оптовая компания, выручка растёт, прибыль падает.

Когда мы разложили всех клиентов по cost-to-serve, картина получилась... занятная. Клиенты из Астаны и пригородов обходились в 4-6% от выручки — логистика простая, вопросов мало. Клиенты из дальних регионов — уже 12-18%. А вот «особые» ребята, которые требуют персонального менеджера, срочных доставок и согласования каждого чиха — до 25%!

И знаете, что самое обидное? Эти «особые» — часто самые крупные по выручке. Их холят, лелеют, дают лучшие скидки. А что они реально приносят компании — никто не считал. Потому что в отчётах красиво: «крупный клиент, 12 миллионов в месяц». А то, что он эти 12 миллионов съедает обратно своими капризами — это как-то не видно.

Сегмент клиентов Выручка (млн ₸/мес) Cost-to-serve (%) Cost-to-serve (млн ₸) Contribution margin
Астана и окрестности 45 5% 2.25 28%
Караганда, Павлодар 28 9% 2.52 22%
Южные регионы 22 14% 3.08 15%
«VIP» клиенты (10 шт.) 35 22% 7.70 8%
Итого 130 12% 15.55 19%

Марат смотрел на эту таблицу минуты три молча. Потом выдал: «Подожди. То есть наши VIP-ы, которыми мы хвастаемся на каждом совещании, приносят меньше денег, чем какой-нибудь ИП Сериков из соседнего района?»

Ну да. Именно так. Это не значит, что надо завтра послать всех крупных клиентов куда подальше. Но это значит, что надо что-то делать: либо снижать стоимость их обслуживания (автоматизация, стандартные процессы), либо пересматривать цены и условия, либо честно сказать себе — «ладно, это имиджевая история, мы готовы за неё платить». Главное — платить осознанно, а не потому что «так исторически сложилось».

Как собирать данные для расчёта: что должно быть в CRM

Окей, всё это красиво звучит. Но откуда брать цифры? Не на потолок же смотреть.

Хорошая новость: бóльшая часть нужной информации уже болтается где-то в вашей CRM. Плохая новость: скорее всего, вы её не собираете. Или собираете, но криво.

Смотрите, что нужно, чтобы нормально считать прибыльность:

Данные о выручке (обычно есть)

  • Сумма сделок по клиенту
  • Средний чек
  • Частота покупок
  • Товарные категории
  • Канал продажи

Данные о затратах (часто не собирают)

  • Время менеджера на клиента
  • Количество звонков/писем
  • Стоимость доставки по заказам
  • Процент и сумма возвратов
  • Количество обращений в поддержку

Видите закономерность? Всё, что про деньги в вашу сторону — CRM считает автоматом. А всё, что про деньги от вас — надо настраивать руками. Поэтому большинство компаний прекрасно знают, сколько клиент заплатил, но понятия не имеют, сколько на него потратили.

Как это исправить на практике:

Что настроить в CRM, чтобы видеть реальную картину

1. Пишите всё, что делают менеджеры

Каждый звонок, каждое письмо, каждая встреча — с привязкой к клиенту. И не просто «позвонил Иванову», а «звонок 12 минут, тема — опять торгуется по скидке». Если у вас интегрирована телефония — это делается автоматом. Если нет — ну, пора интегрировать.

2. Свяжите логистику с клиентами

Доставка стоила 15 тысяч? Отлично, запишите это на конкретный заказ конкретного клиента. Был возврат? Туда же. Если логистика живёт в отдельной системе — сделайте интеграцию. Без этого вы будете вечно гадать, кто съедает бюджет на доставку.

3. Считайте обращения в поддержку

Каждый тикет — это чьё-то время, а время — деньги. Клиент, который звонит трижды в неделю с вопросами типа «а когда будет?» и «а можно переделать?», обходится сильно дороже того, кто просто заказывает и молчит. Helpdesk и CRM должны дружить.

4. Не забывайте про «особые условия»

Персональная скидка 15%? Отсрочка на 60 дней вместо 30? Бесплатная доставка «потому что старый клиент»? Всё это деньги, которые вы не получили. Заведите в CRM поля для таких штук и считайте их стоимость. Иначе через год удивитесь, почему маржа упала.

И ещё момент. Не надо превращать это в бухгалтерский учёт с точностью до тиына. Цель не в этом. Цель — понять порядок величин и сравнить клиентов между собой.

Если клиент А звонит 100 раз в месяц, а клиент Б — 5 раз, то неважно, стоит звонок 500 тенге или 700. Важно, что А в 20 раз «звонливее». Этого достаточно для принятия решений.

Про то, как вообще нормально организовать данные в CRM, чтобы потом не плакать — есть отдельный материал: Качество данных в CRM: как построить единый источник правды (SSOT).

Хотите понять прибыльность своих клиентов?

Проведём аудит вашей CRM и покажем, как настроить сбор данных для расчёта contribution margin. Первая консультация — бесплатно.

Обсудить аудит CRM

Анализ прибыльности по сегментам: где искать «золотых» клиентов

Ну вот, данные собрали. Теперь самое вкусное — смотрим, что получилось. И тут обычно начинаются сюрпризы.

Знаете, как большинство компаний делит клиентов? ABC-анализ по выручке. Кто много платит — в категорию А, средние — в Б, мелочь — в В. Просто и понятно. Только вот беда: это примерно как выбирать друзей по росту. Формально логично, по факту — мимо.

Когда добавляешь в уравнение contribution margin, всё переворачивается. Вот что мы увидели у одной алматинской компании:

Матрица прибыльности клиентов

Высокая выручка

Высокая маржа

«Звёзды»

12% клиентов

Высокая выручка

Низкая маржа

⚠️

«Проблемные»

8% клиентов

Низкая выручка

Высокая маржа

🌱

«Потенциал»

35% клиентов

Низкая выручка

Низкая маржа

«Балласт»

45% клиентов

И что делать с каждой группой?

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

«Проблемные» — самая хитрая категория. Смотришь на них — вроде крутые клиенты, заказы большие. А копнёшь — они съедают ресурсов больше, чем приносят. С ними два пути: либо резко снижать cost-to-serve (автоматизация, стандартные условия, никаких «а можно срочно»), либо пересматривать цены. Ну или честно расходиться — тоже вариант.

«Потенциал» — вот где золото лежит. Пока покупают немного, но каждая покупка — с хорошей маржой. Не выносят мозг, не требуют скидок. Задача — развивать: допродавать, предлагать новые категории, увеличивать частоту заказов. ROI от маркетинга здесь будет космический.

«Балласт» — ребята, которые просто сидят на шее. Заказывают по мелочи, звонят с вопросами, возвращают половину. Их надо либо переводить в режим самообслуживания (пусть заказывают через сайт и не трогают менеджеров), либо аккуратно намекать, что у конкурентов тоже неплохо. Звучит жёстко? Ну, бизнес — штука жёсткая.

Прибыльность каналов: где маркетинг работает, а где — сливает бюджет

Ещё одна штука, которую мало кто считает — откуда приходят прибыльные клиенты. Не просто «откуда пришёл лид», а «сколько денег мы реально заработали с этого канала».

Типичная картина. Маркетолог выходит на планёрку и гордо докладывает: «Instagram принёс 200 лидов и 15 миллионов выручки!». Все хлопают. А потом садишься считать нормально:

Канал Лиды Выручка Cost of acquisition Avg. cost-to-serve Contribution margin
Instagram 200 15 млн ₸ 1.2 млн ₸ 18% 9%
Рекомендации 45 8 млн ₸ 0 ₸ 6% 28%
Яндекс.Директ 85 9 млн ₸ 600 тыс ₸ 10% 18%
Выставки 30 12 млн ₸ 800 тыс ₸ 8% 21%
Холодные звонки 60 4 млн ₸ 400 тыс ₸ 15% 5%

Упс. Instagram с его 200 лидами и 15 миллионами выручки — один из худших по прибыльности. Как так вышло?

Да просто. Клиенты оттуда приходят за скидками — увидели акцию, кликнули, купили дешёвое. Потом задают миллион вопросов, потому что толком не понимают продукт. Возвращают чаще, чем другие. Плюс само привлечение стоит денег. В итоге от 15 миллионов выручки реально остаётся меньше, чем от 8 миллионов по рекомендациям.

А рекомендации — вообще красота. Ноль затрат на привлечение. Клиент приходит уже «прогретый» — друг рассказал, что и как. Знает, чего хочет, не торгуется, не возвращает. Идеальный канал.

Это не значит, что надо бросить Instagram и сидеть ждать, пока кто-то кого-то порекомендует. Это значит, что надо работать умнее.

С Instagram, например, можно подкрутить таргетинг — чтобы приходили не только охотники за скидками. Сделать нормальные FAQ и чат-бота, чтобы менеджеры не тратили время на одни и те же вопросы. А рекомендации можно стимулировать — запустить реферальную программу, дать бонусы за приведённых друзей.

Про сквозную аналитику и как связать каналы с деньгами — есть подробная статья Сквозная аналитика CRM: UTM, источники, атрибуция, канал и выручка.

История Марата: что изменилось за полгода

Помните Марата из начала статьи? Ну, того самого, у которого выручка росла, а прибыль падала. Чем всё закончилось?

Первое решение далось нелегко. Тот самый «крупный клиент из Шымкента», который генерировал 400 тысяч убытка в месяц — с ним пришлось поговорить начистоту. Показали расчёты (да, прямо с цифрами), предложили новые правила игры: минимальная партия — от 500 тысяч, бесплатной доставки больше нет, сроки — стандартные, никаких «надо вчера». Клиент поворчал, но согласился на часть условий. Объёмы просели на 30%. Зато убыток превратился в небольшой, но плюс.

Было (до анализа)

  • Выручка в месяц: 130 млн ₸
  • Маржинальная прибыль: 19% (24.7 млн)
  • «Проблемных» клиентов: 8%
  • Понимание прибыльности: Отсутствует

Стало (через 6 месяцев)

  • Выручка в месяц: 118 млн ₸ (−9%)
  • Маржинальная прибыль: 26% (30.7 млн) (+24%)
  • «Проблемных» клиентов: 3%
  • Понимание прибыльности: Полное

Смотрите на цифры: выручка минус 9%, прибыль плюс 24%. Вот она, магия правильного счёта.

Что ещё поменял Марат за эти полгода:

Мелких клиентов — тех самых из «балласта» — пересадил на самообслуживание. Сделали личный кабинет, прикрутили бота. Хочешь заказать — заходи, выбирай, плати. Менеджеры больше не отвечают на вопросы типа «а что у вас есть?» по десять раз в день.

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

С «проблемными» провели разговоры. Кто-то согласился на новые условия и остался. Кто-то обиделся и ушёл. И знаете что? Это нормально. Даже хорошо.

И главное — теперь у Марата есть дашборд, который каждый день показывает contribution margin по клиентам, сегментам, каналам. Не раз в квартал на собрании, а каждый день.

«Знаешь, что самое ценное? — сказал мне Марат на прошлой неделе. — Спокойствие. Раньше я радовался каждому крупному заказу как ребёнок, не понимая, что некоторые из них делают меня беднее. А теперь вижу реальную картину. Могу принимать решения, а не гадать на кофейной гуще».

Дашборд прибыльности: какие метрики отслеживать

Окей, а как сделать так, чтобы это не было разовым упражнением «посчитали и забыли»? Нужен нормальный дашборд, который всегда под рукой. Вот что там должно быть:

Дашборд прибыльности: ключевые показатели

По компании
  • Общий contribution margin (%)
  • Динамика margin по месяцам
  • Средний cost-to-serve
  • Доля убыточных клиентов
По сегментам
  • Margin по категориям клиентов
  • Margin по регионам
  • Margin по товарным группам
  • Миграция между сегментами
По каналам
  • Margin по источникам лидов
  • Cost of acquisition по каналам
  • LTV:CAC по каналам
  • Качество лидов (конверсия в margin)

Главное правило: дашборд должен отвечать на вопрос «что делать?», а не просто показывать красивые цифры. Увидели, что маржа по какому-то сегменту поползла вниз — сразу должно быть понятно, копать ли в сторону cost-to-serve, или проблема в ценах, или ещё где.

Про дашборды вообще и что там должно быть для руководителя продаж — есть отдельная статья Дашборд РОПа: 20 метрик отдела продаж.

Типичные ошибки при анализе прибыльности

За годы работы с казахстанскими компаниями мы видели много попыток «наконец-то посчитать прибыльность нормально». Получается не у всех. Вот на чём чаще всего спотыкаются:

Перфекционизм в расчётах

Пытаются учесть каждый тиын, делают Excel-монстра на 50 листов. В итоге расчёт занимает неделю и устаревает раньше, чем закончится. Грубая оценка сегодня лучше, чем идеальная через месяц.

Забыли про накладные

Contribution margin — это ещё не чистая прибыль. Офис, руководство, IT, бухгалтерия — это всё тоже надо куда-то раскидать. Иначе посмотришь на отчёт — и все клиенты прибыльные. Волшебство прямо.

Один раз посчитали и забыли

Устроили аврал, всё посчитали, удивились, порадовались. А через полгода — «а где у нас те данные?». Ситуация давно изменилась, а актуальных цифр нет. Анализ должен быть регулярным, а лучше — автоматическим.

Всё посчитали, ничего не сделали

Самая обидная история. Данные есть, анализ проведён, всем показали. А дальше — «ну, этого клиента мы не можем потерять». И продолжают работать в минус, как будто ничего не было.

Последняя ошибка — моя любимая (в смысле, самая частая). Данные кричат одно, а эмоции шепчут другое. «Да он же с нами десять лет!», «Он нам ещё клиентов приведёт!», «Если мы его потеряем — репутация пострадает!».

Может, и правда приведёт. Может, и правда пострадает. Но тогда запишите это решение явно: «Мы осознанно работаем с клиентом Х в убыток на сумму Y, потому что Z». И через год проверьте — оправдалось ли Z? Если нет — ну, значит, пора что-то менять. А не «так исторически сложилось».

Связь с ценообразованием: как данные влияют на цены

Когда вы знаете реальный cost-to-serve — это меняет не только понимание прибыльности. Это меняет подход к ценам.

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

Можно делать пакеты: базовый тариф — дёшево, но без выделенного менеджера и с обычными сроками доставки. Премиум — дороже, зато персональный аккаунт и приоритет везде. Пусть клиент сам выбирает, что ему нужно.

Скидки тоже начинают работать по-другому. Скидка за объём имеет смысл — большие партии реально снижают cost-to-serve (одна доставка вместо десяти, одно согласование вместо пяти). А скидка «ну пожалуйста, очень надо» — это просто потеря маржи без всякой причины.

И отдельная тема — сервисные услуги. Срочная доставка, персональный менеджер, приоритетная поддержка — это не бесплатные бонусы для «важных клиентов». Это услуги, у которых есть цена. И эту цену можно и нужно брать.

Подробнее про ценообразование в B2B — в большой статье Ценообразование B2B: пакетирование, value-based pricing, SLA и «good-better-best».

Готовы увидеть реальную прибыльность своих клиентов?

Поможем настроить сбор данных в CRM и построить дашборд прибыльности по сегментам и каналам. Первый шаг — бесплатный аудит.

Записаться на аудит

В итоге: деньги важнее цифр в отчётах

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

Вся эта история про одну простую мысль: не выручка делает бизнес успешным. Contribution margin — вот что реально показывает, зарабатываете вы или просто крутите деньги туда-сюда. Не количество клиентов, а их прибыльность. Не объём продаж, а то, сколько с этого объёма остаётся.

Если вынести отсюда три мысли:

Первое — считайте contribution margin, а не только выручку. Без этого вы не видите реальной картины. Красивые цифры в отчётах — это тщеславие, а не бизнес.

Второе — измеряйте cost-to-serve. Разные клиенты стоят по-разному. Кто-то приносит деньги, кто-то — только головную боль. Пока не посчитаете — не узнаете.

Третье — принимайте решения на основе данных, а не «мы с ним давно работаем». Иногда лучший клиент — это бывший клиент. Звучит цинично, но это правда.

У Марата всё получилось. Выручка чуть просела, зато прибыль выросла почти на четверть. Теперь он реально понимает, кто приносит деньги, а кто только создаёт видимость бурной деятельности. И может принимать решения, а не гадать.

Ваш бизнес тоже может так работать. Надо только начать считать правильно.

Часто задаваемые вопросы

В идеале — постоянно, в реальном времени, если CRM позволяет. На практике — хотя бы раз в месяц. Раз в квартал — уже поздновато, данные успевают устареть. Лучше всего настроить автоматику: пусть система сама считает в конце месяца и присылает алерты, если что-то сильно поменялось.

Окей, бывает. Но тогда запишите это решение явно: в чём его стратегическая ценность и сколько вы за это платите. И поставьте напоминалку на год вперёд — проверить, оправдались ли ожидания. Если нет — пора пересматривать условия. А то часто «стратегическая важность» — это просто красивый способ сказать «не хочу принимать сложное решение».

Для старта хватит: выручка по клиенту, себестоимость того, что продали, сколько раз звонили/писали, стоимость доставки. Уже этого достаточно, чтобы увидеть первую картину. Потом можно докручивать: время менеджера, возвраты, персональные скидки, стоимость привлечения и так далее.

Честно. Без воды и извинений. Что-то вроде: «Мы посмотрели на экономику нашего сотрудничества и поняли, что на текущих условиях не можем обеспечивать качественный сервис долго. Вот новые условия, которые работают для обеих сторон». Большинство нормальных клиентов это понимают — они тоже бизнес ведут.

Да, и нужно. В любой нормальной CRM можно делать формулы, кастомные поля, отчёты. Если встроенных возможностей мало — подключайте BI-инструменты типа Power BI или DataLens. Один раз настроить — и дальше данные будут сами собираться. Иначе через месяц надоест считать руками и всё заглохнет.

Читайте также

Ценообразование B2B: value-based pricing и «good-better-best»

Pillar-статья кластера «Pricing и финансы»

Unit-экономика через призму CRM: LTV, CAC, Payback период

Как считать ключевые метрики в CRM

LTV, CAC, unit-экономика: как считать на данных CRM

Детальный расчёт с формулами

TCO сравнение CRM: облако vs коробка vs self-hosted

Полная стоимость владения CRM

Дашборд РОПа: 20 метрик отдела продаж

Какие показатели отслеживать

Сегментация клиентов: от RFM до предиктивных моделей

Как правильно сегментировать базу