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

Проверь себя · 1/3разбор после ответа
Что произойдёт при выполнении запроса SELECT product_id, price - cost AS margin FROM products, если столбцы price и cost числовые?

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

Sampling bias (ошибка выборки) — когда ваша выборка не представляет генеральную совокупность. Выводы, сделанные из такой выборки, систематически неверны.

Классический пример — выборы 1936

Газета Literary Digest в США провела опрос 2.4 млн человек о выборах. Предсказала победу Landon (против Roosevelt). Roosevelt выиграл с разгромом.

Причина: Literary Digest опрашивала владельцев машин и телефонов. В 1936 году это были богатые люди (обычно республиканцы). Бедные (обычно демократы) не попали в выборку.

Это — sampling bias.

Виды

1. Selection bias

Выборка выбрана неслучайно.

Пример: опрос удовлетворённости только активных клиентов. Недовольные уже ушли.

2. Survivorship bias

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

Пример: анализ успешных компаний без учёта провалившихся.

Подробнее: survivorship bias.

3. Non-response bias

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

Пример: email-опрос с response rate 5%. 95% — кто они?

4. Voluntary response bias

Люди сами решают участвовать. Обычно — с сильным мнением.

Пример: отзывы в интернете. Пишут только либо очень довольные, либо очень недовольные.

5. Недоохват (undercoverage)

Часть генеральной совокупности не попадает в основу выборки.

Пример: телефонный опрос пропускает людей без телефона.

6. Переохват (overcoverage)

Часть попадает в выборку несколько раз или включены посторонние.

Пример: база клиентов включает тестовые аккаунты.

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

Опрос только power users

Спрашиваем лояльных клиентов, как улучшить продукт. Они не видят проблем, из-за которых уходят новички.

A/B только на новых

Эффект может не распространиться на старых пользователей с другим поведением.

Обращения в поддержку

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

Когорта, оставшаяся активной

Среднее retention по активной когорте → завышение (ушедшие не учтены).

iOS vs Android

Если приложение только на iOS в тестовых странах — выводы не валидны для других платформ.

Как избежать

1. Случайная выборка

Каждый объект имеет равные шансы попасть в выборку.

2. Стратифицированная выборка

Разделить совокупность на страты (пол, возраст, регион) и делать выборку внутри каждой пропорционально.

3. Кластерная выборка

Выбрать случайные «кластеры» (города, школы) и взять всех внутри.

4. Покрыть все сегменты

Проверьте, что выборка покрывает ВСЕ важные сегменты — даже малые.

5. Анализировать неответивших

Если часть не ответила — постарайтесь понять, какие они. Если отличаются — результат смещён.

6. Взвешивать выборку

Если выборка непропорциональна — применить веса для коррекции.

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

Пример: как правильно опросить клиентов

Плохо

Опрос на сайте: «как вам продукт?». Отвечают только заходящие → активные → любящие продукт.

Лучше

Случайная выборка 1000 user_id. Email каждому с опросом. Даже неактивным.

Ещё лучше

Стратифицированно: по когорте (новые/старые), тарифу (free/paid), каналу. Каждая страта пропорциональна.

Gold standard

Плюс follow-up к неответившим. Сравнение с ответившими — есть ли разница в поведении.

В A/B-тестах

A/B-тесты рандомизированы. При корректной рандомизации они не страдают от sampling bias.

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

  • Самоотбор (self-selection): пользователь сам выбирает фичу (opt-in)
  • SRM (sample ratio mismatch): неравное распределение по группам — баг
  • Ошибка выжившего: анализ только дошедших до конца

Подробнее: SRM.

На собесе

«Что такое sampling bias?» Систематическая ошибка из-за нерепрезентативной выборки.

«Пример?» Опрос только активных клиентов → теряем неактивных.

«Как избежать?» Случайная или стратифицированная выборка, анализ неответивших.

«Что такое survivorship bias?» Частный случай — в выборке только «выжившие».

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

1. «У нас много данных, смещения нет»

Большое N не помогает, если данные систематически смещены. 2.4 млн Literary Digest не спасли.

2. Использовать «удобную» выборку

«Опросил, кто был рядом» — удобно, но не репрезентативно.

3. Игнорировать неответивших

Низкий response rate → результат смещён в сторону тех, кто ответил.

4. Обобщать на другую совокупность

Результат для Москвы не всегда применим к регионам.

5. A/B без проверки SRM

Даже рандомизированный тест может быть смещён, если сплиттер сломался.

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

FAQ

Можно ли полностью избежать?

Почти никогда. Минимизировать через правильный design.

Как обнаружить в данных?

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

Sampling bias = selection bias?

Selection bias — шире. Sampling bias — конкретно про выборку.

Что делать со смещёнными данными?

Зафиксировать смещение в описании. Применить веса. Осторожнее с обобщениями.