CUPED на собеседовании аналитика
Что такое CUPED
CUPED (Controlled-experiment Using Pre-Experiment Data) — метод снижения дисперсии в A/B-тестах за счёт использования данных о поведении пользователей до начала эксперимента. Идея проста: если вы знаете, как пользователь вёл себя до теста, вы можете вычесть эту «предсказуемую» часть из наблюдаемой метрики и анализировать только остаток.
На собеседовании CUPED — это маркер middle+ уровня. Вопрос проверяет, работал ли кандидат с реальными экспериментами, где важна чувствительность, и понимает ли он, как ускорить тесты без увеличения трафика.
Зачем снижать дисперсию
Размер выборки в A/B-тесте пропорционален дисперсии метрики. Высокая дисперсия означает, что шум заглушает сигнал — нужно больше данных, чтобы обнаружить эффект. Снижение дисперсии на 30% эквивалентно увеличению выборки на 43%. Это значит, что тест, рассчитанный на 14 дней, может завершиться за 10.
Для метрик с высокой вариативностью — revenue per user, количество сессий, время на платформе — CUPED даёт особенно заметный выигрыш. Для метрик с низкой дисперсией (бинарная конверсия нового пользователя) эффект скромнее.
CUPED не меняет размер эффекта и не влияет на решение — он делает оценку точнее. Это как перейти от размытой фотографии к чёткой: объект тот же, но видно лучше.
Как работает ковариата
Основная идея. Метрика пользователя в эксперименте складывается из двух компонентов: индивидуальная базовая линия (как пользователь ведёт себя «обычно») и эффект изменения. CUPED вычитает базовую линию, используя pre-experiment данные как ковариату.
Формула. Скорректированная метрика: Y_adj = Y - theta * (X - mean(X)), где Y — метрика в эксперименте, X — ковариата (та же метрика до эксперимента), theta = Cov(Y, X) / Var(X). Параметр theta подбирается так, чтобы минимизировать дисперсию Y_adj.
Выбор ковариаты. Обычно берут ту же метрику за предшествующий период. Если основная метрика — revenue за неделю теста, ковариата — revenue за неделю до теста. Чем выше корреляция между ковариатой и метрикой, тем сильнее снижение дисперсии. Корреляция 0.5 снижает дисперсию на 25%, корреляция 0.8 — на 64%.
Несмещённость. Ковариата измерена до эксперимента, поэтому она не зависит от группы (treatment не мог на неё повлиять). Это гарантирует, что коррекция не вносит смещения в оценку эффекта.
Когда применять CUPED
- Метрики с высокой дисперсией — revenue, количество действий, время использования. Для таких метрик CUPED снижает дисперсию на 30-50%
- Повторные пользователи — для новых пользователей нет pre-experiment данных, поэтому CUPED неприменим к метрикам first-time конверсии
- Ограниченный трафик — когда увеличить выборку нельзя, CUPED позволяет повысить чувствительность без дополнительного трафика
- Длинные тесты — если тест рассчитан на месяц, CUPED может сократить его до двух-трёх недель
Ограничения и нюансы
Нет pre-данных — нет CUPED. Для новых пользователей или нового продукта метод неприменим. Альтернатива — стратификация по доступным признакам (платформа, источник трафика).
Выбор периода ковариаты. Слишком короткий период — высокая дисперсия самой ковариаты. Слишком длинный — корреляция снижается из-за изменения поведения. Типичный выбор — 1-4 недели до эксперимента.
Не заменяет рандомизацию. CUPED снижает дисперсию, но не исправляет баги в сплитовании. Если группы систематически различаются — проблема в дизайне эксперимента, а не в аналитике.
Типичные вопросы на собеседовании
- «Как ускорить A/B-тест без увеличения трафика?» — CUPED, стратификация, выбор более чувствительной метрики, увеличение MDE
- «Что такое CUPED и как он работает?» — снижение дисперсии через вычитание предсказуемой части метрики на основе pre-experiment данных
- «Можно ли применить CUPED к новым пользователям?» — нет, нужны исторические данные. Можно стратифицировать по доступным признакам
На собеседовании достаточно объяснить принцип и связь корреляции с выигрышем. Формулу полезно знать, но важнее — понимание того, когда CUPED помогает, а когда нет.
FAQ
Чем CUPED отличается от стратификации?
Стратификация обеспечивает баланс групп по дискретным признакам (платформа, страна) на этапе рандомизации. CUPED работает на этапе анализа, используя непрерывную ковариату. Их можно комбинировать: стратифицировать при сплитовании и применить CUPED при анализе. Эффект суммируется.
Какую корреляцию нужно для заметного эффекта?
Практический порог — корреляция от 0.3 (снижение дисперсии на 9%). Заметный эффект — от 0.5 (25%). В продуктовых метриках типичная корреляция с pre-period — 0.4-0.7, что даёт снижение дисперсии на 16-49%. Проверяйте корреляцию до запуска теста.
Можно ли использовать несколько ковариат?
Да, это расширение называется CUPAC (multivariate CUPED). Используется регрессионная модель с несколькими ковариатами. На практике добавление второй ковариаты даёт дополнительный выигрыш только если она объясняет дисперсию, не объяснённую первой.