Что такое CAC (Customer Acquisition Cost) и как его оптимизировать?
Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
CAC (Customer Acquisition Cost) и оптимизация
CAC — один из самых важных показателей в бизнесе. Неправильно рассчитанный или неоптимизированный CAC может уничтожить стартап. Расскажу про расчёт и практическую оптимизацию.
Что такое CAC
CAC (Customer Acquisition Cost) — это сумма денег, которую нужно потратить на маркетинг и продажи, чтобы привлечь одного нового клиента.
Формула:
CAC = (Все расходы на маркетинг + продажи за период) / (Количество новых клиентов за период)
Пример:
Потратили $100,000 на маркетинг
Привлекли 1,000 новых клиентов
CAC = $100,000 / 1,000 = $100 за клиента
Как рассчитать CAC правильно
Что включать в расходы на маркетинг
Прямые расходы:
- Реклама (Google Ads, Facebook, Yandex)
- Зарплата маркетолога
- Email-маркетинг софт
- Content маркетинг (написание статей, видео)
Косвенные расходы:
- Зарплата sales manager
- CRM систему
- Analytics tools
- Web hosting (если сайт — часть acquisition)
На что часто забывают:
- Affiliate commission
- Referral программу
- Event marketing
- PR агентства
Как считать новых клиентов
Прямой метод:
SELECT
signup_month,
COUNT(DISTINCT user_id) as new_users
FROM users
WHERE signup_date >= DATE_TRUNC('month', signup_date)
GROUP BY signup_month
Когортный метод (более точный): Отслеживаешь, когда пользователь впервые совершил платёж:
SELECT
DATE_TRUNC('month', first_payment_date) as cohort_month,
COUNT(DISTINCT user_id) as paying_customers
FROM users
WHERE first_payment_date IS NOT NULL
GROUP BY cohort_month
Второй метод лучше, потому что учитывает только реальных платящих клиентов.
Виды CAC
CAC по каналам
Рассчитываешь CAC отдельно для каждого маркетинг-канала:
SELECT
signup_source,
SUM(marketing_spend) as total_spend,
COUNT(DISTINCT user_id) as new_users,
SUM(marketing_spend) / COUNT(DISTINCT user_id) as cac
FROM users
FULL OUTER JOIN marketing_spend ON users.source = marketing_spend.channel
WHERE signup_date >= '2024-01-01'
GROUP BY signup_source
ORDER BY cac ASC
Результат:
- Facebook ads: $45 CAC
- Google Search: $120 CAC
- Referral Program: $10 CAC
- Content (organic): $0 CAC (уже потрачено на создание)
Вывод: Referral и Organic лучше! Нужно инвестировать в них.
CAC по типу клиента
CAC разный для разных сегментов:
SELECT
user_segment,
SUM(marketing_spend) as spend,
COUNT(*) as new_users,
SUM(marketing_spend) / COUNT(*) as cac
FROM users u
JOIN marketing_data m ON u.id = m.user_id
GROUP BY user_segment
- Enterprise: $5,000 CAC (дорого, но LTV выше)
- SMB: $500 CAC
- Self-serve: $50 CAC
Blended CAC
Средний CAC по всем каналам:
Blended CAC = $100,000 / 1,000 = $100
Но это скрывает различия между каналами. Лучше считать по каналам.
CAC Payback Period
Важный метрик: за сколько месяцев окупится затрата на привлечение?
CAC Payback Period = CAC / (ARPU * Gross Margin %)
Где:
- CAC = $100
- ARPU = Average Revenue Per User = $50/месяц
- Gross Margin = 70% (затраты на сервис)
Payback = $100 / ($50 * 0.7) = $100 / $35 = 2.9 месяца
Бенчмарки:
- SaaS: <12 месяцев (желательно <6)
- E-commerce: <1 месяца (быстро окупается)
- Enterprise: <24 месяцев (долго окупается, но высокий LTV)
Если payback >12 месяцев, модель неприбыльна.
Как оптимизировать CAC
1. Снизить затраты на маркетинг
Тактика: Shift to organic channels
SELECT
DATE_TRUNC('month', signup_date) as month,
signup_source,
COUNT(*) as users,
ROUND(100.0 * COUNT(*) / SUM(COUNT(*)) OVER (PARTITION BY DATE_TRUNC('month', signup_date)), 2) as percentage
FROM users
WHERE signup_date >= '2023-01-01'
GROUP BY month, signup_source
Цель: увеличить % organic трафика (он бесплатен).
Тактика: Double-down on high-ROI channels
Если Facebook ads дают CAC $45, a Google Ads $120, увеличь бюджет Facebook.
SELECT
channel,
spend,
new_users,
roi = (new_users * ltv - spend) / spend * 100
FROM marketing_channels
ORDER BY roi DESC
Инвестируй в top channels.
Тактика: Optimizе ad creative и landing pages
Маленькие улучшения в конверсии сильно снижают CAC:
Было: 2% conversion, $10,000 spend, 200 users, CAC = $50
Стало: 2.5% conversion (на 25% выше), $10,000 spend, 250 users, CAC = $40 (-20% CAC!)
2. Увеличить количество клиентов без увеличения расходов
Тактика: Referral программа
Дай пользователям стимул приводить друзей:
SELECT
referrer_id,
COUNT(DISTINCT referred_user_id) as referred_count,
SUM(CASE WHEN referred_user.status = 'paying' THEN 1 ELSE 0 END) as paying_referred,
AVG(referred_user.ltv) as avg_referred_ltv
FROM referrals
GROUP BY referrer_id
HAVING COUNT(DISTINCT referred_user_id) > 0
CAC для referral программы: Cost = (referral_bonus * conversion_rate). Если бонус $10 и 20% конвертятся, CAC = $50 (дешевле чем paid ads).
Тактика: Content Marketing
Написание статей, блога, SEO — долгосрочно снижает CAC (organic трафик).
Month 1: Написал 10 статей, 0 трафика
Month 3: 1,000 organic visits из статей, рост
Month 6: 10,000 organic visits, CAC для этих пользователей ~$0
3. Улучшить quality рассчёта
Тактика: Count only paying customers
-- Неправильно: считаешь все signups
SELECT COUNT(*) FROM users WHERE signup_date = TODAY()
-- Правильно: считаешь только платящих
SELECT COUNT(DISTINCT user_id)
FROM payments
WHERE payment_date <= signup_date + INTERVAL 30 DAYS
Первый способ завышает CAC (много free trial, которые не платят).
Практический пример: Оптимизация CAC для SaaS
Исходная ситуация:
- Blended CAC: $500
- ARPU: $100/месяц
- Gross Margin: 70%
- Payback Period: $500 / ($100 * 0.7) = 7.1 месяца ✓ (нормально)
- Churn: 5% в месяц
LTV = $100 / 0.05 = $2,000 LTV/CAC = $2,000 / $500 = 4 (здоровый бизнес)
Но есть проблема: 70% трафика из paid ads (дорого).
План оптимизации:
-
Увеличить organic до 40% (месяц 1-3)
- Инвестировать в SEO и content
- Новый CAC: 40% * $0 + 60% * $500 = $300 (на 40% ниже!)
-
Запустить referral (месяц 2)
- Бонус $50 за реферала (если приведённый платит)
- Expected conversion: 25%
- CAC for referral: $50 / 0.25 = $200 (дешевле!)
- Если 10% новых пользователей из referral: CAC = 10% * $200 + 90% * $300 = $290
-
Улучшить paid ads (месяц 1)
- A/B тестировать landing pages
- Целевое увеличение конверсии на 20%
- CAC paid ads: $500 * (1 / 1.2) = $417 (на 17% ниже)
Результат через 3 месяца:
- CAC: ~$250 (было $500, 50% улучшение!)
- Payback Period: 3.6 месяца (было 7.1)
- LTV/CAC: 8 (было 4, бизнес более здоровый)
Мониторинг CAC дашборд
SELECT
DATE_TRUNC('week', signup_date) as week,
signup_source,
COUNT(DISTINCT user_id) as new_users,
SUM(marketing_spend) as spend,
ROUND(SUM(marketing_spend) / COUNT(DISTINCT user_id), 2) as cac,
ROUND(SUM(marketing_spend) / COUNT(DISTINCT user_id) / COALESCE(avg_ltv, 0), 2) as cac_ltv_ratio
FROM users u
LEFT JOIN marketing_spend m ON u.source = m.channel AND DATE_TRUNC('week', u.signup_date) = DATE_TRUNC('week', m.date)
LEFT JOIN (SELECT AVG(ltv) as avg_ltv FROM users) ltv_calc ON TRUE
WHERE signup_date >= NOW() - INTERVAL 12 WEEKS
GROUP BY week, signup_source
ORDER BY week DESC, cac ASC
Отслеживай:
- CAC по каналам (какие дешевле?)
- Тренд CAC (растёт ли?)
- CAC vs LTV ratio (здоровый бизнес?)
Частые ошибки в расчёте CAC
Ошибка 1: Забыли included зарплаты
CAC = Ad spend / users (неправильно)
CAC = (Ad spend + Salaries + Tools) / users (правильно)
Ошибка 2: Считают фарм-пользователей Если у тебя много ботов или фарм-аккаунтов, CAC будет занижен.
Ошибка 3: Attribution confusion Сложно атрибьютировать, какой канал привлёк пользователя (он может зайти через разные каналы).
Решение: используй multi-touch attribution или первый клик.
Итог
CAC это:
- Ключевой метрик для здоровья бизнеса
- Нужно рассчитывать по каналам, не только blended
- CAC Payback <12 месяцев = жизнеспособный бизнес
- LTV/CAC > 3 = здоровый бизнес
- Оптимизация: organic, referral, улучшение конверсии
- Мониторь еженедельно