Эта статья является второй в моей серии под названием «Поваренная книга по AB-тестированию», в которой я планировал дать подробное пошаговое руководство по AB-тестированию.

В первой статье я говорил о необходимости AB-тестирования и о том, почему заинтересованные стороны бизнеса должны быть убеждены в том, что AB-тестирование — единственный научный способ внесения изменений в продукт.

Если вы читаете эту статью, я думаю, вы хотите узнать об этом больше, поэтому, не теряя больше времени, давайте сначала начнем изучать основы.

Шаг 1: Формулирование гипотезы

Это самый простой и естественный способ начать AB-тестирование. Фактически, это то, что мы делаем в повседневной жизни, чтобы принимать решения. Давайте возьмем пример: оставив собаку одну в доме, а когда вы вернетесь, вы обнаружите, что мусорное ведро пролилось. Вы формулируете две гипотезы: либо кто-то вломился в дом и разлил мусорное ведро, либо его разлила ваша собака. Зная вероятность того, что эти две вещи произойдут в реальном мире, вы знаете, какая гипотеза более вероятна.

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

Это изменение может быть двунаправленным, оно может как увеличивать, так и уменьшать его, поэтому мы проведем двухвостую проверку гипотезыt.

Шаг 2: Выбор единицы рандомизации и разделение на группы

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

Как вы будете формировать эти группы – вопрос, на который еще предстоит ответить. Допустим, вы берете свою базу пользователей и случайным образом разделяете ее на 2 группы, делая разделение 50/50. Пользователи здесь — это отдел рандомизации, который по сути гарантирует, что две группы абсолютно одинаковы, за исключением лечения. Вы также можете сделать неравномерное разделение, например 95/5, но с этим связаны некоторые компромиссы, которые я объясню позже.

Когда вы случайным образом разделяете пользователей, вы можете использовать идентификатор пользователя в качестве единицы рандомизации, поскольку он стабилен во времени, но тогда вы сможете запускать тест только для вошедших в систему пользователей. Могут быть и другие единицы рандомизации, такие как идентификатор сеанса или идентификатор просмотра страницы, которые не требуют входа в систему, но могут привести к тому, что одному и тому же пользователю будут назначены разные варианты в разное время. Как видите, здесь есть компромиссы, и вам следует выбрать то, что лучше всего подходит для вас.

Шаг 3. Выбор метрики и продолжительности теста.

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

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

Продолжительность теста также должна быть определена на этапе планирования эксперимента и до его проведения. Невыполнение этого требования может привести к ложноположительным результатам и внести искажения в результаты, например, при проведении AB-тестов одна заинтересованная сторона может преждевременно остановить тест, когда увидит, что показатели соответствуют его гипотезе.

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

Итак, пока я не рассмотрел более теоретическую часть, следующий шаг будет немного более насыщенным статистикой.

Шаг 4: Анализ мощности

Существует два типа ошибок, которые нам необходимо учитывать при проведении AB-тестов, что по сути означает определение приемлемого для нас порога этих ошибок. Сначала поговорим об ошибках.

Уровень значимости/ошибка типа I/ α = P(отклонить ноль | ноль истинно)

Ошибка типа I, по сути, дает вам вероятность, с которой вы отвергнете нулевую гипотезу, хотя она на самом деле истинна. Нам бы хотелось, чтобы этот показатель был как можно ниже. 0,05 или 5% — это стандарт, который означает, что в 95 случаях из 100 мы не отвергнем нулевую гипотезу, если она верна.

Ошибка II типа/1 — Статистическая мощность/β = P (не удалось отклонить ноль | ноль ложно)

Напротив, ошибка типа II дает вам вероятность, с которой вы не сможете отвергнуть нулевую гипотезу, если нулевая гипотеза была ложной. Вы хотели бы, чтобы ошибка типа II была меньше, что повысило бы статистическую мощность. Мы можем определить статистическую мощность как вероятность принятия альтернативной гипотезы, когда альтернативная гипотеза верна. Стандарт здесь составляет 0,8 или 80%.

Вам может быть интересно, почему мне нужно решать α и β перед запуском теста. Ответ заключается в том, что вам следует принять эти решения заранее, чтобы рассчитать минимальный размер выборки, необходимый для проведения теста AB.

разберем формулу по пунктам:

  • n: размер выборки, которую мы хотим рассчитать.
  • Здесь уже упомянуты α и β, в формуле просто используются их z-показатели.
  • σ: оценка дисперсии в контрольной группе. Об этом можно судить по историческим данным. Если исторических данных нет, вы можете сначала запустить A/A-тест, чтобы получить дисперсию.
  • δ: это практическая значимость или минимальный обнаруживаемый эффект, согласованный заинтересованными сторонами.

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

Теперь давайте посмотрим на взаимосвязи между различными переменными в приведенном выше уравнении.

  • n и α обратно пропорциональны, что означает, что для меньшего α или более высокого уровня достоверности вам понадобится больше образцов.
  • n и β снова обратно пропорциональны. Для большей мощности теста вам понадобится больше образцов.
  • дисперсия и n напрямую связаны между собой: если у вас больше дисперсии в контроле, вам понадобится больше образцов.
  • δ и n также находятся в обратной зависимости. Чтобы обнаружить меньший размер с тем же уровнем достоверности, вам понадобится более крупная выборка.

При фактическом проведении теста AB вам не придется рассчитывать его вручную, существует множество онлайн-калькуляторов для определения размера выборки, но, тем не менее, важно знать взаимосвязи между этими переменными и то, как они влияют друг на друга.

Есть еще одна важная тема, называемая доверительными интервалами. Они помогают количественно оценить неопределенность вокруг значений p и дают диапазон, в котором ваше значение p будет лежать с определенным уровнем уверенности. Я написал еще одну статью по этому поводу, поэтому хочу здесь углубиться в эту тему.

Прежде чем завершить эту статью, позвольте мне ответить на важный вопрос, с которым сталкивается каждый, кто проходит тест AB.

Должен ли я сохранять разделение равномерным или неравномерным?

В идеале вам следует сохранять разделение 50 на 50, поскольку равномерное разделение приводит к лучшему уменьшению дисперсии и, следовательно, к наивысшей статистической мощности. Ваш тест достигнет статистической значимости гораздо быстрее, если вы сохраните равномерное разделение. Разделение 95 на 5 имеет больше смысла в эксперименте с отсрочкой, когда вы осторожно масштабируете новую функцию и отслеживаете ее влияние, а не в тесте AB, где вы принимаете решение между вариантами.

Более подробную информацию по этой теме можно найти в этой замечательной статье.

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

Увидимся!👻