Вот мы и добрались до самого теста ✨
Он довольно простой. Нулевая гипотеза в обоих вариантах одинаковая: средние значения в двух группах равны. Т.е. нам бы хотелось эту гипотезу отклонить (p-value < 0.05) и показать всем что наш тестовый вариант статистически значимо отличается от контрольного.
# Расчет t-теста Стьюдента
t.test(metric ~ var, data = df, var.equal = T)
# чтобы переключиться на Уэлча, замени в var.equal T на F
from scipy.stats import ttest_ind
# Расчет t-теста Стьюдента
group1 = df[df['var'] == 'A']['metric']
group2 = df[df['var'] == 'B']['metric']
t_stat, p_value = ttest_ind(group1, group2, equal_var = True)
# чтобы переключиться на Уэлча, замени в equal_var True на False
Чтобы сделать твой отчёт более важным и профессиональным, можно добавить визуализации и дельты.
Дельты это разницы метрик по итогам теста. Например ты тестировал вырос ли средний чек. Посчитай его на варианте A и на B, разница тут и будет дельтой. А лучше в проценты переведи, продактам такое нравится 🙂
Главное самому не обмануться — дельты, полученные по итогам теста вообще ничего не прогнозируют. Если ты получаешь стат. значимый рост метрики в +30%, это не значит что раскатив вариант, у вас бизнес вырастет на 30%. Это просто саммари по итогам конкретного теста, в конкретный период, на конкретных юзерах.
А то потом придёт продакт через месяц и будет спрашивать, как так, 30% же было, где они?
Для визуализаций вариантов подходят чарты, которые хорошо показывают разбросы данных, например:
✅ Боксплоты
✅ Диаграмма плотностей
✅ Наложенная гистограмма
✅ График доверительных интервалов
Что они из себя представляют можно посмотреть в картинках к посту.
#ABtest



