Максимум прибыли в Директе вышел из беты. Разбираю, зачем эта стратегия нужна, если есть tCPA и цДРР

18 августа Яндекс снял бету со стратегии "Максимум прибыли" и добавил три вещи:

  1. Расчёт маржи в процентах от чека.
  2. Оплату за конверсии.
  3. Оптимизацию по нескольким целям.

Очень коротко, суть этой статьи:

  • Максимум прибыли отличается от tCPA и цДРР тем, что вы вводите не цену, которую готовы платить, а маржу, которую зарабатываете. Цену конверсии ищет алгоритм и пересчитывает её вместе с аукционом.
  • Максимум прибыли и минимальный CPA это разные точки. Оптимум лежит внутри диапазона, а не на границе рентабельности, и руками вы его не поймаете.
  • Главное в релизе: режим Доля от дохода. Маржа задаётся процентом и считается с каждого заказа, поэтому стратегия наконец пригодна для екома с разбросом чеков.
  • При оплате за конверсии списывается не указанная маржа, а расчётная цена, плавающая вместе с аукционом. Прогнозируемость расхода теряется.

Теперь сама статья.

До этого момента стратегия была почти бесполезна для интернет-магазинов, и именно поэтому её мало кто трогал.

Я веду контекст на фрилансе восемь лет, как в Директе так и в Google. Когда "Максимум прибыли" появился в бете, я посмотрел на него и отложил. Ниже разбираю, почему отложил, почему это было ошибкой, и что теперь делать с этой стратегией на практике: как считать маржу, какой нужен бюджет, кому подходит, а кому категорически нет.

Сначала я не понял, зачем она нужна

Логика была такая. В Директе уже есть "Максимум конверсий" в трёх вариантах:

  • ограничение по бюджету, если нужен объём в рамках денег;
  • ограничение по средней цене конверсии (tCPA), если лид не должен стоить дороже определённой суммы;
  • ограничение по доле рекламных расходов (цДРР), если чеки плавают и важна рентабельность.

Три сценария, три инструмента. Что ещё нужно? Новая стратегия выглядела как переупаковка того же самого под красивым названием.

Содержание статьи:

Откуда берётся tCPA и почему это не тот ответ

Целевую цену конверсии мы считаем нормально, тут никакой самодеятельности. Два рабочих способа.

По истории. Берём фактический CPA за прошлый период, смотрим, при какой цене экономика сходилась, ставим её. Способ честный, но он отвечает на вопрос "сколько лид стоил раньше". Это фиксация прошлого аукциона, прошлой конверсии сайта, прошлого состава конкурентов и прошлого сезона.

По юнит-экономике. Считаем маржу, вычитаем допустимую долю на рекламу, получаем предельный CPA. Тоже корректно. Но этот способ отвечает на вопрос "дороже какой суммы начинается убыток". Это граница, а не цель.

Ни один из двух вопросов не звучит так: при какой цене лида бизнес заработает максимум денег. А это третье число, и оно не совпадает ни с историческим CPA, ни с границей рентабельности.

Посмотрите, что происходит на самом деле, когда вы двигаете tCPA.

Максимальная прибыль не равно минимальному CPA, и не максимальному числу конверсий.
Максимальная прибыль не равно минимальному CPA, и не максимальному числу конверсий.

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

Задача стратегии максимум прибыли - каждый раз подбирать оптимальное значение CPA
Задача стратегии максимум прибыли - каждый раз подбирать оптимальное значение CPA

Максимум находится где-то внутри диапазона. Не на границе рентабельности, куда его обычно и ставят по юнит-экономике. Не там, где было в прошлом квартале. И самое неприятное: он не стоит на месте. Конкурент залил бюджет, начался сезон, изменилась выдача, точка уехала. Пересчитывать её вручную каждый день невозможно, а раз в квартал это уже не оптимизация, а ритуал.

Вот в этот зазор и встраивается "Максимум прибыли". Стратегия не изобретает новую механику торгов. Она меняет то, что вы вводите: не сколько вы готовы заплатить, а сколько вы зарабатываете. Дальше поиск оптимальной цены конверсии становится задачей алгоритма, который решает её непрерывно.

Почему до 18 августа для екома это не работало

Маржу можно было указать только усреднённую. Одно число на всю кампанию.

Для клининга или эвакуатора это нормально: заявка и заявка, разброс чеков небольшой, средняя маржа осмысленна. А для магазина, где в одной кампании соседствуют заказы на 900 рублей и на 60 000, средняя маржа это статистическая выдумка. Стратегия одинаково оценивала мелочь и крупный заказ, то есть училась на шуме и оптимизировала не то.

Что изменилось в релизе:

Изменения в стратегии Максимум прибыли
Изменения в стратегии Максимум прибыли

Режим "Доля от дохода" на примере

Магазин светильников. После вычета себестоимости и доставки маржа товаров составляет в среднем 20% от цены. По истории 75% оформленных корзин, по которым срабатывает цель "eCommerce: покупка", становятся оплаченными заказами.

В настройки идёт: 20% × 0,75 = 15%.

Пришёл заказ на 100 000 рублей, система понимает, что конверсия принесла бизнесу 15 000 рублей маржи. Суммирует такие значения за период, вычитает расход, получает прибыль и от неё пляшет при подборе доли рекламных расходов.

Важное ограничение: режим не заработает без передачи динамической ценности конверсии. Нужна настроенная электронная коммерция в Метрике, либо мобильный трекер, либо источник офлайн-конверсий с суммой заказа. Нет передачи дохода, остаётся только режим "Среднее значение".

Оплата за конверсии: не то, к чему все привыкли

Здесь есть неочевидный момент, который стоит проговорить отдельно.

В обычной кампании с оплатой за конверсии вы платите ровно ту сумму, которую указали. Указали 1 500 рублей, за каждую конверсию списывается 1 500 рублей. Фиксированное значение, это его главное свойство.

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

Как это выглядит в двух режимах:

Абсолютно новый подход при оплате за конверсии
Абсолютно новый подход при оплате за конверсии

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

Как считать маржу для настроек

Это единственная цифра, которую вы вводите, и от неё зависит вообще всё поведение стратегии. Формула простая, но в ней два места, где регулярно ошибаются.

Маржа с конверсии = (доход с продажи − себестоимость продажи) × CR из цели в продажу

Что входит в себестоимость: закупочная стоимость товара, доставка конкретного заказа, эквайринг, упаковка, оплата исполнителю, расходники. Всё, что меняется от заказа к заказу.

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

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

Примеры расчёта по нишам:

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

Что будет, если ошибиться:

  • завысили маржу (например, вписали доход вместо маржи, или забыли умножить на CR): алгоритм считает, что за конверсию не жалко отдать больше, разгоняет ставки, объём растёт, а прибыль с каждой конверсии падает из-за неучтённых расходов;
  • занизили маржу (например, вписали цену конверсии): алгоритм оптимизируется на низкие ставки, конверсии будут прибыльные, но их станет заметно меньше, и суммарная прибыль просядет.

Самое неприятное здесь то, что ни один из двух сценариев не виден по метрикам кампании. И там и там всё будет выглядеть как "стратегия так решила".

Про бюджет, где происходит основная катастрофа

Формальный минимум недельного бюджета в стратегии 300 рублей. Забудьте про него, он ни о чём не говорит.

Рекомендация из справки: недельный бюджет не меньше, чем 10 × маржа с конверсии. Не 10 × tCPA, к которому все привыкли, а 10 × маржа. Разница принципиальная, потому что маржа всегда заметно больше цены конверсии.

Смотрите, как это выглядит на трёх клиентах:

Для первых двух порог рабочий. Для застройщика это уже разговор не с каждым клиентом.
Для первых двух порог рабочий. Для застройщика это уже разговор не с каждым клиентом.

Откуда берётся это правило

Для конверсионных стратегий исторически действовало 10 × tCPA. Логика прозрачная: стратегии нужно 10 конверсий в неделю, значит нужны деньги на 10 конверсий по той цене, которую вы собираетесь платить.

В «Максимуме прибыли» поля tCPA нет, цену ищет алгоритм. Осталось единственное число, которое вводит рекламодатель, и в формулу подставили его.

Но маржа это не цена конверсии. Это верхняя граница, при достижении которой прибыль обнуляется, то есть цена, которую алгоритм платить не должен по своему же устройству. Получается бюджет на 10 конверсий по цене, до которой стратегия не дойдёт.

Чем выше маржинальность, тем сильнее расходится:

В третьей строке требует бюджет аж на 600 конверсий там, где для обучения нужно десять.
В третьей строке требует бюджет аж на 600 конверсий там, где для обучения нужно десять.

Что ответили в Яндексе

Я задал этот вопрос напрямую в поддержку Яндекса. Ответ оказался полезнее самой рекомендации.

Максимум прибыли в Директе вышел из беты. Разбираю, зачем эта стратегия нужна, если есть tCPA и цДРР

Первое: правило написано с запасом, и это подтвердили. Система подбирает цену конверсии ниже указанной маржи, поэтому названной суммы хватит не на 10 конверсий, а на большее число.

Второе, и это главное: настоящий критерий не в деньгах. Бюджет нужно поднимать, если его не хватило хотя бы на 10 конверсий в неделю. То есть формулу можно вообще не считать: ставите бюджет, смотрите факт, добираете при необходимости. Та же логика, что у стратегий с ДРР по динамической ценности, где сумму заранее тоже не посчитать.

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

Рабочая формула

Для оценки до запуска:

Минимальный недельный бюджет ≈ 20 × текущий CPA

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

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

Посчитаем на условном интернет-магазине. Средний чек 12 000 рублей, маржинальность товаров 40%, выкуп оформленных заказов 60%, значит в настройки идёт 24%, а маржа с конверсии составляет 2 880 рублей. Текущая цена конверсии 560 рублей.

Справка требует 28 800 рублей в неделю. Формула даёт 11 200. Разница в два с половиной раза, и на скромных бюджетах она решает, состоится тест вообще или нет.

При этом 11 200 рублей это около 20 конверсий по нынешней цене, то есть двукратный запас к порогу обучения ещё до всякого разгона.

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

А теперь про катастрофу

Всё вышесказанное работает, пока маржа посчитана правильно. Смотрите, что бывает иначе.

Теперь представьте, что в поле маржи у застройщика вписали полтора миллиона, забыв умножить на конверсию в сделку. Стратегия начнёт считать, что за одну заявку не жалко отдать и предельные для оплаты за конверсии 50 000 рублей.
Теперь представьте, что в поле маржи у застройщика вписали полтора миллиона, забыв умножить на конверсию в сделку. Стратегия начнёт считать, что за одну заявку не жалко отдать и предельные для оплаты за конверсии 50 000 рублей.

Ставки поедут вверх соответственно, и остановить это будет нечем, потому что формально всё настроено верно.

Вот примерно так одна пропущенная в формуле двойка и убивает аккаунты.

Кому подходит и кому нет

Стоит попробовать:

Чем больше конверсий в неделю, тем алгоритмам будет проще выйти в целевые показатели
Чем больше конверсий в неделю, тем алгоритмам будет проще выйти в целевые показатели

Не стоит даже начинать:

Общее у всех четырёх случаев одно: маржа с конверсии либо неизвестна, либо не является целью
Общее у всех четырёх случаев одно: маржа с конверсии либо неизвестна, либо не является целью

Отдельно про длинный цикл

Это не просто "не подходит", это ловушка, поэтому разберу подробнее.

Формально всё считается: берёте маржу со сделки, умножаете на конверсию из заявки в сделку, получаете маржу с конверсии. Формула работает.

Проблема в том, откуда вы берёте этот процент. Из сделок, которые закрылись. А закрылись они по заявкам, пришедшим полгода или год назад, на другом трафике, при другом рынке и другой цене квадратного метра. Вы подставляете в настройку сегодняшней кампании коэффициент из позапрошлого сезона.

Дальше начинается самое интересное. Ошиблись в этом проценте вдвое, ошиблись вдвое в марже, стратегия начинает торговаться не туда. И узнаете вы об этом тоже через полгода, когда дойдут сделки. Цикл обратной связи оказывается длиннее цикла обучения стратегии, а это превращает оптимизацию в гадание.

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

Что нужно учитывать

Каждая правка стоит переобучения

В Директе изменения настроек делятся на две категории. Soft restart это адаптация к изменившемуся охвату: смена бюджета, tCPA, гео, расписания, добавление ключей. Full restart это полное переобучение стратегии с нуля.

Full и Soft Restart
Full и Soft Restart

Теперь смотрите. Вы хотите перевести работающую кампанию на новые возможности: включить режим "Доля от дохода", перейти на оплату за конверсии и добавить вторую цель. Сделаете это тремя заходами в разные дни, получите три полных переобучения подряд. Кампания будет две недели болтаться в разнос.

Вносите все изменения одним заходом. Это единственный рестарт, который вы можете себе позволить.

Несколько целей и двойной счёт

Оптимизация по нескольким целям звучит соблазнительно, но там есть мина.

Безопасный вариант: цели, которые физически не может выполнить один и тот же человек в рамках одной покупки. Например "покупка на сайте", "покупка в iOS-приложении", "покупка в Android-приложении". Алгоритм подберёт ставки под каждую площадку, всё честно.

Опасный вариант: "отправка формы" плюс "звонок". Один и тот же лид может сначала оставить заявку, а потом позвонить уточнить. Дедупликации нет. Стратегия засчитает две конверсии и две маржи с одного человека, решит, что трафик прибыльнее, чем на самом деле, и переплатит.

Если целей несколько, они должны быть взаимоисключающими либо относиться к разным продуктам с разной маржой. Воронку из микро и макроконверсий в одну кампанию по марже собирать не надо.

Оплата за конверсии и дневной расход

Дальше цифры, которые надо держать в голове.

Важно: оплата за конверсии снимает суточный потолок в 35%
Важно: оплата за конверсии снимает суточный потолок в 35%

То есть при оплате за конверсии весь недельный бюджет может уйти за один день, если в этот день дошли конверсии по накопленным кликам. Конверсии оплачиваются в течение 21 дня с момента клика, а в Директе они атрибутируются на день клика, не на день конверсии. Отложенные списания приходят пачками.

И отдельно: периодный бюджет вместе с оплатой за конверсии лучше не ставить вообще. Есть риск списать 100% бюджета периода за одни сутки, особенно если разом передали пачку офлайн-конверсий. С плавающей ценой списания, как в "Максимуме прибыли", предсказать этот сценарий заранее нельзя в принципе.

Корректировки работают, но не так, как привыкли

При ручной стратегии корректировки меняют ставку. При автостратегиях они меняют целевой показатель: tCPC, tCPA, tДРР или, в нашем случае, среднюю маржу с конверсии.

То есть корректировка "минус 30% по смартфонам" в "Максимуме прибыли" означает не снижение ставки, а заявление алгоритму: конверсия со смартфона приносит мне на 30% меньше денег. Это вполне рабочий инструмент, если у вас реально разная маржа по сегментам. Но на старте лишние корректировки лучше снять, они мешают стратегии обучаться.

Как оценивать результат

Смотреть раньше чем через 7 дней смысла нет, нормальный горизонт первой оценки 7 до 14 дней.

Где смотреть: Мастер отчётов, метрики "Ценность конверсий" (это суммарная маржа) и "Прибыль (по ценности)" (это уже итог за вычетом расхода).

Как считается:

  • режим "Среднее значение": суммарная маржа = маржа × количество конверсий;
  • режим "Доля от дохода": суммарная маржа = доход с конверсий × процент маржинальности;
  • прибыль от продвижения = суммарная маржа − расход.

Но по-хорошему одной метрики мало, потому что вы не знаете, что было бы на старой стратегии. Правильный способ это A/B-эксперимент в Директе:

  1. контрольный вариант: кампания на "Максимуме конверсий" с tCPA или ограничением по ДРР;
  2. тестовый вариант: кампания на "Максимуме прибыли" с той маржой, из которой этот tCPA и считался;
  3. если данных достаточно, схема AABB: по две кампании в каждом варианте;
  4. после накопления конверсий считаете прибыль по обеим и сравниваете.

Это дольше и дороже, чем просто переключить стратегию, но иначе вы получите не вывод, а ощущение.

Про кейсы и здоровый скепсис

В анонсе Яндекс приводит кейс компании Тензор (система Saby): прибыль выросла на 151%, количество заявок на 33%.

Цифра хорошая, но читать её надо целиком. В том же кейсе указано, что в настройках кампании исключили тех, кто уже оставлял заявки, а также действующих пользователей и сотрудников компании. То есть параллельно со сменой стратегии почистили аудиторию от повторных и заведомо нецелевых конверсий.

Это стандартная гигиена, которая даёт прирост "прибыли" на любой стратегии, просто потому что из знаменателя убрали мусор. Какая часть из 151% приходится на алгоритм, а какая на чистку, из кейса не следует. Что не отменяет самого результата, но объясняет, почему на своём аккаунте вы вряд ли увидите те же цифры, если у вас исключения уже настроены.

Чек-лист перед переходом

Пройдитесь по пунктам до того, как трогать настройки.

Считаем экономику

  • ✅ Знаю средний доход с продажи по этой цели
  • ✅ Знаю переменную себестоимость (без аренды, зарплат и рекламы)
  • ✅ Знаю CR из целевого действия в оплату, и это свежая цифра, а не позапрошлогодняя
  • ✅ Посчитал маржу с конверсии: (доход − себестоимость) × CR
  • ✅ Проверил, что не вычел расходы на рекламу и не забыл умножить на CR

Проверяем допуски

  • ✅ Кампания даёт от 10 конверсий в неделю
  • ✅ Недельный бюджет посчитан как 20 × текущий CPA, а после запуска проверен по факту: набирается ли 10+ конверсий в неделю
  • ✅ У клиента нет жёсткого KPI по CPA или ДРР в договоре
  • ✅ Цикл сделки короткий, CR из заявки в продажу стабилен

Выбираем настройки

  • ✅ Режим: "Доля от дохода", если настроена передача динамической ценности, иначе "Среднее значение"
  • ✅ Модель оплаты выбрана осознанно, с пониманием, что списание плавающее
  • ✅ Бюджет недельный, а не на период (особенно при оплате за конверсии)
  • ✅ Цели взаимоисключающие, один лид не может закрыть две сразу
  • ✅ Лишние корректировки на старте сняты
  • ✅ Счётчик Метрики подключён, доступ к целям есть

Запускаем

  • ✅ Все изменения внесены одним заходом, а не по очереди
  • ✅ Настройки не трогаем минимум 7 дней
  • ✅ Заведён A/B-эксперимент против кампании на tCPA (если объёмы позволяют)
  • ✅ Через 7 до 14 дней смотрю "Ценность конверсий" и "Прибыль (по ценности)"

Итого

"Максимум прибыли" решает задачу, которую tCPA и цДРР не решают в принципе. Они управляют ценой и рентабельностью, а прибыль при этом получается какая получится. Стратегия ищет ту точку, где денег больше всего, и пересобирает её вместе с аукционом.

Ценой за это становится точность вводных. Раньше вы могли ошибиться в tCPA и это было видно по отчёту. Теперь вы можете ошибиться в марже, и это не будет видно нигде, просто кампания будет работать хуже, чем могла бы.

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

1