Собесов

Сценарий: парный или непарный тест — как не перепутать

Статистика и теорверHypothesis testingСредняяMiddle

Условие

Меряем эффект новой фичи: сравниваем «до» и «после» для тех же 1000 юзеров. Парный или непарный тест?

Решение

Paired vs unpaired

  • Paired — те же субъекты, измеренные 2 раза (before/after, left/right). Связь по subject.
  • Unpaired (independent samples) — разные субъекты.

В вашей задаче: те же юзеры до и после → paired t-test.

Почему paired мощнее

Paired устраняет between-subject variance. Если subjects сильно отличаются (есть power users, light users), уменьшение variance даёт большую power.

Paired SE: σ_d / sqrt(n)
where σ_d = std of differences (X_after - X_before)

Unpaired SE: sqrt(σ²_A/n + σ²_B/n)

Обычно σ_d << sqrt(2)·σ потому что differences «скоррелированы».

Python

from scipy import stats
 
# Paired
t, p = stats.ttest_rel(before, after)
 
# Unpaired
t, p = stats.ttest_ind(group_a, group_b, equal_var=False)
 
# Non-parametric paired
w, p = stats.wilcoxon(before, after)
 
# Non-parametric unpaired
u, p = stats.mannwhitneyu(a, b)

Когда paired невозможен

  • Юзеры в группе A и B — разные. Не paired.
  • Subject в before-after изменился (новая фича, контаминация).
  • Drop-out: юзер был в before, нет в after. Нужно отбросить — теряете часть данных.

A/B-тест в продукте

A/B test обычно unpaired: юзер в A или в B, не оба. Но если используете CUPED, у вас есть pre-period для каждого юзера → можно использовать pre-period как ковариату (это даёт мощность paired без real pairing).

Within-subject design

В UX-исследованиях иногда same юзер пробует A и B (counterbalanced order) — это paired дизайн. Уменьшает шум на 30-70%, но требует careful UX (без contamination).

Pre-post проблема: регрессия к среднему

"Юзеры с высоким purchase до фичи показывают падение после."

Это не обязательно эффект фичи — это regression to the mean. Высокие до — статистическая ноль; в среднем они скорее снизятся. Решение: control group, не просто before/after.

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

  1. Pre-post без контрольной группы = неинтерпретируем. Времена меняются, нужна control.
  2. Paired t-test на парных наблюдениях, не на «одинаковом числе». 100 vs 100 ≠ paired.
  3. Wilcoxon signed-rank — paired non-parametric; Mann-Whitney — unpaired. Путаница.
  4. Drop-out в paired дизайне нужно обрабатывать: complete-case analysis vs imputation.
  5. Sample size для paired ниже unpaired при той же мощности — учитывайте при дизайне.

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

Paired: те же subjects 2 раза (before/after). Unpaired: разные subjects (A/B). Paired мощнее, потому что устраняет between-subject variance. Pre-post без control — regression to mean. В A/B обычно unpaired + CUPED.

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

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

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