Как обучить автостратегии Директа на малых данных

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

Объем данных

Каждый, кто хоть раз запускал кампании на стратегии «Максимум конверсий», замечал плашку, которая показывает статус обучения. Как правило, если стратегия только начала свое обучение, здесь можно увидеть, сколько еще осталось конверсий до статуса «стратегия обучилась». Однако, кто хотя бы поверхностно знаком с машинным обучением, должен понимать, что достижение этого статуса не означает, что обучение завершено и законсервировано в таком состоянии. ML обучается постоянно и продолжает это делать даже после достижения этого статуса.

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

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

В прошлом году я наблюдал за апологетами этого подхода и их результатами. Однако мне не удалось увидеть хотя бы один кейс с достаточно репрезентативной статистикой, которая подтверждала бы эффективность подобного подхода. Как правило, вся статистика сводилась к демонстрации перечня кампаний, где каждая кампания набирала менее 10 конверсий в неделю. Поэтому я склонен считать любые успешные кейсы, полученные на таких объемах, скорее случайностью, чем закономерностью.

Когда же мы говорим об объемах, следует помнить, что и 10 конверсий - это не какое-то фиксированное число, при достижении которого любая конверсионная стратегия резко становится супер эффективной. 10 конверсий в неделю - это лишь средняя по палате. На деле у одной кампании может быть довольно узкий охват и стратегии для стабильного обучения достаточно 7-8 конверсий в неделю, в другой же может не хватить и 11-12, чтобы разогнать обучение.

Но важно не держаться на предельном минимуме, а дать как можно больше конверсий. В справке Директа даны примерные расчеты статистической погрешности фактического CPA и CR в зависимости от объема данных. В таблице видно, что чем больше конверсий удается получить в рамках календарной недели, тем больше фактический CPA будет соответствовать целевому.

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

Приемы и методы разгона обучения

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

И, напротив, попытки раздробить кампании по какому-нибудь искусственному признаку, например, по типу устройств, приводили к тому, что статистика размазывалась и отдельные кампании не получали достаточно данных для разгона собственных стратегий. Особенно печально было наблюдать, как некоторые специалисты выносили в отдельные кампании конверсионные ключи для якобы отдельного контроля за ситуацией. Зачастую такой подход не гарантировал разгон стратегии в новой кампании, но гарантированно ломал обучение в старой.

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

Данный прием будет полезен тем рекламодателям, которые использовали более узкие модели атрибуции. Например, последний переход. Может так получаться, что 8 из 10 конверсий, которые так или иначе связаны с определенной кампанией Директа, совершаются сразу, в то время как 2 оставшиеся - спустя время при переходе из другого источника. Выбрав расширенную модель атрибуции мы подскажем стратегии, что конверсионных пользователей на самом деле не 8, а 10. Да, не все из них совершают конверсию здесь и сейчас. Но те 2, которые возвращаются спустя время, куда более ценные пользователи, чем те, что вообще не совершат конверсию ни сейчас, ни потом. А ведь именно этих двух конверсий может недоставать стратегии с более узкой моделью атрибуции для разгона обучения.

Здесь важно помнить, что переход на расширенную модель атрибуции в настройках кампаний никак не влияет на то, по какой модели атрибуции будут оцениваться эти кампании в системах аналитики. Например, вы можете использовать автоматическую атрибуцию в кампании Директа, но оценивать ее эффективность через призму последнего значимого перехода в Метрике. Это 2 параллельных процесса.

Прием с атрибуцией может не подходить в случае, если рекламодатель использует оплату за конверсии сразу на нескольких рекламных платформах. Предположим, есть 2 кампании - 1 в Директе, другая в Google Ads. У первой автоматическая атрибуция, у второй - последний переход. Пользователь переходит по объявлению первой кампании, затем по объявлению второй и только на втором визите совершает конверсию. В данной ситуации обе платформы спишут в свою пользу ту целевую стоимость конверсии, которая будет указана в настройках кампании, что приводит к задваиванию расхода.

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

Относительно свежим способом можно назвать выставление минимального бюджета, который должна потратить кампания не смотря ни на что. В своей прошлой статье я уже подсвечивал, как именно работает данный инструмент, поэтому подробно останавливаться на нем сейчас не буду. Лишь напомню, что когда стратегия не находит достаточно данных по конверсиям, она начинает рубить ставки и из-за этого показы скатываются до минимальных. А с помощью данной настройки мы можем поднять планку по расходам, заставляя стратегию продолжать инвестировать в обучение хотя бы заданный минимальный бюджет.

Более классическим способом является использование микроконверсий: заявки вместо покупок, корзины вместо заказов и т.д. Однако здесь есть сразу 2 тонких момента.

  • Во-первых, следует брать не абы какие цели, а те, что коррелируют с макро. Самый простой способ посчитать корреляцию - воспользоваться в Excel формулой "=коррел(массив1;массив2)". Однако эта тема сама по себе довольно глубокая и заслуживает куда более детального изучения. Мои коллеги, Алексей Журов и Роман Чванников, Эксперты Яндекс Рекламы, опубликовали на эту тему более обстоятельный и подробный материал, который я рекомендую к прочтению.
  • Во-вторых, корреляция между микро и макро целью может меняться с течением времени. Это может приводить к тому, что стратегия обучится приводить тех, кто достигает микро, но не достигает макро. Рекомендую присматривать за корреляцией между целями после перехода на микро, чтобы вовремя заметить изменения и избежать подобного исхода.
  • В-третьих, можно использовать микроконверсии не вместо макро, а вместе с макро. С одной стороны, микроконверсии, будучи добавленными в настройки стратегии, обеспечат эту самую стратегию необходимым объемом сигналов для разгона обучения. С другой стороны, макроконверсии, добавленные в настройки той же стратегии, позволят расставить акценты на том, какие действия для нас более желаемые. Сделать это можно через назначение ценности целей в вариантах ограничения расхода по недельному бюджету или по ДРР.

Однако что делать, если мы хотим задать ограничение расхода по целевому CPA и при этом использовать несколько целей для обучения? Предположим, у нас есть 2 цели - "посетил страницу "спасибо за покупку"" и "спасибо за заявку" и пользователи за неделю совершают по 5 конверсий в пользу каждой. В этой ситуации мы не можем отдать предпочтение какой-то более достижимой цели, нам необходимо использовать обе. Но при выборе ограничения расхода по целевому CPA мы можем выбрать только одну.

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

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

У этого подхода есть ряд серьезных ограничений. Во-первых, при добавлении нескольких целей в составную следует помнить, что в Директе мы будем выставлять единый target CPA. У нас не будет возможности каждой цели назначить свой отдельный tCPA. Поэтому смешивать микро и макро цели будет нецелесообразно. А, во-вторых, на данный момент в составную цель нельзя добавить офлайн конверсии и звонки к большому сожалению как минимум половины рекламодателей, потому что звонки с помощью коллтрекингов сейчас отслеживает чуть ли не каждый второй.

Однако есть альтернативный способ, который лишен всех этих недостатков - использовать ограничение расхода по ДРР. Сразу оговорюсь, здесь речь про те типы бизнеса, которые не имеют отношения к екоммерсу, не настраивают электронную коммерцию и не отслеживают динамическую передачу дохода. С ними и так все понятно - выставляем оптимальный tДРР и указываем цель, по которой идет динамическая передача дохода с транзакций на сайте (опционально: добавляем такую же по транзакциям из приложений, чтобы трекать все сценарии). Я же расскажу про то, как применять ДРР не в екоме.

Для начала давайте вспомним формулу ДРР: это расход на рекламу / доход с рекламы * 100%. По-крайней мере, так выглядит классическая формула. Однако что если мы представим себе, что мы потратили весь бюджет и получили 1 конверсию; как будет называться расход, понесенный в результате достижения одной конверсии? Верно, CPA. А с этой конверсии мы могли получить ведь какой-то доход, верно? Да, и доход с одной конверсии - это ценность конверсии. Таким образом мы получаем альтернативную формулу ДРР: CPA / ценность конверсии * 100%.

Теперь пойдем еще дальше и попробуем представить, что будет, если наш целевой ДРР будет равен 100%? Это будет означать, что расход при делении на доход дал единицу. Или же CPA равен ценности. Взглянем на интерфейс автостратегии с ограничением расхода по ДРР. В нем напротив каждой цели нет поля tCPA, но есть поле ценности. А раз ценность равна tCPA при ДРР 100%, то мы можем опосредованно через ценность конверсий управлять их ценой.

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

Предположим, у меня есть страница "контакты", где размещен отдельный номер телефона. Пользователи, звонящие по этому номеру автоматически становятся моими клиентами и совершают покупку на 1000 руб. При этом конверсия из захода на страничку "контакты" в звонок составляет 10%. Из этого можно сделать простой вывод, что ценность микроконверсии должна быть в 10 раз меньше макро, т.е. 100 руб.

И вот, если я пойду и выставлю в настройках стратегии ДРР 100%, перечислю эти 2 цели, по макро укажу ценность 1000 руб, а по микро 100 руб, то смотрите, какая получится ситуация. 10 человек заходят на страничку контакты - каждый "приносит" по 100 руб. Итого в сумме 1000 руб. Один из них совершает звонок и приносит еще 1000 руб. Итого получилось 2000 руб. Но ведь по факту мы заработали только 1 тысячу, а не 2.

Чтобы доход (а с ним и расход) не дублировался, необходимо распределять ценность целей между разными этапами воронки. В данном примере это можно сделать в пропорции 50/50. Т.е. мы берем итоговый доход в 1000 руб с 1 звонка и делим его на 2 этапа: 500 руб отдаем в пользу 1 макроконверсии и еще 500 руб в пользу 10 микроконверсий. В таком случае ценность 1 микроконверсии становится 50 руб. И вот если пойти и выставить эти значения - 50 руб для микро и 500 для макро, то экономика сойдется. Мы получим 10 конверсий по 50 руб (итого в сумме 500) и 1 макроконверсию по 500 руб. Итого в сумме 1000 руб.

Причем пропорции могут быть любые, не обязательно 50/50. Это может быть и 40/60, и 70/30 - тут большое поле для экспериментов. И это мы говорим о воронке из двух этапов, а если их 3 и более, то итоговую ценность следует разделять между большим количеством этапов.

Однако эти расчеты актуальны только для той ситуации, когда у нас имеется воронка с конечной целью (в данном случае - это звонок). Для целей одного порядка (например, набора макроконверсий: "звонок", "обращение в чат", "отправленная форма") подобные расчеты не требуются. Но что будет, если мы работаем с воронкой, где нет конечной цели?

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

Предположим, что в среднем мы зарабатываем 100 руб в минуту с каждого пользователя, который проводит время в нашем игровом приложении. Это значит, что если пользователь проведет 2 минуты, мы заработаем 200 руб, а если 5 минут - 500 руб. Однако, если мы пойдем и выставим в настройках стратегии эти 2 цели с этими значениями ценности, то доход будет частично задваиваться, ведь пользователь, который провел в игре 5 минут, уже до этого принес нам 200 руб и поэтому мы не можем просто брать и складывать 200 и 500.

Нам необходимо вычитать из каждой последующей ценности сумму всех предыдущих ценностей. В данном примере мы должны отнять 200 от 500 и тогда получим ту ценность, которую и следует выставить в настройках стратегии по цели "наиграл 5 минут" - 300 руб. При добавлении новых целей повторяем эту процедуру.

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

Перезапуск обучения

Всем, кто работает с автостратегиями, важно помнить не только о том, что помогает разогнать обучение, но и что его может перезапускать. Здесь я бы хотел выделить 2 больших перечня пунктов:

  • Те, которые прописаны прям в коде Директа и гарантировано перезапускают обучение
  • Те, которые влияют на процесс обучения, заставляя стратегию адаптироваться к изменившимся условиям, но не гарантируют, что их достижение перезапустит обучение

Начнем с первых. Сюда следует отнести те вещи, которые вносят качественные, но не количественные изменения:

  • Смена стратегии
  • Смена, добавление или удаление целей
  • Смена модели оплаты (с оплаты за клики на оплату за конверсии и обратно)
  • Смена значения в селекторе "ограничение расхода" (тот самый селектор, где мы выбираем между тремя опциями - ограничение по недельному бюджету, целевому CPA или целевому ДРР)
  • Смена модели атрибуции (включая опцию кросс-девайс, поскольку модели атрибуции, у которых есть такая опция, технически "под капотом" являются разными моделями атрибуции)
  • Остановка кампании более чем на 7 дней

Касаемо последнего пункта должен отметить, что остановка даже на 1 день может отразиться на стабильности обучения стратегии, поскольку стратегия оценивает в т.ч. эффективность каждого дня недели, но критичным моментом является именно пауза длиной в 7 полных последовательных дней.

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

  • Смена недельного бюджета
  • Установка, смена или удаление минимального недельного бюджета
  • Смена целевых показателей (CPA, ДРР)
  • Смена ценности целевых действий
  • Массовое добавление новых ключевых слов (или интересов)
  • Массовое переписывание объявлений
  • Смена категорий поисковых запросов
  • Смена гео
  • Смена расписания показов
  • Смена состава конкурентов
  • Подключение новых площадок

На что здесь стоит обратить внимание? Давайте разберемся на примере первых трех пунктов. Когда мы меняем целевой показатель, мы тем самым даем понять автостратегии, что она теперь может заходить в аукцион с другими ставками. Вот были у нас конверсии в основном от пользователей Android, стратегия видела это и не охотна лезла с большими ставками в аукциона от пользователей iOS, потому что ей там, видите ли, было дорого показываться. Но в какой-то момент мы приняли решение усилиться, подняли tCPA в 2 раза и вот, теперь у стратегии развязаны руки и она может заходить в более дорогие аукционы. При этом, мало взаимодействуя с пользователями iOS до изменения CPA, ей теперь потребуется время на адаптацию к изменившимся условиям - покрутиться, накопить статистику, понять, а кто из пользователей iOS нам сейчас больше подходит.

Те, кто читал мою первую статью про расход бюджетов, также должны помнить про максимальную ставку, которую можно выставить при недельном бюджете - 1/10. Смена бюджета также отражается на доступном стратегии диапазоне ставок, с которым она может работать. Более того, дополнительные подпорки теперь могут создавать минимальные недельные бюджеты.

Из-за того, что специалистам часто приходится в силу разных причин менять бюджеты рекламных кампаний, возникает закономерный вопрос - а на сколько можно корректировать значения, чтобы не поломать обучение стратегии? Вот если, допустим, у меня tCPA равен 1000 руб, то поломается ли обучение, если я поставлю 1001 руб? А если 1002? А если 1003? А если 1004? Здесь нет и не может быть однозначного ответа. Ни я, ни специалисты поддержки, ни даже разработчики не смогут озвучить точное значение, которое надо выставить или после которого надо остановиться.

Мой общая рекомендация здесь - это менять значения не чаще 1-2 раз в неделю и не более чем на 10-20% за раз. Если вы знаете, что в следующем месяце ваш бюджет на РК должен измениться, то по возможности идите к этим изменениям постепенно, давая стратегии адаптироваться после каждого этапа. Но это не какое-то железное правило; я знаю случаи, когда даже разовое изменение бюджета на 10% приводило к поломке обучения стратегии. Это скорее игра с вероятностями, где на одном конце шкалы есть высокая вероятность поломки, на другом низкая, но нигде нет нулевой.

Что касается массового добавления ключей (или интересов), то здесь речь о ситуации, когда новые ключи генерят новый трафик, а не охватывают старый, который ранее был охвачен уже имеющимися ключами. И чем больше нового трафика, как и в случае с изменившимся бюджетом или целевыми показателями, тем выше вроятность того, что стратегию начнет штормить, пока она будет адаптироваться.

То же самое и с массовым переписыванием объявлений, поскольку автотаргетинг опирается на формулировки объявлений. Замена какого-нибудь заголовка в духе "квартиры в ипотеку" на "новостройки на улице Ленина" чревата тем, что в сочетании с новым объявлением автотаргетинг начнет давать новый трафик от новых пользователей. Точно так же, как если бы мы проставили или убрали галочки категорий поисковых запросов - посредством их мы все так же влияем на структуру трафика.

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

Конкуренты приходят и уходят, в особенности в РСЯ, где мы боремся за показ объявления не только с рекламодателями из нашей ниши, но и из смежных ниш (мы можем продавать ноутбуки, наш конкурент - мебель, а наша общая целевая аудитория в последнее время интересуется и тем, и тем). А вместе со сменой состава конкурентов может меняться и доступный охват.

Аналогично и с подключением площадок - в случае, если в РСЯ добавятся новые, на которых сидит аудитория, не присутствующая на уже имеющихся площадках, то начав размещение объявлений на новых площадках, стратегии может потребоваться время, чтобы понять, кто тут более конверсионный пользователь, а кто менее. Впрочем, данный пункт случается не часто и в последнее время РСЯ покрывает большую часть рунета.

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

1515
1 комментарий

Комментарий удалён модератором

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