Sampling bias простыми словами
Карьерник — квиз-тренажёр в Telegram с 1500+ вопросами для собесов аналитика. SQL, Python, A/B, метрики. Бесплатно.
Короткое объяснение
Sampling bias (ошибка выборки) — когда ваша выборка не представляет генеральную совокупность. Выводы, сделанные из такой выборки, систематически неверны.
Классический пример — выборы 1936
Газета Literary Digest в США провела опрос 2.4 млн человек о выборах. Предсказала победу Landon (против Roosevelt). Roosevelt выиграл с разгромом.
Причина: Literary Digest опрашивала владельцев машин и телефонов. В 1936 году это были богатые люди (Republican). Бедные (Democrat) не попали в выборку.
Это — 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
Часть population не попадает в sampling frame.
Пример: телефонный опрос пропускает людей без телефона.
6. Overcoverage
Часть попадает в выборку несколько раз или включены посторонние.
Пример: база клиентов включает тестовые аккаунты.
Примеры в продуктовой аналитике
Опрос только power users
Спрашиваем лояльных клиентов, как улучшить продукт. Они не видят проблем, на которых уходят новички.
A/B на новых
Эффект может не распространиться на старых пользователей с другим поведением.
Клиенты поддержки
Анализ тикетов только недовольных. Другие — пишут ли они feedback?
Cohort, оставшаяся активной
Среднее retention по активной когорте → завышение (ушедшие не учтены).
iOS vs Android
Если приложение только на iOS в тестовых странах — выводы не валидны для других платформ.
Как избежать
1. Случайная выборка
Each объект population имеет равные шансы попасть.
2. Stratified sampling
Разделить population на страты (пол, возраст, регион) и делать выборку внутри каждой пропорционально.
3. Cluster sampling
Выбрать случайные «кластеры» (города, школы) и взять всех внутри.
4. Включить все сегменты
Проверьте, что ваша выборка покрывает ВСЕ важные сегменты — даже малые.
5. Анализировать non-respondents
Если часть не ответила — постарайтесь понять, какие они. Если отличаются — результат смещён.
6. Добавить weights
Если выборка непропорциональна — применить weights для коррекции.
Пример: как правильно опросить клиентов
Плохо
Опрос на сайте: «как вам продукт?». Отвечают только заходящие → активные → любящие продукт.
Лучше
Случайная выборка 1000 user_id. Email каждому с опросом. Даже неактивным.
Ещё лучше
Stratified: по когорте (new/old), тарифу (free/paid), каналу. Каждая страта пропорциональна.
Gold standard
Plus follow-up к non-respondents. Сравнение с respondents — есть ли разница в поведении.
В A/B-тестах
A/B-тесты — рандомизированные. По design не страдают от sampling bias (если randomization корректная).
Но могут страдать от:
- Self-selection: пользователь сам выбирает feature (opt-in)
- SRM (Sample Ratio Mismatch): неравное распределение по группам — bug
- Survivorship: анализ только дошедших до конца
Подробнее: SRM.
На собесе
«Что такое sampling bias?» Систематическая ошибка из-за нерепрезентативной выборки.
«Пример?» Опрос только активных клиентов → mia-неактивных.
«Как избежать?» Случайная / stratified выборка, анализ non-respondents.
«Что такое survivorship bias?» Частный случай — только «выжившие» в выборке.
Частые ошибки
1. «У нас много данных, bias нет»
Большое N не помогает, если данные систематически смещены. 2.4 млн Literary Digest — не помогли.
2. Использовать convenience sample
«Опросил кто был рядом» — удобно, но не репрезентативно.
3. Игнорировать non-response
Low response rate → result biased towards тех, кто ответил.
4. Generalization на другую population
Результат для Москвы не всегда применим к регионам.
5. A/B без проверки SRM
Даже рандомизированный тест может быть смещён, если sampler сломался.
Связанные темы
- Survivorship bias
- P-hacking простыми словами
- Sample vs population
- SRM — sample ratio mismatch
- A/A-тест зачем нужен
FAQ
Можно ли полностью избежать?
Почти никогда. Минимизировать через правильный design.
Как обнаружить в данных?
Сравнить характеристики выборки с known population. Если не совпадают — bias.
Sampling bias = selection bias?
Selection bias — шире понятие. Sampling bias — конкретно про выборку.
Что делать с biased данными?
Document bias. Применить weights. Осторожно с generalization.
Тренируйте статистику — откройте тренажёр с 1500+ вопросами для собесов.