⏬ Кейс: как поставить эксперимент, когда A/B-тест невозможен
Привет, меня зовут Николай Олигеров, я работаю продуктовым аналитиком в Яндекс Путешествиях. В этом посте я хочу рассказать про Propensity Score Matching — статистический метод, который позволяет корректно сравнивать группы в ситуациях, когда нельзя провести честный A/B-тест.
🈂️ Ситуация
Мы хотим выяснить, какой инкрементальный GBV (gross booking value, общая стоимость бронирования) приносят новые подключённые отели.
Предположим, в городе N в радиусе X километров можно забронировать пять отелей в Яндекс Путешествиях. Рядом с ними есть ещё два заведения, которые не подключены к нашему сервису.
🈂️ Вопрос
Увеличим ли мы общее количество бронирований, если подключим эти отели? У нас есть две гипотезы:
✅ Да, ведь через них пойдут заказы
❌ Нет, ведь пользователи всё равно заехали бы в уже подключённые заведения
🈂️ Проблема: почему нельзя использовать обычный A/B-тест
🔵 Во-первых, нельзя полностью изолировать тестовую группу от контрольной. Пользователи могут выбирать заведение через разные аккаунты: например, муж посмотрит отель и скинет его жене, а та зайдёт со своего профиля и ничего не увидит
🔵 Во-вторых, мы не хотим, чтобы даже в рамках эксперимента подключённые к нам заведения теряли часть заказов
🔵 В-третьих, если компании-новички дают высокий инкремент, то проведение такого эксперимента обойдётся нам в копеечку
🔵 В-четвёртых, такой эксперимент нужно было бы крутить очень долго, ведь нужно сравнить поведение пользователей на разном горизонте заказов: и на неделю, и на год вперёд
🈂️ Решение: Propensity Score Matching
PSM позволяет сравнить тестовую и контрольную группы на основе тритмента (воздействия) — в нашем случае это показ отелей-новичков в ленте. Задача в том, чтобы правильно оценить эффект и минимизировать влияние на результат ключевых характеристик пользователей, например их среднего чека в сервисе.
Для этого нужно подобрать каждому пользователю с тритментом пару — максимально похожего на него человека, который не получал воздействия. После этого можно сравнить метрики и оценить желаемый эффект.
⏭️ https://habr.com/ru/companies/yandex/articles/1004060/ я рассказываю, сколько пользователей нужно подбирать для тестовой и контрольной групп, как PSM выглядит в коде, что делать с валидацией результатов и какие ключевые характеристики юзеров выбирать, чтобы уменьшить смещение.
Подписывайтесь:
💬