A/B-тестыОсновыEasyБесплатно~10 мин

Новый баннер: не обманись шумом

// Условие

Маркетинг уверен, что новый баннер на главной поднял конверсию в регистрацию: «в тесте уже +0.35 п.п.!». Тест шёл неделю, 8 000 юзеров на группу.

Что нужно
Посчитай конверсии и p-value. Сохрани в result — dict с ключами conv_a, conv_b, p_value.

// Данные

df: user_id, group (A/B), converted (0/1) — одна строка на юзера
▶ Решить в A/B-тренажёре

// Решение

Подсказка

Механика та же, что в задаче 1: конверсии через groupby, потом z-тест двух долей.

Посмотри на p-value, прежде чем радоваться разнице долей: разница +0.35 п.п. при 8 000 юзерах на группу — внутри обычного шума.

Сначала попробуй сам → Показать решение
df = load_data()
from scipy import stats

s = df.groupby('group')['converted'].agg(['sum', 'count'])
conv_a = s.loc['A', 'sum'] / s.loc['A', 'count']
conv_b = s.loc['B', 'sum'] / s.loc['B', 'count']

p_pool = df['converted'].mean()
se = (p_pool * (1 - p_pool) * (1 / s.loc['A', 'count'] + 1 / s.loc['B', 'count'])) ** 0.5
z = (conv_b - conv_a) / se
p_value = 2 * (1 - stats.norm.cdf(abs(z)))

result = {'conv_a': conv_a, 'conv_b': conv_b, 'p_value': p_value}
print(result)
Разница долей сама по себе ничего не значит — только вместе с p-value (и заранее посчитанной мощностью). Здесь p ≈ 0.42: такое отклонение встречается в двух случаях из пяти при полном отсутствии эффекта.

Маркетинг ждёт твой вердикт. Что скажешь?

  • Эффект есть: конверсия выросла с 8.10% до 8.45% — раскатываем
  • ✓ Статзначимого эффекта нет (p ≈ 0.4): наблюдаемая разница — обычный шум. Раскатывать по этим данным нельзя
  • Тест невалиден: слишком мало юзеров, такие тесты вообще нельзя проводить
  • Нужно посмотреть на другие метрики — вдруг там что-то выросло

p ≈ 0.42 означает: если бы баннер вообще ничего не менял, разница такого размера возникала бы в ~42% тестов. Это не доказательство отсутствия эффекта — но и не повод раскатывать. Корректный ответ продакту: «различие в пределах шума; если эффект и есть, он меньше, чем мы можем надёжно поймать этой выборкой». Перебирать другие метрики в поисках «чего-то значимого» — прямой путь к ложным открытиям (множественные сравнения).

// Похожие задачи

// Разобраться в теме

→ p-value простыми словами