редакции
Как мы искали, где у SaaS-сервиса на подписке прячется минус: LTV, цена привлечения и 5 ловушек в расчете
Для фаундеров и маркетологов SaaS, которые решают, сколько платить за клиента, рассказываю на примере нашего проекта, как считать LTV онлайн-сервиса по когортам, что показал такой расчет и в каких точках экономика клиента SaaS незаметно уезжала в минус.
Содержание
1. Решения по рекламе принимали по стартовой неделе, другой цифры у команды просто не было
2. Мы разложили новых пользователей по стартовым неделям и начали фиксировать срез каждый понедельник
3. Примерно на полугодовой отметке строка застывает, и стартовая неделя дает лишь 28 процентов финала
4. Группы, пришедшие с разницей в две недели, отличались почти вдвое, поэтому одиночная строка ничего не решает
5. Экономика врала в пяти местах, причем два из них показывали убыток, которого не существовало
6. Допустимую ставку за клиента вывели из таблиц, и обсуждение бюджета стало предметным
7. Чек-лист, по которому мы теперь проверяем любое решение о бюджете
8. Частые вопросы
Решения по рекламе принимали по стартовой неделе, другой цифры у команды просто не было
Типичный молодой сервис. Подписка, почти весь платный трафик идет из Директа, маркетингом занимаются полтора человека. Ежемесячная встреча по рекламе раз за разом упиралась в одно и то же: мол, кампания, заточенная на регистрации, приносит платящих слишком дорого, давайте урежем ее и перекинем деньги туда, где платеж обходится дешевле.
Цена платящего клиента в кабинете и правда была высокой, никто ее не выдумывал. На старте одного платежа приходилось ждать от семи до восьми новых аккаунтов. Непонятным оставалось другое: что эти аккаунты принесут через два, три, пять месяцев, когда отчет в кабинете уже смотрит на другие даты.
Классическая формула с оттоком здесь не спасала. Платеж, маржа и деление на месячный отток дают разумный ответ, когда бизнес устоялся. У продукта, которому полтора года, отток скакал, а по свежим пользователям его вообще нечем было измерить. При оттоке 5 процентов подписчик в среднем остается на 20 месяцев, при 2 процентах уже на 50. Такой разброс позволяет подогнать под любую желаемую ставку за клиента удобное объяснение.
Клиентские данные закрыты соглашением о неразглашении. Поэтому ниже только индексы, коэффициенты и доли: абсолютные значения в наших рабочих выгрузках для статьи подменены, соотношения сохранены как были.
Мы разложили новых пользователей по стартовым неделям и начали фиксировать срез каждый понедельник
Пожизненную ценность клиента решили собирать от фактических платежей, по когортам. В помесячный отчет по Директу встроили пару одинаковых таблиц: первая про регистрации, вторая про платежи. Каждая строка описывает группу людей, пришедших за одну неделю. Каждый столбец описывает дату среза. На пересечении стоит сумма нарастающим итогом, то есть все, что группа успела сделать к этому срезу.
Левая заполненная клетка каждой строки отражает только стартовую неделю. Клетки правее показывают, что группа донесла позже. Как раз этот поздний хвост и выпадает из поля зрения, когда смотришь на результат кампании за последние семь дней.
Шаг взяли в неделю, и причина практическая. За полгода у молодого продукта набирается всего шесть месячных групп, причем каждую заметно двигают праздники, скидки и релизы. Недельных групп за тот же период выходит больше двух десятков, и на таком объеме уже можно говорить о среднем. Первая январская группа отлично показала, почему одиночкам верить нельзя: праздники срезали ей примерно четверть обычного притока регистраций.
Одна февральская строка сразу поменяла тон разговора
Группа, пришедшая в первую полную неделю февраля 2025-го. Платежи ее стартовой недели взяты за 100, дальше видно, как менялась строка.
| Срез | Платежи, индекс | Часть от финального значения |
| Стартовая неделя | 100 | 33% |
| Спустя месяц | 180 | 59% |
| Спустя 11 недель | 258 | 85% |
| Последние дни июля | 304 | 100% |
| С августа | 304 | рост остановился |
Получается, около двух третей платежей группа сделала уже после того, как рекламный отчет перестал ее учитывать. Кампания, которая ее привела, на первом срезе выглядела в три раза слабее своего реального результата.
Есть в нашей схеме и недоработка, о ней честнее сказать сразу. Первая покупка и продления у нас лежат в одной строке. Ценность клиента это считать не мешает. Мешает другое: непонятно, за счет чего растет хвост, за счет долгих раздумий перед первым платежом или за счет аккуратных продлений. Кто строит похожую таблицу впервые, пусть сразу разносит эти два события по разным строкам.
Примерно на полугодовой отметке строка застывает, и стартовая неделя дает лишь 28 процентов финала
Расти строка перестает не сразу. У этого продукта значения фиксировались где-то на 25-й неделе жизни группы: в таблице это заметно по ступенькам из заливки, которые уходят вниз и вправо. Такие застывшие строки мы стали называть дозревшими, и метрику LTV для подписки считали только по ним.
За первую половину 2025-го дозревших недельных групп накопилось 26. Сложим их и опять примем стартовую неделю за 100:
Новых аккаунтов после старта прибавилось на четверть: кто-то заходит на сайт, откладывает решение и заводит аккаунт позже. Платежи за те же полгода выросли в 3,6 раза. Выходит, на первом срезе продукт видел чуть больше четверти будущего финала.
Сотня новых аккаунтов на старте дает 13 платежей, а через полгода уже 37. Кабинет честно показывал только первую цифру, отсюда и ощущение, что платящий клиент стоит неприлично дорого.
Полугодовое окно занижает оценку намеренно. Платежи седьмого и десятого месяца в модель не попадают. С точки зрения бюджета это даже удобно: вы планируете от минимальной ценности клиента SaaS, а все, что сверх нее, остается запасом прочности.
Группы, пришедшие с разницей в две недели, отличались почти вдвое, поэтому одиночная строка ничего не решает
За средним 3,6 стоит заметный разнобой. Группа, пришедшая 10 марта, к полугоду нарастила платежи в 5,3 раза относительно своего старта. Группа 24 марта, всего через две недели, только в 2,8 раза.
Возьмите любую из них как основание для решения. Первая скажет прибавить кампании бюджет, вторая скажет его срезать, хотя обе реагируют скорее на случайность. Так что множитель дозревания мы берем как среднее хотя бы по десяти дозревшим группам и обновляем его ежеквартально.
Итоговая колонка в когортной таблице меня интересует во вторую очередь. Сначала сравниваю соседние строки. Когда между ними разрыв почти в два раза, решение по одиночной неделе ничем не лучше броска монетки. Поэтому допустимую ставку за клиента я фиксирую по длинному среднему, а каждую новую неделю пересчитываю через множитель и только потом смотрю, укладывается ли она.
Экономика врала в пяти местах, причем два из них показывали убыток, которого не существовало
Когда таблицы заработали, мы перепроверили всю юнит-экономику SaaS у этого клиента. Нашлись перекосы в обе стороны: часть рисовала минус на пустом месте, часть маскировала реальный.
1. Стартовый срез вместо финала. Про это вся история выше: кампания, которая за первую неделю возвращает немногим больше четверти вложенного, к полугоду способна дойти до нуля.
2. Недозревшие строки внутри среднего. Октябрьская группа, стартовавшая 6-го числа, к концу декабря выросла в 3,2 раза и останавливаться не собиралась. Затащите ее текущее значение в общую модель, и оценка ценности клиента просядет на ровном месте.
3. Выручка там, где должна стоять маржа. Инфраструктура, внешние API, комиссия банка и работа поддержки отщипывают долю от каждого чека. Если их не вычесть, прибыльность клиента завышена, а вместе с ней и допустимая ставка.
4. CAC, посчитанный по одной рекламе. В реальную стоимость привлечения клиента входят еще люди на каналах, аналитические сервисы и подрядчики. Без них соотношение смотрится отлично, пока не заглянешь в банковскую выписку.
5. Общий LTV на все источники. Органика, реклама и сарафан живут у продукта с разной длительностью, а усредненная цифра это стирает.
Первые две ошибки тянули оценку вниз и подсказывали выключить рабочие кампании. Остальные три тянули вверх. Частично они компенсировали друг друга, и со стороны все выглядело приемлемо, поэтому пересчитывать модель долго никто не собирался.
Допустимую ставку за клиента вывели из таблиц, и обсуждение бюджета стало предметным
Из когорт мы получаем штуки, а решение по бюджету принимается в рублях. Для перевода собрали модель ценности одной регистрации из четырех модулей.
Перемножаем три первых модуля и получаем ценность одного аккаунта. Делим ее на целевую пропорцию между ценностью и стоимостью привлечения, и это предельная ставка за регистрацию. Для подписочных продуктов часто берут пропорцию 3 к 1: на привлечение уходит треть, две трети остаются бизнесу. Если деньги в компанию пришли дорогие, пропорцию стоит ужесточить.
Что стоит в знаменателе, диктует стратегия в Директе. Кампания с целью на регистрацию получает эту ставку напрямую как целевую цену конверсии. Для кампании с целью на платеж ставку пересчитываем на плательщика, и тогда те самые семь-восемь аккаунтов на один стартовый платеж уже заложены внутрь цифры и перестают выглядеть катастрофой.
Когда вложения вернутся, видно в той же строке
Срок возврата вложений, который в метриках экономики SaaS называют CAC payback или payback периодом, достаем из самой когорты. Нарастающие платежи переводим в маржинальные рубли и ищем срез, на котором они перекрыли затраты на привлечение этой группы. Февральская группа за месяц собрала почти 60 процентов итога, за 11 недель около 85 процентов. Основная отдача собирается за первые два-три месяца, остаток капает до полугода. Под этот срок мы и закладываем окупаемость привлечения.
Из этого же следует не самая приятная мысль про рост. Деньги на рекламу уходят сразу, маржа возвращается по кусочку весь следующий семестр. Резко нарастить закупку трафика значит создать дыру в кассе, которую нужно чем-то закрыть, оборотными средствами или привлеченными.
Каждую новую неделю пропускаем через множитель
Отключения кампаний по сырым данным прекратились. Стартовые платежи новой группы умножаем на средний множитель, здесь это примерно 3,6, и уже полученную цифру ставим рядом с предельной ставкой.
Сам множитель проверяем на свежих группах. Ноябрьская, стартовавшая 3-го числа, по среднему должна была вырасти примерно в 3,6 раза. На седьмой неделе жизни она уже выполнила 84 процента этого ожидания, при том что дозревшие группы в том же возрасте обычно стояли на 73 процентах. Раз новички идут бодрее, множитель скоро придется поднять, а по свежим неделям можно действовать, не дожидаясь полугода.
Чек-лист, по которому мы теперь проверяем любое решение о бюджете
Прежде чем урезать или расширять канал, сверяемся с этим списком. Можно забрать себе как есть:
- Группы, на которых строится модель, дозрели и перестали меняться.
- Среднее опирается хотя бы на десять недель.
- Везде стоит маржа.
- Стоимость привлечения включает людей, софт и подрядчиков.
- Сырые данные свежей недели умножены на множитель дозревания, сравнение с предельной ставкой идет уже после.
- Источники трафика сопоставляются на одинаковом окне и не слиты в общую группу.
- Множитель обновлен в текущем квартале, потому что цены, сезонность и микс трафика его сдвигают.
- Если бюджет растет, заранее решено, чем закрывается провал в кассе, пока вложения возвращаются.
Стартовую версию модели реально собрать за один вечер. Из аналитики нужны аккаунты и платежи с привязкой к неделе появления, от финансистов средний чек и маржа. Если события за прошлые месяцы не потерялись, таблицы можно достроить назад, и дозревшие группы окажутся под рукой в первый же день.
Если хочется так же пересчитать собственные кампании в Директе, по стоимости квалифицированной заявки и продажи с учетом дозревания, загляните на страницу, где мы рассказываем, как проводим аудит контекстной рекламы. Там можно записаться на бесплатный разбор: посчитаем, какие кампании работают в плюс и где бюджет утекает, и соберем план на три месяца под ваш цикл сделки.
Частые вопросы
О чем на самом деле говорит LTV в SaaS на подписке?
Про все деньги, которые человек оставит в продукте до отписки, минус затраты на его обслуживание. Без этого вычета получается обычная выручка.
Продукту всего четыре месяца. Есть ли смысл строить когорты?
Есть. Считайте на том окне, что накопилось, и держите в голове, что это минимальная оценка. Для первых решений ее хватает, а каждый новый месяц делает цифру точнее.
Какое отношение LTV к CAC считать здоровым?
Популярный ориентир 3 к 1. Если пропорция опустилась ниже единицы, каждый новый платящий уводит бизнес в минус. Если она намного выше трех, продукт, скорее всего, экономит на росте и дарит рынок соседям.
Зачем смотреть на срок возврата, если пропорция хорошая?
Пропорция говорит, сколько вернется, срок говорит, когда. Отличные 4 к 1 с годовым возвратом способны опустошить кассу молодой компании раньше, чем деньги придут.
Директ настроен на платежи. От чего считать ставку?
От ценности плательщика, деленной на целевую пропорцию.
Работают ли когорты для LTV в B2B SaaS, где сделок по две в месяц?
Работают, но медленно. Пока дозревших групп мало, двигайтесь осторожно и сверяйте кривую с каждым новым месяцем.
После пересчета клиент оказался дешевле собственного привлечения. Что теперь?
Для начала убедиться, что модель собрана правильно: в ней только дозревшие группы, маржа и полные затраты на привлечение. Если вывод подтвердился, вариантов три: снижать стоимость привлечения, удлинять жизнь подписчика или поднимать цену. Увеличивать бюджет до выравнивания не стоит.