как протестировать ставки, не применяя их

Newser

Moderator
Команда форума
Регистрация
5 Фев 2019
Сообщения
267
Тест ставок в контекстной рекламе вызывает вопросы даже у опытных PPC-специалистов. Так как даже при бесконечном объеме данных, с высокой достоверностью определить какой вариант ставки лучше можно только при разнице в эффективности более 3−5%. Не очень оптимистично, так ведь? Однако у меня есть несколько интересных способов проверки, которыми я поделюсь в этой статье.

Подписывайся на наш Телеграм канал и паблик ВК и узнавай первым о новых событиях!

Недостатки А/Б тестирования ставок

А/B тесты ставок имеют целый ряд проблем:

1. Они требуют для достоверных результатов просто астрономическое числа кликов.
2. Чтобы провести тест в Яндекс.Директ, нужно заказывать копии рекламной кампании у персонального менеджера и устанавливать часы в шахматном порядке:
  • что исключает автоматическое тестирование;
  • часто приводит к ошибкам;
  • требует довольно много времени на подготовку;
  • шахматка не равнозначна случайному распределению кликов между вариантами, из-за чего возникает небольшая погрешность.

3. Почти всегда, ставки тестируются только на части рекламных кампаний. Преимущество одного варианта над другим на части аккаунта не говорит о преимуществе его на всем аккаунте.
4. В отличие от тестирования изменений на сайте, не достаточно просто сравнить показатель конверсии у двух вариантов. Нужно выравнивать бюджет, CPA или ДРР (доля рекламных расходов, отношение дохода к расходу), и сравнивать число конверсий или выручку. Однако, выравнивание бюджета и CPA происходит с некоторой погрешностью.

В общем, даже при бесконечном объеме данных, с высокой достоверностью определить какой вариант лучше мы сможем только если у вариантов разница в эффективности будет более 3−5%. Назовем это теоритической чувствительностью.

На теоретическую чувствительность влияют следующие факторы:

1.
Мы проводим тест не на всем аккаунте, а на его определенной части. Причем ключевые слова, на которых тестируем, мы выбираем не случайным образом.
2. Мы выравниваем бюджет/CPA/ДРР у двух вариантов с некоторой погрешностью.
3. Шахматка не равнозначна случайному распределению кликов между вариантами.

На практике из-за того, что у нас нет бесконечного объема данных, даже для больших сайтов, порог чувствительности А/Б теста около 10−20%. Если разница в эффективности двух вариантов меньше этого порога, то проведение А/Б ненамного лучше подкидывания монеты. Назовем это практической чувствительностью.

В итоге А/Б тест ставок:
  • неточный;
  • идет долго;
  • требует много работы;
  • требует довольно специфических знаний;
  • опасный, ведь всегда есть вероятность, что новые ставки будут работать хуже;
  • его нельзя полностью автоматизировать.
Есть такая метрика...

Поэтому может существовать метрика, обладающая большей чувствительностью (даже теоретической), чем А/Б тест. Причем эту метрику можно просто рассчитать по историческим данным, не трогая ставки. Если это автоматизировать, то можно сделать за пару кликов.

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

Другими словами эта метрика будет хорошо отвечать на вопрос: «Какой вариант лучше?», но довольно плохо на вопрос «На сколько лучше?».


Теория

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

Для простоты предположим, что у каждого ключевика:

  • CPC и число кликов пропорциональны ставке;
  • вероятность конверсии не зависит от ставки.

Пусть мы устанавливаем ставки пропорционально прогнозу:

Где:

  • f — наш прогноз вероятности конверсии;
  • L — константа, чтобы вписаться в наши ограничения (бюджет, целевой CPA).
Пусть p это вероятность конверсии, тогда ожидаемое число конверсий равно:

Ожидаемый расход по ключевику равен:

Пусть наша цель максимум конверсий при фиксированном CPA=TargetCPA.

Ожидаемый CPA равен:

Чтобы найти L приравняем целевой CPA к ожидаемому:

Отсюда можно вычислить L:

Введем оператор среднего взвешенного:

Из чего следует, что:

Также можно легко видеть, что константу можно вынести из средневзвешенного:

Вернемся к L:

Для простоты предположим, что с и f не коррелируют. То есть справедливо:

Рассчитаем ожидаемое число конверсий:

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



КУРС

Теперь поделим число конверсий при произвольных ставках на число конверсий при равных ставках. Получим во сколько раз ставки приносят больше конверсий, чем равные ставки при том же CPA. Назовем эту метрику Коэффициент Улучшения Равных Ставок (КУРС).




Проверка

При равных ставках КУРС должен быть равен 1. Например, все ставки равны константе S:



Физический смысл


  • W[p] — это просто множитель, который не зависит от прогноза.
  • W[fp] — растет с увеличением корреляции между прогнозом и вероятностью конверсии. Также он растет с дисперсией ставок (разбросом).
  • W[ff] — растет с увеличением дисперсии ставок.
Можно выразить КУРС через дисперсию ставок и корреляцию между ставками и прогнозом.

Где:

  • C — это взвешенный коэффициент корреляции Пирсона между ставками и прогнозом. Мера адекватности ставок, не превышает 1. Равен 1 при идеальном прогнозе, равен 0 при случайных ставках.
  • V[] — взвешенная относительная дисперсия. Мера разброса. Больше либо равна нулю. Например, если V[f]=0 это значит, что все ставки одинаковые. Почти наверняка выполняется V[p]<1. Обычно V[p] около 0.5. V[f] обычно не сильно отличается от V[p].

При R[p]=0.5

Видно, что в основном, чем больше V[f], тем сильнее КУРС зависит от корреляции. Также легко увидеть, что при больших корреляциях (больше 0.95) КУРС практически не зависит от V[f].

КУРС при идеальных ставках

КУРС при идеальных ставках f=p, C=1:




Чем сильнее различаются конверсии у ключевых слов, тем больший КУРС можно получить при идеальном прогнозе.

КУРС<2

Из того, что почти наверняка, V[p]<1 получаем, что КУРС почти всегда меньше 2. Обратное говорит, скорей всего, о том, что значительное число ключевых слов имеет практически нулевую конверсию (намного меньшую, чем средней по сайту).

Это может получиться, например, когда вы покупаете львинную часть кликов на товары, которых у вас нет в наличии, на 404 страницы, на нерелевантные страницы или на части страниц нет кода отслеживания конверсий. Другими словами, КУРС>2 может говорить о том, что ставки решают какую-то специфическую проблему.

Например, вы разработали лекарство, которое продлевает жизнь лабораторных мышей с 2 до 4 лет (вдвое). Затем вы закупили новую партию мышей, и новые тесты показали, что в контрольной группе (не принимали лекарство) срок жизни 1 год, а тестовой — 3 года (втрое выше).

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



Расчет

Рассчитать КУРС из исторических данных можно по формуле:

Где:
  • r — показатели конверсии ключевых слов;
  • n — число кликов у ключевых слов.
Обратите внимание, что f не должен напрямую зависеть от r. Т.е. f и r должны быть посчитаны на разных периодах.

Другими словами, нужно проводить «тест» так:

Например, 1го числа мы снимаем ставки или считаем прогноз. Запоминаем f.

Через пару недель, например 16-го числа, мы снимаем данные со 2-го по 15-ое. И получаем n и r.

Считаем КУРС, тот вариант у которого выше КУРС считаем победителем.
Поскольку в ходе этого теста мы не применяет ставок, просто смотрим статистику, то мы будем называть такой тест пассивным.

Ставки


Если мы домножим f на какой-то постоянный множитель S, одинаковый для всех ключевиков, то КУРС не изменится:

Поэтому вместо f можно взять не только прогноз, но и набор ставок, которые пропорциональны исходному прогнозу. Что дает возможность сравнивать не только прогнозы, но и наборы ставок друг с другом, или набор — ставок с прогнозом.



Предельный КУРС

Можно дать следующую оценку предельному КУРСу (при идеальном прогнозе):

Где:

  • r — показатель конверсии за первый период (на этом периоде считаются обычные курсы);
  • n — число кликов за первый период;
  • R — показатель конверсии за второй период (периоды не должны пересекаться).

Если у вас нет второго периода, то можно первый период разбить на 2 части (в идеале равные) тогда:

  • r — показатель конверсии в первой части;
  • R — показатель конверсии во второй части;
  • n — число кликов за весь период.

Это формула не зависит от однородной сезонности, когда конверсия всех ключевиков снижается или увеличивается в одинаковое число раз.

Точность расчета предельного КУРСа на малых данных в несколько раз меньше, чем у обычного КУРСа.

Другие задачи

Мы расмотрели задачу «максимальное число конверсий при фиксированном CPA». Однако, КУРС можно применять практически ко всем задачам.


Максимум оборота

Если у нас задача максимум оборота при фиксированном ДРР. То формула КУРСа не изменится. Нужно просто вместо r подставить отношения оборота к числу кликов.

Однако правило V[p]<1 и КУРС<2 в этом случае может не соблюдаться.


Фиксированный бюджет


Если у нас фиксированный бюджет, то после расчетов получим:

Что не приведет к качественным изменениям. Если у одного прогноза выше КУРС, значит у него выше и корень из КУРСа.


Модификаторы ставок


Вы можете аналогичным образом рассчитать КУРС не только для ставок, но и для модификаторов ставок по времени суток, дню недели и прочему.

Также можно оценивать учет сезонности.


Заключение


Чтобы сравнить 2 набора ставок или прогнозы, то нужно посчитать на них этот параметр:

Где:

  • r — показатели конверсии ключевых слов или отношения дохода к числу кликов.
  • n — число кликов у ключевых слов.
  • f — ставки, или прогноз конверсии, или дохода с клика. При их расчете не должны использоваться данные за тот период за который снят r.

W[] — оператор среднего взвешивания:

Равные ставки дают КУРС=1. Максимальный КУРС можно вычислить так:

Где R — показатели конверсии ключевых слов или отношения дохода к числу кликов за другой период, не пересекающийся с первым.


Расчет в Excel

Для начала нужно избавиться от средневзешанного:

Пусть:

  • n (клики) в колонке A находятся;
  • r (конверсия) в колонке B находится;
  • f (прогноз/ставки) находятся в колонке C.

Тогда формула получится такой:

SUM(A1:A)*POWER(SUMPRODUCT(A1:A,B1:B,C1:C),2)/
(POWER(SUMPRODUCT(A1:A,B1:B),2)*SUMPRODUCT(A1:A,C1:C,C1:C))

Однако, формулу можно упростить, если в колонке D находится число конверсий и доход:

SUM(A1:A)*POWER(SUMPRODUCT(C1:C,D1:D),2)/
(POWER(SUM(D1:D),2)*SUMPRODUCT(A1:A,C1:C,C1:C))


Пусть R находится в колонке G.

Тогда формула:

SUM(A1:A)*SUMPRODUCT(A1:A,B1:B,G1:G)/(SUMPRODUCT(A1:A,B1:B) *SUMPRODUCT(A1:A,G1:G))

Вот и все :) Надеюсь, данная статья будет для вас полезна, и вы найдете что-то интересное для себя!

Источник
 
Сверху