Собесов

Хабр Статистика — корреляция ≠ причинность

Статистика и теорверКаузальностьЛёгкаяMiddle

Условие

Маркетинг говорит: «после запуска рекламной кампании выросла конверсия — значит, реклама работает». Какие альтернативные объяснения у этой корреляции? Как формально проверить причинность?

Решение

Альтернативные объяснения наблюдаемой корреляции

  1. Случайность. Колебания метрики могут быть шумом, особенно на коротком горизонте.
  2. Обратная причинность. Не реклама → конверсия, а сезонность → реклама + конверсия (запустили рекламу потому, что предполагали рост).
  3. Конфаундер — третий фактор, влияющий на обе переменные. Например, перед чёрной пятницей и маркетинг активизируется, и пользователи в режиме покупок.
  4. Selection bias. Реклама показана не всем — а тем, чей профиль предсказывает покупку. Часть «эффекта» это уже их склонность.
  5. Tracking artifact. Логирование изменилось одновременно с запуском кампании.

Методы проверки причинности (от слабых к сильным)

  1. A/B-тест — рандомизация destroy’ит конфаундеры. Золотой стандарт.
  2. Difference-in-Differences (DiD). Сравниваем «обработанный» сегмент vs «не обработанный» до и после события.
  3. Regression Discontinuity. Для естественных порогов (например, «премиум-клиент с >100 заказами»).
  4. Instrumental Variables. Внешняя переменная, влияющая на treatment, но не на outcome напрямую.
  5. Propensity Score Matching. Подбор «двойников» по характеристикам для имитации рандомизации.
  6. Causal Inference / DAG / do-calculus. Формальный фреймворк (Перл).

Парадокс Симпсона как иллюстрация

Корреляция в данных целиком может быть противоположна корреляциям в подгруппах:

Группа A: успех A: всего B: успех B: всего
Молодые 81 87 234 270
Старые 192 263 55 80
Итого 273 350 (78%) 289 350 (83%)

В каждой возрастной группе вариант A лучше (93% vs 87%, 73% vs 69%). А в сумме — B! Причина: в B чаще попадают молодые, у которых базовая ставка успеха выше.

«Хрестоматийные» ложные корреляции

  • Продажи мороженого ↔ утопления (общий конфаундер — лето).
  • Число пожарных на пожаре ↔ ущерб (общий — масштаб пожара).
  • Утренние пробки ↔ дождь (вы не подумали — есть и обратный путь: «дождь меняет maintenance», и DiD-арт).

Подводные камни

  1. «Корреляция > 0.7, значит причинно». Сила корреляции не делает её каузальной.
  2. «Сильная теория + наблюдения = доказательство». Без рандомизации или хорошего causal-design это всё ещё гипотеза.
  3. Симпсон-парадокс в продуктовых данных. Часто срабатывает в когортах (новые vs старые пользователи).
  4. A/B-тест с компрометированной рандомизацией = наблюдательные данные, не RCT.
  5. «Не нашли A/B-результата — значит, эффект нулевой». Нет — это означает «не задетектили на текущей мощности».

Эталонный ответ

Корреляция — это статистическая связь; причинность — функциональная связь. Перед причинными выводами проверяйте: случайность, обратную причинность, конфаундеры, selection bias, tracking artifacts. Золотой стандарт — A/B-тест с рандомизацией. Иначе — DiD, regression discontinuity, IV, propensity matching, причём с явной DAG.

Хочешь увидеть разбор?

Зарегистрируйся бесплатно — откроется развёрнутое решение этой задачи и ещё 4 на выбор.

Зарегистрироваться и увидеть разбор
Уже есть аккаунт? Войти