Ответ
A/B-тестирование — это метод сравнения двух версий (A — контрольная, B — тестовая) одного элемента (страницы, кнопки, заголовка) для определения, какая из них лучше достигает поставленной цели (конверсия, кликабельность, вовлеченность).
Типовой процесс проведения:
- Формулировка гипотезы: Четкое и измеримое предположение (например, "Изменение цвета кнопки CTA с синего на зеленый увеличит конверсию на 5%").
- Определение метрики: Выбор ключевого показателя для оценки (конверсия, CTR, средний чек).
- Создание вариантов и разделение трафика: Равномерное (50/50) или иное распределение пользователей между версиями.
- Запуск теста и сбор данных: Накопление статистически значимого объема данных.
- Статистический анализ: Оценка результатов с помощью критериев (p-value, доверительные интервалы).
Пример анализа результатов на Python:
import numpy as np
from scipy import stats
# Данные конверсий: 1 — конверсия, 0 — нет конверсии
conversions_A = np.array([0, 1, 0, 1, 0, 0, 1, 0, 0, 1]) # Контрольная группа A
conversions_B = np.array([1, 0, 1, 1, 0, 1, 1, 0, 1, 0]) # Тестовая группа B
# Расчет конверсии
conv_rate_A = conversions_A.mean()
conv_rate_B = conversions_B.mean()
print(f"Конверсия A: {conv_rate_A:.1%}, Конверсия B: {conv_rate_B:.1%}")
# Проверка статистической значимости различий (t-тест)
t_stat, p_value = stats.ttest_ind(conversions_A, conversions_B)
print(f"p-value: {p_value:.4f}")
# Интерпретация
if p_value < 0.05:
print("Разница статистически значима. Вариант B лучше.")
else:
print("Статистически значимой разницы не обнаружено.")
Важно: Учитывать длительность теста для учета сезонности и избегать анализа промежуточных результатов (peeking).