165просмотров
8.3%от подписчиков
1 января 2026 г.
Score: 182
В начало поста... Проведём A/B-тест:
— Control — текущий флоу,
— Case — упрощённый флоу.
Core: TFO (Time to First Order), CR в первый платёж.
Proxy: NPS.
Warning/Guardrails: рост Time to First Order, рост ошибок при подключении платежей, рост обращений в поддержку.
Split: 50/50. α = 0.05 (0.01 - лучше, если готовы увеличить длительность). β = 0.2 ⏩ Power = 80%. MDE 1 п.п. CR до первого платежа с 5% до 6%, что эквивалентно +400 клиентам с регулярными инкамингами. Длительность: 1,5 недели. При таких параметрах размер выборки — 16 тыс. пользователей. Расчёт — ниже. Нюансик.
Когда в одном эксперименте проверяем сразу несколько метрик
(Core, Proxy, Warning/Guardrails), мы по сути задаём несколько статистических вопросов одновременно. Чем больше вопросов мы задаём данным,
тем выше шанс «случайно найти эффект», которого на самом деле нет
(ложноположительный результат). Поэтому:
- заранее фиксируем одну Core-метрику, по которой принимается решение;
- для неё держим α = 0.05;
- остальные метрики используем как диагностические. Если же по нескольким метрикам всё-таки делаются выводы,
используются поправки на множественные сравнения
(Holm / FDR) - это способы "ужесточить правила",
чтобы не принять шум за реальный эффект.
Рассчитаем размер выборки. В основе лежит Z-статистика, она всегда имеет вид: Z = (эффект) / (стандартная ошибка) Эффект = δ.
Стандартная ошибка = √( p · (1 − p) / n ) Подставляем:
Z = δ / √( p · (1 − p) / n ). Чтобы выразить n, мы:
— переносим корень
— возводим обе части в квадрат, чтобы избавиться от √ Отсюда:
n = ( Z² · p · (1 − p) ) / δ² Формула сразу учитывает две группы, поэтому домножаем на 2: n = 2 · (Z_{1-α/2} + Z_{1-β})² · p · (1 − p) / δ² Это формула расчёта размера выборки для биномиального распределения
(для Бернуллиевской случайной величины). Формула учитывает две группы, однако n — это размер одной группы.
Поэтому в конце результат умножим на 2 :). p — baseline CR (текущая конверсия).
δ — MDE (минимальный детектируемый эффект, в абсолютных долях, например 0.01).
α — уровень значимости (ошибка первого рода)
β — вероятность не заметить реальный эффект.
1 − β = Power
Z_{1-α/2} — квантиль нормального распределения для α, при α = 0.05 -> 1.96.
Z_{1-β} — квантиль для мощности, при Power = 80% -> 0.84. p · (1 − p) — это шум данных, дисперсия, σ².
(Zα + Zβ)² — насколько мы хотим быть уверены.
δ² — насколько маленький эффект мы пытаемся заметить. Чем меньше эффект δ и ошибка α и β, тем больше выборка. Фиксируем константы.
Zα = 1.96 (для α = 0.05).
Zβ = 0.84 (для Power = 80%). Считаем общий коэффициент.
(Zα + Zβ)² = (1.96 + 0.84)² = 2.8² = 7.84 Подставляем реальные значения: p = 0.05 (текущая конверсия). 1 - p = 0.95. MDE = 0.01. Считаем дисперсию ген.совокупности.
p × (1 - p) = 0.05 × 0.95 = 0.0475. Финальная формула на 1 группу:
n = 2 × 7.84 × 0.0475 / 0.01² Получается ~8 000 юзеров.
На 2 группы – 16 000. При размере выборки ~8 000 на группу 95% доверительный интервал для CR будет примерно:
ΔCR = +1.0 п.п. ± 0.5 п.п. (95% CI) Как считаем:
— Берём базовую конверсию p = 0.05.
— Считаем стандартную ошибку:
SE = √( p·(1−p) / n )
= √(0.05·0.95 / 8 000) ≈ 0.0024 (0.24 п.п.)
— Умножаем на квантиль нормального распределения 1.96 для 95% CI:
1.96 × 0.24 п.п. ≈ 0.47 п.п.
— Округляем → ±0.5 п.п.
На базе 1 млн b2b-клиентов и текущем проникновении модуля 4%, сайты создают 40 тыс. бизнесов в год, до регулярных "инкамингов" доходят 15% (MABI = 6 тыс). Рост CR до первого платежа +1 п.п. увеличивает пул бизнесов, переходящих к регулярным инкамингам на +400 бизнесов. Активный b2b-клиент генерирует для банка +20 тугриков )) в мес, что даёт ΔLTV = 240 тг в год. При достижении MDE (+1 п.п.) эксперимент даёт +96 тыс. тг в год при себестоимости фичи 16 тыс., окупаемость 2 месяца. Допустим, нас это устраивает. 🚚 Delivery. Гипотезы - Предупреждаем support о новой функциональности.
- Перед запуском проводим A/A-тест для проверки сплитовалки. Катим A/B-тест, в случае успеха масштабируем. Не забываем вести чек-