CUPED и ковариаты в рекламном эксперименте: как снизить дисперсию без магии

Как использовать CUPED и предэкспериментальные ковариаты: выбор признака, формула корректировки, missing values, сегменты, leakage, симуляция и отчёт результата.

Оглавление10 разделов

CUPED часто описывают как способ получить тот же ответ меньшим трафиком, но это возможно только при наличии хорошей предэкспериментальной ковариаты. Она должна существовать до назначения, быть связанной с outcome и измеряться одинаково в вариантах. Метод не создаёт информацию из ничего: он объясняет часть естественного разброса между единицами и оставляет экспериментальному сравнению более чистый остаток. Неподходящий признак, leakage или разная доступность данных способны ухудшить оценку.

Прямой ответ

Выберите ковариату по данным до теста, зафиксируйте окно и обработку missing, оцените коэффициент без использования treatment outcome для подбора и проверьте метод на A/A и симуляции. В отчёте показывайте исходную и скорректированную оценки.

1. Интуиция корректировки

Если часть пользователей исторически активнее других, их будущий outcome тоже может быть выше независимо от варианта. Предэкспериментальная активность объясняет этот базовый разброс.

CUPED центрирует ковариату и вычитает предсказуемую часть, не меняя случайное назначение.

Представьте двух пользователей: один исторически совершает много действий, другой почти неактивен. Если первый случайно попал в treatment, raw mean может подняться без эффекта. Ковариата оценивает ожидаемую базовую разницу и уменьшает её влияние. Но если историческая активность измеряется только для treatment из-за новой интеграции, корректировка не работает симметрично.

2. Требования к ковариате

Признак измерен до assignment, не зависит от treatment, доступен по одинаковому правилу и имеет связь с outcome.

Красивое имя feature не достаточно; проверяются coverage, стабильность и корреляция на независимой истории.

Candidate registry создаётся до эксперимента. Для каждого признака указывают определение, окно, coverage, корреляцию, missing rule и риск воздействия treatment. Затем один основной вариант выбирают по историческим периодам или заранее установленному алгоритму. Это предотвращает перебор десятков ковариат после просмотра результата.

Метод вычитает из итоговой метрики предсказуемую часть, связанную с допериодным поведением. Средняя поправка между случайными группами сохраняется около нуля, но разброс индивидуальных наблюдений уменьшается. Чем сильнее корректная ковариата связана с outcome, тем заметнее потенциальный выигрыш в точности.

Это не способ исправить плохую рандомизацию или пропущенные события. Если группы получили разный трафик либо ковариата рассчитана из данных после воздействия, низкая дисперсия не делает оценку причинной. Сначала проверяется дизайн, затем применяется variance reduction.

3. Нулевые и новые пользователи

У новых единиц истории нет. Missing нельзя молча заменить средним без индикатора и проверки. Один подход — значение 0 плюс признак отсутствия, другой — стратификация.

Выбор фиксируют и тестируют на A/A.

Отдельный индикатор missing позволяет модели различать реальный ноль и отсутствие наблюдения. При большой доле новых пользователей можно стратифицировать анализ или использовать несколько baseline features. Важно сохранить общий estimand: исключение новых пользователей после рандомизации изменит оцениваемую аудиторию.

4. Окно ковариаты

Слишком короткое окно шумит, слишком длинное может отражать другой режим. Оно заканчивается строго до эксперимента и не перекрывает treatment.

Для сезонного бизнеса полезно проверить несколько заранее выбранных окон на историческом backtest.

При недельной сезонности окно должно включать сопоставимые дни. Для кампаний с трендом можно использовать несколько агрегатов или residualized baseline, но усложнение проверяют на out-of-time A/A. Если treatment запускается сразу после резкой смены источника, старая ковариата может плохо объяснять новую аудиторию и почти не снижать variance.

Определите одинаковое окно до эксперимента для всех единиц. Пользователь, появившийся только в периоде теста, получает заранее согласованную обработку — например, нулевую ковариату и отдельный индикатор отсутствия истории. Нельзя удалять таких участников после рандомизации, если удаление связано с вариантом.

Зафиксируйте дедупликацию и cutoff данных. Поздно пришедшие события допериода могут менять ковариату уже после расчёта результата; поэтому витрина должна иметь версию или дату сборки, позволяющую воспроизвести опубликованную оценку.

5. Оценка theta

Коэффициент зависит от covariance X,Y и variance X. Реализация должна корректно учитывать единицу анализа и кластеры.

Не подбирайте theta отдельно по вариантам: это способно внести асимметрию.

Theta можно оценить на объединённой выборке, не используя assignment как причину разной модели, либо на независимой истории. Standard error учитывает факт оценки параметра согласно выбранной процедуре. Production-код фиксирует центрирование ковариаты и точную формулу, потому что небольшие различия между аналитическими реализациями создают несопоставимые результаты.

Коэффициент оценивают по объединённым данным без использования treatment label в выборе формулы либо по отдельной независимой истории. После расчёта проверьте знак и масштаб: чрезмерный коэффициент часто указывает на выбросы, неверные единицы или утечку информации.

Для ratio-метрик безопаснее заранее определить подход к линеаризации или работать с корректной моделью числителя и знаменателя. Простая CUPED-поправка к пользовательскому ratio с нестабильным знаменателем может дать трудно интерпретируемый результат.

6. Binary outcome

Для конверсии линейная корректировка может использоваться как оценочный приём, но интерпретация и стандартные ошибки должны соответствовать дизайну.

Симуляция на реалистичном baseline проверяет coverage интервалов.

Для редкой конверсии предэкспериментальная конверсия может быть почти всегда нулём. Более частая связанная активность иногда даёт лучший сигнал, но должна иметь ясный смысл. Линейная скорректированная метрика может выходить за диапазон 0–1 на уровне единицы; это не вероятность, а компонент оценки среднего. Интерпретацию сохраняют на агрегированном эффекте.

7. Leakage и post-treatment признаки

Сессии, созданные после показа, клики по варианту и события во время теста нельзя использовать как baseline. Они находятся на причинном пути.

Даже если feature улучшает точность прогноза, он может исказить эффект.

Feature store должен поддерживать point-in-time join: для каждого assignment выбираются только записи, доступные до него. Обычный join по user ID легко подтягивает будущую активность. Тест создаёт искусственный event после assignment и проверяет, что он не попадает в baseline. Такая инженерная проверка надёжнее комментария в ноутбуке.

8. Проверка через A/A

На историческом или живом A/A скорректированная процедура должна сохранять центр около нуля, ожидаемую частоту интервалов и снижать дисперсию.

Проверяйте отдельно сегменты с missing и разные уровни активности.

Серия A/A разбиений показывает распределение raw и adjusted estimates. Сравните variance, coverage и среднюю оценку. Если adjusted variance меньше только на той же истории, где выбиралась ковариата, проведите проверку на другом периоде. Отдельно моделируйте изменения coverage, чтобы pipeline не превращал отсутствие данных в различие вариантов.

Покажите оценки с поправкой и без неё. Направление эффекта не обязано быть абсолютно одинаковым на маленькой выборке, но резкая смена вместе с большим сокращением ошибки требует расследования. Полезны placebo-проверка на допериоде и сравнение ковариаты между группами.

9. Отчёт и прозрачность

Покажите raw estimate, CUPED estimate, интервал, выбранную ковариату, окно, coverage и достигнутое снижение variance.

Если знак или решение резко меняется, проведите аудит до публикации.

Помимо процента variance reduction покажите фактическое уменьшение standard error и влияние на decision boundary. Большое относительное улучшение при очень шумной метрике всё равно может оставлять тест неинформативным. Raw и adjusted результаты должны отвечать на один estimand; расхождение объясняют baseline imbalance и моделью, а не выбирают удобный.

Сообщайте effect estimate и interval в исходных бизнес-единицах. Фраза «CUPED улучшил тест» неоднозначна: метод улучшает точность оценки, но не увеличивает реальный эффект варианта. Отдельно укажите фактическое снижение дисперсии и все решения обработки отсутствующей истории.

10. Вывод

CUPED полезен, когда предэкспериментальный признак действительно объясняет будущий разброс и не затронут treatment. Метод требует строгой временной границы, обработки missing, корректной единицы и A/A-проверки.

Это инженерия измерения, а не способ сделать любой слабый результат значимым.

CUPED внедряют как часть экспериментальной платформы: registry ковариат, time checks, missing handling, A/A suite и единый отчёт. Разовая формула в ноутбуке повышает риск leakage и различий реализации. Только повторяемый pipeline превращает статистическую идею в надёжное снижение стоимости экспериментов.

Для планирования следующего теста используйте достигнутую variance reduction консервативно. Она может измениться при другой аудитории и outcome. Sample size calculator хранит сценарий без CUPED и с диапазоном ожидаемого снижения, а не обещает постоянный коэффициент. Если coverage baseline падает, система автоматически возвращается к raw estimate или заранее выбранной robust процедуре.

Не выбирайте ковариату по желаемому выводу

Набор признаков и процедура фиксируются до просмотра результата. Постфактум выбранная корректировка превращает variance reduction в ещё один канал подгонки.

Станьте партнёром и начните работать

Перейдите в партнёрскую программу, изучите актуальные условия и выберите подходящий формат сотрудничества.

СТАТЬ ПАРТНЁРОМ

Связанные материалы

Все статьи
Аналитика

Бюджет первого теста: как рассчитать сумму, которой хватит для решения

Как рассчитать бюджет теста рекламы через частоту события, MDE, power, стоимость трафика, зрелость, технический этап, лимит потерь и оборотный капитал.

Аналитика

Витрина данных для арбитражной команды: схема от клика до выплаты

Как построить аналитическую витрину арбитража: grain, факты, измерения, click ID, статусы, валюты, ревизии, late events, тесты и воспроизводимые отчёты.

Аналитика

Statistical power и MDE: как планировать тест конверсии до запуска

Подробный разбор statistical power, MDE и размера выборки для конверсии: baseline, alpha, beta, абсолютный эффект, кластеры, лаг и симуляция дизайна.