new-lvl.pro · Статьи · Статистика
Статья A/B // 11 мин чтения

Доверительный интервал
для конверсии

5000 просмотров, 300 кликов, 5 заказов. Конверсия из клика в заказ — 1.67%. Этой цифре можно верить или данных мало? Разбираем, как считать интервал, где врёт школьная формула и сколько выборки нужно набрать, чтобы замер вообще имел смысл.

Одна воронка — два разных ответа

Вопрос почти всегда приходит в одной и той же форме: «у нас 5000 просмотров, 300 кликов и 5 заказов, конверсия 1.67% — этому можно верить или мало данных?» Ответ неочевидный: в одной и той же воронке одному числу верить можно, а другому нет. Причём трафик у обоих чисел одинаковый.

Шаг воронкиОценка95% интервалВердикт
Клик / просмотр300 / 5000 = 6.00%[5.38% — 6.69%]верить можно
Заказ / клик5 / 300 = 1.67%[0.71% — 3.84%]разброс в 5 раз
Заказ / просмотр5 / 5000 = 0.10%[0.04% — 0.23%]разброс в 5 раз
// Те же 5000 пользователей, разная точность
CTR  ·  300 из 5000 6.00%  [5.38 — 6.69]
CR в заказ  ·  5 из 300 1.67%  [0.71 — 3.84]
0%2%4%6%8%
Белая черта — то, что показывает дашборд. Полоса — где на самом деле может лежать истина. Для CTR полоса узкая: решение по ней принимать можно. Для конверсии в заказ она шире самой оценки — «1.67%» здесь означает «где-то между 0.7% и 3.8%», а это разные бизнесы.

Разница между строками не в количестве пользователей — оно одно и то же. Разница в количестве событий: 300 кликов против 5 заказов. Это и есть главная мысль статьи, к ней вернёмся в разделе про правило ста конверсий.

Что доверительный интервал меряет — и что нет

Наблюдаемые 1.67% — не свойство продукта, а результат одного замера. Прокрути ту же неделю заново с теми же настройками — заказов будет не 5, а 3 или 8, просто по случайности. Доверительный интервал отвечает на вопрос: насколько сильно эта случайность может двигать цифру.

// Определение без учебника
95% доверительный интервал
Если повторить замер много раз и каждый раз строить такой интервал, примерно 95% этих интервалов накроют истинную конверсию. Не «истина лежит внутри с вероятностью 95%» — истина фиксирована, случаен интервал. На практике разница в формулировке не меняет решения, но на собеседовании её спрашивают.
// Чего интервал не покрывает
Доверительный интервал меряет только случайный шум выборки. Он ничего не знает про ботов в трафике, про сломанное событие в разметке, про то, что неделя выпала на праздники, и про то, что реклама вела нецелевую аудиторию. Узкий интервал вокруг смещённой цифры — это точно измеренная неправда. Сначала проверяем данные, потом считаем интервал.

Школьная формула — и где она врёт

В любом учебнике первой даётся формула Вальда — нормальное приближение биномиального распределения. Её же выдаёт большинство калькуляторов в интернете.

// Интервал Вальда
Симметричный интервал вокруг оценки
p ± z · √( p(1−p) / n )
Где p — наблюдаемая конверсия, n — число наблюдений, z = 1.96 для 95% уверенности (1.645 для 90%, 2.576 для 99%). Выражение под корнем — стандартная ошибка доли.

На верхнем шаге воронки формула работает отлично. Считаем для CTR: p = 0.06, n = 5000, стандартная ошибка = √(0.06 · 0.94 / 5000) = 0.00336, интервал = 6.00% ± 0.66% = [5.34%, 6.66%]. Это почти в точности совпадает с честным ответом.

А теперь тот же расчёт для заказов: p = 0.01667, n = 300, стандартная ошибка = 0.00739, интервал = 1.67% ± 1.45% = [0.22%, 3.12%]. И вот здесь формула уже врёт — честный интервал начинается с 0.71%, а не с 0.22%.

// Формула ломается окончательно 2 заказа из 300
p = 0.667%, стандартная ошибка = 0.470%, интервал = 0.67% ± 0.92% = [−0.25%, 1.59%].

Нижняя граница отрицательная. Конверсия не бывает минус четверть процента — значит, формула вышла за пределы применимости и её результату верить нельзя вообще, ни сверху, ни снизу.
// Правило применимости
Интервал Вальда годится, только когда n·p ≥ 10 и n·(1−p) ≥ 10 — то есть и конверсий, и не-конверсий больше десятка. В нашем случае n·p = 5. Нормальное приближение здесь уже не работает: реальная вероятность накрытия падает заметно ниже заявленных 95%, и интервал получается уже, чем должен быть. Формула выглядит уверенной ровно там, где данных меньше всего.

Интервал Вильсона — тот, который стоит использовать

Вильсон решает задачу честнее: он не строит интервал вокруг наблюдённой доли, а спрашивает «при каких истинных значениях конверсии наш результат не выглядел бы аномальным» — и решает получившееся уравнение. Формула страшнее, но считается в одну строку.

// Интервал Вильсона
Несимметричный, всегда внутри [0, 1]
( p + z²/2n ± z · √( p(1−p)/n + z²/4n² ) ) / ( 1 + z²/n )
Обозначения те же. Знаменатель и слагаемое z²/2n в числителе — это поправка, которая на малых n подтягивает интервал к середине, а на больших n исчезает: при n = 5000 разница с Вальдом уже в третьем знаке.
Данныеn·pВальдВильсон
300 / 5000  CTR 6%300[5.34%, 6.66%][5.38%, 6.69%]
5 / 300  CR 1.67%5[0.22%, 3.12%][0.71%, 3.84%]
2 / 300  CR 0.67%2[−0.25%, 1.59%][0.18%, 2.40%]
1 / 300  CR 0.33%1[−0.32%, 0.99%][0.06%, 1.86%]

В первой строке методы совпадают — при трёхстах событиях спорить не о чем. В остальных Вальд систематически смещает интервал вниз и делает его уже настоящего: и нижняя граница занижена, и верхняя. То есть ровно в той ситуации, где нужна осторожность, он внушает лишнюю уверенность.

// Что делать на практике
Считай интервалом Вильсона всегда. На больших числах он даёт то же самое, что Вальд, а на малых — не разваливается. Отдельно помнить, какую формулу когда применять, не нужно: в этом и смысл дефолта.

Правило ста конверсий

Теперь главное. Зафиксируем конверсию на уровне 1.67% и будем наращивать трафик, глядя, как сужается интервал.

НаблюденийКонверсий95% интервалТочность
3005[0.71%, 3.84%]±94%
1 00017[1.06%, 2.71%]±48%
3 00050[1.27%, 2.19%]±28%
6 000100[1.37%, 2.02%]±20%
15 000250[1.47%, 1.88%]±12%
60 0001 000[1.57%, 1.77%]±6%

Смотри на вторую и четвёртую колонки вместе — они связаны намертво, а первая колонка ни на что не влияет. Это не совпадение, а следствие формулы. Если подставить в неё желаемую относительную точность ε и упростить для малых p, число наблюдений сокращается и остаётся только количество событий:

// Главная формула статьи
Точность задаётся числом конверсий, а не числом пользователей
конверсий ≈ z² / ε² ≈ 3.84 / ε²
Где ε — относительная точность в долях (0.2 — это ±20% от самой конверсии). Величина p в формулу не входит: чтобы измерить с одинаковой точностью конверсию 0.1% и конверсию 30%, нужно одно и то же число событий — просто в первом случае за ними придётся гнать в триста раз больше трафика.
Нужная точностьНужно конверсийЧто это значит на практике
±50%≈ 15порядок величины: 1% или 3% — различим, 1% или 1.4% — нет
±30%≈ 43грубая оценка, годится для приоритизации гипотез
±20%≈ 96рабочий минимум для отчёта и решения
±10%≈ 384можно сравнивать периоды и сегменты
±5%≈ 1 540уровень точности для A/B и мониторинга
// Запомнить одну строчку
~100 конверсий = точность ±20%. Это тот порог, ниже которого цифру в отчёте лучше подавать интервалом, а не точкой. Вдвое лучшая точность стоит вчетверо больше данных — зависимость квадратичная, ровно как в расчёте выборки для A/B-теста.

Возвращаемся к исходным пяти заказам: 3.84 / 5 = 0.77, корень — 0.88. Точность замера ±88% (точный расчёт по Вильсону даёт ±94%, приближение чуть оптимистичнее). Это не измерение конверсии, это её порядок величины.

// Посчитай на своих числах
1.67%
наблюдаемая конверсия
[0.71% — 3.84%]
95% доверительный интервал (Вильсон)
Точность ±94%. Данных мало.

Сколько выборки нужно набрать

Ту же формулу можно читать справа налево — и это ответ на вторую половину вопроса: «мы хотим замерить конверсию, сколько взять пользователей».

// Относительная точность (обычно нужна эта)
Минимальная выборка под ±ε процентов от конверсии
n = z² · (1 − p) / ( ε² · p )
Нужна ожидаемая конверсия p — возьми её из прошлого периода, из бенчмарка или из здравого смысла. Ошибиться в ней не страшно: посчитай по пессимистичной оценке, и запаса хватит.
// Абсолютная точность (когда важны пункты)
Минимальная выборка под ±d процентных пунктов
n = z² · p(1 − p) / d²
Здесь d — половина ширины интервала в долях: 0.005 для ±0.5 п.п. Осторожно с малыми конверсиями: «±0.5 п.п.» при базе 1.67% — это ±30% относительных, звучит скромно, а стоит дорого.

Подставим кейс: конверсия ожидается около 1.67%, трафик — 5000 просмотров и 300 кликов в неделю. Считаем, сколько недель придётся ждать.

Хочу точностьНужно кликовНужно заказовНедель ждать
±50%≈ 907163
±30%≈ 2 519428.4
±20%≈ 5 6679518.9
±10%≈ 22 66637875.6
// Здесь расчёт превращается в продуктовое решение
Девятнадцать недель — это не план замера, это приговор задаче. За четыре с лишним месяца поменяются и продукт, и рынок, и сам трафик: замерять будешь уже не ту конверсию, которую собирался. Когда обратный расчёт даёт такие сроки, правильный ход — не ждать, а менять постановку.

Что делать, когда конверсий мало

Агрегировать период. Взять квартал вместо недели — но только если продукт и трафик за это время не менялись, иначе смешаешь разные конверсии в одну.
Мерить шаг выше. В нашей воронке CTR замерен точно уже сейчас. Гипотезу про качество трафика проверяют на нём, а не на заказах.
Взять прокси. Событие, которое случается чаще и коррелирует с целевым: добавление в корзину, начало оформления, ответ на первое сообщение.
Отдавать интервал, а не точку. «Конверсия 0.7–3.8%» — честный ответ, с которым можно работать. «Конверсия 1.67%» — цифра, которая развалится на следующей неделе.

Четыре ошибки, которые ломают расчёт

1. Не тот знаменатель

Конверсию из клика в заказ считают как 5 / 300, а не 5 / 5000. Знаменатель — это те, у кого была возможность совершить целевое действие. Ошибка кажется арифметической, но она меняет и саму метрику, и ширину интервала.

2. Сессии вместо людей

Формула предполагает, что каждое наблюдение независимо: 300 наблюдений — это 300 разных людей, каждый со своим броском монеты. Если один пользователь дал 5 кликов из 300, независимость нарушена, реальный разброс больше расчётного, и интервал получается уже честного. Считай по уникальным пользователям, а не по сессиям и не по событиям.

3. Пересекающиеся интервалы приняли за отсутствие разницы

Самая дорогая ошибка из четырёх, потому что выглядит как аккуратная работа. Сравниваем две версии страницы: 5 заказов из 300 против 15 из 300.

// Интервалы пересекаются, а разница значима частая ошибка
Версия A: 5 / 300 = 1.67%, интервал [0.71%, 3.84%]
Версия B: 15 / 300 = 5.00%, интервал [3.05%, 8.08%]

Интервалы перекрываются на отрезке 3.05–3.84% — по «правилу пересечения» вывод был бы «разницы нет». Но двухвыборочный z-тест на тех же данных даёт p-value = 0.023, то есть разница значима на уровне 5%.

Два отдельных интервала — не инструмент сравнения. Чтобы сравнить версии, нужен доверительный интервал разницы конверсий: если он не накрывает ноль, разница значима. Обратное правило («не пересекаются — значит значимо») работает, а прямое — нет. И если ты сравниваешь две версии, то задача уже не про эту статью, а про размер выборки для A/B-теста и p-value.

4. Интервал приняли за гарантию качества данных

Про это было выше, но оно стоит повтора, потому что ошибка живёт даже у сильных аналитиков. Узкий интервал говорит только о том, что шума мало. Если в трафике боты, если событие не срабатывает на iOS, если неделя выпала на распродажу — интервал будет узким и вокруг неправильного числа. Ширина интервала — вопрос статистики, положение центра — вопрос инженерии и разметки.

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

Как посчитать доверительный интервал для конверсии?
Рабочая формула — интервал Вильсона: (p + z²/2n ± z·√(p(1−p)/n + z²/4n²)) / (1 + z²/n), где p — наблюдаемая конверсия, n — число наблюдений, z = 1.96 для 95%. Школьная формула p ± 1.96·√(p(1−p)/n) (интервал Вальда) годится, только когда и конверсий, и не-конверсий больше десяти; на редких событиях она занижает интервал и может уехать в отрицательные значения. Быстрее всего — в калькуляторе доверительного интервала.
Сколько нужно пользователей, чтобы измерить конверсию?
Считать надо не пользователей, а конверсии: для относительной точности ±20% нужно около 100 конверсий, для ±10% — около 384, для ±30% — около 43. Число пользователей получается делением: нужные конверсии ÷ ожидаемая конверсия. При конверсии 1.67% и цели ±20% это примерно 5 700 наблюдений.
Можно ли верить конверсии, посчитанной по 5 заказам?
Нет. Пять заказов из 300 кликов дают 1.67% с интервалом [0.71%, 3.84%] — от края до края разница в пять раз. Относительная точность такого замера около ±90%. Это не измерение, а порядок величины: годится, чтобы отличить «около процента» от «около десяти процентов», и не годится ни для какого решения точнее.
Чем интервал Вильсона лучше интервала Вальда?
Вальд опирается на нормальное приближение биномиального распределения, которое ломается на редких событиях: реальная вероятность накрытия падает ниже заявленных 95%, а нижняя граница может стать отрицательной. Вильсон несимметричен, никогда не выходит за границы 0 и 1 и держит заявленный уровень доверия даже при единичных конверсиях. На больших числах они совпадают — поэтому Вильсона можно ставить дефолтом и не думать.
Если интервалы двух версий пересекаются, значит разницы нет?
Нет, это популярная ошибка. Пересечение интервалов не означает отсутствия значимой разницы: 5 заказов из 300 против 15 из 300 дают пересекающиеся интервалы [0.71%, 3.84%] и [3.05%, 8.08%], но p-value = 0.023 — разница значима. Для сравнения версий нужен интервал разницы конверсий, а не два отдельных интервала. Обратное правило работает: если интервалы не пересеклись, разница точно значима.
Что делать, если конверсий мало, а ответ нужен сейчас?
Три рабочих хода: агрегировать более длинный период (если продукт не менялся), мерить шаг воронки выше, где событий на порядок больше, или взять частый прокси-показатель, коррелирующий с целевым. Четвёртый — отдать в отчёт интервал вместо точки и принимать решение с учётом его ширины. Иногда честный вывод звучит как «данных не хватает, чтобы отличить 1% от 3%» — и это тоже результат.

Связанные материалы

Главное про доверительный интервал конверсии

Точность замера определяется числом конверсий, а не числом пользователей. Пять заказов дают точность ±90% независимо от того, сколько людей пришлось прогнать через воронку, чтобы их получить. Ориентир для памяти: ~100 конверсий — это ±20%, и вдвое лучшая точность стоит вчетверо больше данных.

Считай интервалом Вильсона, а не школьной формулой: на редких событиях Вальд занижает интервал и внушает уверенность ровно там, где данных меньше всего. И помни границу его ответственности — интервал меряет случайный шум, но ничего не знает про ботов, кривую разметку и праздничную неделю.

Практика: возьми любую конверсию из своего дашборда, посчитай для неё интервал и посмотри, изменится ли решение, если истина окажется на краю. Если да — данных не хватает, каким бы красивым ни выглядело точечное число.

АТ
Андрей Тарасенко
// Продуктовый аналитик · Авито · Ментор

«Хватает ли данных» — вопрос, который мне задают чаще любого другого: в личке, на консультациях и на разборах. Обычно приносят красивое точечное число из свежего дашборда, а под ним оказывается пять событий. Статья — попытка ответить один раз и подробно.

Написать в Telegram
// ЗАКРЕПИ НА ПРАКТИКЕ

Проверь свою конверсию за 10 секунд

Калькулятор доверительного интервала: введи наблюдения и конверсии — получи интервал и вердикт. Второй режим считает наоборот: сколько выборки нужно под точность ±20%.

▶ Открыть калькулятор ★ Выборка для A/B-теста
Все материалы: База знаний · Telegram