Введение

A/B-тестирование — ценный инструмент, используемый многими компаниями, включая SmartNews, для оптимизации своих продуктов. Путем случайного распределения пользователей по контрольной и лечебной группам этот метод позволяет нам сравнивать различные версии функций и измерять их влияние. Однако, когда разница между тестовой и контрольной группами, известная как размер эффекта, невелика, может возникнуть проблема с обнаружением статистически значимых результатов из-за низкой мощности теста.

Существуют методы, позволяющие увеличить мощность теста и обнаруживать даже меньшие эффекты, в том числе широко распространенные в технологической индустрии методы CUPED и DID. К сожалению, эти подходы не работают в случае экспериментов с новыми пользователями, и в сообщении блога ниже я опишу, как мы подходим к этой проблеме в SmartNews.

Линейные методы уменьшения дисперсии

Давайте начнем с изучения принципов, лежащих в основе CUPED. Скажем, мы хотели бы измерить эффект для целевой метрики Y, для этого мы берем некоторую характеристику (ковариату) X, которая известна до эксперимента и на которую не повлияло поэкспериментируйте, а затем создайте новую метрику как разницу между целевой метрикой Y и ковариацией X:

Где 𝜃 — некоторый коэффициент, пропорциональный ковариации cov(Y, X) (в случае DID равен 1). Впоследствии мы проводим статистический тест для новой переменной Ŷ, которая имеет то же среднее значение, что и исходная переменная (непредвзятая оценка), но меньшую дисперсию, и, следовательно, мощность теста увеличивается. В приведенном ниже уравнении показан статистический тест для новой скорректированной переменной Ŷ, где 𝜏 — предполагаемая величина эффекта, а W — бинарная переменная, которая показывает назначение в тестовую группу:

Снижение дисперсии для экспериментов с новыми пользователями

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

В то же время у нас может быть некоторая полезная информация о новых пользователях до эксперимента, которую можно использовать для уменьшения дисперсии, например информация об устройстве, маркетинговом канале, регионе, возможно, возрасте/поле и т. д. Однако эти характеристики часто демонстрируют низкую корреляцию с целевую метрику и не уменьшают значительно дисперсию при включении в линейное уравнение CUPED. Кроме того, многие из этих функций являются категориальными и могут иметь большое количество элементов (например, местоположение или модель устройства), что затрудняет их использование в рамках CUPED. Значит ли это, что нет хорошего способа повысить эффективность экспериментов с новыми пользователями?

Нелинейные методы уменьшения дисперсии

К счастью, эти проблемы можно частично решить с помощью новых методов уменьшения дисперсии на основе машинного обучения, которые были внедрены в последние 3–4 года. Основная идея этих подходов заключается в замене ковариации X, например, в рамках CUPED, некоторой нелинейной функцией нескольких переменных g(). Например, мы можем использовать любую модель машинного обучения (XGBoost, NN), которая предсказывает целевую метрику Y с набором ковариат.

Один из таких подходов был описан в исследовательской бумаге, также аналогичный подход был использован компанией DoorDash, которую они назвали CUPAC.

Как и в случае с CUPED, чем выше корреляция между новой ковариантой g(..) и целевым значением Y, тем большее снижение дисперсии мы можем получить. И поскольку мы используем несколько функций и нелинейную функцию (модель ML), мы, вероятно, получим более высокую корреляцию, чем в методе CUPED. Это особенно полезно в случае более слабых предикторов, доступных в эксперименте с новыми пользователями.

Несколько иной подход описан в бумаге Меты и предлагает включить нелинейную модель в уравнение полной регрессии, а не в рамки CUPED:

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

Подход

Наш подход включает в себя несколько ключевых шагов:

  • Перед экспериментом соберите ковариаты, доступные для новых пользователей, такие как информация об устройстве и т. д. Крайне важно, чтобы эксперимент не влиял на эти ковариаты, чтобы избежать появления лазейки, которая может привести к неверным оценкам.
  • Поскольку большинство функций являются категориальными, их необходимо обработать перед использованием в модели ML, например. с ОХЭ. Другой подход, который мы выбрали, заключается в использовании CatBoost, так как он автоматически эффективно обрабатывает категориальные функции.
  • Создайте модель машинного обучения с помощью CatBoost для каждой целевой переменной, которую необходимо протестировать. Чтобы уменьшить смещение от переобучения, мы используем процедуру перекрестного подбора для прогнозов. Подробнее об этой процедуре можно узнать здесь
  • Включите прогнозы машинного обучения в полное уравнение регрессии и оцените эффект лечения.

Эксперимент

Чтобы оценить эффективность описанного выше подхода, мы провели серию экспериментов, сравнивая его с обычным статистическим тестом для анализа таких показателей, как потраченное время, количество сеансов, доход и активные дни в экспериментах с новыми пользователями. Мы сравнили результаты с точки зрения увеличения ширины доверительного интервала (ДИ). Другими словами, мы измерили, насколько уменьшилась ширина ДИ при применении метода с уменьшением дисперсии ML (ML VR). Также мы оценили, насколько меньший размер выборки потребуется в методе с ML VR для достижения той же ширины CI, что и в обычном статистическом методе. Кроме того, мы также внедрили метод CUPED для целей сравнения. Как мы обсуждали ранее, использование CUPED немного сложно в экспериментах с новыми пользователями, поскольку большинство ковариат являются категориальными функциями с высокой кардинальностью и нуждаются в обработке. Чтобы упростить задачу, мы выбрали одну ковариацию с низкой кардинальностью, обычно выбирая платформу, которая имеет только два значения Android или iOS.

Результаты показывают, что методы CUPED и ML VR привели к некоторому уменьшению размера выборки по сравнению с обычным статистическим тестом. Однако уменьшение размера выборки, достигнутое с помощью CUPED, было незначительным, в среднем на уровне 1,5%. С другой стороны, подход ML VR продемонстрировал превосходную производительность с точки зрения точности модели и уменьшения размера выборки. Хотя подход ML VR по-прежнему демонстрировал относительно низкую точность для новых пользователей, в первую очередь из-за сложности прогнозирования таких показателей, как время, затраченное исключительно на функции регистрации, он смог уменьшить необходимый размер выборки. в среднем на 12%. В некоторых случаях снижение достигало 30%. Это легко приводит к значительной экономии времени, эквивалентной дням или даже неделям, которые в противном случае потребовались бы для проведения эксперимента.

Автоматическая регулировка предварительного смещения

Еще одной ценной особенностью этого подхода является автоматическая настройка предварительного смещения по многим функциям. Во многих экспериментах предварительная предвзятость существует из-за таких факторов, как несовершенная рандомизация, что затрудняет обнаружение и корректировку таких предубеждений. Чтобы проиллюстрировать этот момент, давайте рассмотрим наш реальный вариант использования с измененными числами, включающими вводный тест для новых пользователей, направленный на повышение коэффициента согласия. Первоначально, когда мы провели регулярный статистический тест, результаты оказались положительными. Однако когда мы применили метод ML VR, результаты оказались нейтральными. Чтобы глубже изучить это несоответствие, мы изучили выходные данные важности функций из модели ML, которая доступна, поскольку мы используем алгоритм повышения градиента CatBoost.

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

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

  • ставки подписки для Android были выше, чем для iOS
  • случайно в тестовой группе было больше пользователей Android и меньше пользователей iOS по сравнению с контрольной группой

К счастью, подход, основанный на машинном обучении, автоматически улавливает предварительную предвзятость, вызванную различной долей пользователей Android, и исправляет это. Хотя может показаться целесообразным изучить распределение по платформам в случае эксперимента с ставками, поскольку известно, что Android и iOS имеют разные ставки, предварительные предубеждения могут быть вызваны различными ковариантами, такими как пол, возраст, маркетинговый канал, регион. и т. д., и сложно проверить и скорректировать предварительные смещения по всем функциям, особенно при проведении сотен экспериментов, что обычно имеет место для компаний, производящих продукты. Подход ML VR решает эту проблему автоматически, если ковариата добавляется в качестве функции в модель ML. Важно отметить, что некоторые ковариаты не следует включать в модель машинного обучения, если мы считаем, что эксперимент может напрямую повлиять на них (например, если в эксперименте мы по-разному относимся к пользователям Android и iOS, платформу не следует включать в качестве критерия). ковариант). Включение таких функций может ввести лазейку и привести к неправильной оценке эффекта лечения. Особое внимание следует уделить выбору признаков, чтобы обеспечить достоверность результатов.

Заключение

Метод уменьшения дисперсии, основанный на машинном обучении, оказывается очень полезным для экспериментов с новыми пользователями. Включая слабые доступные функции, этот метод повышает мощность теста и уменьшает требуемый размер выборки на 5%-20%. Кроме того, он автоматически настраивается на предварительные смещения, что является сложной и важной задачей в экспериментах.

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