Selection bias простыми словами

Проверь себя · 1/3разбор после ответа
Как получить начало текущей недели (недельный бакет) по текущей дате в PostgreSQL?

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

Selection bias (ошибка отбора) — когда способ включения объектов в анализ искажает результаты.

Общий термин — включает sampling bias, survivorship bias, self-selection bias и другие.

Пример

Хотите узнать, как новая фича влияет на retention.

Смотрите только на тех, кто использовал фичу vs тех, кто не использовал.

Ошибка: пользователи, использовавшие фичу, — это уже активные и вовлечённые. У них и так retention выше. Фича тут ни при чём.

Виды selection bias

1. Self-selection bias

Пользователь сам решает участвовать.

Пример: opt-in бета-фича. Ранние пользователи — энтузиасты. Результат для них ≠ для всех.

2. Non-response bias

Часть выборки не отвечает. Они отличаются от тех, кто отвечает.

Пример: опрос с 10% ответов. Остальные 90% — кто?

3. Survivorship bias

В выборке только «выжившие».

Пример: retention считается только по активным → завышается.

4. Attrition bias

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

5. Allocation bias

В A/B — неслучайное распределение по группам.

Пример: первые 100 → в тест. Следующие 100 → в контроль. Но первые могут быть «ранними» пользователями и отличаться.

6. Парадокс Берксона

Отбор по признаку, коррелированному с обеими переменными → ложная корреляция.

Примеры в продуктовой аналитике

1. Эффект обучающего видео

Пользователи, посмотревшие туториал, имеют лучший retention. Статистически значимо?

Это selection bias: те, кто посмотрел, — уже мотивированные. Туториал не является причиной.

Правильный анализ: A/B-тест с принудительным показом.

2. Фидбэк от power users

Спрашиваем довольных → получаем позитив. Новые и недовольные молчат.

3. Аналитика только залогиненных

Веб-аналитика считает только авторизованных. Анонимные (часто новые) не учтены.

4. Ретроспективный анализ

«У нас это работало» — но часть сигнала объясняется отбором. Не все переменные контролируются.

Как обнаружить

1. Сравнить выборку с генеральной

Сравните характеристики выборки с известными характеристиками совокупности. Если отличается — есть подозрение.

2. Спросить, кого нет в выборке

«Кого нет в моих данных?» — ключевой вопрос.

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

Если результат «слишком хороший» — подозрение на смещение.

4. A/A-тест

Если рандомизация корректна, A/A даст p < 0.05 в 5% случаев. Иначе — смещение в распределении.

Как избежать

1. Рандомизация

A/B с правильной случайной разбивкой решает большинство проблем.

2. Взвешенный анализ

Дать меньший вес сегментам, которые перепредставлены.

3. Учитывать неответивших

В опросах пытаемся достучаться до неответивших отдельно и сравнить.

4. Полный когортный анализ

Смотреть всю когорту (включая ушедших), а не только активных.

5. Методы causal inference

Propensity score matching, instrumental variables, difference-in-differences.

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

Парадокс Берксона (важная интуиция)

Если отбор идёт по критерию A + B, может появиться ложная отрицательная корреляция между A и B.

Пример из медицины: пациенты в больнице имеют болезнь A или B. Если взять только тех, кто в больнице, может показаться, что A и B отрицательно связаны.

На самом деле они могут быть независимы. Искажение — из-за способа отбора.

В A/B-тестах

A/B-тесты устойчивы к selection bias, если:

  • Распределение по группам случайное
  • Все попавшие в группу анализируются (не только дошедшие до конца — это survivorship)
  • SRM нет

Но могут страдать от:

  • Opt-in тестов
  • Non-compliance (показали фичу, а пользователь её не увидел)
  • Отток (attrition) во время теста

На собесе

«Что такое selection bias?» Ошибка из-за смещённого отбора объектов в анализ.

«Пример в продукте?» Анализ retention только активных пользователей. Ушедшие (там, где и есть смещение) не учтены.

«Как избежать?» Рандомизация, правильная выборка, учёт неответивших.

«A/B-тест спасает от selection bias?» Да, при правильной рандомизации. Но не от non-compliance / attrition.

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

1. Анализ только одной группы

В A/B смотрим только на кого-то из групп → смещение.

2. Ошибка выжившего в когорте

Только активные в когорте → retention завышен.

3. Добровольные отклики

Отзывы, opt-in опросы — систематическое смещение.

4. Сравнение «до vs после» без контроля

Без контрольной группы — selection.

5. Выводить причинность

Наблюдаемая корреляция на смещённой выборке ≠ причинность.

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

FAQ

Selection bias = sampling bias?

Selection — шире. Sampling — частный случай (связанный с выборкой).

Как смещение влияет на выводы?

Систематически искажает. Даже на большой выборке смещение не исчезает.

Рандомизация спасает?

В экспериментах — да. В наблюдательных исследованиях — нет.

Можно ли «исправить» смещённые данные?

Частично (веса, imputation). Но лучше правильный дизайн изначально.