Оптимизация ставок: зависимость между ценой клика и установленной ставкой

в 14:48, , рубрики: Calltouch, Блог компании Calltouch, конверсии, контекстная реклама, маркетинг, математика, оптимизация, Повышение конверсии

Сегодня мы снова поговорим о конверсиях. А именно о доказательствах того, что при определенных предположениях о зависимости между ценой клика ($CPC$)  и установленной ставкой ($BID$), а также о зависимости между $CPC$ и количеством кликов ($CL$), для стратегии оптимизации «максимум конверсий при фиксированной целевой стоимости конверсии (например, $X$)», оптимальная ставка по ключевой фразе пропорциональна произведению коэффициента конверсии по фразе ($CR$) на целевую стоимость конверсии $X$, то есть:

$BID sim CR*X.$

Само по себе правило оптимизации:

$BID=CR*X$


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

Оптимизация ставок: зависимость между ценой клика и установленной ставкой - 10

Основные определения и предположения:

В рамках работы мы будем оперировать следующими величинами:

  • $N$ – количество оптимизируемых фраз
  • $CL_i$– количество кликов по i фразе
  • $CV_i$ – количество конверсий по i фразе
  • $SP_1$ — расход по i фразе
  • $CPC_i=frac{SP_i}{CL_i}$– средняя цена клика по i фразе
  • $CR_i$ – коэффициент конверсии по i фразе. Классически он считается как $CR_i=frac{CV_i}{CL_i}$, но также может быть рассчитан другими методами, например, при помощи пулинга
  • $BID_i$– установленная ставка по i фразе

Теперь сделаем ряд предположений:

Предположение 1:

$CPC_i$ прямо пропорционален $BID_i$, это означает, что чем большую ставку мы устанавливаем, тем выше цена клика, а именно:

$CPC_i=k_i*BID_i,$

где $0<k_i<1.$

Предположение 2:

Количество кликов по фразе $CL_i$ прямо пропорционально корню из ставки $BID_i$. Это означает, что увеличив ставку в 2 раза в среднем мы получим в 1,41 раз больше кликов. Логика этой модели заключается в том, что с определенного момента увеличение ставки слабо влияет на полученный прирост в количестве кликов:

$CL_i=w_i*{BID_i}^{1/2},$

где $ w_i>0.$

Постановка задачи оптимизации:

Сделав эти 2 предположения о форме зависимостей, мы можем выразить основные метрики контекстной рекламы через ставку по ключевой фразе. Нас будут интересовать не все метрики, а только следующие, агрегированные по всем оптимизируемым фразам: расход ($SP$), количество конверсий ($CV$), стоимость конверсии ($CPA$):

$SP=sumlimits_{i=1}^N{SP_i}=sumlimits_{i=1}^N{CL_i*CPC_i},$

$CV=sumlimits_{i=1}^N{CV_i}=sumlimits_{i=1}^N{CR_i*CL_i},$

$CPA=frac{SP}{CV}=frac{sumlimits_{i=1}^N{CL_i*CPC_i}}{sumlimits_{i=1}^N{CR_i*CL_i}}.$

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

$CPA=frac{sumlimits_{i=1}^N{k_i*w_i*{BID_i}^{3/2}}}{sumlimits_{i=1}^N{CR_i*w_i*{BID_i}^{1/2}}}, $

$CV=sumlimits_{i=1}^N{CR_i*w_i*{BID_i}^{1/2}}.$

Задачу, которая соответствует стратегии оптимизации: «максимум конверсий при ограниченной средней цене конверсии» можно математически записать так:

$ begin{cases}displaystyle{ CVmapsto max\ CPA=X } end{cases}, $

где $X$ – установленная пользователем целевая цена конверсии. Если теперь мы заменим выражения для $CV$ и $CPA$ через их представления через ставку, то мы получим следующую эквивалентную задачу:

$ begin{cases}displaystyle{ sumlimits_{i=1}^N{CR_i*w_i*{BID_i}^{1/2}}mapsto max\ frac{sumlimits_{i=1}^N{k_i*w_i*{BID_i}^{3/2}}}{sumlimits_{i=1}^N{CR_i*w_i*{BID_i}^{1/2}}}=X } end{cases}, $

или

$ begin{cases}displaystyle{ sumlimits_{i=1}^N{CR_i*w_i*{BID_i}^{1/2}}mapsto max\ sumlimits_{i=1}^N{k_i*w_i*{BID_i}^{3/2}}-Xsumlimits_{i=1}^N{CR_i*w_i*{BID_i}^{1/2}}=0 } end{cases}. $

Будем считать, что коэффициенты конверсий $CR_i$, а также коэффициенты пропорциональности $w_i$ и $k_i$ не зависят от ставки. Тогда наша задача сводится к поиску такого набора ставок, которые бы максимизировали число конверсий при ограниченной цене за конверсию.

Решение задачи оптимизации:

Итак, мы сформулировали классическую экстремальную задачу (поиск максимума) при заданных ограничениях, которая по-другому называется задачей на условный экстремум.

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

Суть метода Лагранжа заключается в оптимизации модифицированной функции следующего вида:

$L(x,L_1,…,L_m )=f(x)+sumlimits_{j=1}^m{L_j g_j(x)},$

где $f(x)$ — исходная функция, для которой нам нужно найти условный экстремум, $g_1(x),...,g_m(x)$– заданные ограничения на решение, а $L_j$ – неопределенные множители Лагранжа, которые требуется отыскать в процессе оптимизации функции $L(x,L_1,...,L_m)$.

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

$ F=sumlimits_{i=1}^N{CR_i*w_i*{BID_i}^{1/2}}+L*Bigl(sumlimits_{i=1}^N{k_i*w_i*{BID_i}^{3/2}}-Xsumlimits_{i=1}^N{CR_i*w_i*{BID_i}^{1/2}}Bigr) $

относительно $N+1$ переменной: $BID_1,BID_2,…,BID_N,L$.

Для того, чтобы найти максимум указанной выше функции, требуется решить систему из $N+1$ уравнения относительно $N+1$ переменной:

$ begin{cases}displaystyle{ frac{partial F}{partial BID_1}=0\ frac{partial F}{partial BID_2}=0\ ...\ frac{partial F}{partial L}=0 } end{cases}, $

где $frac{partial F}{partial BID_i}$ – частные производные функции $F$ по переменной $BID_i$ и $frac{partial F}{partial L}$ – частная производная функции $F$ по множителю Лагранжа $L$. Вычислим эти производные:

$ frac{partial F}{partial BID_i}=frac{CR_iw_i}{2{BID_i}^{1/2}}+L*Bigl(frac{3w_i k_i{BID_i}^{1/2}}{2}-frac{X*CR_iw_i}{2{BID_i}^{1/2}}Bigr),:i=1..N, $

тогда из того, что $frac{partial F}{partial BID_i}=0$, следует, что:

$ CR_i+L*bigr(3k_i BID_i-X*CR_i bigl)=0,:i=1..N. $

Аналогично вычислим производную $frac{partial F}{partial L}:$

$ frac{partial F}{partial L}=sumlimits_{i=1}^N{w_i{BID_i}^{1/2}(k_i BID_i-X*CR_i)}=0 $

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

$ begin{cases}displaystyle{ CR_i+L*bigr(3k_i BID_i-X*CR_i bigl)=0,:i=1..N\ sumlimits_{i=1}^N{w_i{BID_i}^{1/2}(k_i BID_i-X*CR_i)}=0 } end{cases}. $

Для решения этой системы вначале выразим $BID_i$ из $N$ первых уравнений системы:

$ BID_i=frac{CR_i (LX-1)}{3Lk_i},:i=1..N $

и подставим данные выражения в последнее уравнение:

$ sumlimits_{i=1}^N{frac{w_i}{{k_i}^{1/2}}*Bigl(frac{CR_i(LX-1)}{3L}Bigr)^{1/2}*Bigl(frac{CR_i(LX-1)}{3L}-X*CR_iBigr)}=0 $

Теперь упростим полученное уравнение и вынесем из-под знака суммирования все множители, которые не зависят от $i$:

$ sumlimits_{i=1}^N{frac{w_i}{{k_i}^{1/2}}{CR_i}^{3/2}Bigl(frac{LX-1}{3L}Bigr)^{1/2}Bigl(frac{2LX-1}{3L}Bigr)}=0 $

или

$ Bigl(frac{2LX-1}{3L}Bigr)Bigl(frac{LX-1}{3L}Bigr)^{1/2}sumlimits_{i=1}^N{frac{w_i}{{k_i}^{1/2}}{CR_i}^{3/2}}=0 $

Так как все величины $CR_i$,$w_i$,$k_i$ не могут быть меньше 0 и равны нулю одновременно, то это значит, что

$ sumlimits_{i=1}^N{frac{w_i}{{k_i}^{1/2}}{CR_i}^{3/2}}>0, $

а значит решение уравнения эквивалентно решению простого уравнения относительно только множителя Лагранжа $L$:

$ Bigl(frac{2LX-1}{3L}Bigr)Bigl(frac{LX-1}{3L}Bigr)^{1/2}=0 $

Можно убедиться, что данное уравнение имеет только 2 решения:

$ L_1=frac{1}{X} :или:L_2=-frac{1}{2X}. $

При подстановке первого решения $L_1=frac{1}{X}$ в выражение $BID_i=frac{CR_i (LX-1)}{3Lk_i}$, мы получим, что $BID_i=0$ для всех $i$. Очевидно, что такое решение не доставляет максимума оптимизируемой функции $CV=sumlimits_{i=1}^N{CR_i*w_i*{BID_i}^{1/2}}$, а значит данное решение будет посторонним (при таком решении мы ничего не потратим и не получим ни одной конверсии).

Теперь рассмотрим второе решение $L_1=-frac{1}{2X}$ и подставим его в

$ BID_i=frac{CR_i (LX-1)}{3Lk_i}. $

В этом случае имеем:

$ BID_i=frac{CR_iBigl(-frac{1}{2X}X-1Bigr)}{3Bigl(-frac{1}{2X}Bigr)*k_i} $

или

$ BID_i=frac{CR_i}{k_i}*X $

а значит

$ BID_i sim CR_i*X. $

Таким образом, наше предположение доказано. Обратите внимание на то, что в формуле расчета оптимальной ставки также присутствует множитель $frac{1}{k_i}$. Если вспомнить, что

$ frac{1}{k_i}=frac{BID_i}{CPC_i}, $

то становится понятен смысл данного выражения. Оно отражает, насколько мы можем дополнительно «искусственно увеличить» ставку за счет того, что списываемая цена клика всегда меньше установленной нами ставки. Если мы рассматриваем рекламные сети (например, РСЯ), то как правило $k_iapprox1$, а потому верна классическая формула для расчета ставки:

$ BID_i=CR_i*X $

Вывод

В этом посты мы строго обосновали классическую формулу для оптимизации ставок в контекстной рекламе для стратегии: «максимум конверсий при ограниченной средней цене конверсии». Мы сформулировали базовые предположения, когда данная формула точна. Кроме того, в результате решения поставленной задачи, Calltouch обнаружил, как можно модифицировать данную формулу (особенно если говорить про оптимизацию поисковых рекламных кампаний), так чтобы повысить эффект от оптимизации. Полученные результаты можно использовать как в рамках оптимизатора конверсий, так и при ручном управлении ставками.

Послесловие:

На наш взгляд, основная цель этого поста – это даже не строгое доказательство всем известного факта о том, как необходимо оптимизировать ставки для контекста, а демонстрация на практике одного из инструментов теории оптимизации – метода неопределенных множителей Лагранжа. Данный метод позволяет решить практически любую задачу на условный экстремум, возникающую при разработке практических инструментов по оптимизации. Например, задачи «максимум конверсий при ограниченной ДРР (доле расходов на рекламу)» или «максимум конверсий при ограниченном бюджете» также легко свести к модели, оптимизацию которой можно производить при помощи метода Лагранжа. Конечно, далеко не всегда удается решить полученную систему уравнений аналитически, как это сделано в описанном в работе примере. Главная сложность рассмотренного подхода заключается в том, что нам необходимо решать систему нелинейных уравнений большой размерности, что не всегда возможно сделать в замкнутом виде. Вместе с тем, существуют методы вычислительной математики, которые позволят решать такие системы численно, строя приближенное решение с любой степенью точности.

Автор: CalltouchForever

Источник

Поделиться

* - обязательные к заполнению поля