Skip to main content
a b тесты

А/B-тесты и статистическая значимость

ВРЕМЯ ЧТЕНИЯ
3 минуты
Автор
Jean-Noël Rivasseau Kameleoon
Jean-Noël Rivasseau
Jean-Noël is Kameleoon's founder and CTO and today heads the company's R&D department. He is a recognized expert in AI innovation and software development. In his posts he shares his vision of the market and his technology expertise.
Поделиться

Неправильное понимание показателей статистической значимости A/B-тестов – это одна из самых насущных проблем практики.

 

Полезно также прочитать:

Что означает индекс доверия?

Показатель доверия относится к обеим версиям теста (А и В), чья величина берется в зависимости от числа наблюдений («посещений») и конверсий для обеих вариаций.

Этот показатель рассчитывается между исходной вариацией и уникальной вариацией в ходе A/B-теста, но может также применяться между вариациями B и D, если речь идет о A/B/C/D-тесте, например. Любая платформа A/B-тестирования предоставляет этот показатель доверия для каждого теста. Даже в его отсутствие (например, для решения веб-аналитики), возможно рассчитать с помощью стандартной математической формулы* (см.ниже).

Статистика требует точности

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

Консультации извне тоже могут быть мало полезными или вообще ошибочными из-за недостаточной компетенции. Речь даже не идет о том, что нужно стать экспертом в области статистики или прикладной математики;  все же в статистике есть правила, которые игнорировать не получится. Все социологические организации соблюдают базовые правила, необходимые для получения надежных результатов. Жаль, что это не всегда так в случае с A/B-тестированием.

Нет никакой гарантии, что данные теста о приросте конверсии точны

Первое замечание заключается в том, что невозможно узнать точную величину прироста, которую принесла выигрышная вариация. Или если выразиться точнее, то у Вас нет никакой гарантии (с точки зрения статистики), что прирост конверсии по версии теста – это тот самый «настоящий» прирост конверсии, который в реальности можно наблюдать в рамках производства. На самом деле, показатель доверия представляет собой процент шансов получить (при прочих равных условиях в разрезе наблюдений), тот же результат в дальнейшем. И как следствие, надо понять только такую бинарность: или А побеждает В, или В побеждает А. По этой причине показатель доверия часто называют «вероятностью победить исходник» («a chance to beat original»). Таким образом, если у Вас есть прирост конверсии в 15% для Вашей вариации и статистическая значимость в 99%, то это лишь означает, что у Вашей вариации есть 99% вероятности стать эффективнее исходной вариации, но вовсе не то, что у нее есть 99% вероятности получить те же 15% прироста в дальнейшем. Ваш реальный прирост может быть только 3%...

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

Отслеживать изменения показателя доверия с течением времени не имеет смысла

Другая злосчастная характеристика панелей индикаторов решений A/B-тестирования – это отображение с самого начала теста показателя доверия. Проблема: изменение данного показателя с течением времени не имеет никакого значения. Индекс доверия рассчитывается на основании определенного количества наблюдений и представляет процент вероятности получить тот же результат при идентичном количестве наблюдений в будущем. То есть если у Вас индекс равняется 90%, но получен на основе 50 посещений, у Вас есть вероятность получить идентичный результат… но только для 50 посещений. Если уж обобщать, то у Вас может быть около 3 разных величин значимости во время одного теста: 90% на 1000 посещений, 65% на 15 000 и последняя – 95% на 50 000. Не нужно брать в учет первые две величины, так как именно последняя наиболее репрезентативна для Вашего трафика в производстве. С точки зрения прикладной математики кривая изменений значимости с течением времени бессмысленна.

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

Заключение:

Что важно усвоить из всего выше упомянутого? Это то, что не стоит использовать индекс доверия в том виде, как он отображается в панели индикаторов Вашего инструмента, в качестве показателя того, что тест необходимо остановить. К сожалению, очень естественным рефлексом является желание отслеживать данный показатель и остановить тест, как только он превышает предельное значение (по умолчанию 95%), но в реальности не имеющего никакого значения. Хорошая практика заключается в том, чтобы изначально сосредоточиться на порогах посещений и конверсий, и только после констатировать, является ли тест надежным или нет.

*Тех, кого заинтересовали математические формулы, позволяющие рассчитать статистическую значимость могут заглянуть на эти странички: - расчет zScore - расчет «chance to beat original» с помощью zScore

 

Jean-Noël Rivasseau Kameleoon
Jean-Noël Rivasseau
Jean-Noël is Kameleoon's founder and CTO and today heads the company's R&D department. He is a recognized expert in AI innovation and software development. In his posts he shares his vision of the market and his technology expertise.
Topics covered by this article