Снижение дисперсии и CUPED: вопросы для собеседования (часть 4)

CUPED, стратификация, контрольные ковариаты — техники снижения дисперсии позволяют обнаруживать меньшие эффекты при том же размере выборки. На собеседовании спрашивают, как CUPED использует предэкспериментальные данные и на сколько процентов можно сократить дисперсию. Это тема для сильных кандидатов, которые хотят выделиться.

Дизайн эксперимента и рандомизацияОсновы A/B-тестированияПроверка гипотез и доверительные интервалыМетрики и guardrail-метрикиМножественное тестированиеQA, SRM и раскаткаRatio-метрики и бутстрепРазмер выборки и мощность тестаСеквенциальное тестирование

Вопросы 1620 из 20

16Вы посчитали `CUPED` (Controlled-experiment Using Pre-Experiment Data)-скорректированную метрику. Как корректно строить `confidence interval` и тестировать `effect`?
AМожно использовать старый `confidence interval` для исходной метрики, потому что среднее не изменилось.
BНужно тестировать только `pre-period`, а `post-period` игнорировать.
CДостаточно умножить старый `p-value` на коэффициент `theta`.
DНужно считать `standard error` и `variance` уже для скорректированной метрики и строить `confidence interval` и тест на её основе.
Ответ: После `CUPED` (Controlled-experiment Using Pre-Experiment Data) нужно оценивать `variance`/`standard error` уже у скорректированной метрики и строить `confidence interval` и тест по ней.

`CUPED` (Controlled-experiment Using Pre-Experiment Data) меняет распределение исхода и прежде всего снижает `variance`, поэтому старые оценки неопределённости не подходят. Правильный путь: рассчитать скорректированную метрику, затем оценить её `standard error` и построить `confidence interval` и тест для разницы между `A` и `B`. Это сохраняет корректность статистических выводов и отражает реальный выигрыш от `variance reduction`. Если использовать старые интервалы или пытаться пересчитать `p-value` вручную через `theta`, легко получить неправильные выводы.

17Вы хотите применить `CUPED` (Controlled-experiment Using Pre-Experiment Data) с `covariate` (ковариата — вспомогательная переменная) `pre-period` `sessions_per_user`, но данные `pre-period` есть только у части пользователей, и доля таких пользователей отличается между `A` и `B`. Какой главный риск?
AРиска нет, `CUPED` (Controlled-experiment Using Pre-Experiment Data) автоматически корректирует разницу долей.
BЕсли исключить пользователей без `pre-period`, можно нарушить сопоставимость групп и получить `bias` в оценке `effect`.
CБудет только более широкий `confidence interval`, но среднее останется несмещённым независимо от фильтра.
DЭто гарантирует рост `uplift`, потому что останутся только активные пользователи.
Ответ: Если `pre-period` есть не у всех и доли пропусков различаются между A/B, фильтрация по наличию ковариаты может нарушить сопоставимость и дать `bias`.

Сравнение `A` и `B` корректно опирается на исходную `randomization`. Если вы выбрасываете часть пользователей из-за отсутствия `pre-period` данных, вы меняете популяцию анализа. Когда доли пропусков различаются между `A` и `B` или связаны с поведением, появляется риск смещения. Лучше заранее обеспечить одинаковый расчёт `pre-period` или аккуратно продумать обработку пропусков без нарушения сравнимости.

18Вы тестируете новый экран, целевая метрика `conversion`. Какую `covariate` (ковариата — вспомогательная переменная) нельзя использовать в `CUPED` (Controlled-experiment Using Pre-Experiment Data), чтобы не получить `leakage` (утечка данных между группами) и `bias`?
A`pre-period` `revenue_per_user` пользователя.
B`pre-period` `sessions_per_user` пользователя.
C`post-period` `clicks_on_new_screen`, которые напрямую зависят от варианта.
DФиксированный признак `country` пользователя.
Ответ: В `CUPED` (Controlled-experiment Using Pre-Experiment Data) нельзя использовать `covariate` (ковариата — вспомогательная переменная), которая зависит от варианта в `post-period`: это `leakage` (утечка данных между группами) и риск `bias`.

Классическое требование: `covariate` (ковариата — вспомогательная переменная) не должна зависеть от воздействия и должна быть измерена до выдачи варианта. Если корректировать по тому, что само изменилось из-за эксперимента, вы частично вычитаете `effect` и получаете смещённую оценку. Поэтому чаще используют признаки из `pre-period` или статические характеристики.

19Эксперимент проводится на офлайн-точках, а метрика `revenue` сильно зависит от `store` и `day-of-week`. Как корректнее применить `blocking` при назначении `A` и `B`?
AРаздать вариант каждой точке случайно, не учитывая `store` и `day-of-week`.
BСначала провести неделю только `A`, затем неделю только `B`.
CСделать `blocking` по `store` и/или `day-of-week` и внутри каждого блока рандомизировать `A`/`B`.
DОтсортировать точки по `revenue` и дать первые 50% в `B`.
Ответ: Если `revenue` сильно зависит от `store` и `day-of-week`, `blocking` по ним и рандомизация внутри блоков снижает `variance` и повышает `power`.

В офлайн-экспериментах разница между точками может быть большой и доминировать над `effect`. Если рандомизировать внутри блоков, сравнение `A` и `B` происходит на более похожих единицах. Это уменьшает влияние внешних факторов и повышает мощность. Блоки должны быть определены до вмешательства и не зависеть от `post-period` поведения.

20Аналитик попробовал 8 разных `covariate` (ковариата — вспомогательная переменная) для `CUPED` (Controlled-experiment Using Pre-Experiment Data) и выбрал ту, при которой получился самый маленький `p-value` для `effect`. Что в этом подходе наиболее проблемно?
AПроблема только в скорости вычислений, на выводы это не влияет.
BЭто всегда безопасно, потому что `CUPED` (Controlled-experiment Using Pre-Experiment Data) не влияет на `p-value`.
CЭто увеличивает только риск `Type II error` и никак не влияет на `Type I error`.
DЭто фактически множественный перебор аналитических решений и может увеличить риск ложноположительных выводов (`Type I error`), если `covariate` (ковариата — вспомогательная переменная) не фиксировать заранее.
Ответ: Выбор `covariate` (ковариата — вспомогательная переменная) постфактум по минимальному `p-value` — это множественный перебор (researcher degrees of freedom) и рост риска ложноположительных выводов.

Когда вы пробуете много вариантов и выбираете самый удачный по `p-value`, вы по сути делаете множественные проверки. Даже при отсутствии реального `effect` можно случайно найти настройку, которая выглядит значимой. Чтобы избежать этого, `covariate` (ковариата — вспомогательная переменная) и метод `variance reduction` лучше зафиксировать до эксперимента или использовать отдельные данные для выбора. Иначе результаты становятся менее доверенными и хуже воспроизводятся.

1234

Хотите тренировать интерактивно?

В приложении — таймер, прогресс, стрики и 1700+ вопросов по всем темам.

Тренировать в Telegram

Другие темы: A/B-тесты

Дизайн эксперимента и рандомизацияОсновы A/B-тестированияПроверка гипотез и доверительные интервалыМетрики и guardrail-метрикиМножественное тестированиеQA, SRM и раскаткаRatio-метрики и бутстрепРазмер выборки и мощность тестаСеквенциальное тестирование