## Введение, мотивация Цель – детектить минимальный эффект. При этом объём данных мы не можем увеличивать (новых пользователей привлекать – отдельная задача). Значит, нужно понижать с дисперсию в тестовой и контрольной выборках, чтобы повышать чувствительность АБ-тестов. Также мы запускаем тесты с офферами, где даём скидки пользователям. Скидка – недополученная прибыль, поэтому решение об окончании теста нужно совершать как можно скорее. ## Стратификация Предположим, что нам удалось найти один или несколько признаков, которые коррелируют с исследуемой бизнес-метрикой Y. Такие признаки X мы будем называть ковариатами. Эти величины должны быть измеримы до эксперимента. Например, это могут быть пол, возраст, местоположение или иные характеристики пользователя. Спецефичные для more.tv: заинтересованность в турецких сериалах/originals/фильмах. Ковариаты используются для того, чтобы разделить всю генеральную совокупность на K непересекающихся подмножеств, называемых стратами. Стратификационное семплирование подразумевает, что в тестовой и контрольной выборке доля страт будет такой же, как и в генеральной совокупности. Пример: 1000 пользователей, 400 из них – женщины из Москвы, 300 – мужчины из СПб, 200 – женщины из СПб и 100 – мужчины из Москвы. В эксперимент мы хотим набрать по 100 пользователей в тестовую и контрольную группы. Значит, в каждой из этих групп должно быть 40 женщин из Москвы, 30 мужчин из СПб, 20 женщин из СПб и 10 мужчин из Москвы. Будет сохранено распределение из генеральной совокупности для каждой из страт. За счёт чего идёт снижение дисперсии? За счёт того, что мы убираем дисперсию между стратифицированными группами. ## CUPED Controlled-experiment Using Pre-Experiment Data. Мы используем данные по пользователям, которые у нас были до эксперимента. На основе этих данных считаем ковариату, которая при этом коррелируют с бизнес-метрикой. Идея: смотреть не изменение самой метрики по себе, а на изменение разности между целевой метрикой и ковариатой. Нюанс: ковариатой может быть и сама целевая метрика, только на момент до эксперимента. Пример: Рассмотрим изменение длительности просмотровой сессии для пользователей из тестовой и контрольной группы. - тестовая группа | t сессии до эксперимента | t сессии после начала эксперимента | | -------- | -------- | | 7 | 7.1 | | 8 | 8.1 | | 12 | 12.1 | - контрольная группа | t сессии до эксперимента | t сессии после начала эксперимента | | -------- | -------- | | 9 | 9 | | 6 | 6 | | 11 | 11 | Как будто бы есть прирост на 0.1, но стандартное отклонение для времени значительно больше этого эффекта (~2 > 0.1). Однако, если мы будем рассматрвать разницу во времени на сессии до и после начала эксперимента, то дисперсия снизится до 0 (ведь это синтетический пример!), но эффект останется: | t сессии до эксперимента | t сессии после начала эксперимента | Разница | | -------- | -------- | -------- | | 7 | 7.1 | 0.1 | | 8 | 8.1 | 0.1 | | 12 | 12.1 | 0.1 | | t сессии до эксперимента | t сессии после начала эксперимента | Разница | | -------- | -------- | -------- | | 9 | 9 | 0| | 6 | 6 | 0| | 11 | 11 | 0| На самом деле, CUPED это не просто вычет из целевой метрики ковариаты, это вычет ковариаты с домножением на коэффициент $\theta$: $Y_{cuped} = Y - \theta X$ Оптимальная $\theta$: $\theta = \frac{cov(Y, X)}{var(X)}$ ## Оставшиеся проблемы 1. Как для ретеншена понизить дисперсию с помощью CUPED – вроде бы и пользовательская метрика, а вроде бы и не очень? *Очень даже пользовательская, пробовали вычитать число активных дней за период от начала подписки до начала экспа* 2. Долго ждать конверсий – что можно сделать: - брать пользователей в конце подпски - смотреть коррелирующие метрики, например, [как долго пользователь смотрит контент](https://www.kdd.org/kdd2016/papers/files/adp0945-xieA.pdf).