A/B-тесты · ПродвинутоеСимулятор A/B-тестов

Симулятор A/B-тестов: тысячи виртуальных тестов с известной истиной показывают, как часто тест находит настоящий эффект, сколько ложных побед дают A/A-тест, подглядывание и 20 метрик и насколько «победа» завышает прирост — проклятие победителя. Пять сценариев, путь p-value одного теста, CSV и код.

Цифры остаются в браузере и никуда не отправляются

01Параметры02Приросты03Один тест04Код05Сценарии06Вопросы07Похожие
01

Параметры

Когда проверяем
Метрик в тесте
Прогонов
зерно 1 · 1 000 тестов
α = 0,05 · двусторонняя проверка
Тест находит эффект в 82 % случаев.
Мощность достаточная. Среди «побед» средний наблюдаемый прирост — +16,9 %, в 1,1 раза больше истинного: это проклятие победителя.
Доля побед — мощность
81,5 %
815 из 1 000
Истинный эффект
+15,0 %
2,00 → 2,30 %
Средний прирост среди побед
+16,9 %
завышен в 1,1 раза
Посетителей на группу
37 800
2 700 × 14 дней
Проверок за тест
1
в конце
Метрик
1
одна основная
02

Наблюдаемый прирост во всех тестах

Наблюдаемый прирост во всех тестах
Красное — тесты, признанные значимыми; пунктир — истинный эффект
−33 %−16 %0 %+16 %+33 %
03

Один тест по дням

Один тест по дням
p-value после каждого дня; ниже красной линии — «значимо»
α1день 1день 14

В этом тесте p-value опустилось ниже α на 11-й день и осталось там к концу теста.

04

Проверить в Python / R

Проверить в Python / R
import numpy as np
from scipy import stats

rng = np.random.default_rng(1)
pa, pb, per_day, days, runs = 0.02, 0.023, 2700, 14, 1000
def z(a, b, n):
    p = (a + b) / (2 * n)
    return (b - a) / n / np.sqrt(p * (1 - p) * 2 / n)

# одна проверка в конце: доля побед и проклятие победителя
n = per_day * days
a = rng.binomial(n, pa, runs)
b = rng.binomial(n, pb, runs)
win = np.abs(z(a, b, n)) > stats.norm.ppf(0.975)
up = b / a - 1
print(win.mean(), up[win & (up > 0)].mean())
05

Сценарии

06

Частые вопросы

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

Обновлено