Как посчитать blended CAC в SQL

Проверь себя · 1/3разбор после ответа
Что делает оператор DISTINCT в SELECT-запросе?

Зачем blended CAC

Paid CAC = расходы на платные каналы / платные пользователи. Blended CAC = все маркетинговые расходы / все клиенты. Blended честнее показывает, «сколько в реальности стоит пользователь»: даже у органики есть своя цена (контент-команда, SEO-инструменты, брендинг). Инвесторы и советы директоров обычно смотрят на blended.

Формула

blended_CAC = (total marketing + sales spend) / (total new customers)

В отличие от paid CAC, в знаменатель идут ВСЕ клиенты, включая органику, рефералов и брендовый трафик.

Blended CAC в SQL

WITH spend AS (
    SELECT SUM(amount) AS total_spend
    FROM marketing_spend
    WHERE spend_date >= '2026-04-01' AND spend_date < '2026-05-01'
),
all_new AS (
    SELECT COUNT(*) AS new_users
    FROM users
    WHERE created_at >= '2026-04-01' AND created_at < '2026-05-01'
)
SELECT
    s.total_spend,
    a.new_users,
    s.total_spend / NULLIF(a.new_users, 0) AS blended_cac
FROM spend s, all_new a;

Включайте расходы на продажи (sales) — зарплаты, инструменты: реальный CAC для B2B обычно выше, чем выглядит по одному маркетингу.

WITH paid AS (
    SELECT SUM(amount) AS spend
    FROM marketing_spend
    WHERE channel_type = 'paid'
      AND spend_date >= '2026-04-01' AND spend_date < '2026-05-01'
),
paid_users AS (
    SELECT COUNT(*) AS n
    FROM users
    WHERE utm_source IN ('google_ads', 'facebook_ads', 'tiktok_ads')
      AND created_at >= '2026-04-01' AND created_at < '2026-05-01'
),
total_spend AS (
    SELECT SUM(amount) AS spend
    FROM marketing_spend
    WHERE spend_date >= '2026-04-01' AND spend_date < '2026-05-01'
),
all_users AS (
    SELECT COUNT(*) AS n FROM users
    WHERE created_at >= '2026-04-01' AND created_at < '2026-05-01'
)
SELECT
    paid.spend / NULLIF(paid_users.n, 0) AS paid_cac,
    total_spend.spend / NULLIF(all_users.n, 0) AS blended_cac,
    paid.spend / NULLIF(paid_users.n, 0) - total_spend.spend / NULLIF(all_users.n, 0) AS gap
FROM paid, paid_users, total_spend, all_users;

Большой разрыв (paid CAC >> blended) означает, что органика тянет blended вниз. Это как будто «бесплатные» клиенты — но у контента, который их приводит, есть реальная цена.

Закрепи формулу blended cac в Карьернике
Запомнить надолго — 5 коротких сессий с задачами на эту тему. Бесплатно
Тренировать blended cac в Telegram

Помесячная динамика

WITH monthly_spend AS (
    SELECT DATE_TRUNC('month', spend_date)::DATE AS month, SUM(amount) AS spend
    FROM marketing_spend
    GROUP BY DATE_TRUNC('month', spend_date)
),
monthly_users AS (
    SELECT DATE_TRUNC('month', created_at)::DATE AS month, COUNT(*) AS n
    FROM users
    GROUP BY DATE_TRUNC('month', created_at)
)
SELECT
    s.month,
    s.spend,
    u.n AS new_users,
    s.spend / NULLIF(u.n, 0) AS blended_cac
FROM monthly_spend s
JOIN monthly_users u USING (month)
ORDER BY s.month;

Растущий blended CAC — тревожный сигнал: привлечение дорожает, пора искать новый ход.

Частые ошибки

Ошибка 1. Не включать расходы на продажи. Для B2B продажи — это половина CAC. Если считать только маркетинг, вы занизите цифру вдвое.

Ошибка 2. Считать в знаменателе blended только платных пользователей. Тогда это уже не blended, а paid CAC.

Ошибка 3. Брать полную ставку сотрудника вместо его доли. Если дизайнер занят на 50% в маркетинге и на 50% в продукте — включайте 50% его зарплаты, а не 100%.

Ошибка 4. Игнорировать стоимость инструментов. HubSpot, GA, инструменты атрибуции — всё это идёт в числитель.

Ошибка 5. Сравнивать blended CAC между компаниями без контекста. Стадия компании (ранняя или поздняя), модель роста (PLG или sales-led), сегмент (Enterprise или SMB) — всё это несопоставимо без нормализации.

Связанные темы

FAQ

Зависит от того, кто смотрит. Совет директоров и инвесторы ориентируются на blended — он отражает полную стоимость привлечения. Performance-команды смотрят на paid, потому что напрямую управляют только платными каналами.

Какой blended CAC хороший?

Единого числа нет — всё зависит от сегмента. Для SaaS B2C ориентир $50–200, для B2B SMB — $500–2000, для B2B Enterprise — $5K и выше. Сравнивать эти цифры имеет смысл только внутри одного сегмента и стадии.

Включать ли возвраты?

Клиенты, вернувшие деньги (refund), — это чистые потери. Обычно их не включают в число привлечённых клиентов, либо считают net new = new − refunds.

Учитывать затраты на персонал полностью?

Только пропорционально затраченному времени. Если команда маркетинга тратит на ABM-кампанию 40% времени, в CAC этой кампании относите 40% их зарплат.

Бесплатный триал → платный — это CAC?

CAC обычно считают на платящего клиента. А конверсию из бесплатного триала в платного считают отдельной метрикой.