Данная статья продолжение моих "баталий" с HR-ами в январе этого года: погружусь в тему АБ тестов на основе своего опыта прохождения собеседований.
Т.к. данная тема не самая простая для аналитиков, и не только для нас. То давайте начнем с базовых теоретических вопросов, которые спрашивают на собесах. А тестовые задания я буду разбирать в своем телеграм-канале (ссылка будет позже).
Список вопросов:
Что нужно делать для проведения АБ теста? И кто за что ответственный в команде продукта?
Что такое нулевая гипотеза? Что такое p-value? Как разделить пользователей на А и Б группы?
Вопросы, которые возникают после базовых:
7. Когда нужно использовать AБ тестирование?
8. Как и когда я могу интерпретировать результаты сплит-тестирования?
9. А можно проводить несколько экспериментов параллельно?
10. Чем можно заменить А/В-тестирование?
1. Что такое AБ-тестирование? Что такое ААБ тестирование?
AБ-тестирование — это инструмент, который помогает командам проверять гипотезы и принимать решения на основе данных, а не интуиции. Суть метода заключается в том, чтобы разделить аудиторию на части и показать ей разные варианты чего-либо, чтобы понять, какая версия лучше.
Тестировать можно дизайн лендинга, цвет и расположение кнопки call to action, форму регистрации, оформление email-рассылки, текст объявления на сайте и другие изменения.
Результаты AБ-теста показывают, какое решение даст большую конверсию в нужное целевое действие. Например, в каком случае больше пользователей перейдет по ссылке, зарегистрируется на сайте или в приложении, подпишется на рассылку, заполнить форму обратной связи. Есть и более сложные тесты, которые направлены на исследование долгосрочных метрик, таких как средний чек или влияние изменений в продукте на прибыль.
ААБ тестирование
Чтобы не сомневаться в достоверности результатов, тест лучше проводить с контрольной выборкой. Для этого нужно разделить аудиторию, на которой будут тестироваться варианты, не на две группы (A и Б), а на три (A, A и Б). Двум группам показать одну версию, третьей — другую. Это выявит, повлияли ли внешние факторы на результат теста и нет ли ошибок в сборе метрик.
Представьте, вы тестируете форму подписки на сайте магазина.
В это время другой отдел запустил рекламную кампанию на продвижение определенного продукта каталога, и на сайт пришло много пользователей. Они хотят купить сейчас и совершенно не интересуются подпиской, поэтому могут исказить результаты эксперимента.
Контрольная выборка покажет, равномерно ли распределились участники AБ-теста по группам, и не повлияла ли рекламная кампания на его итоги.
Внешние факторы не повлияли на результат, и данным можно доверять, если показатели групп A и A не отличаются. Если отличаются — цифры искажены, а значит принимать решение на основе теста не стоит.
2. Что нужно делать для проведения АБ теста? И кто за что ответственный в команде продукта?
процесс AБ-тестирования от планирования до анализа результатов делится на восемь шагов
Рассмотрим подробнее каждый шаг.
Шаг 1. Сформулировать гипотезы
Гипотеза поможет определить цели эксперимента, выбрать метрики и интерпретировать результаты.
шаблон, который подойдет для AБ-тестирования:
Рассмотрим шаблон на примере. Представьте, что вы работаете над интерфейсом для онлайн-магазина. Есть идея — разместить виджет подписки на рассылку, который всплывает сразу, как только пользователь заходит на сайт. В текст виджета планируется добавить информацию о скидке 10% за подписку. Сейчас эта информация и виджет для подписки размещены внизу страницы.
Гипотезу можно сформулировать через фреймворк:
ЕСЛИ виджет подписки с информацией о скидке будет появляться сразу, как только пользователь зайдет на сайт,
ТО пользователи будут чаще подписываться и сразу оформлять заказ,
ПОТОМУ ЧТО сообщение о скидке подтолкнет их не только к подписке на рассылку, но и к покупке.
Шаг 2. Определить метрики
Метрика AБ-теста — показатель, по которому оценивается, подтвердилась гипотеза или нет. В примере, на котором выше мы сформулировали гипотезу, метриками для ее проверки будут показатели конверсии в целевые действия — подписка и оформление заказа.
Важно учесть все метрики, на которые может повлиять эксперимент. Иначе есть риск выбрать вариант, который улучшит одну метрику, но при этом ухудшит продукт в целом.
Шаг 3. Утвердить критерии успеха и действия по итогам теста
Критерий успеха — это ожидаемый результат, по которому можно принять решение об успешности теста.
Например, конверсия в подписку равна 10%. Вы добавляете поп-ап с информацией о промокоде на скидку за подписку и ожидаете, что конверсия вырастет до 11%. 11% — это и есть критерий успеха.
Если конверсия в подписку у версии с виджетом действительно вырастет, значит гипотеза подтвердилась — эксперимент удался, изменение можно вводить.
Если метрики ухудшились — значит надо проработать другие решения.
Если метрики остались на прежнем уровне или изменения статистически не значимые — здесь могут быть разные варианты дальнейших действий, такие как:
изменить условия теста;
выбрать другую фичу;
протестировать на другом сегменте аудитории.
План действия относительно разных итоговых результатов определяется на этапе подготовки эксперимента. Иначе после могут возникнуть такие вопросы: «И что делать дальше? Для чего вообще мы проводили AБ-тест?»
Шаг 4. Отдать коллегам на кросс-ревью
Кросс-ревью стоит проводить при подготовке крупных и важных экспериментов. Коллеги помогут оценить все спорные моменты. Они проверят, как сформулирована гипотеза, учтены ли все метрики, на которые может повлиять эксперимент, и насколько верны решения, которые планируется принимать по результатам.
Организовать процесс кросс-ревью поможет шаблон для подготовки эксперимента, который опубликован в телеграм-канале. В шаблоне систематизирована информация, которая нужна для настройки AБ-теста и анализа результатов.
Шаг 5. Подготовить эксперимент
На этом этапе создается версия с тестируемыми изменениями и определяются следующие параметры:
Контрольная и экспериментальная выборка — пользователи, которые будут участвовать в эксперименте. Проверять можно как на всех пользователях, так и на группах, которые объединены по определенному показателю: местоположение, пол, возраст и так далее.
Минимальный размер выборки — минимальное количество пользователей, которые должны увидеть тестируемые версии, чтобы результаты были статистически значимы. Этот показатель можно рассчитать специальными калькуляторами, например, калькулятором Эвана Миллера.
Показатель статистической значимости — разница между метриками контрольной и экспериментальной выборки, при которой маловероятно, что это случайный результат. Калькуляторы для расчета этого показателя обычно интегрированы в систему настройки тестов.
Длительность тестирования — количество дней, когда будет идти эксперимент. Показатель зависит от общего размера выборки и текущего трафика. Рассчитать длительность тестирования можно по формуле: выборка / трафик = количество дней.
Допустим, минимальный размер выборки для статистически значимых результатов теста — 10000 уникальных посетителей. У сайта в среднем 1000 посетителей в день. Значит длительность теста — 10 дней.
Шаг 6. Запустить эксперимент
Главное, что нужно сделать при запуске, — проверить, что AБ-тест идет корректно. Например, кнопка, которая тестируется, работает, а пользователи попадают в выборки случайным образом. Если сразу появилась большая разница в конверсии версий A и Б или наоборот, разницы нет вообще — это сигнал, что что-то идет не так.
Если же тест работает правильно, то не пытайтесь анализировать результаты до его окончания или вносить изменения в настройки теста в процессе. В первый день победителем может оказаться один вариант, а на следующий день — другой. Нужно дождаться окончания теста, чтобы получить достоверные результаты.
Шаг 7. Проанализировать результаты и сделать выводы
Получив данные метрик, сравните их с критериями успеха, которые определили на этапе подготовки теста. Теперь можно сделать выводы о результатах эксперимента и обратиться к плану действий, который составлен до начала тестирования.
Шаг 8. Сделать отчет и поделиться им с коллегами
Делитесь с коллегами итогами AБ-теста — это поможет им в понимании поведения пользователей, даже если, на первый взгляд, гипотеза не имеет отношения к их задачам. Рассказать о результатах можно в виде презентации для команды.
Хранить отчеты имеет смысл так, чтобы все сотрудники вашей компании могли без труда их найти. Например, в Notion или другой системе, где можно создать единую базу знаний компании. Это поможет сэкономить время и ресурсы команды и избежать повторных AБ-тестов.
3. Что такое нулевая гипотеза? Что такое p-value? Как разделить пользователей на А и Б группы?
Нулевая гипотеза (H0) — принимаемое по умолчанию предположение о том, что между средними значений выборок А и Б нет разницы. Так, нулевая гипотеза считается верной, пока нельзя доказать обратное.
P-value – минимальный уровень значимости, при котором H0 отвергается.
Пользователей нужно рандомно разделять на А и Б группы, например, четные и нечетные id. Но главное – это проверять гомогенность выборок по вашим критериям: пол, возраст, локация и пр.
4. Сколько нужно значений в выборках (например, просмотров страницы), чтобы результат AБ тестирования был достоверен?
Перед тем, как вы сможете обработать результаты A/B тестирования, следует убедиться, что тестирование достигло статистической значимости. Эта точка, при которой вы получите процент уверенности в результате 95 или выше.
Хорошей новостью для вас будет то, что у многих тестировочных инструментов показатели статистической значимости уже встроены, так что вам сразу же сообщат, когда тестирование будет готово для интерпретации. Если же встроенная функция отсутствует – не расстраивайтесь, есть множество бесплатных калькуляторов и программ, например, калькулятором Эвана Миллера.
5. Помимо размера выборки, каких еще ошибок опасаться?
MECLABS в прошлом году провела большое исследование, посвященное опасностям помимо размера выборки, которые могут повлиять на валидность теста. Я приведу пару типичных ошибок из него:
Эффект истории: Что-то произошедшее во внешнем мире негативно повлияло на результаты вашего тестирования.
Эффект инструмента: ошибка в тестировочном ПО исказила результаты тестирования.
6. Почему АБ тест проходит не точно 50\50?
Иногда во время AБ тестирования вы можете заметить, что количество трафика на каждой из переменных не идентично. Это не значит, что с тестом что-то не то, просто случайные выборки работают… случайно. Вспомните про подкидывание монеты. Шанс, что выпадет орел или решка – 50\50, но иногда выпадают три решки подряд. Чем больше трафика пройдет через ваш сайт – тем ближе цифры станут к соотношению 50\50.
Вопросы, которые возникают после базовых:
7. Когда нужно использовать AБ тестирование?
Чаще всего AБ тестирование проваливается из-за нечеткости поставленных целей, так что вы и не знаете, что собираетесь тестировать. Вы можете использовать AБ тестирование для проверки, к примеру, теории, приведет ли к увеличению посещаемости целевой страницы добавление изображения на нее? Что произойдет, если изменить заголовок, чтобы подчеркнуть временный характер предложения? Все вышеперечисленные изменения легко описать количественно. У людей возникают проблемы с AБ тестированием в том случае, когда поставленная ими цель слишком расплывчата: например, если они хотят сравнить два совершенно разных дизайна с различными вариантами. Хотя это и можно сделать, но если явного победителя не выявится, то можно ошибиться или неверно истолковать причину повышения числа переходов.
8. Как и когда я могу интерпретировать результаты сплит-тестирования?
Тестирование начинается. Начинают накапливаться первые результаты. И вы уже рветесь проверить, какой же из вариантов эффективнее. Но ранние этапы тестирования – не самое лучшее время для того, чтобы начинать интерпретировать результаты. Подождите того момента, когда тестирование достигнет статистической значимости и затем вернитесь к исходной гипотезе. Тест окончательно подтвердил ее или опроверг? Если да, то можете начинать делать выводы. При анализе теста, старайтесь остаться беспристрастны, соотнося полученные результаты с конкретными изменениями. Убедитесь, что существуют четкие связи между внесенными изменениями и результатом, а также, что на него не повлияли никакие сторонние силы.
9. А можно проводить несколько экспериментов параллельно?
Да, можно. Но с ограничениями.
Выборки двух параллельных тестов не должны смешиваться. В противном случае одно изменение может повлиять на восприятие второго.
Параллельные тесты можно настроить на стороне фронтенда, разметив события разными тегами для разных версий интерфейса. А можно воспользоваться специальными инструментами, которые упрощают этот процесс, например Google Optimize.
10. Чем можно заменить А/В-тестирование?
Иногда проверить гипотезу проще другими методами.
Юзабилити-тестирование. Этим методом проверяют, насколько интерфейс удобен для пользователей.
Для исследования не нужно привлекать разработчиков, как в случае с A/B-тестом. Нужно создать новый интерфейс на уровне макетов, собрать интерактивный прототип и пронаблюдать, как пользователи с ним взаимодействуют. Потом выявить возможные проблемы и найти решение.
Fake door тест. Когда разработать фичу — сложно и долго, этим методом можно проверить, нужна ли она пользователям.
Для этого в интерфейс добавляется кнопка, за которой ничего нет, — fake door — и отслеживается, какой процент пользователей ее нажмет. За fake door обычно размещают сообщение о том, что раздел в разработке. Можно также добавить ссылку на опрос и таким образом собрать дополнительные данные для будущего продукта.
Релиз нового продукта на ограниченную аудиторию. Если есть достаточно времени, то вместо теста можно запустить продукт на один город, район или другую выделенную часть пользователей.
Метод подходит, когда продукт локальный и требуется протестировать большие изменения бизнес-модели, или попробовать совершенно новый продукт. Например, беспилотное такси, которое тестирует Яндекс в одном из районов Москвы. Если результаты будут положительными, можно масштабировать продукт на всю остальную аудиторию.
Также в своем канале Data New Gold я выложу запись видео-разбора данных вопросов с тайм-кодами + пока можно почитать пост со всеми полезными ссылками по данной теме
nktkz
если данные не имеют нормальное распределение, не учтены выбросы и динамика, то аб тест в стандартной форме идет лесом. хотя в качестве красивой презентации пойдет и даже решение на основе такого теста можно принять и ничего особо не потерять
Analyst_Vladimir Автор
"даже решение на основе такого теста можно принять и ничего особо не потерять" - сначала ты пишешь, что аб тест идет лесом, но решение принять можно)) Что все-таки значит в твоем случае идет лесом? - нормальность распределения далеко не обязательно + выбросы можно убрать
nktkz
выбросы не всегда можно убрать
нормальность почти обязательна для выводов в том виде, в котором предлагают стандартные аб тесты
то и пишу, что чаще всего правильный ответ на результат аб теста, особенно когда речь идет о тесте цвете кнопочки, это то что различий нет. но из за случайностей и структуры исходных данных аб тест показывает различия. решение принимается. но так как это решение о цвете кнопки, то проблем это не принесет.