🤯 Как связаны А/В и линейная регрессия? Что если я скажу, что классический A/B тест – это частный случай линейной регрессии? Когда я впервые это осознал, моя реакция была примерно такая: «Подождите… Что?!» 😄 Недоумеваете? Давайте разберемся. Следите за руками: 🔸 Что такое A/B-тест в простом виде? Мы случайно делим пользователей на 2 группы: -> A – контроль (старый вариант); -> B – тест (новый вариант). И сравниваем метрику, например, конверсию: -> CR старой кнопки = 5%; -> CR новой кнопки = 6%. Вопрос: реальна ли разница или это случайность? Берем t-test и проверяем разницу средних на значимость. 🔸 А теперь то же самое, но языком регрессии У нас есть данные по каждому пользователю: Yᵢ – сконвертировался ли пользователь (0 – нет, 1 – да) Создаем индикатор группы: -> Tᵢ = 0 – если юзер в контроле (A); -> Tᵢ = 1 – если юзер в тесте (B). Строим модель: Yᵢ = β₀ ​+ β₁Tᵢ ​+ ε​ И… всё. Это по сути и есть A/B-тест. -> β₀ – среднее в контроле (А); -> β₁ – разница между тестом и контролем. То есть буквально: β₁ = mean(B) - mean(A) А проверка гипотезы H₀: β₁ ​= 0 – это та же самая проверка значимости, что и в A/B. И да, t-статистика из регрессии = t-статистика разницы средних (при согласованном расчете стандартных ошибок). Получается: -> A/B-тест спрашивает: «Отличается ли среднее в B от A?» -> Регрессия спрашивает: «Насколько изменится Y, если T сменится с 0 на 1?» Один и тот же вопрос. Просто разная формулировка. ✨ Но вот где начинается настоящая магия: К регрессии можно добавлять дополнительные переменные: Yᵢ = β₀ ​+ β₁​Tᵢ ​+ βₖXₖ + ε Ничего не напоминает? -> Добавили предэкспериментальную ковариату → получили CUPED; -> Добавили переменную принадлежности к страте → получили стратификацию. Получается, что как только вы начинаете видеть A/B как регрессию, становится очевидно, что многие продвинутые техники в A/B – это просто добавление переменных в модель. Знали о такой связи? Если нет – поставьте 🔥. А если знали – 🐳.