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

Другое 16.12.2025 · 👁 398 просмотров
Causal Inference: как оценивать эффект, когда A/B — не вариант (Ч. 1 ) В какой-то момент на работе мне понадобилось глубже разобраться, как оценивать эффекты, когда классический A/B-тест провести невозможно (частая специфика оффлайна). Начал копать про Causal Inference — и оказалось, что это прям отдельный мир со своими подходами и подводными камнями. Сразу дисклеймер: ниже — не истина в последней инстанции. Не считаю себя гуру в Causal Inference, поэтому буду рад, если кто-то более опытный в этой теме дополнит или поспорит 👇 Что такое Causal Inference ❓ Попробую простыми словами Causal Inference — это набор подходов, которые позволяют ответить на вопрос: 👉 «А что именно изменилось из-за нашего действия, а не просто совпало?» То есть мы хотим отделить *️⃣ эффект фичи / акции / изменения от *️⃣ сезонности, тренда, шума и внешних факторов. Почему A/B-тесты не всегда возможны ❓ *️⃣ Эксперимент сложно или невозможно провести Технические, бизнес- или этические ограничения, либо просто нет времени и ресурсов на полноценный A/B. *️⃣ Группы уже сформированы неслучайно Пользователи изначально разные, и прямое сравнение даёт смещённый результат. *️⃣ Нужно оценить эффект задним числом Изменения уже внедрены, а понять — был ли от них эффект — всё равно нужно. *️⃣ Требуется уточнить результаты A/B Даже в случайных тестах группы могут различаться — и без корректировок оценка получается шумной. В таких случаях приходится восстанавливать контрфакт - что было бы, если бы изменения не было, чтобы уже оттуда вычленить эффект Разберем три популярных подхода Causal Inference и начнем с 1 Difference-in-Difference (DiD) Идея: мы сравниваем не сами значения метрики, а то, как она изменилась после вмешательства — относительно своего тренда, который мы построили от контрольной группы. Условия применимости DiD ( ❗️ очень важно ❗️ ) : *️⃣ Параллельный тренд — до изменений группы должны вести себя похоже *️⃣ Независимость объектов — метрики участников не влияют друг на друга (студенты не влияют на активность друг друга/ просмотры в web, не влияют на просмотры в ios и тд) *️⃣ Отсутствие других вмешательств в тот же момент времени Если хотя бы одно условие нарушено — оценка эффекта становится сомнительной. Как это работает : 1 Берем две группы участников (метрику): *️⃣ тестовую (тут легко, на нее идет эффект от фичи/акции) *️⃣ контрольную (тут сложнее, нужно выбрать контроль с похожим поведением, в зависимости от контекста задачи/бизнеса - это должна быть либо другая метрика, но с похожим трендом или может быть другие люди, но с похожим трендом по такой же метрике) 2 Выбираем метрику, по которой у групп параллельный тренд (повторюсь - до изменений они ведут себя похоже, тк это важный assumption в DiD) 3 Смотрим период до момента X (X - начало воздействия эффекта на тестовую группу) Если метрика в обеих группах растет / падает синхронно — это хороший знак 4 После момента X: *️⃣ контрольная группа продолжает двигаться по старому тренду *️⃣ в тестовой группе происходит изменение - она отклоняется от тренда (или нет, тогда это может нам говорить о том, что эффекта нет) 5 Сравниваем: насколько метрика тестовой группы отклонилась (остановимся на ситуации, где отклонение есть) от своего ожидаемого тренда, который мы восстанавливаем по динамике тренда контрольной группы Ключевая логика DiD : если бы изменений не было, тестовая группа продолжила бы двигаться параллельно контрольной => Вся суть метода держится именно на этом предположении. Как выбрать метрику с похожим трендом ❓ но напрямую не зависимые от нашего изменения Помогут проверки на синхронность, например корреляция Пирсона/Спирмена Пишите в комментах, слышали ли вы что-то про Causal Inference и DiD в частности 👇 Дальше будет еще 2 части про популярные методы CI Подпишись и при желании поддержи канал бустом. P.S. Сделать это можно здесь (для Premium — бесплатно). @data_driven_bogdan
Откликнуться в Telegram →

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

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