Введение в A/B тесты, часть 2Для начала
важно напомнить: если у нас есть продукт, то мы можем отслеживать его состояние по
различным метрикам (например, количество пользователей продукта в день, средний чек в приложении и тд.) 📈
- Так как же нам корректно оценить, стоит ли нам менять дизайн нашей странички? 🥸
- Давай подумаем, как бы мы хотели решать эту задачу в идеальном случае. Для начала мы бы определили, за какой метрикой мы бы хотели наблюдать, чтобы заметить изменение в продукте. Например, в случае изменения дизайна сайта оплаты мы бы, вероятно, хотели увеличить метрику конверсии в покупку. В идеале мы бы хотели «клонировать» каждого пользователя и поместить его в две ситуации: в одном случае мы бы показывали ему старый дизайн, а в другом - новый. И тогда бы мы могли точно отследить, в каком из этих случаях при прочих равных условиях увеличивается конверсия в покупку.
Иными словами, мы бы хотели проверить наше изменение в двух совершенно одинаковых условиях, чтобы замерить эффект только от нашего изменения. Если условия будут различными, то мы не можем считать, что изменения в продукте были вызваны именно нашей новой фичей (возможно конверсия увеличилась не из-за нашего нового дизайна, а из-за новогодних праздников, которые выпали на период запуска нового дизайна ☃️)
Увы, но в нашем мире мы почти никогда не можем обеспечить абсолютно одинаковые условия для нашего теста, и вот тут вступает в дело та самая
теория вероятностей и математическая статистика, которая поможет нам даже при наличии погрешностей оценить, насколько значительно наше изменение повлияло на целевую метрику 📚
Я не хотел углубляться в детали, но вкратце математически это можно описать так: после теста у нас получаются две выборки. В первой выборке находятся значения целевой метрики для первой группы пользователей со старым дизайном (эту группу назовём А), а во второй выборке - метрики пользователей с новым дизайном (назовём её группой В), при этом сами эти группы пользователей в идеале должны быть одинаковые по поведению и параметрам, чтобы обеспечить как можно более идентичные условия за исключением нашего исследуемого изменения. Затем мы делаем предположение, что две эти выборки на самом деле были получены из одного и того же распределения. Исходя из этого предположения мы рассчитываем, какая была вероятность получить именно такое различие в выборках. Если же получить такое изменение выборки было практически невозможно, то мы отклоняем наше предположение о том, что выборки были получени из одного распределения -> это буквально значит, что наше изменение действительно статистически значимо повлияло на целевую метрику (
ааа сложнааа)
Итак,
совсем кратко про A/B тест:
- определяем целевую метрику, по которой будем судить об изменениях в продукте 📏
- разделяем пользователей на равнозначные по параметрам и поведению группы (объёмы групп и длительность теста также можно корректно определить) 🙎♂️🙍♀️
- одной из групп показываем изменение, другим - не показываем. Замеряем целевую метрику 📊
- проверяем, что изменение метрики не было "случайностью" (тут под капотом скрывается теорвер и матстат) 🎰
- если изменение метрики нас устроило и оно является статистически значимым (т.е. не вызвано случайностью), то новое изменение можно катить абсолютно на всех пользователей 🥳
В посте ниже скину пример задачки на АБ тест, которую мне дали на собеседовании на аналитика (
я её не решил 😢)