Короткий ответ
Доверительный интервал для разности пропорций строится вокруг точечной оценки (p2 − p1) с учётом стандартной ошибки разности, рассчитанной по дисперсиям каждой пропорции, и критического значения нормального распределения для выбранного уровня доверия.
Как это работает подробнее
стандартная ошибка разности двух независимых пропорций считается как корень из суммы (p1(1−p1)/n1 + p2(1−p2)/n2); интервал = (p2−p1) ± z × SE. Этот подход опирается на нормальную аппроксимацию, которая хорошо работает при достаточно большом n и конверсиях, не слишком близких к 0 или 1.
Пример кода
Пример на Python
import numpy as np
from scipy import stats
p1, n1 = 0.10, 5000
p2, n2 = 0.115, 5000
diff = p2 - p1
se = np.sqrt(p1*(1-p1)/n1 + p2*(1-p2)/n2)
z = stats.norm.ppf(0.975)
ci_low, ci_high = diff - z*se, diff + z*se
print(diff, (ci_low, ci_high))Что использовать на практике
- На практике. интервал для разности полезнее одного p-value, так как сразу показывает и направление, и величину эффекта, и его неопределённость — например, интервал [−0.5%; +3.5%] говорит о высокой неопределённости, даже если точечная оценка положительна. Если интервал включает ноль, нет оснований утверждать о статистически значимой разнице при выбранном уровне доверия. Также стоит проверить, не нарушены ли условия применимости нормальной аппроксимации — при очень маленьких n или конверсии ближе к 0% или 100% интервал может выходить за физически возможные границы [0,1].
- Пример. Sanity check: если ci_low и ci_high оба положительны, это согласуется с результатом двустороннего z-теста с p < 0.05 для этой же разницы — оба метода должны давать согласованный вывод.
Подводные камни
- Частые ошибки. строить интервал для каждой конверсии отдельно и сравнивать их визуально вместо расчёта интервала именно для разности — пересечение отдельных интервалов не эквивалентно отсутствию значимой разницы и может вводить в заблуждение; использовать нормальную аппроксимацию при очень маленьких выборках или экстремальных конверсиях (близких к 0%), где она ненадёжна — там уместнее точные методы. Ещё одна ошибка — считать интервал для разности симметричным по построению относительно нуля, хотя при разных дисперсиях групп это не всегда так.