Доверительные интервалы в работе аналитика
https://t.me/datalytxПост Юрия Борзило про кейс использования доверительного интервала в маркетинге
Как доверительный интервал помогает оценить эффективность источника трафика?
Вы привлекаете пользователей и конвертируете их в лиды. В качестве KPI используете CPL. Например ваш максимум, который вы готовы платить за лид 1000 руб.
- вы потратили 8000 руб,
- получили 200 пользователей из них только 4 стали лидом
- стоимость лида 2000 руб.
- коэффициент конверсии из пользователя в лида 2%
Можно ли принимать решение, что источник трафика не эффективен и стоит понизить ставки, чтобы снизить стоимость лида? Ведь может оказаться, что мы потратим еще 2000 руб и привлечем еще 50 пользователей и из них получим еще 6 лидов.
Тогда при затратах 10000 руб, у нас будет
- 250 пользователей
- 10 лидов
- стоимость лида 1000 руб
- коэффициент конверсии из пользователя в лида 4%
Для того чтобы более точно оценить эффективность источника трафика, не дожидаясь сбора дополнительной статистики, можно посчитать доверительный интервал для коэффициента конверсии и по его верхней границе пересчитать стоимость лида и на основе этой стоимости лида оценить возможную эффективность источника трафика.
Разберем, что такое доверительный интервал. Существуют точечные оценки, такие как среднее, медиана, мода. Например, средний коэффициент конверсии в нашем примере 2%.
Но такие оценки ничего не говорят об изменчивости показателя. Помимо точечных оценок существуют интервальные. Доверительный интервал это способ оценить какую-либо величину не точечно, а при помощи диапазона.
С помощью доверительного интервала мы можем оценить с определенным уровнем точности (доверительной вероятностью) в каких пределах может меняться коэффициент конверсии, если мы нальем еще трафика на наш сайт.
Обычно в качестве доверительной вероятности берут значение 95% или 99%.
Формулы для расчета границ 95% доверительного интервала
CR +(1,96 * SQRT(CR * ((1-CR) / users)) - верхняя граница
CR - (1,96 * SQRT(CR * ((1-CR) / users)) - нижняя граница
К примеру рассчитаем 95% доверительный интервал коэффициента конверсии для нашей ситуации. Доверительный интервал будет равен 0.06% - 3.94%
Интерпретировать этот интервал можно так. Если мы будем привлекать еще пользователей, то с вероятностью 95% наш коэффициент конверсии будет находится в пределах 0.06% - 3.94%. Т.е. мы понимаем, что самое лучшее на что мы можем рассчитывать по конверсии это конверсия 3,94%
Пересчитаем стоимость лида в нашей ситуации по верхней границе коэффициента конверсии 8000 / (200 *0,0394) = 8000 / 7,88 = 1015 руб.
Мы выяснили, что даже если со временем, когда нальем еще трафика достигнем максимально возможного коэффициента конверсии, который мы оценили через доверительный интервал, то стоимость лида составит 1015 руб, что выше допустимой на 15 руб.
Таким образом оценив доверительный интервал для коэффициента конверсии и пересчитав стоимость лида по верхней границе доверительного интервала мы можем сделать вывод не дожидаясь сбора дополнительной статистики, что скорее всего со временем стоимость лида не будет в пределах нормы и уже можно снижать ставки, чтобы понизить стоимость привлечения пользователя и соответственно CPL
Пост с разбором кейса Юрия Борзило от Максима Годзи
Предлагаю разобрать этот кейс, так как это хороший пример того, что применяя формулу, необходимо очень внимательно следить за границами ее применимости. Начну с малого, но математически очень важного, а далее в конце разбора обращу ваше внимание на более масштабную бизнесовую проблему.
Итак, имеем ли мы право считать доверительный интервал в этой задаче таким способом? Можно ли применить формулу для доверительного интервала нормального распределения? Сначала нужно определиться с каким распределением мы имеем дело в этой задаче. Для этого нужно выбрать модель, которой мы описываем наш эксперимент. Конверсия или не конверсия конкретного пользователя это эксперимент с двумя исходами, то есть эксперимент Бернулли. Если упростить ситуацию максимально и считать, что для каждого пользователя применима некоторая одинаковая истинная вероятность конверсии p и он случайно один раз принимает решение следуя этой вероятности, то имея n привлеченных пользователей в такой модели, мы получим в результате совокупное число конверсий, удовлетворяющих биномиальному распределению. Это распределение асимметричное (кроме особого случая, когда p=0.5, либо n бесконечно большое) и ведет себя очень нетривиально вблизи значений параметра p около нуля. При малых объемах выборки или низких значениях p неверно использовать формулу для расчета доверительного интервала для нормального распределения работая с экспериментальными данными, подчиняющимися биномиальному распределению (см. ссылку). Грубое правило, которым можно руководствоваться при желании применить формулу доверительного интервала нормального распределения при работе с биномиальным: произведение n*p должно быть больше 5. В примере Юрия n*p=200*0.02=4, что меньше 5, то есть это случай недостаточно большой выборки и p слишком близкой к нулю для соблюдения требований применения такого приближения, которое использовал Юрий (для целей такого примера с нормальными доверительными интервалами Юрий мог бы сразу взять p побольше и уйти от этих проблем, но благодаря его выбору у нас появилась возможность разобрать этот кейс). Теперь вопрос - велика ли разница, если применять доверительные интервалы для биномиального распределения? Давайте разберем это. 95% интервал в верхней границе даст оценку конверсии в 5%, а не в 3.95%. Если Юрию удалось поднять от точечной оценки 2% конверсию почти в 2 раза для верхней границы 95% интервала, то мы на самом деле имеем подъем в 2.5 раза. Дальше интереснее и существеннее. Так как биномиальное распределение асимметричное, то на самом деле нижняя граница 95% интервала дает конверсию вовсе не 0.06% (как получилось у Юрия), а 0.5% по критерию Clopper-Pearson, что почти в десять раз выше оценки Юрия.
Интуитивно очень легко понять, почему биномиальное распределение дает такие результаты. Предположим ваша истинная вероятность конверсии 2%, а вы привели всего 10 пользователей. Интуитивно понятно, что вероятность увидеть просто ноль конверсий из-за малого числа трайлов очень высока (она составляет примерно 81.7%). Получается, что реальная конверсия отлична от нуля, но дискретизация округляет все в ноль. Можно подумать об этом иначе. Посмотрите на график плотности вероятности для этого распределения. Учитывая, что в результате эксперимента вы не можете получить значения меньше нуля (в отличии от нормального распределения, где это возможно), график распределения при уменьшении параметра p будет вынужден деформироваться и прижиматься к оси Y. Это также наглядно объясняет, почему в таких задачах плохо использовать оценки доверительных интервалов формулу для нормального распределения - нормальное распределение легко может дать ненулевую вероятность для отрицательных значений наблюдаемой величины в эксперименте, где таковых значений вообще быть не может.
Теперь, когда мы разобрали вопрос отличия доверительных интервалов биномиального распределения от нормального, давайте перейдем к еще одной существенной проблеме, связанной с самой постановкой задачи. Доверительный интервал для оценки будущих исходов экспериментов по конверсии или неконверсии привлеченных из рекламы пользователей можно применять только тогда, когда мы уверены, что в будущем продолжим своими экспериментами семплировать точки из того же самого распределения (в нашем случае из распределения с тем же параметром p). Но на самом деле это будет не так, ведь реальная конверсия в общем случае существенно зависит от объемов трафика и выделенных бюджетов. Эту зависимость также нужно восстанавливать, она и будет вносить самый существенный вклад в вашу экономику. Интересно, что модель с эксприментом Бернулли может быть удобной переходной моделью, для снятия стохастической компоненты с этой зависимости. Типичная кривая зависимости конверсии от объема трафика выглядит как S кривая, имеет этап разгонки канала, переход на квазилинейный участок и выход на плато, но все это можно заметить и построить работая с большими рекламными каналами, усредняющими в себе много стохастики. Отдельная кампания как правило имеет высокую стохастичность из-за зависимости от флуктуаций объема охватной аудитории (спроса) и действий конкурентов. Кампания, завязанная на аукционы может также иметь высокую дискретизацию и заметный гистерезис (значения коэффициента конверсии при движении вверх по бюджетам или трафику отличаются от своих значений для тех же иксов при движении вниз по бюджетам или трафику). Все эти явления сильно расширяют ожидаемый интервал относительно оценок числа конверсий, восстановленного из идеального биномиального распределения с фиксированным параметром p.
Однако для грубой оценки при расчете юнит-экономики на основе очень маленького трафика полезно использовать приближение с биномиальным распределением - это лучше подходит для анализа возможных сценариев, чем подставлять в модели сырые данные в виде конверсии, посчитанной как (число конверсионных пользователей)/(объем трафика). Как следует из природы биномиального распределения при очень маленьких объемах трафика наблюдаемое число конверсий скорее всего будет занижено относительно реальной конверсии, и именно особенность в виде асимметрии распределения позволяет получить интервал для более реальной оценки происходящего.
Надеюсь разбор был полезен.
Самое забавное, что при росте верхней границы интервала с 3.94% до 5% при более аккуратном рассчете сам вывод Юрия меняется на противоположный - пересчитаем стоимость лида в нашей ситуации по верхней границе коэффициента конверсии 8000 / (200 *0,05) = 800 руб, что на 200 рублей дешевле целевой стоимости в задаче Юрия, в то время как его вывод был: "стоимость лида составит 1015 руб, что выше допустимой на 15 руб.".
P.S. Юрий Борзило, большое спасибо за поднятую интересную тему, не смог пройти мимо.
P.P.S. Если кому-то захотелось лучше проработать эти вопросы, то рекомендую эти ссылки:
https://demonstrations.wolfram.com/ConfidenceIntervalsForTheBinomialDistribution/
https://www.statsmodels.org/stable/generated/statsmodels.stats.proportion.proportion_confint.html
Комментарий Алексея Макарова
Почему я считаю важным разместить этот пост? Он показывает, что в использовании многих инструментов есть границы применимости. То, что можно назвать подводными камнями. И очень важно разбирать публично эти подводные камни, рассказывать о них, объяснять, вступать в продуктивную аргументированную дискуссию
Я часто встречаю в интернет-дискуссиях другой тип дискуссий: попытку выставить собеседника «дураком», аргументировав это фразой «вы ни в чём не разбираетесь, тогда не пишите ничего». Особенно часто это касается областей, в которых прослеживается «наукоёмкость» и «систематичность», то есть областей где много математического или инженерного фундамента. К такой отрасли относится и аналитика данных. Мне кажется это катастрофически снижает культуру дискуссий, ограничивает развитие отрасли и бьёт по самоценке людей, входящих в эту индустрию. Я верю, что открытый диалог, аргументированное объяснение и работа над ошибками в формате взаимопомощи, а не «тыкания носом» — это то, что делает нас всех лучше как сообщество единомышленников