Теорія
Наскільки великий і наскільки довгий
Розмір вибірки й тривалість продуктового тесту.
~10 хв читання · 10 вправ · 250 балів
Перед початком
«Тижня вистачить»
Тест paywall у Halves має підписаний план, і Maya пропонує потримати його тиждень, а наступного понеділка подивитися результат. Тижня може вистачити, а може вийти підкидання монетки, тож вона хоче почути твою думку ще до запуску.
У цьому уроці ти побачиш, що тривалість тесту не обирають, а обчислюють: із базового рівня, найменшого ефекту, який варто помітити, ризиків помилки, на які ти погоджуєшся, і того, скільки трафіку щотижня потрапляє в тест.
Чотири вхідні дані, що визначають розмір тесту
Тривалість тесту — не справа смаку. Її розраховують із чотирьох вхідних даних і одного факту про трафік.
- Базовий рівень (baseline): як часто основна метрика трапляється зараз у тій сукупності, що потрапить у тест. Для paywall: 4,0% тих, хто вперше бачить paywall, оплачують протягом 14 днів.
- MDE (мінімальний ефект, що виявляється): найменша зміна, яку варто знайти, зазвичай найменший ефект, заради якого варто запускати. Тут +1 п. п., з 4% до 5%.
- Рівень значущості α: ризик оголосити перемогу, коли зміна нічого не робить. 5%, двобічний.
- Потужність (power): шанс виявити MDE, якщо він справжній. 80% — звичний мінімум, і це все одно означає шанс 1 з 5 пропустити справжні +1 п. п.
Базовий рівень і MDE описують продукт і бізнес. α і потужність описують, наскільки великий ризик кожної з двох помилок ти приймаєш: хибної перемоги чи пропущеного справжнього ефекту. Разом вони визначають кількість користувачів на варіант.

Факт про трафік далі перетворює користувачів на час: скільки придатних користувачів потрапляє в тест щотижня.
- ТакБазовий рівень 4,0%, MDE +1 п. п., α 5% двобічне, потужність 80%
- Не так«Запустімо на тиждень і подивимося.»
Тривалість обрано раніше за будь-які з чотирьох вхідних даних.
Користувачі на варіант для метрики-конверсії
Для метрики, яка є часткою користувачів (оплатив чи ні), стандартна формула порівняння двох часток дає кількість користувачів у кожному варіанті:
n = (z₁ + z₂)² × [p₁(1 − p₁) + p₂(1 − p₂)] ÷ (p₂ − p₁)²
- p₁ — базовий рівень, p₂ = p₁ + MDE;
- z₁ = 1,96 для двобічного α = 5%, z₂ = 0,84 для потужності 80%, тож (1,96 + 0,84)² = 7,84.
Для paywall: p₁ = 0,04, p₂ = 0,05.
- p₁(1 − p₁) = 0,04 × 0,96 = 0,0384; p₂(1 − p₂) = 0,05 × 0,95 = 0,0475; сума 0,0859;
- (p₂ − p₁)² = 0,01² = 0,0001;
- n = 7,84 × 0,0859 ÷ 0,0001 = 6734,56 → 6735 на варіант, 13 470 загалом.
Завжди округлюй вгору: з 6734 користувачами потужність буде трохи меншою за 80%. Калькулятори використовують трохи різні варіанти формули, тож відповіді, що різняться на кілька користувачів, — це та сама відповідь.
Найчастіша помилка — змішати одиниці: MDE треба підставляти як частку (0,01), а не як «1».
- Так7,84 × 0,0859 ÷ 0,0001 = 6734,56 → 6735 на варіант
- Не такПодати 6735 як загальну кількість на обидва варіанти
Формула дає кількість на варіант; тесту потрібно 13 470.
Від користувачів до календарних тижнів
Розмір каже, скільки потрібно користувачів; календар дають ще три кроки.
- Поділи на придатний трафік. У тест потрапляють лише ті, хто бачить paywall уперше: близько 3400 на тиждень на обидва варіанти. 13 470 ÷ 3400 = 3,96 тижня.
- Округли угору до цілих тижнів. У Halves тижневий ритм: оренду ділять у вихідні, поїздки починаються в п'ятницю. Тест, що зупинився посеред тижня, перебільшує вагу якихось днів, тож 3,96 перетворюється на 4 тижні набору.
- Додай вікно метрики. Основна метрика — «оплатив протягом 14 днів». Останньому користувачеві, який потрапив у тест наприкінці 4-го тижня, потрібно ще 14 днів, щоб його результат став відомим. 4 + 2 = 6 тижнів від запуску до результату.

Крок 3 забувають найчастіше. Якщо прочитати тест наприкінці 4-го тижня, користувачів останніх двох тижнів зарахують раніше, ніж більшість із них узагалі могла б оплатити, а це тягне вниз обидва варіанти й розмиває різницю.
Запиши дату читання результату в план у день запуску, щоб ні в кого не було спокуси прочитати його раніше.

- Так3,96 → 4 тижні набору + 2 тижні вікна = 6 тижнів
- Не такПрочитати результат на 28-й день, коли закінчується набір
Останні користувачі ще не мали своїх 14 днів на оплату.
Трафік задає календар
Кількість користувачів на варіант залежить лише від чотирьох вхідних даних. А скільки часу знадобиться, щоб їх набрати, залежить від придатного трафіку, який змінюється із сезоном, маркетинговим бюджетом і тим, хто вважається придатним.
Якщо paywall уперше бачать 2000 людей на тиждень замість 3400, ті самі 13 470 користувачів наберуться за 13 470 ÷ 2000 = 6,7 тижня. Після округлення до цілих тижнів це 7, плюс 2-тижневе вікно: 9 тижнів до результату.
Три способи помилитися:
- Рахувати весь трафік замість придатного. У тест потрапляють лише ті, хто вперше бачить paywall; щоденні активні користувачі чи всі реєстрації перебільшують приплив.
- Вважати трафік сталим. Тест, спланований у жвавий місяць, а запущений у тихий, не добере людей; перевір прогноз саме на ці тижні.
- Зупинятися на заплановану дату незалежно від кількості. План фіксує кількість користувачів, а дата — лише її оцінка. Якщо набір іде повільно, продовжуй до наступного цілого тижня; не читай раніше.
Якщо календар задовгий, змінюй вхідні дані (сміливіша зміна з більшим MDE чи більше придатного трафіку), а не прочитання.
- Так13 470 ÷ 2000 = 6,7 → 7 тижнів + 2 = 9 тижнів
- Не так«У Halves десятки тисяч користувачів на тиждень, тож тест наберемо за кілька днів.»
Придатні лише ті, хто вперше бачить paywall.
Удвічі менший ефект — учетверо більше користувачів
MDE стоїть у квадраті в знаменнику формули розміру. Тому це найсильніший вхідний параметр: щоб виявити удвічі менший ефект, потрібно приблизно вчетверо більше користувачів, а не вдвічі.

Формула: Користувачі на варіант для порівняння двох конверсій: p₁ — базовий рівень, p₂ = p₁ + MDE. Округлюй вгору. · є вище
Для 4,0% → 4,5% (MDE +0,5 п. п.):
- 0,04 × 0,96 = 0,0384; 0,045 × 0,955 = 0,042975; сума 0,081375;
- (0,005)² = 0,000025;
- n = 7,84 × 0,081375 ÷ 0,000025 = 25 519,2 → 25 520 на варіант.
Це в 3,8 раза більше, ніж 6735 для +1 п. п. Трохи менше за 4, бо доданок дисперсії трохи зменшується, коли p₂ ближче до базового рівня. У календарі: 51 040 користувачів ÷ 3400 на тиждень = 15,0 → 16 цілих тижнів набору при округленні вгору, ще до 14-денного вікна.
Висновок для планування: малі ефекти дорогі. Коли ефект, який тебе цікавить, замалий, щоб твій трафік виявив його за розумний час, корисний крок — протестувати сміливішу зміну, яка правдоподібно дасть більший ефект, а не ганяти дрібне покращення цілий сезон.
- ТакMDE +0,5 п. п.: 7,84 × 0,081375 ÷ 0,000025 → 25 520 на варіант
- Не так«Удвічі менший ефект, отже, 2 × 6735 = 13 470 на варіант.»
Ефект стоїть у квадраті: приблизно 4×, а не 2×.
Що змінює потрібний розмір
Кожен вхідний параметр тягне потрібну кількість користувачів у передбачуваний бік. Для тесту paywall (6735 на варіант при базовому рівні 4%, MDE +1 п. п., α 5%, потужності 80%):
- Вища потужність (90% замість 80%): z₂ зростає з 0,84 до 1,28, тож n зростає приблизно до 9030 на варіант.
- Суворіше α (1% замість 5%): z₁ зростає з 1,96 до 2,58, тож n зростає приблизно до 10 030.
- Нерівний поділ (90/10 замість 50/50): вузьким місцем стає малий варіант. Для тієї самої потужності загальна кількість зростає майже втричі порівняно з 50/50.
- Більший MDE (+1,5 п. п. замість +1 п. п.): n падає приблизно до 3150, бо ефект у знаменнику стоїть у квадраті.
- Вищий базовий рівень за того самого абсолютного MDE: більша дисперсія, тож більше користувачів. За 8% ті самі +1 п. п. потребують 12 192 на варіант.
Отже, зі статистичного боку є один чесний спосіб потребувати менше користувачів — більший MDE, і він не безкоштовний: треба вірити, що зміна здатна настільки зрушити метрику. А знизити потужність — значить просто погодитися на більший шанс пропустити справжній ефект.
- ТакMDE +1,5 п. п. → близько 3150 на варіант замість 6735
- Не так«Пустимо на новий paywall лише 10%, щоб менше ризикувати; це буде так само швидко.»
Малому варіанту потрібно стільки ж користувачів, тож тест триватиме значно довше.
Як обрати MDE: вартий запуску і досяжний
MDE — це бізнесове рішення зі статистичною ціною. Його задають два питання:
- Що варто запускати? Найменший ефект, який окупить зміну, її підтримку й ризики. Для paywall план каже +1 п. п.
- Що здатен знайти трафік? Ефект, який можна виявити за прийнятний календар.
На другому питанні й дається взнаки квадрат ефекту. За базового рівня 4%:
- +0,5 п. п. потребує 25 520 на варіант, близько 16 тижнів набору;
- +1 п. п. потребує 6735 на варіант, 4 тижні;
- +1,5 п. п. потребує 7,84 × (0,0384 + 0,055 × 0,945) ÷ 0,015² = 7,84 × 0,090375 ÷ 0,000225 = 3149,07 → 3150 на варіант, 6300 загалом, тобто 2 тижні набору.
Більший MDE чесний, лише якщо зміна правдоподібно може його дати. Розрахувати тест на +1,5 п. п., а потім запустити дрібну правку тексту — значить отримати тест, який, найімовірніше, пропустить справжній менший ефект і покаже «незначуще».
Якщо ефект, вартий запуску, менший за будь-що, що здатен знайти трафік, відповідь — сміливіша зміна або рішення без тесту, чесно назване таким.
- Так+1,5 п. п.: 7,84 × 0,090375 ÷ 0,000225 → 3150 на варіант
- Не такРозрахувати тест на +1,5 п. п., щоб швидко закінчити, а потім тестувати колір кнопки
MDE має бути ефектом, який зміна правдоподібно може дати.
Читати один раз, на запланованому обсязі
Тест читають один раз, на обсязі й у дату, зафіксовані в плані. Знову й знову перевіряти його й зупинитися в добрий день — це підглядання (peeking), і воно ламає рівень помилок тесту.
Хибна перемога з імовірністю 5% — це про одне прочитання. Поки надходять користувачі, шумна метрика гуляє вгору й униз. Якщо дивитися щоранку й зупинитися, щойно вона вперше перетне лінію, випадок щодня отримує нову спробу: справжній ризик хибної перемоги стає в кілька разів вищим за 5%. До того ж день першого перетину зазвичай припадає на пік, тож ефект, який ти покажеш, завищений.
Для тривалості є своє правило: цілі тижні, що охоплюють щонайменше один повний цикл використання, плюс вікно метрики. Будні й вихідні поводяться по-різному, а перші дні після зміни можуть вводити в оману в обидва боки: люди клацають нове з цікавості або спотикаються, поки звикають.
Якщо раннє зупинення через явну шкоду чи величезний виграш справді потрібне, бери послідовний дизайн (sequential design) зі суворішими порогами, спланований до запуску. Рання зупинка, вигадана в добрий день, ним не є.
- ТакРезультат після 4 повних тижнів набору плюс 14-денне вікно; до того основну метрику ніхто не читає
- Не так«На дев'ятий день виглядає добре — зупиняємо й запускаємо.»
Дев'ятий день — один із багатьох поглядів; шумна метрика час від часу перетинає лінію випадково.
Короткий тест не може сказати «ефекту немає»
Тиждень трафіку paywall дає близько 1700 користувачів на варіант. Звучить як багато людей, але потужність — це про докази, а не про кількість голів.
З 1700 на варіант стандартна похибка різниці становить √(0,0859 ÷ 1700) ≈ 0,0071, тобто 0,71 п. п. Справжній ефект +1 п. п. віддалений від нуля лише приблизно на 1,4 стандартної похибки, а для значущості здебільшого потрібно 1,96. Шанс його виявити, тобто потужність, — близько 29%: у семи з десяти таких тестів paywall, який справді працює, вийшов би «незначущим».
Тому недостатньо потужний результат не можна читати як «paywall не працює». Його інтервал, приблизно ±1,4 п. п. навколо оцінки, містив би і нуль, і ефект, що тебе цікавить: за правилом рішення це непевний результат. Зупинитися раніше на чудовому першому тижні — теж не вихід; це пастка підглядання: перевіряти знову й знову й зупинитися в добрий день.
Як це складається докупи: чотири вхідні дані задають кількість користувачів, придатний трафік і вікно метрики задають календар, MDE — найдорожчий важіль, а результат читають один раз, на цьому обсязі. Далі урок Хто потрапляє в тест: тригери й кластерна рандомізація.
- Так«1700 на варіант дають ~29% потужності для +1 п. п.; нульовий результат майже нічого б не сказав.»
- Не так«Через тиждень незначуще, отже, paywall із тріалом не допомагає.»
З потужністю 29% справжні +1 п. п. здебільшого пропускають.
Готові потренуватися?
Виконайте вправи уроку й отримайте 250 балів, коли пройдете його вперше.
Розпочати вправи