Перейти к основному содержанию

Антон Рожков

Руководитель отдела перформанс-маркетинга в IT-Agency.

Мой телеграмм-канал.

Как растить команду и зарабатывать в перформанс-маркетинге

Подпишись и узнай что происходит
в IT-Agency глазами Антона Рожкова.

Как растить команду и зарабатывать в перформанс-маркетинге

Подпишись и узнай что происходит
в IT-Agency глазами Антона Рожкова.

Если реклама по CPM, то работаем с креативами в первую очередь

Если мы оплачиваем рекламу по CPM (оплата за 1000 показов), то в первую очередь нужно работать с креативами. Тестировать по 5-10 креативов и смотреть какие из этих креативов лучше всего заходят для широкой аудитории. Если отклик хороший (CTR, целевые действия), то сужаем аудиторию.

К примеру, начинали на предпринимателей. Сужаем до площадок или до аудитории (предприниматели, которые недавно начали бизнес).

Тестируем на одинаковый, ограниченный бюджет.

Сразу делать на узкую аудиторию → часто промахнёмся с креативом и не поймем это.

blog_links_near

Бесплатный курс по PowerBI от Макса Уварова

Игорь опубликовал в своём блоге курс по PowerBI от Макса Уварова. Курс доступен бесплатно (но возможно временно).

Для джедаев (перформанс-маркетологов) в IT-Agency этот курс желательно пройти на уровне мидл-1 мидл-2.

https://blog.fossko.ru/all/power-bi-dlya-internet-marketinga/

blog_links_near

Как разбить utm-метку с помощью регулярных выражений

Для интернет-маркетолога обычно стоит обратная проблема → сгенерировать utm-метку. А вот для аналитика, нужно связать данные и такие utm-метки нужно научиться разбивать. Это можно сделать программным путём, но сегодня расскажу как это сделать через Google Sheet с помощью регулярных выражений.

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

Допустим, у нас есть ссылка:
url.ru?utm_campaign=campaign&utm_source=source&utm_medium=medium

Используем RegEx (регулярные выражения) сначала для извлечения utm_campaign:

RegExReplace(ЯЧЕЙКА-С-ССЫЛКОЙ, ".*(\?|\&)(utm_campaign\=)","")

Объяснение формулы:

. (точка) — это любой символ
* (звездочка) — это любое количество символов

То есть начало звучит так: «может быть любое количество любых символов».

После этого ставим остановку, до какого момента у нас может быть «любое количество, любых символов»

(\?|\&) — скобочки — это группировка, то есть вначале смотрим что происходит в этих скобочках.

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

| — знак ИЛИ. регулярное выражение будет искать ?, если не найдет, то будет искать &.

(utm_campaign\=) — группа, которая говорит, что надо найти выражение utm_campaign=

После этого мы получим выражение
campaign&utm_source=source&utm_medium=medium

а все что было до campaign отрежется (дословно по Google Sheet заменит на пустоту). Поэтому нам нужно повторить формулу, чтоб убрать лишние символы в конце:

=REGEXREPLACE(REGEXREPLACE(A2,".*(\?|\&)(utm_campaign\=)",""),"\&.*","")

или

=REGEXREPLACE(СТАРОЕРЕГВЫРАЖ,"\&.*","")

В этой формуле мы в начале ищем символ &, а после нам нужны любые символы (`.`) до тех пор, пока эти символы будут встречаться (`*`).

Если хочет посмотреть пример, то он доступен по этой ссылке.

blog_links_near

Как сформулировать гипотезу и её проверить

В прошлый раз я рассказал как считать доверительные интервалы и показал как это происходит на практике. Но одна из сложных (для меня) тем была: как сформировать гипотезу с точки зрения науки. Разберём эту тему на примере.

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

На основе этой информации мы можем сформулировать гипотезу как можно улучшить этот процесс и повысить конверсию: «А давайте сразу же на сайте писать цену!». Первый вопрос, а для чего мы это делаем?

Чтоб повысить конверсию! Когда мы будем подводить итог, мы будем считать эффективность старой версии сайта, по сравнению с новой версией сайта.

Нулевая гипотеза

Сначала определяем нулевую гипотезу. Фактически это гипотеза, которая говорит нам о том, что всё должно быть так, как обычно. То есть мы отвергаем, что появление точной стоимости на сайте увеличит конверсию. Для нас нулевая гипотеза: «Когда мы начали показывать стоимость услуги, конверсия не увеличилась».

Альтернативная гипотеза

Второй шаг, определить альтернативную гипотезу. Это гипотеза, ради чего мы все это затеяли. В нашем случае: «Когда мы начали показывать стоимость услуг, конверсия увеличилась».

Стартуем эксперимент

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

В идеале, стоит провести еще и AA тестирование. То есть трафик разделять не на 2 части, а на 3 части. Первая часть идёт на исходную страницу, вторая часть снова на исходную страницу, а третья часть на новую страницу. Это нужно, чтоб понять, что с трафик однороден. Но в реальности AAB-тестирование могут себе позволить только огромные проекты с большим количеством трафика.

Подведение итогов

И вот тут мы считаем доверительные интервалы. Нам нужно определить уровень статистической значимости. Если бы мы были учеными, то скорее всего мы бы взяли 95% значимость, чтоб уменьшить вероятность ошибочного эксперимента. Если эксперимент критичный (если ошиблись, получим смерти людей), тогда берут 99% значимости.

Для маркетинга достаточно брать уровень статистической значимости 80% (Сигма=1.28). Как считать доверительные интервалы, я уже писал. Если попыток мало, то лучше использовать формулу x², если попыток много (больше 5000), то я использую бета-распределение.

Если доверительные интервалы (ДИ) пересекаются (первый исход ДИ от 5% до 5,5%; второй исход 5,4% до 5,7% → пересечение между 5,4% (начало 2 ДИ) и 5,5% (конец 1 ДИ)), тогда мы не можем сказать что первая и вторая гипотезы отличаются.

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

blog_links_near

Считаем эффективность источника без достаточного количества конверсий

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

Наша задача, определить насколько какой-то элемент в рекламе эффективен. Я буду разбирать на примере площадок. Но можно так же построить оценку на фразе, креативе и т. д.

Разбор на примере площадок

Нам важно привлекать лиды по стоимости ниже 9 500 ₽. Это жесткая планка. Всё что выше, точно не окупится никогда (и эффект масштаба не работает).

Возьмём для примера три вида площадок:

Согласно этим данным, нам нужно отключить все площадки. Но нужно понять, а с 80% вероятностью, смогут ли эти площадки когда лидо выйти на планку в 9500 ₽. Может нам просто выборки не хватило.

Нам нужно посчитать не просто доверительный интервал. А понять какую максимальную конверсию в нашем доверительном интервале сможет показать каждая площадка. Рассчитывать можно через x² или бета-распределение. Вот формулы:

Форумла расчёта x²

σ×SQRT(КОНВЕРСИЯ×(1-КОНВЕРСИЯ/ВЫБОРКА)

80% точность σ = 1.28

Расчёт для первой площадки
1.28×SQRT(0,0020×(1-0,0020/5000))=0,08%

Тогда CRmax будет =0,28%

Формула расчёта Beta-распределения

=BETA.INV(0,9;КОНВЕРСИЙ;ВЫБОРКА-КОНВЕРСИЙ)

Расчёт для первой площадки
CRmax=BETA.INV(0,9;10;5000-10)=0,28%

Расчёт для всех площадок

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

Безусловно нужно будет принимать решение в текущий момент времени с менеджментом или собственником бизнеса и проанализировать до продаж качество самих этих лидов.

blog_links_near

Как рассчитывать доверительные интервалы через x² или бета-распределение

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

Биномиальное распределение

Биномиальное распределение — это распределение исходов, где значение может принимать два значения: «правда» или «ложь» — «1» или «0».

Разберём на примере:
У нас есть посадочная страница, на которую мы заводим пользователей с рекламной кампании. Каждый заход — это испытание. Заход может закончиться оправленной заявкой (конверсия, «ПРАВДА», «1»), или пользователь просто может уйти (ничего, «Ложь», «0»).

Каждое испытание должно быть независимым от предыдущего.

Расчёт через ײ (хи-квадрат)

Формула расчёта доверительного интервала через хи-квадрат выглядит так:

σ×SQRT(КОНВЕРСИЯ×(1-КОНВЕРСИЯ/ВЫБОРКА)

SQRT — корень.
σ — это сигма, среднеквадратичное отклонение. К примеру, для 68% нам нужна 1σ. Вот примеры:

1 сигма — это 68% точности.
1.28 сигмы — это 80% точность.
1.96 сигмы — это 95% точности.
3 сигмы — это 99,72% точности. В интернет-маркетинге такая точность не нужна.

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

Рассмотрим пример:
Баннер А — CTR=5%
Баннер Б — CTR=5.5%

На обоих баннерах выборка (показы): 10 000. Какой из этих баннеров лучше с 80% точностью?

Считаем:

σ для 80% = 1.28

Доверительный интервал для Баннера А
1.28 x SQRT(5% × (1 — 5%) / 10 000) = 0.28%

Доверительный интервал для Баннера Б
1.28 × SQRT(5.5% × (1 — 5.5%) / 10 000) = 0.29%

Для «Баннера А» доверительный интервал при такой выборке будет:

CTR(min) = 5% — 0.28% = 4.72%
CTR(max) = 5% + 0.28% = 5.28%

Для «Баннера Б» доверительный интервал будет:

CTR(min) = 5.5% — 0.29% = 5.21%
CTR(max) = 5.5% + 0.29% = 5.79%

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

Расчёт через бета-распределение

В Excel или Google Spreadsheet есть встроенная функция бета-распределения. Формула будет выглядеть так:

=Beta.inv(границы_точности; КОНВЕРСИЙ; ВЫБОРКА — (КОНВЕРСИЯ × ВЫБОРКУ))

Если мы вернёмся к задачке с баннерами, то у нас получатся вот такие формулы

Для Баннера А

CTR(min) = beta.inv(0.1; 5% × 10000; 10000 — 5% × 10000)
CTR(max) = beta.inv(0.9; 5% × 10000; 10000 — 5% × 10000)

Для Баннера Б

CTR(min) = beta.inv(0.1; 5.5% × 10000; 10000 — 5.5% × 10000)
CTR(max) = beta.inv(0.9; 5.5% × 10000; 10000 — 5.5% × 10000)

Получается:

Для баннера А

CTR(min) = 4.72%
CTR(max) = 5.28%

Для баннера Б

CTR(min) = 5.21%
CTR(max) = 5.79%

Результаты расчёта доверительного интервала через ײ и через формулу бета-распределения одинаковые. В случае биномиального расчёта можно использовать любую из этих формул.

Аналогично можно сделать и через Python. Разберём на примере баннера Б:

import scipy.stats as ss

dist = ss.beta(550, 9450)

ctrmin = dist.ppf(0.1)
ctrmax = dist.ppf(0.9)

print("CTRmin: {:2.2%} \nCTRmax: {:2.2%}".format(ctrmin, ctrmax))

Вывод кода выше:

CTRmin: 5.21% 
CTRmax: 5.79%
blog_links_near
Подписаться на Аналитика