что такое статистическая значимость
Как выбрать уровень статистической значимости для AB-теста и как интерпретировать результат
Регистрация по номеру телефона
Вы работаете над повышением количества регистраций, внимательно рассматриваете этапы прихода новых пользователей, замечаете, что многие отваливаются на этапе ввода своего email и решаете попробовать заменить email на номер телефона. Пусть это не совсем общепринято и требует отправки небесплатной смски, но сегодняшние пользователи не очень любят электронную почту и часто регистрируются прямо с телефона.
Планирование эксперимента
Допустим, мы спланировали эксперимент с любым из обычных калькуляторов оценки требуемого количества пользователей, всё сделали аккуратно, выбрали одностороннюю гипотезу (нас интересуют только улучшения) и.. какой же уровень статистической значимости выбрать?
Что результаты значат на самом деле
Если телефонные регистрации ничуть не лучше, в некоторых тестах они всё равно будут случайно выигрывать.
P-value AB-теста как раз и показывает, насколько редкое событие мы наблюдаем, если бы предложение вводить номер телефона на самом деле (на длительном периоде времени) ничего не улучшало, а возможно даже и ухудшало.
Представьте себе, что в такой печальной ситуации мы провели бы не один, а сотню одинаковых AB-тестов: каждый по те же пять недель, каждый по 10000 посетителей на вариант. В большинстве таких ста тестов телефонный вариант принесёт меньше регистраций, чем email-вариант или столько же, как и email-вариант. Однако в части тестов телефонный вариант может принести немного больше регистраций.
Наблюдаемое p-value 0.07 как раз и означает, что если телефонный вариант на самом деле ничуть не лучше email’ового, то оказаться впереди email’ового столь сильно или ещё сильнее, чем мы наблюдаем, он смог бы в семи тестах из ста.
Выбор уровня статистической значимости показывает, насколько редкой должна быть наблюдаемая разница в конверсиях между телефонным и email’овым вариантами, чтобы мы всё же признали такую разницу слабо объяснимой случайной флуктуацией и решили переключиться на телефонные номера.
Стоимость ошибочного выигрыша
Ключевой момент интерпретации состоит в том, что даже если мы всё проводим аккуратно, без технических и логических ошибок, то наши AB-тесты всё равно время от времени обязательно будут «подтверждать» ложные гипотезы. Если мы будем принимать решения на основании тестов, то периодически будем ошибаться. Мы лишь можем ограничить количество ошибок, выбирая тот или иной уровень статистической значимости.
В общем-то пользу от теста и стоимость возможных ошибок при том или ином уровне значимости можно прикинуть с помощью очень простых расчётов. В примере ниже мы подсчитываем результат в новых пользователях, но не намного более сложным образом можно оценивать ожидаемые результаты и в деньгах.
Пользуясь нашими знаниями предметной области и историей предыдущих улучшений предположим, что удачный переход на телефонные регистрации повысит конверсию процентов на 5, а если мы ошибочно перейдём на телефонные регистрации, то возможно и половина посетителей не сможет или не захочет регистрироваться (откуда именно берём такие допущения расскажем ниже).
Среднее количество регистраций в неделю
Насколько больше пользователей может приносить телефонная регистрация по сравнению с емейловой
Насколько меньше пользователей может приносить телефонная-регистрация в случае ошибки
Если всё отлично, то год работы с смс-регистрацией принесёт дополнительно пользователей
Если ошибочно внедрили смс-регистрации, то за год недосчитаемся пользователей
52 * 2000 * 50% = 52000
Выбранный граничный уровень значимоcти
Если бы не проводили никаких улучшений, то за год появилось бы пользователей
Если бы проводили подобные эксперименты постоянно и принимали решения с таким же уровнем значимости, то за год средний эксперимент мог бы принести дополнительно пользователей
Пользы от среднего подобного эксперимента в процентах роста аудитории
Выбор уровня статистической значимости
Откуда же до начала эксперимента подставлять в такую таблицу ожидаемую пользу от справедливо выигравшего теста (5% в нашем примере) и возможный вред в случае ошибки (50% в нашем примере)? Лучше всего, конечно, опираться на историю подобных изменений. Если это далеко не первый эксперимент с улучшением воронки регистраций, и большинство из предыдущих увеличивало конверсию на пару процентов, то вряд ли даже очень значительная идея улучшит сильнее, чем на 5-10%.
Если истории подобных внедрений нет или она незначительна, то я не знаю метода лучше, чем экспертные оценки и страхи. Всё же вряд ли аж половина потенциальных пользователей не регистрируется, потому что не хотят / не могут вводить email, а телефон с радостью ввели бы. В лучшем случае миграция на номер телефона подтянет долю регистрирующихся с 7.7% может быть до 8% (улучшение на 5%). А вот если мы ошибаемся и пользователи на самом деле вообще не хотят доверять нам номер телефона, то можно/страшно потерять и половину регистраций.
Что же, если вся предыдущая команда сервиса была уволена вчера, мы очень мало знаем, о рынке и потенциальных пользователях, то действительно, наши идеи могут иметь мало смысла и неплохо бы проверять идеи улучшений построже.
Культура постоянных небольших экспериментов к сожалению может отвлекать от придумывания действительно прорывных идей, но может принести очень немаленькую пользу, оптимизируя существующие решения.
Можно наблюдать и после принятия решений
Было бы здорово даже в случае выигравшего эксперимента понаблюдать за пользователями более долговременно. Например, если по результатам наших пяти недель регистрация по номеру телефона выиграла, мы можем включить её для 95% анонимных посетителей. Оставшимся пяти процентам можно предлагать по прежнему email и сравнить результаты различных вариантов не через пять, а через 25 недель.
Проверяйте идеи, имеющие смысл
К счастью или к сожалению, но статистические исследования не избавляют от необходимости думать. Понимание рынка и его стандартов, пользователей и истории сервиса позволяет формулировать гипотезы, имеющие больший шанс улучшить ситуацию.
Некоторые изменения имеет смысл проводить, даже если мы не можем подтвердить положительный эффект
Как же подходить к выбору уровня значимости и анализу результатов?
Конечно же интерпретируйте результаты завершившихся тестов с помощью калькулятора, который правильно формулирует результаты. Например, с помощью productab.com, сделанным вашим покорным слугой
Прикиньте стоимость ошибок экспериментов разного рода именно для вашего сервиса и выберите несколько стандартных или не очень стандартных правил. Например, вида:
«Эксперименты с возможной потерей клиентов тестируем с уровнем значимости 95%»
«Просто обычные небольшие улучшения тестируем с уровнем значимости 90%»
«Мелочи, вроде текстов и цветов в местах не касающихся оплаты товара, тестируем c 80%-тной значимостью и если калькулятор рекомендует длину эксперимента больше недели, то пропускаем тестирование совсем»
Ну и конечно, набирайте больше опыта, узнавайте пользователей лучше, чтобы инвестировать в эксперименты, которые на самом деле могут что-то улучшить. Возможно в эксперименты, меняющие весь процесс использования сервиса радикально. Например, что если в нашем воображаемом сервисе вообще отказаться от регистрации и принимать оплату от любого незарегистрированного посетителя, у которого есть банковская карта?
Благодарности
А как вы интерпретируете результаты AB-теста?
Насколько масштабный у вас продукт, как вы проводите тесты и выбираете уровень статистической значимости? Автор будет очень благодарен за советы по более понятной интерпретации результатов теста.
Статистическая значимость
Вы находите значимость результатов. Ты анализируешь данные и проводишь эксперименты. Однако значимость бизнеса отличается от статистической значимости. Многие деловые организации не смогли отличить их от неправильного использования и неправильно поняли концепцию. С другой стороны, правильный анализ данных помогает в принятии подходящих бизнес-решений. Именно поэтому менеджеры должны понимать концепцию статистической значимости.
Что такое статистическая значимость?
Статистическая значимость свидетельствует о том, что отношение той или иной переменной к другой переменной является не случайным совпадением, а обусловлено другим фактором, относящимся к этой переменной. Проще говоря, статистическая значимость – это математическое представление надежности статистики. В этой статье вы узнаете, как вычислить статистическую значимость между двумя факторами.
Вычисление статистической значимости
Вы можете понять концепцию и найти исчерпывающий ответ, рассчитав статистическую значимость вручную. Вы можете использовать калькулятор. Вот шаги, которые вы можете предпринять для расчета статистической значимости:
1.Создание гипотезы “Налл”.
Прежде всего, нужно определить нулевую гипотезу. Вы можете выяснить, есть ли разница в используемом наборе данных. Вы никогда не должны верить в свою нулевую гипотезу, так как это всего лишь догадка.
2.Создание альтернативной гипотезы
Теперь узнай альтернативную гипотезу. Когда вы найдете альтернативную гипотезу, вы узнаете, есть ли связь между вашими данными. Альтернативная гипотеза противоположна нулевой гипотезе, найденной ранее.
3.Определение уровня значимости
После нахождения нулевой и альтернативной гипотезы вы определите уровень значимости или альфа. Существует вероятность того, что Вам придется отвергнуть нулевую гипотезу, даже если она может быть верной. Стандартная альфа составляет от 0,05 до 5 процентов.
4.Выбор типа теста
Теперь решайте, какой тест вы выберете – однохвостый или двухвостый. Тем не менее, однохвостовая зона распространения теста является односторонней, а для двуххвостового теста – двусторонней. Простыми словами, в однохвостых тестах Вы будете анализировать отношения двух переменных в одном направлении, а в двух направлениях – в двухсторонних тестах. Если ваши выборки односторонние, то ваша альтернативная гипотеза верна.
5. Выполнение анализа мощности для размера выборки
Анализ мощности поможет вам определить размер образца. Для нахождения анализа мощности необходимо знать статистическую мощность, уровень значимости, размер выборки и размер эффекта. Для выполнения этих расчетов необходимо использовать калькулятор. Оставаясь в некоторой степени уверенным, этот метод поможет вам определить размер выборки. Этот метод поможет вам найти подходящий размер выборки, чтобы вы могли рассчитать статистическую значимость. Например, если размер выборки очень мал, вы не найдете точного результата.
6.Расчет стандартного отклонения
Теперь вычислите стандартное отклонение. Для этого нужно использовать следующую формулу:
Стандартное отклонение = √ ((∑|x-μ|^ 2) / (N-1))
В этом уравнении
– ∑ = это сумма данных
– x = это индивидуальные данные
– μ = среднее значение данных для каждой группы.
– N = общая выборка
С помощью этого расчета можно узнать, как распределить среднее и ожидаемое значение. Найдите разницу между группами, если у вас больше групп выборки.
7.Использование стандартной формулы ошибок
После этого используйте стандартную формулу ошибки. Вот формула для нахождения стандартной погрешности двух групп по среднеквадратическому отклонению.
Нормативная погрешность =√((s1/N1) + (s2/N2)).
В этом уравнении
– s1 = среднеквадратическое отклонение (первая группа)
– N1 = размер выборки (первая группа)
– s2 = среднеквадратическое отклонение (вторая группа)
– N2 = размер выборки (вторая группа)
8.Определение T-Score
На этом шаге тебе нужно найти т-образное пятно. Используйте приведенное ниже уравнение, чтобы найти t-значение:
t =((µ1-µ2) / (sd))
В этом уравнении
– t = это t-оценка
– µ1 = средняя величина (первая группа)
– µ2 = средняя (вторая группа)
– sd = стандартная ошибка
9.Поиск степеней свободы
А теперь выясните степень свободы. Вот формула поиска степеней свободы:
степени свободы =(s1 + s2) – 2
В этом уравнении
– s1 = образцы (первая группа)
– s2 = образцы (вторая группа)
10.использование Т-образной таблицы
Теперь вы можете рассчитать свою статистическую значимость с помощью t-таблицы. Сначала посмотрите на степень свободы с левой стороны и определите дисперсию. Теперь идите вверх и найдите р-значение каждой переменной. Затем сравните уровень значимости или альфа со значением p. Значение p ниже 0,05 можно считать статистически значимым.
Что такое P-значение?
Вероятность нахождения результатов называется P-значением. Например, Вы сравниваете веса граждан США в Нью-Йорке и Калифорнии. Начните с нулевой гипотезы о том, что у жителей Нью-Йорка средний вес больше, чем у калифорнийцев.
Теперь предположим, что Вы проводите исследование, чтобы выяснить, верна ли нулевая гипотеза. После исследования Вы обнаружите, что средний вес ньюйоркцев на 20 фунтов больше, чем у калифорнийцев, при этом P-значение составляет 0,41. Это означает, что нулевая гипотеза верна, и нью-йоркцы весят больше, чем калифорнийцы. Теперь есть 47% шанс, что вы измерите на 20 фунтов больше веса нью-йоркцев.
Но если ньюйоркцы не весят больше, вам всё равно придётся измерять на 20 фунтов больше из-за шума в ваших данных почти в половине случаев. Таким образом, более низкое значение P означает более точные результаты, так как это означает меньший шум в данных.
Заключение
Вы можете использовать статистическую значимость для определения достоверности тестов и анализа. Однако это не означает, что у вас есть точные данные. Многие опросы могут предоставить некорректную информацию с помощью неподходящих данных. Кроме того, вы можете использовать демографические данные с предвзятым представлением.
Более того, ваше понимание будет неточным, если вы плохо выполните тест на статистическую значимость. Люди чаще всего сталкиваются с этой проблемой, когда их уровень значимости (α) является неправильным. Существует вероятность того, что ваше P-значение является ложноположительным. Однако, чтобы противостоять этой проблеме, вы можете повторить исследование. Если вы обнаружите низкое Р-значение по сравнению с предыдущим, вы уменьшили ложноположительный результат.
Статистическая значимость
Статистическая значимость – что это такое и почему она так важна? Подобного рода исследования относят к ряду количественных, а не качественных. То есть в разрезе маркетинга статистика может рассказать о цифрах, но не может определить почему именно они появились. Выводы о причинах их возникновения уже ложатся на сотрудников, проводящих такие исследования.
Тем не менее эта наука является незаменимым инструментом во всех исследованиях. В сегодняшнем материале мы расскажем об азах статистической значимости и о возможностях её применения в рекламе.
Посчитать t-критерий стьюдента онлайн и понять достоверность одной из гипотез? Если эти задачи для вас слишком сложны, то этот материал для вас!
Виды гипотез
Со статистической значимостью тесно переплетается понятие «проверка гипотезы». Гипотеза – это только теория. После того, как будет разработана теория, необходимо определить порядок сбора доказательств. Различают два вида гипотез:
Нулевая гипотеза
Нулевая гипотеза не требует доказательств. Данная теория говорит о том, что при использовании каких-либо новых данных, результаты деятельности не изменятся.
Целью является не доказательство, а опровержение этой теории. Например, следователь выдвигает множество гипотез по отношению к обвиняемому. В этом случае нулевая гипотеза – это презумпция невиновности. Человека не смогут считать виноватым, пока не будет доказана его вина.
Альтернативная гипотеза
Если при нулевой гипотезе есть два объекта, которые имеют одинаковые свойства и нужно доказать, что один из них лучше, то наступает время альтернативной гипотезы. Если в нулевой гипотезе при воздействии на объект получается одинаковый эффект или таковой отсутствует в принципе, то при альтернативной гипотезе – один из эффектов лучше другого.
Теперь, когда мы имеем представление о нулевой и альтернативной гипотезах, то, как доказывать одно и опровергать другое? Существует определитель, который позволяет понять удачный был эксперимент или нет. Он называется индексом достоверности.
Что такое статистическая достоверность? Это условная величина или уровень статистической значимости, который принимается, чтобы сказать, что является «значимым», а что нет.
Виды критериев
Для оценки гипотез применяется t-критерий Стьюдента. Это метод, помогающий сравнить данные двух вариантов и сделать выводы об их различиях по статистическим параметрам.
Таблица значений критерия Стьюдента поможет установить, все ли данные находятся в установленном пределе или нет.
Этим критерием пользуются в том случае, когда отсутствует уверенность в том, что данные расположены выше или ниже нормы распределения.
Автоматический расчет t-критерия Стьюдента
В интернете есть множество сервисов для расчета критерия Стьюдента онлайн. Их принцип действия схож:
1. Выбираем вид расчета: связанные или несвязанные выборки.
2. В первую колонку вводим информацию о первой выборке, во вторую – о второй. В каждую строку заносится по одному числу. Пробелы и пропуски не допускаются. Дробная часть числа отделяется от основной части точкой.
3. Как только колонки будут заполнены, нажимаем на кнопку «Произвести расчет».
Коэффициент Стьюдента оценивает степень величин двух выборок, с учётом нормы распределения. Его достоинство заключается в том, что такой коэффициент можно применять в любой сфере бизнеса. Рассчитать критерий Стьюдента онлайн можно на сайте.
С аналогичными вводными, но по другому алгоритму работает и расчет критерия Манна-Уитни. Им также можно воспользоваться онлайн для сравнения групп данных.
Как пользоваться статистической значимостью в маркетинге: пример анализа
Статистика используется во многих областях маркетинга. Аналитики исследуют все возможные элементы бизнеса. Интернет-маркетологи проводят анализ посещаемости ресурсов и эффективности рекламных кампаний. PR-менеджеры смотрят посещаемость мероприятий перед тем как договориться о сотрудничестве с конкретной площадкой для проведения ивента. В примере далее рассмотрим наиболее точную и последовательную область маркетинга — онлайн-рекламу.
Как определить коэффициент эффективности будущего рекламного объявления? Конечно, при помощи проведения тестирования различных видов и форматов креативов.
А/B тестирование в онлайн-маркетинге – это исследование, итог которого никогда нельзя знать заранее. Можно лишь выстраивать алгоритм работы таким образом, чтобы получить максимум данных исходя из результатов тестирования. Только после этого можно прийти к выводу о том, какой из вариантов является более удачным. Также для достоверности исследования оно должно продолжаться хотя бы одну неделю, так как в разные дни конверсия может варьироваться.
Возможные проблемы при проведении А/B тестирования
Наиболее наглядно продемонстрировать проблему тестирования поможет следующий пример. Предположим, в исследовании №1 человек в кроссовках фирмы Nike подкинул монетку вверх 30 раз, и она упала стороной орла ему на ладонь 25 раз. В исследовании №2 человек в кроссовках фирмы Adidas проделал тоже самое количество подкидываний, но получил орла на ладони целых 28 раз. Разве из этого исследования очевидно, что кроссовки Adidas приводят к такому положению монетки?
В данном случае речь именно о нулевой гипотезе, определение которой мы описывали выше. Статистически значимые различия тут вовсе не кроссовки, они являются лишь переменной, не влияющей на ход событий. Именно это предстоит доказать при проведении тестирования с монеткой.
С подобными проблемами может столкнуться и интернет-маркетолог в ходе проведения А/B тестирования. Зачастую сложно понять, нажал ли пользователь на креатив из-за того, что в нём увеличен заголовок. Или он просто на него нажал, а заголовок в объявлении является аналогом кроссовок из предыдущего примера.
Ещё одна сложность А/B тестирований в том, что они указывают на статистику, но не объясняют почему именно так произошло.
Справиться с проблемами таких исследований в области интернет-маркетинга поможет увеличение выборки эксперимента, а также вариантов аудиторий/объявлений, с которыми проводятся сравнение.
На что мы обращаем внимание при расчете статистической значимости A/B-теста
В Учи.ру мы стараемся даже небольшие улучшения выкатывать A/B-тестом, только за этот учебный год их было больше 250. A/B-тест — мощнейший инструмент тестирования изменений, без которого сложно представить нормальное развитие интернет-продукта. В то же время, несмотря на кажущуюся простоту, при проведении A/B-теста можно допустить серьёзные ошибки как на этапе дизайна эксперимента, так и при подведении итогов. В этой статье я расскажу о некоторых технических моментах проведения теста: как мы определяем срок тестирования, подводим итоги и как избегаем ошибочных результатов при досрочном завершении тестов и при тестировании сразу нескольких гипотез.
Типичная схема A/B-тестирования у нас (да и у многих) выглядит так:
Статистическая значимость, критерии и ошибки
В любом A/B-тесте присутствует элемент случайности: метрики групп зависят не только от их функционала, но и от того, какие пользователи в них попали и как они себя ведут. Чтобы достоверно сделать выводы о превосходстве какой-то группы, нужно набрать достаточно наблюдений в тесте, но даже тогда вы не застрахованы от ошибок. Их различают два типа:
Самый распространенный параметрический тест — критерий Стьюдента. Для двух независимых выборок (случай A/B-теста) его иногда называют критерием Уэлча. Этот критерий работает корректно, если исследуемые величины распределены нормально. Может показаться, что на реальных данных это требование почти никогда не удовлетворяется, однако на самом деле тест требует нормального распределения выборочных средних, а не самих выборок. На практике это означает, что критерий можно применять, если у вас в тесте достаточно много наблюдений (десятки-сотни) и в распределениях нет совсем уж длинных хвостов. При этом характер распределения исходных наблюдений неважен. Читатель самостоятельно может убедиться, что критерий Стьюдента работает корректно даже на выборках, сгенерированных из распределений Бернулли или экспоненциального.
Из непараметрических критериев популярен критерий Манна — Уитни. Его стоит применять, если ваши выборки очень малого размера или есть большие выбросы (метод сравнивает медианы, поэтому устойчив к выбросам). Также для корректной работы критерия в выборках должно быть мало совпадающих значений. На практике нам ни разу не приходилось применять непараметрические критерии, в своих тестах всегда пользуемся критерием Стьюдента.
Проблема множественного тестирования гипотез
Например, для трёх экспериментальных групп получим 14.3% вместо ожидаемых 5%. Решается проблема поправкой Бонферрони на множественную проверку гипотез: нужно просто поделить уровень значимости на количество сравнений (то есть групп) и работать с ним. Для примера выше уровень значимости с учётом поправки составит 0.05/3 = 0.0167 и вероятность хотя бы одной ошибки первого рода составит приемлемые 4.9%.
P-value первой гипотезы сравнивается с уровнем статистический значимости . Если гипотеза принимается, то переходим ко второй и сравниваем её p-value с уровнем статистической значимости
, и так далее. Как только какая-то гипотеза отвергается, процесс останавливается и все оставшиеся гипотезы так же отвергаются. Самое жёсткое требование (и такое же, как в поправке Бонферрони) накладывается на гипотезу с наименьшим p-value, а большая мощность достигается за счёт менее жёстких условий для последующих гипотез. Цель A/B-теста — выбрать одного единственного победителя, поэтому методы Бонферрони и Холма — Бонферрони абсолютно идентичны в этом приложении.
Строго говоря, сравнения групп по разным метрикам или срезам аудитории тоже подвержены проблеме множественного тестирования. Формально учесть все проверки довольно сложно, потому что их количество сложно спрогнозировать заранее и подчас они не являются независимыми (особенно если речь идёт про разные метрики, а не срезы). Универсального рецепта нет, полагайтесь на здравый смысл и помните, что если проверить достаточно много срезов по разным метрикам, то в любом тесте можно увидеть якобы статистически значимый результат. А значит, надо с осторожностью относиться, например, к значимому приросту ретеншена пятого дня новых мобильных пользователей из крупных городов.
Проблема подглядывания
Частный случай множественного тестирования гипотез — проблема подглядывания (peeking problem). Смысл в том, что значение p-value по ходу теста может случайно опускаться ниже принятого уровня значимости. Если внимательно следить за экспериментом, то можно поймать такой момент и ошибочно сделать вывод о статистической значимости.
Предположим, что мы отошли от описанной в начале поста схемы проведения тестов и решили подводить итоги на уровне значимости 5% каждый день (или просто больше одного раза за время теста). Под подведением итогов я понимаю признание теста положительным, если p-value ниже 0.05, и его продолжение в противном случае. При такой стратегии доля ложноположительных результатов будет пропорциональна количеству проверок и уже за первый месяц достигнет 28%. Такая огромная разница кажется контринтуитивной, поэтому обратимся к методике A/A-тестов, незаменимой для разработки схем A/B-тестирования.
Идея A/A-теста проста: симулировать на исторических данных много A/B-тестов со случайным разбиением на группы. Разницы между группами заведомо нет, поэтому можно точно оценить долю ошибок первого рода в своей схеме A/B-тестирования. На гифке ниже показано, как изменяются значения p-value по дням для четырёх таких тестов. Равный 0.05 уровень значимости обозначен пунктирной линией. Когда p-value опускается ниже, мы окрашиваем график теста в красный. Если бы в этом время подводились итоги теста, он был бы признан успешным.
Рассчитаем аналогично 10 тысяч A/A-тестов продолжительностью в один месяц и сравним доли ложноположительных результатов в схеме с подведением итогов в конце срока и каждый день. Для наглядности приведём графики блуждания p-value по дням для первых 100 симуляций. Каждая линия — p-value одного теста, красным выделены траектории тестов, в итоге ошибочно признанных удачными (чем меньше, тем лучше), пунктирная линия — требуемое значение p-value для признания теста успешным.
На графике можно насчитать 7 ложноположительных тестов, а всего среди 10 тысяч их было 502, или 5%. Хочется отметить, что p-value многих тестов по ходу наблюдений опускались ниже 0.05, но к концу наблюдений выходили за пределы уровня значимости. Теперь оценим схему тестирования с подведением итогов каждый день:
Красных линий настолько много, что уже ничего не понятно. Перерисуем, обрывая линии тестов, как только их p-value достигнут критического значения:
Всего будет 2813 ложноположительных тестов из 10 тысяч, или 28%. Понятно, что такая схема нежизнеспособна.
Хоть проблема подглядывания — это частный случай множественного тестирования, применять стандартные поправки (Бонферрони и другие) здесь не стоит, потому что они окажутся излишне консервативными. На графике ниже — доля ложноположительных результатов в зависимости от количества тестируемых групп (красная линия) и количества подглядываний (зелёная линия).
Хотя на бесконечности и в подглядываниях мы вплотную приблизимся к 1, доля ошибок растёт гораздо медленнее. Это объясняется тем, что сравнения в этом случае независимыми уже не являются.
Методы досрочного завершения теста
Есть варианты тестирования, позволяющие досрочно принять тест. Расскажу о двух из них: с постоянным уровнем значимости (поправка Pocock’a) и зависимым от номера подглядывания (поправка O’Brien-Fleming’a). Строго говоря, для обеих поправок нужно заранее знать максимальный срок теста и количество проверок между запуском и окончанием теста. Причём проверки должны происходить примерно через равные промежутки времени (или через равные количества наблюдений).
Pocock
Метод заключается в том, что мы подводим итоги тестов каждый день, но при сниженном (более строгом) уровне значимости. Например, если мы знаем, что сделаем не больше 30 проверок, то уровень значимости надо выставить равным 0.006 (подбирается в зависимости от количества подглядываний методом Монте-Карло, то есть эмпирически). На нашей симуляции получим 4% ложноположительных исходов — видимо, порог можно было увеличить.
Несмотря на кажущуюся наивность, некоторые крупные компании пользуются именно этим способом. Он очень прост и надёжен, если вы принимаете решения по чувствительным метрикам и на большом трафике. Например, в «Авито» по умолчанию уровень значимости принят за 0.005.
O’Brien-Fleming
Соответствующие уровни значимости вычисляются через перцентиль стандартного распределения, соответствующий значению статистики Стьюдента
:
На тех же симуляциях это выглядит так:
Ложноположительных результатов получилось 501 из 10 тысяч, или ожидаемые 5%. Обратите внимание, что уровень значимости не достигает значения в 5% даже в конце, так как эти 5% должны «размазаться» по всем проверкам. В компании мы пользуемся именно этой поправкой, если запускаем тест с возможностью ранней остановки. Прочитать про эти же и другие поправки можно по ссылке.
Калькулятор A/B-тестов
Специфика нашего продукта такова, что распределение любой метрики очень сильно меняется в зависимости от аудитории теста (например, номера класса) и времени года. Поэтому не получится принять за дату окончания теста правила в духе «тест закончится, когда в каждой группе наберётся 1 млн пользователей» или «тест закончится, когда количество решённых заданий достигнет 100 млн». То есть получится, но на практике для этого надо будет учесть слишком много факторов:
Все метрики у нас рассчитываются на уровне объектов теста. Если метрика — количество решённых задач, то в тесте на уровне учителей это будет сумма решённых задач его учениками. Так как мы пользуемся критерием Стьюдента, можно заранее рассчитать нужные калькулятору агрегаты по всем возможным срезам. Для каждого дня со старта теста нужно знать количество людей в тесте , среднее значение метрики
и её дисперсию
. Зафиксировав доли контрольной группы
, экспериментальной группы
и ожидаемый прирост от теста
в процентах, можно рассчитать ожидаемые значения статистики Стьюдента
и соответствующее p-value на каждый день теста:
Далее легко получить значения p-value на каждый день:
Зная p-value и уровень значимости с учетом всех поправок на каждый день теста, для любой продолжительности теста можно рассчитать минимальный аплифт, который можно задетектировать (в англоязычной литературе — MDE, minimal detectable effect). После этого легко решить обратную задачу — определить количество дней, необходимое для выявления ожидаемого аплифта.
Заключение
В качестве заключения хочу напомнить основные посылы статьи: