Парадокс Симпсона простыми словами

Проверь себя · 1/3разбор после ответа
Для сравнения метрик по неделям нужно получить начало предыдущей недели. Какое выражение вернёт начало предыдущей недели относительно current_date?

Зачем это знать

Смотрите агрегаты — группа A лучше B. Разбиваете на сегменты — в каждом сегменте B лучше A. Это парадокс Симпсона, один из главных источников ошибок в аналитике. Если не умеете его распознавать — легко сделать неправильный вывод.

На собесах по SQL, статистике и продуктовой аналитике парадокс Симпсона встречается регулярно. Пропустить — минус балл.

Короткое объяснение

Тренд в подгруппах может быть противоположным общему тренду.

A лучше B в каждой подгруппе → в агрегате B лучше A

Это не ошибка в расчётах — это реальный парадокс.

Классический пример: UC Berkeley admissions

1973 год: Berkeley обвинили в гендерной дискриминации. Агрегированные данные:

  • Мужчины: 44% приёма
  • Женщины: 35% приёма

Разница 9 п.п. — дискриминация?

Разбили по факультетам: в большинстве факультетов женщины принимались с большим процентом, чем мужчины.

Откуда разница? Женщины подавали в более конкурентные факультеты (низкий общий процент приёма), мужчины — в менее конкурентные (высокий общий процент).

Когда учли этот скрытый фактор (confounder) — дискриминации не оказалось.

Второй пример: медицина

Препарат A в общем лучше препарата B.

Разбили по тяжести случаев:

  • Лёгкие пациенты: B лучше
  • Тяжёлые пациенты: B лучше

Почему A выигрывает в агрегате? A получали больше лёгких пациентов (лучший общий результат), B — тяжёлых (худший общий результат).

В A/B-тестах

Группы A и B, конверсия:

  • В общем: A > B

Смотрим по платформам:

  • iOS: B > A
  • Android: B > A

Проблема: в группе A больше iOS (где базовая конверсия выше). Несбалансированное распределение.

Решение: stratified randomization или post-stratification.

SQL пример

-- Overall
SELECT GROUP, AVG(converted) FROM ab_test GROUP BY GROUP;
-- A: 10%, B: 8% → A better

-- By platform
SELECT GROUP, platform, AVG(converted) FROM ab_test
GROUP BY GROUP, platform;
-- iOS: A=5%, B=7% → B better
-- Android: A=15%, B=17% → B better

Как распознать

1. Смотрите по сегментам

Всегда делайте разбивку: по платформе, гео, возрасту пользователя, премиум-статусу.

2. Проверьте баланс

Если treatment и control имеют разный состав по важным сегментам — есть риск Симпсона.

3. Проверка здравым смыслом

Знаете, что B должен быть хуже, но данные показывают A → ищите скрытый фактор.

Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

Почему возникает

Confounding (смешение) — есть скрытая переменная, коррелирующая и с группой, и с исходом.

Без контроля этой переменной агрегат вводит в заблуждение.

Как лечить

Стратификация

Разделить по confounder, посчитать взвешенное среднее:

CR_fair = Σ (CR_segment × weight_segment)

Регрессия

Добавить confounder в модель:

Y ~ treatment + confounder

Коэффициент при treatment — контролируемый эффект.

Propensity score

Сопоставить объекты с похожей склонностью (propensity) → балансировка групп.

Реальные кейсы

Агрегированные поисковые запросы и заболеваемость гриппом показывали корреляцию, но она была искажена региональным составом.

Смертность по странам

В стране A выше, чем в B. Разбили по возрасту — в каждой возрастной группе B выше. Дело в возрастном составе населения.

На собесе

«Что такое парадокс Симпсона?» Когда тренд в агрегате противоположен трендам в подгруппах.

«Как распознать?» Сегментация, проверка баланса, проверка здравым смыслом.

«Как лечить?» Стратификация, регрессия, propensity score matching.

«Классический пример?» Berkeley admissions, медицинские препараты.

Частые ошибки

Доверять агрегатам

Всегда сегментируйте. Особенно когда ставки высоки.

Считать, что рандомизация всегда спасает

В большой выборке рандомизация обычно балансирует, но на малой — не гарантирует.

Игнорировать экспертное знание

Если результат странный — ищите confounder, а не принимайте его сразу за истину.

Связанные темы

FAQ

Все агрегаты плохие?

Нет. Но сегментный анализ — это best practice.

Парадокс Симпсона vs confounding?

Парадокс Симпсона — проявление confounding в агрегатах.

Только в статистике?

Везде, где есть агрегация: политика, медицина, бизнес.