2 заметки с тегом

Статистика

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

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

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

Разбор на примере площадок
Нам важно привлекать лиды по стоимости ниже 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% вероятностью, каждая площадка еще может показать результат, который нас всех устроит. Хотя прямо сейчас, в текущий момент, эти площадки не могут показать достаточный результат.

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

Как рассчитывать доверительные интервалы через 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%
14 дн   Python   Аналитика   Интернет-маркетинг   Статистика