Online Experimentation with Surrogate Metrics: Guidelines and a Case Study
Artem ErokhinКак я ранее писал, метрики с долгим сроком оценки (такие как LTV) очень сложно оценивать в рамках обычных A/B тестов. Например, для оценки годового LTV при обычной постановке теста, нам нужно будет смотреть на него год или около того. Кажется, что это очень медленный цикл изменений. Потому нужно что-то выдумывать. Про то, что выдумали в компании LinkedIn, мы и поговорим.
Итак, на повестке у нас статья 2019 года под названием “Online Experimentation with Surrogate Metrics: Guidelines and a Case Study”. Собственно, в названии указана суть - эксперименты с суррогатными метриками. Помимо самой статьи я буду еще пользоваться этим материалом. Так что, при желании, можете посмотреть и источники.
Каков ключевой концепт статьи? Учитывая, что мы не можем за короткое время оценить нашу важную целевую метрику (назовем ее North Star Metric (NSM)), то давайте как-то аппроксимируем ее, используя машинное обучение. Мы сделаем модель, которая на основе набора наблюдаемых значений предсказывает нашу целевую метрику. Наблюдаемые метрики, которые используются при предсказании нашей NSM будем считать суррогатными метриками.
Какие советы для поиска суррогатных метрик приводятся в статье:
- Высокая предсказательная способность суррогатов.
Логично, учитывая, что нам надо предсказывать на их основе нашу NSM; - Фокус на метриках, которые мы можем менять и измерять в краткосрочной перспективе.
Опять же, если у нас будет вторая long term метрика, то смысла “в замене шила на мыло” особо и нет; - Возможность подстройки наших суррогатов к разным treatment.
Например, в случае эксперимента на мобильных платформах, нам куда более важны метрики, связанные с мобилками, а не с десктопом. Хотя, обе метрики могут быть полезны и удовлетворять остальным условиям; - Интерпретируемость.
Сложно доверять метрикам, если не очень понятно, как получился именно такой результат. Все же, в итоге продуктом управляет человек; - Учет накладных расходов на управление сложностью.
Усложняя подход, нужно понимать, что это повлечет некоторые дополнительных расходы. Например, при разных сценариях выбора суррогатных метрик (мобилка/десктоп), нам надо иметь некоторое описание разных случаев. Нам нужно поддерживать актуальный набор метрик. При этом, в случае изменений, у нас должны производиться расчеты и корректировка исторических результатов, чтобы сравнить разницу и купировать возможные проблемы из-за отличия значений сегодня и через n месяцев. Все это требует времени и сил, так что это стоит учитывать при внедрении такого подхода.
Важное условие в том, что наши суррогаты должны удовлетворять условию статистической валидности (Statistical Validity Requirement). Если записывать математически, то это выглядит следующим образом P(Y = y|S, W) = P(Y = y|S). То есть, treatment влияет на наши суррогаты, суррогаты влияют на NSM, а NSM независим от treatment. Если проще - наши суррогаты должны быть тем кусочком информации, который позволяет предсказать нашу главную метрику. На практике, подобрать идеальные суррогаты практически невозможно, но можно выбрать “достаточно хорошие”.
Ок, мы построили суррогатную метрику. Но тут возникает проблемка - мы недооцениваем дисперсию, т.к. у нас все же есть некоторая ошибка аппроксимации целевой метрики (авторы провели вычислительный эксперимент - получилось некоторое завышение ложных срабатываний). Потому нам нужна поправка для t-test’а. Учитывая, что у дисперсию мы увеличили, с ней что-то надо сделать. Авторы предлагают методы снижения дисперсии (например, CUPED). Плюс, желательно строить модели предсказания NSM с наименьшим разбросом, то есть с более узкими доверительными интервалами.
А теперь перейдем к примеру от авторов статьи.
В качестве NSM у авторов выступает подтвержденный найм (confirmed hire). И это очень сложная к оценке метрика, т.к. между откликом на вакансию и последующим изменением статуса может пройти достаточно много времени. Потому создается суррогатная метрика предсказанный подтвержденный найм (predicted confirmed hire). Описана она общими словами, но по сути, позволяет на основании какой-то первичной информации предсказать, будет ли найм, или нет.
Но как показать, что наш суррогат вполне хорош?
Первое, что это показывает - корреляция между предсказаниями нашей модели и таргетом. Но это не все.
Дальше нам надо показать, что выполняется наше условие статистической валидности. Давайте используем накопленные эксперименты, которые должны были влиять на целевую метрику, а для получения предсказаний обучим модель на исторических для каждого теста (сделаем такой вот backtest), чтобы иметь предсказания для целевой метрики. Учитывая, что тут могут сыграть свою роль выбросы, давайте поделим результаты на корзины (bucketing) и будем сравнивать уже разбитые по корзинам значения для целевой метрики и предсказания в случае наличия и отсутствия treatment (где мы вычисляем показатель lambda - отношение ожиданий в бакете для предсказанного значения и реальной метрики).
Ну и последнее - мы можем посмотреть дисперсию реальной метрики и предсказаний, чтобы сравнить их. Плюс, сравнить t-статистики для исторических значений тестов (реальность и предсказание).
И какие же результаты вышли?
Суррогатная метрика в сравнении с реальностью показала R2 = 0.69. Из 203 проверенных экспериментов:
- Без поправки значимы были бы 30;
- С поправкой дисперсии - всего 2;
- С поправкой и CUPED - 10.
Из неучтенных в исследовании факторов можно отметить, что авторы не покрыли вопрос соотношения длительности эксперимента и качества предсказания целевой метрики. Увы, чтобы такое проделать, нужно иметь holdout эксперименты, где можно было бы наблюдать поведение групп на большем периоде времени. Но как точка улучшения - звучит хорошо, ибо тут может крыться очень полезный trade-off между временем проведения эксперимента и точностью аппроксимации.
Мое мнение такое.
Интересный, но очень тонкий инструмент, т.к. имеет множество разнообразных мест, где все может пойти не так. Но если есть возможность достаточно точно предсказывать целевую метрику, то это может стать очень полезной фичей для сокращения сроков проведения тестов.