CUPED variance reduction

Hard Python ab-testing general

Условие задачи

Реализуй функцию `cuped_adjust(y, x)` — **техника CUPED** (Controlled-experiment Using Pre-Experiment Data, Deng et al., Microsoft 2013) для **уменьшения дисперсии** метрик в A/B-тестах. **Идея CUPED:** если выходная метрика `y` коррелирует с предэкспериментальной `x` (например, GMV пользователя ДО эксперимента), часть variance в `y` объясняется через `x`. Вычитая эту линейную часть, получаем новую метрику `y*` с **меньшей дисперсией** → тот же эффект детектируется меньшим n. **Аргументы:** - `y` — outcome метрика (list of floats) - `x` — pre-experiment covariate (list of floats той же длины) **Что вернуть:** список `y*` той же длины, округлённый до 2 знаков. **Ограничения:** - Используй `ddof=0` для variance/covariance (делим на $n$, не $n-1$) - Если `var(x) == 0` — верни оригинальные значения `y`

Темы

statistics A/B CUPED variance-reduction

Подсказки

Открыть задачу в тренажёре → ← Все Python-задачи