Анализ распределения рекламного бюджета с помощью математической статистики
Часто при построении отчетности за период проведения рекламной кампании приходится сталкиваться с просьбой клиента предоставить комментарии по негативной динамике коэффициента конверсии (далее CR). Самое забавное, что комментарии по причинам положительной динамики обычно не требуются
Всевозможные ниндзя и гуру аналитики, скорее всего, предложат проанализировать основные источники трафика, пути пользователей на сайте и т.д. Возможно, это даст результаты. Но не стоит в каждой ситуации действовать по шаблону от гуру с именем. Сейчас данных стало слишком много, поэтому мы пытаемся ухватиться за все, но в итоге выжать максимум пользы с помощью этого подхода не получается. Иногда для оценки ситуации достаточно скрупулезно проанализировать небольшое количество имеющихся данных.
Вернемся к вопросу о причинах негативной динамики CR и приведем конкретный пример.
Предположим, мы работаем с клиентом (интернет-магазином), у
которого нами настроено отслеживание электронной торговли. От клиента поступают
данные в следующем виде:
Период |
Сеансы |
Конверсии |
CR, % |
Март |
423 |
12 |
2.8% |
Апрель |
341 |
4 |
1.2% |
И вопрос: «Что происходит? Почему CR в апреле стал более, чем в 2 раза
ниже?».
Этот вопрос из категории вопросов, которые могут вызвать еще больше сложных вопросов. В данном материале попробуем рассмотреть некоторые из них.
Рассмотрим имеющиеся данные и то, как их видит клиент. Имеется небольшое число сеансов и еще меньшее число конверсий. Под показателем эффективности клиентом понимается доля конверсий в сеансах. Что более важно, эта доля клиентом названа Conversion Rate (CR). Почему это важно? Потому что наблюдаемая доля конверсий в сеансах не является истинным значением CR. Это именно наблюдаемая доля конверсий. А истинное значение CR можно (и нужно) интерпретировать как вероятность конверсии (которое характерно для посетителей, реагирующих на рекламу и содержимое сайта).
В качестве примера различия вероятности и наблюдаемой частоты можно привести избитый, но работающий пример бросания монеты. Вероятность (объективная характеристика), что выпадет орел, – 50%; если же бросить монетку, скажем, 100 раз, то орел может выпасть, к примеру, 46 раз. Но мы же не станем с уверенностью говорить, что вероятность «получить» орла 46%.
Если вернуться к примеру с интернет-магазином, то при имеющихся данных мы можем говорить лишь об оценке истинного значения CR. Это не очень радостный факт, зато свою оценку мы можем делать с заданной степенью точности (90%, 95% и т.д.).
Хорошая иллюстрация того, что среднее значение не очень устойчивая оценка, – график распределения конверсий и график распределения CR. Как их строить и почему они выглядят именно так – история, которой лучше посвятить отдельный разговор.
График распределения конверсий для марта и апреля при имеющихся посещениях выглядит следующим образом:
Высота графика (значения вертикальной оси) пропорциональна шансу получить
различные значения конверсий, отображаемые на горизонтальной оси. Пунктирная
линия как раз находится около наиболее вероятного значения конверсий (это как
раз то среднее, которое прислал нам клиент в таблице).
Распределение коэффициента конверсии выглядит похоже на
распределение транзакций:
Мы видим, что графики накладываются. Это означает, что существует ненулевая
вероятность, что значения CR равны в марте и апреле.
Для того, чтобы определить, различны ли значения CR, нужно рассчитать интервал значений этого показателя при различных уровнях доверия. Уровень доверия определяется нами – если нужно очень точно, то можно выбрать 99% или 95% доверительные интервалы. Если нас устраивает точность поменьше, можно выбрать, к примеру, 80% уровень доверия.
Интервал значений, зависящий от уровня доверия принято называть доверительным интервалом.
Чтобы посчитать доверительный интервал, нужно использовать квантили. 95% доверительный интервал определяется 2.5% и 97.5% квантилями. Для разности распределений CR этот интервал равен [-0.034; 0.004]. Нуль лежит внутри него. То есть, гипотезу о равенстве CR на 95% уровне доверия нельзя отклонить.
Посмотрим, что было бы, если бы исходные данные были несколько другими:
Период |
Сеансы |
Конверсии |
CR, % |
Март |
4230 |
120 |
2.8% |
Апрель |
3410 |
40 |
1.2% |
Несмотря на то, что CR остался прежним, по данному графику можно более уверенно
утверждать, что различия в CR неслучайны. Но давайте снова посчитаем квантили
разности, чтобы количественно определить, значима ли нулевая разность.
95% доверительный интервал для разности CR равен [-0.02; -0.01]. То есть, нуль уверенно не попадает в этот интервал, значения CR различны с 95% вероятностью, что очень неплохо.
Эти два случая с одинаковыми CR показывают важную закономерность – следует тщательно оценивать, на сколько уверенно можно говорить о различиях в рассматриваемых показателях. Бывают случаи, когда данных недостаточно, и мы не можем даже с небольшой степенью уверенности говорить о каких-то тенденциях.
Но целью написания этого материала не является указание на необходимость сбора достаточного количества данных. Поэтому поговорим о практическом аспекте использования доверительных интервалов.
Как говорилось выше, относительные показатели, полученные на основе данных, например, CR, CTR, CPC и т.д. являются лишь оценками, наблюдаемыми в процессе получения все большего числа данных. Для того, чтобы оперировать более точными показателями, следует использовать интервальные оценки.
Наиболее очевидный случай такого использования – оценка бюджета для рекламных кампаний по результатам прошлых периодов.
Предположим, у нас имеется исходный набор данных (несколько измененный), но в него дополнительно включены также показы и клики. Что это может нам дать?
Кампания |
Показы |
Клики |
CTR, % |
Сеансы |
Конверсии |
CR, % |
Кампания1 |
7359 |
411 |
5.6% |
423 |
12 |
2.8% |
Кампания2 |
8917 |
355 |
3.9% |
341 |
4 |
1.2% |
Зная о том, что природа конверсий и кликов схожа в контексте их распределений (и клики, и конверсии моделируются биномиальным распределением), а также комфортную цену клика, можно рассчитывать интервалы для бюджета рекламной кампании, например, для 10 000 показов:
Для 10 000 показов для 2 кампаний при цене клика в 2 рубля можно закладывать для Кампании 1 бюджет в размере от 1010 руб. до 1219 руб., для Кампании 2 бюджет следует планировать в размере от 715 руб. до 877 руб.
Это как раз границы 95% доверительного интервала, о котором столько говорилось выше.
Как их посчитать? Я бы выделил 3 группы способов –
воспользоваться MS Excel, воспользоваться специальными статистическими средами
или языками программирования (R, Python, SPSS и т.д.), отдать расчет аналитикам
(например, нам). Тут расскажу о том, как посчитать границы бюджета в MS
Excel.
Расчетные ячейки выделены жирным шрифтом. Формулы приведены для Кампании 1, для
Кампании 2 достаточно протянуть их из первой строки. Остальное – исходные
данные, которые могут меняться в зависимости от конкретной ситуации. Может
возникнуть только вопрос о том, почему значения α и β выбраны именно такими.
Это сделано для того, чтобы выражение
Это априорное предположение о значении CTR, на которое мы ориентировались в данном примере.
Границы бюджета помогают, во-первых, понимать, сколько денег клиент должен минимально заложить, чтобы достичь нужного числа посещений. Во-вторых, дают некую свободу в плане того, что можно закладывать бюджет с запасом, чтобы в случае непредвиденных обстоятельств не было очень большого проседания основных показателей.
Если двигаться еще дальше, то можно аналогичным образом
посчитать интервалы для CR и оценить число конверсий и ROI по рекламным
кампаниям:
Нехитрая арифметика позволяет оценить worst- и best-case, в этом случае расчет
ROI будет выглядеть следующим образом (check=средний чек):
Занимательный факт, ROI при таком подходе зависит только от CR и CPC. CTR уходит из уравнения
То есть, при среднем чеке в 100 рублей обе кампании имеют риск оказаться с ROI< 0, что недопустимо. При среднем чеке в 300 рублей, только Кампания 2 рискует получить отрицательное ROI, при среднем чеке в 500 рублей, обе кампании демонстрируют положительное ROI с высокой вероятностью.
Таким образом, мы лучше понимаем, как можно влиять на рентабельность рекламных кампаний. Возможно, нам следует стимулировать посетителя увеличивать средний чек, тогда стоит продумывать акции и тому подобные мероприятия. В некоторых случаях (как в случае интернет-магазинов одежды) на руку играет сезонность – например, ближе к зиме в сегменте верхней одежды растет средний чек, что позволяет допускать меньшую стоимость клика и/или CR.
Такой подход позволяет создать множество сценариев за счет большого числа переменных – варьирование числа показов, стоимости клика и т.д. позволяет моделировать различные паттерны поведения пользователей и более гибко подходить к задаче распределения бюджетов.