Перейти к содержанию
A/B-тестыMiddle≈ 30 минутУчебная задача HireHero

Конверсия выросла: выкатывать эксперимент?

Сервис проверил новую форму оформления подписки. Пользователей случайно распределили между двумя вариантами до показа формы.

Условие

В контроле 10 000 пользователей и 1 000 покупок; в тесте 10 000 пользователей и 1 100 покупок. У каждого пользователя один бинарный исход. Эксперимент завершён в заранее выбранный срок, проверяется одна основная метрика. Рассчитай абсолютный и относительный эффект и приближённый двусторонний z-тест долей при уровне значимости 5%. Достаточно ли этих данных для запуска на всех?

Данные

groupusersbuyers
control100001000
test100001100

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

Черновик сохраняется в этом браузере. Ничего не отправляется на сервер.

Если нужен следующий шаг

Подсказка 1
Абсолютный эффект измеряется в процентных пунктах, относительный — в процентах к контролю.
Подсказка 2
Для z-теста используй объединённую оценку доли под нулевой гипотезой. Для интервала разности можно использовать отдельные оценки групп.

Проверь себя

Показать решение и объяснение
Конверсия: 10% → 11%. Абсолютный эффект: +1 процентный пункт. Относительный эффект: +10%. z ≈ 2,307; двустороннее p ≈ 0,021. Приближённый 95% интервал разности: от +0,15 до +1,85 процентного пункта.
Python · стандартная библиотека
from math import sqrt, erfc

n_a, x_a = 10000, 1000
n_b, x_b = 10000, 1100
p_a, p_b = x_a / n_a, x_b / n_b
delta = p_b - p_a
pooled = (x_a + x_b) / (n_a + n_b)
se_null = sqrt(pooled * (1 - pooled) * (1/n_a + 1/n_b))
z = delta / se_null
p_value = erfc(abs(z) / sqrt(2))
se_diff = sqrt(p_a*(1-p_a)/n_a + p_b*(1-p_b)/n_b)
ci = (delta - 1.96*se_diff, delta + 1.96*se_diff)
print(delta, delta/p_a, z, p_value, ci)

По выбранному тесту нулевая гипотеза равенства конверсий отклоняется на уровне 5%. Это ещё не готовое продуктовое решение: нужны стоимость внедрения, минимальный полезный эффект и защитные метрики — например, возвраты, выручка и ошибки оплаты. При многократном просмотре результатов или выборе удачной метрики задним числом эта интерпретация p-value уже не подходит.

Проверка решения

  • Рост на 1 п.п. не назван ростом на 1%.
  • p-value не интерпретирован как вероятность истинности гипотезы.
  • Решение учитывает не только факт p < 0,05, но и размер эффекта.

Вопрос на продолжение

Изменится ли решение, если средний чек в тесте упал на 15%? Что проверить, если один человек может попадать в обе группы?