TL;DR
Корреляция ≠ причинность. Без рандомизации любое сравнение смещено: в treatment-группе пользователи отличаются от control не только по воздействию, но и по исходным характеристикам. Квазиэксперименты — набор приёмов, каждый из которых заменяет силу рандомизации на конкретное структурное допущение. Знать, какое допущение делаем — и проверять его — важнее, чем знать формулы.
Идея causal-анализа простая: мы хотим знать, что произошло бы с пользователем, если бы он получил интервенцию (Y₁), и что произошло бы, если бы не получил (Y₀). Эффект на конкретном пользователе — это разница Y₁ − Y₀.
Проблема: каждый пользователь живёт в одной реальности. Если он получил интервенцию, мы видим Y₁, но Y₀ — нет. Это «параллельный мир», который мы не наблюдаем. И наоборот для пользователей без интервенции. Усреднение по группе не решает проблему: средний Y₁ в treatment-группе и средний Y₀ в control-группе сравнимы только если группы изначально обменно похожи.
Что делает рандомизация: она не устраняет «параллельные миры», а делает группу A и группу B обменно похожими — в среднем, по всем характеристикам, наблюдаемым и нет. Тогда наблюдаемая разница в Y и есть оценка эффекта. Без рандомизации эта замена не работает: группы A и B изначально разные, и мы измеряем смесь «эффект интервенции + эффект исходных различий».
Квазиэксперименты — набор приёмов, которые восстанавливают обменность через структурные предположения: «при условии X группы сравнимы», «вокруг порога Z распределение случайно», «параллельные тренды до интервенции продолжатся в её отсутствие». Каждый метод — это конкретная замена рандомизации. Метод хорош ровно настолько, насколько выполнено его допущение.
| Угроза | Суть | Пример |
|---|---|---|
| Confounders | Третья переменная влияет и на treatment, и на outcome | Сезонный рост заказов на маркетплейсе и рост ассортимента — оба следствия маркетингового пуша, не причина-следствие |
| Selection bias | Группы treatment и control отбираются по систематически разным критериям | В программу промо-показов записываются продавцы с уже растущим бизнесом — высокая GMV не от программы, а от отбора |
| SUTVA | Treatment одного пользователя влияет на outcome другого | Тест новой комиссии у группы продавцов меняет цены → ломает выдачу для всей категории |
| Interference / spillover | Эффект «протекает» из treatment-группы в control | Алгоритм даёт больше показов товарам в тесте → меньше показов конкурентам в той же категории, control просел не сам |
| Anticipation | Поведение меняется до старта интервенции, потому что о ней объявили | Маркетплейс публикует change-log повышения комиссии → продавцы реагируют за неделю до старта |
| Угроза | Домен | Конкретный пример |
|---|---|---|
| Confounders | Маркетплейс | У продавцов с бейджем «Топ» конверсия на 25% выше. Бейдж не делает их лучше — он отмечает уже хороших по рейтингу и опыту |
| Selection bias | Финтех (BNPL) | У одобренных клиентов retention 80%. У отказанных нет данных. Заявить «скоринг работает» нельзя — мы не знаем как вели бы себя отказанные, если бы их одобрили |
| SUTVA | Маркетплейс | Тест комиссии у 10% продавцов меняет их цены. Покупатели в той же категории видят и тестовых, и контрольных — спрос перетекает. Контроль перестаёт быть «как было бы без теста» |
| Interference | Реклама | Изменение CPM у одного рекламодателя влияет на конкурентов в том же аукционе. Эффект нельзя локализовать на тестовой группе |
| Anticipation | Маркетплейс | Объявили о новой системе ранжирования за 3 недели до старта. Продавцы пересобрали каталоги к запуску — pre-effect мешает оценке post-effect |
| Признак | Скорее всего |
|---|---|
| Treatment-группа изначально отличается от control по pre-trend | Selection bias или confounder |
| Эффект «появляется» до старта интервенции | Anticipation |
| Outcome на control-группе тоже растёт (но меньше) | Interference / spillover |
| После интервенции состав групп изменился | SUTVA или attrition |
| Treatment коррелирует с третьей переменной (рейтинг, активность, регион) | Confounder |
| Угроза | Метод-кандидат |
|---|---|
| Confounders, наблюдаемые | Matching, регрессия с контрольными переменными |
| Confounders, ненаблюдаемые | Instrumental Variables, fixed effects с временной вариацией, DiD при выполнении параллельных трендов |
| Selection bias по чёткому порогу | Regression Discontinuity Design |
| SUTVA нарушен на двустороннем рынке | Switchback (кластеризация по времени), geo-experiment (кластеризация по регионам) |
| Interference в категориях / аукционах | Cluster-level treatment, geo-experiment |
| Anticipation | Event study с pre-period, leads-and-lags |
Маркетплейс запускает программу «Топ-продавец»: продавцы, соответствующие критериям (рейтинг ≥ 4.5, ≥ 50 заказов, ответ покупателю в течение часа), получают на карточке визуальный бейдж. Через месяц продакт смотрит на данные и видит:
| Метрика | Бейдж получили | Бейдж не получили | Δ |
|---|---|---|---|
| Конверсия (CR) | 8.0% | 6.4% | +25% |
| Средний рейтинг | 4.7 | 4.2 | +0.5 |
| Доля с >50 заказов | 64% | 28% | +36 п.п. |
| Время ответа (медиана, ч) | 0.5 | 3.2 | −84% |
Наивный вывод: бейдж даёт +25% конверсии, нужно расширять программу. Но смотрим на остальные строки таблицы — они объясняют, почему пользователи получили бейдж. Группа «получили» уже до бейджа была другой: выше рейтинг, больше опыта, быстрее ответ. Это и есть критерий выдачи бейджа.
Что мы наблюдаем — смесь двух эффектов:
Δ_наблюдаемая = эффект бейджа + эффект исходных различий
Эффект исходных различий — это и есть selection bias. Чтобы выделить эффект бейджа, нужно сравнивать продавцов, которые отличались только наличием бейджа, при прочих равных. Прямое сравнение «получили / не получили» этого не даёт.
Что делать (в порядке возрастания строгости):
Какой метод выбрать — зависит от того, какие данные есть и какое допущение мы готовы сделать. Это и есть содержание modules 2-6.
На маркетплейсе запустили программу промо-показов: продавцы могут заплатить за дополнительные показы своих товаров на главной странице. Через месяц продакт говорит: «Продавцы в программе показывают рост GMV на 35% по сравнению с теми, кто не в программе. Программа работает, надо масштабировать.»
Можно ли утверждать, что программа работает? Какая угроза здесь главная? Как её снять?
Главная угроза — selection bias. В программу записываются продавцы с уже растущим бизнесом и свободным маркетинговым бюджетом. Они бы росли и без неё. Сравнение «программа vs не программа» сравнивает не эффект программы, а тип продавца.
Снять угрозу:
Без одного из этих шагов «+35%» — это статистика, а не причинный вывод.
BNPL-сервис: клиенты, которые подписались на премиум-уведомления о платежах, имеют просрочку в 2 раза ниже, чем не подписанные. Менеджер хочет внедрить уведомления для всех клиентов и ожидает того же эффекта.
Что не так с этим выводом? Какая угроза работает? Как проверить, есть ли реальный эффект уведомлений?
Угроза — confounder через тип клиента. Подписка на премиум-уведомления — это сигнал финансовой организованности. Те, кто подписывается, в среднем дисциплинированнее в платежах сами по себе. Уведомления коррелируют с низкой просрочкой не потому что вызывают её, а потому что оба — следствия типа клиента.
Если внедрить уведомления для всех — эффект на «обычных» клиентах будет существенно меньше, чем 2x. Возможно вообще нулевой.
Проверить:
Главное — не путать «корреляция между подпиской и просрочкой» с «эффект уведомления на просрочку».
Для каждого юнита i существуют два потенциальных исхода: Y_i(1) при treatment и Y_i(0) без. Наблюдаем только один. ATE = E[Y(1) − Y(0)]. ATT = E[Y(1) − Y(0) | D=1]. Рандомизация делает {Y(0), Y(1)} ⊥ D. Квазиэксперименты достигают этого условно: ⊥ | X, или ⊥ | Z, или ⊥ в окрестности порога.