Вопросы по теме «Снижение дисперсии и CUPED»

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

Всего в этом разделе 20 вопросов. Каждый — с правильным ответом и кратким разбором теории. Разбито на 4 части по 5 вопросов.

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

Вопросы 15 из 20

1В каком случае применение `CUPED` (Controlled-experiment Using Pre-Experiment Data) чаще всего почти не даст `variance reduction`?
AКогда `pre-period` `covariate` почти не связана с целевой метрикой в `post-period` (например, `correlation` близка к 0).
BКогда выборка большая, потому что `CUPED` (Controlled-experiment Using Pre-Experiment Data) работает только на малых выборках.
CКогда метрика бинарная, потому что `CUPED` (Controlled-experiment Using Pre-Experiment Data) не применяется к долям.
DКогда вы используете `stratification`, потому что она полностью заменяет `CUPED` (Controlled-experiment Using Pre-Experiment Data).
Ответ: Если `pre-period` ковариата почти не связана с метрикой в `post-period`, то `CUPED` (Controlled-experiment Using Pre-Experiment Data) почти не снижает `variance`.

`CUPED` (Controlled-experiment Using Pre-Experiment Data) уменьшает шум за счёт объяснения части вариативности через `covariate`. Если `covariate` почти ничего не предсказывает, то и вычитать нечего, поэтому `variance` почти не меняется. В таком случае усложнение расчётов может не окупиться.

2Зачем в `A/B` тестах применяют методы `variance reduction` вроде `CUPED` (Controlled-experiment Using Pre-Experiment Data)?
AЧтобы уменьшить `variance` метрики и сузить `confidence interval` при том же трафике, не меняя ожидаемое значение `effect`.
BЧтобы искусственно увеличить `uplift`, вычитая шум только из варианта `B`.
CЧтобы гарантировать `p-value` меньше выбранного `alpha` в каждом запуске.
DЧтобы сделать эксперимент нечувствительным к проблемам `SRM` (Sample Ratio Mismatch).
Ответ: `Variance reduction` (например, `CUPED` (Controlled-experiment Using Pre-Experiment Data)) снижает шум метрики и сужает `confidence interval` при той же выборке, не добавляя смещения при корректном применении.

Идея в том, чтобы использовать дополнительную информацию, например `covariate` из `pre-period`, которая объясняет часть разброса исхода. Тогда `standard error` уменьшается, а `confidence interval` сужается, что позволяет быстрее получить устойчивый вывод. При корректном применении `CUPED` (Controlled-experiment Using Pre-Experiment Data) не должен вносить `bias`: он в основном уменьшает `variance`, а не меняет ожидание `effect`.

3Можно ли одновременно использовать `stratification` при `randomization` и `CUPED` (Controlled-experiment Using Pre-Experiment Data) на этапе анализа?
AНет: после `stratification` `pre-period` данные уже учтены при рандомизации, поэтому `CUPED` не даёт дополнительного снижения `variance` и его применение некорректно.
BДа, но только если `pre-period covariate` и `stratification` переменная совпадают; иначе они дублируют поправку и `variance` увеличивается вместо снижения.
CДа, методы совместимы: `stratification` балансирует группы, а `CUPED` (Controlled-experiment Using Pre-Experiment Data) снижает `variance` через `pre-period` `covariate`.
DДа, но при совместном применении обязательно нужно пересчитать `sample size`: стандартные формулы занижают `MDE`, и итоговая мощность теста оказывается завышенной.
Ответ: Да: `stratification` работает на дизайне (баланс групп), а `CUPED` (Controlled-experiment Using Pre-Experiment Data) — на анализе (снижение `variance` через `pre-period` ковариату).

`stratification` влияет на дизайн: она снижает риск дисбаланса по важным факторам. `CUPED` (Controlled-experiment Using Pre-Experiment Data) влияет на анализ: он уменьшает `variance`, используя `pre-period` `covariate`, не затронутую воздействием. В комбинации методы часто дают более стабильные результаты, если их применяют последовательно и заранее планируют.

4Что означает `blocking` в дизайне `A/B` теста?
AРазбить пользователей на блоки до эксперимента по важному признаку и рандомизировать внутри блоков.
BОстановить эксперимент при первом `p-value` меньше `alpha`.
CНазначать варианты по очереди `A`, `B`, `A`, `B` без учёта признаков.
DСформировать блоки по важному признаку (например, `platform`) и выполнить `randomization` внутри каждого блока (`blocking`).
Ответ: `blocking` снижает `variance` и риск дисбаланса, выполняя `randomization` внутри заранее заданных блоков.

Если `platform` или `country` сильно влияют на метрику, случайный перекос их долей между `A` и `B` добавляет шум. `blocking` (или `stratification`) делает так, что внутри каждого блока доли вариантов примерно одинаковы. Это уменьшает вариативность итоговой оценки и повышает мощность. Блоки нужно определять до запуска и не строить на `post-period` поведении.

5Какой признак наиболее удачен для `stratification` в `A/B` тесте метрики `conversion`, если известно, что `platform` сильно влияет на базовый уровень?
AСтратифицировать по `platform` (iOS/Android), потому что это предэкспериментальный фактор, заметно связанный с метрикой.
BСтратифицировать по `clicked_new_button` в `post-period`, чтобы сильнее снизить `variance`.
CСтратифицировать по случайному числу, чтобы было честнее.
DСтратифицировать по `p-value` прошлых тестов.
Ответ: Для `stratification` подходят предэкспериментальные факторы, которые заметно влияют на метрику и не зависят от варианта.

Хороший признак для `stratification` объясняет различия пользователей и может уменьшить шум, но не должен зависеть от воздействия. `platform` часто влияет на базовые уровни `conversion`, поэтому баланс по нему снижает риск случайного перекоса. Нельзя строить `stratification` по `post-period` поведению, потому что это приводит к `leakage` и может ввести `bias`.

1234

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

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

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

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

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