Ответ
Определение цели и гипотезы
Четко сформулируйте цель теста (например, увеличение конверсии на 5%) и гипотезу (например, «красная кнопка увеличит кликабельность»). Без этого тест теряет смысл.
Выбор метрики
Используйте одну основную метрику (например, CTR) и 2-3 второстепенных (время на странице, bounce rate). Избегайте «метрического шума».
Расчет размера выборки
Используйте калькуляторы (например, Evan’s Awesome A/B Tools) для определения минимального трафика. Пример кода на Python для оценки мощности теста:
from statsmodels.stats.power import TTestIndPower
effect_size = 0.2 # минимальный детектируемый эффект
alpha = 0.05 # уровень значимости
power = 0.8 # желаемая мощность
analysis = TTestIndPower()
sample_size = analysis.solve_power(effect_size, alpha=alpha, power=power)
print(f"Необходимый размер выборки: {sample_size:.0f}")
Рандомизация и сплит
50/50 для равных групп. Учитывайте сегменты (например, новые vs. вернувшиеся пользователи).
Длительность теста
Минимум 1-2 бизнес-цикла (например, неделя для e-commerce). Избегайте «эффекта дня недели».
Статистическая значимость
p-value < 0.05 и достаточная мощность (>80%). Проверяйте через chi-square или t-test. Пример:
from scipy.stats import chi2_contingency
observed = [[100, 120], [150, 180]] # контроль vs. вариация
chi2, p, _, _ = chi2_contingency(observed)
print(f"p-value: {p:.3f}") # значимо, если p < 0.05
Post-hoc анализ
Разберите сегменты (мобильные vs. десктопные пользователи) и проверьте на «подглядывание» (peeking problem).
Пример эффективного теста
Гипотеза: «Упрощенная форма заказа увеличит конверсию».
Метрика: % завершенных заказов.
Результат: +12% конверсии (p=0.02).
Действие: масштабирование на 100% трафика.