Causal Inference: как оценивать эффект, когда A/B — не вариант (Ч. 2)

Другое 23.02.2026 · 👁 605 просмотров
Causal Inference: как оценивать эффект, когда A/B — не вариант (Ч. 2) В первой части разобрали DiD , сегодня разберем еще один популярный инструмент — Propensity Score Matching (далее PSM). Идея PSM'a - мы не сравниваем всех подряд из теста и контроля, а сначала стараемся сделать группы максимально сопоставимыми по характеристикам, и только потом считаем эффект. Если DiD — это про сравнение трендов, то PSM — это про подбор группы. В чем проблема, которую решает PSM ❓ Представим ситуацию: ➖ акция показана только лояльным клиентам ➖ новая функция доступна только premium подписчикам ➖ пользователи сами приняли решение участвовать В этом случае назначение treatment не случайно, то есть попадание в тест зависит от характеристик X (доход, активность, средний чек и тд). P(T=1 | X) ≠ P(T=1) Значит, если просто сравнить разницу средних, то мы получим смещенную оценку, где разница может быть вызвана не воздействием, а тем, что группы изначально разные. E[Y | T=1] − E[Y | T=0] Формальная логика Для каждого объекта i существуют два потенциальных исхода: Yᵢ(1) — если получил воздействие Yᵢ(0) — если не получил воздействие Мы наблюдаем только один из них. Второй — контрфакт. Нас интересует: ATT = E[Y(1) − Y(0) | T=1] Средний эффект на тех, кто получил treatment. Проблема в том, что E[Y(0) | T=1] мы не наблюдаем. Мы не знаем, что было бы с тестовой группой без воздействия. PSM как раз пытается оценить этот контрфакт, только вместо того чтобы сравнивать всех из теста со всеми из контроля, мы для каждого участника теста ищем максимально похожего участника из контроля. Как это работает ❓ Вместо того чтобы матчить по десяткам признаков X напрямую, мы считаем: p(X) = P(T=1 | X) - это вероятность попадания в treatment при данных характеристиках. Теорема Розенбаума и Рубина говорит, что если выполняется предпосылка unconfoundedness, то достаточно сбалансировать группы по ps, а не по всему вектору признаков X. По сути, мы схлопываем многомерную проблему в одно число. Как строится PSM на практике 1 Выбираем две группы Собираем датасет из тестовой группы (получила воздействие) и контроль (не получила воздействие) ps ниже в комментах напишу пример Контроль желательно существенно больше теста (часто в 3–5 раз), чтобы алгоритму было из чего подбирать пары. 2 Формируем признаки X. (aov, arppu, freq, трафик, регион, также, например, метрики на товар X и так далее) Критично: все признаки считаются только по данным ДО момента воздействия. 3 Строим модель для оценки propensity score ( PS ). Это обычная бинарная классификация: таргет — T (0/1), признаки — X, только нам нужно не само значение таргета, а скор по клиенту для попадания в таргет Для этого используются ML модели для проблемы классификации: лог. регрессия, град бустинг, рандом форест и тд. Важно: нам нужна хорошая калибровка вероятностей, если модель идеально различает тест и контроль — это тревожный сигнал => группы могут быть слишком разными, те нужно подбирать другую КГ. 4 Выполняем matching ( M ). Для каждого объекта из treatment ищем объект из control с максимально близким ps. (иногда допускается matching с повторениями) Популярные методы: — Nearest Neighbor — k-ближайших соседей — Caliper (ограничение на |Δp| ≤ ε) и др 5 Считаем эффект Далее мы получили подмножество test и control'а, которым подобралась пара друг другаи теперь мы можем сравнить эффект: ATT ≈ E[Y | T=1] − E[Y | T=0, matched] Тем самым, мы заменили ненаблюдаемый контрфакт на максимально похожий на контрфакт объекты. Вот так вот работает PSM, надеюсь объяснил понятно, пару дополнений оставлю в комментах. ❤️‍🔥 Подписывайтесь и поддержите канал бустом ↗️ Менторю и помогаю выйти на оффер ❓ Сталкивались с PSM? Если да, расскажите про ваши кейсы @data_driven_bogdan
Откликнуться в Telegram →

⚠️ Никогда не платите «за оформление» или «гарантию трудоустройства» — это признак мошенников. Работа ТРУ не несёт ответственности за содержание вакансии.

🇮🇱 Не нашли подходящую зарплату? В Израиле платят от $3000 Без языка и опыта · жильё и легализация под ключ · официально Смотреть вакансии →