# Як розрахувати розмір вибірки для A/B-тесту: формула, приклад і калькулятор

> Як розрахувати розмір вибірки для A/B-тесту: формула, приклад із числами, як статистична потужність і MDE змінюють результат, і безкоштовний калькулятор.

- Джерело: https://productovi.com/uk/blog/ab-test-sample-size
- Автор: Sergey Bruh
- Опубліковано: 2026-09-27
- Теми: Розмір вибірки, Статистична потужність, Дизайн A/B-тесту

Ось як розрахувати розмір вибірки для A/B-тесту: візьміть чотири параметри — **базовий рівень** метрики, **мінімальний виявлюваний ефект (MDE)**, **рівень значущості** (зазвичай 5 %) і **статистичну потужність** (зазвичай 80 %) — і підставте їх у формулу для двох часток нижче. Вийде кількість користувачів на кожен варіант; поділіть загальну кількість на щоденний трафік — і матимете тривалість тесту. Для конверсії 4 % і відносного приросту 10 % це **39 473 користувачі в кожній групі**. Якщо не хочеться рахувати вручну, безкоштовний [калькулятор розміру вибірки для A/B-тесту](/uk/tools/ab-test-sample-size) зробить це просто в браузері.

## Як розрахувати розмір вибірки за п'ять кроків

Котокорм, інтернет-магазин кормів для тварин, переробив сторінку оформлення замовлення і хоче порівняти її зі старою. Планування вибірки для такого A/B-тесту — це п'ять кроків:

1. **Знайдіть базовий рівень.** Поточна конверсія в контрольній групі за останні 4–8 тижнів. Для чекауту Котокорму — 4 %.
2. **Оберіть MDE.** Найменший приріст, заради якого варто запускати зміну. Котокорм бере відносний приріст 10 %: з 4,0 % до 4,4 %.
3. **Задайте рівень значущості й потужність.** Стандарт — $\alpha = 0{,}05$ (двобічний) і потужність 80 %.
4. **Підставте числа у формулу** (або в калькулятор) і отримайте кількість користувачів у групі.
5. **Переведіть користувачів у дні** за трафіком, який реально потрапляє в тест, і округліть угору до цілих тижнів.

У наступних двох розділах кроки 4 і 5 зроблено вручну, щоб було видно, що саме калькулятор рахує за вас.

![Чотири параметри (базова конверсія, MDE, рівень значущості, потужність) дають 39 473 користувачі на групу; при 3 000 відвідувачів на день це чотири тижні тесту](/blog/ab-test-sample-size/diagram-uk.png)

## Формула розміру вибірки для конверсії

Для порівняння двох часток потрібна кількість користувачів **у кожній групі** приблизно дорівнює:

$$n = \frac{(z_{1-\alpha/2} + z_{1-\beta})^2 \cdot \big(p_1(1-p_1) + p_2(1-p_2)\big)}{(p_2 - p_1)^2}$$

Тут $p_1$ — базовий рівень, $p_2$ — рівень, який ви сподіваєтеся побачити у варіанті, а значення $z$ беруться з нормального розподілу: $z_{0{,}975} \approx 1{,}96$ для двобічного тесту з $\alpha = 5\%$ і $z_{0{,}80} \approx 0{,}84$ для потужності 80 %.

Запам'ятовувати формулу не обов'язково: будь-який пристойний онлайн-калькулятор або рядок коду на Python порахують це за вас. Але варто розуміти, що в ній: різниця $p_2 - p_1$ стоїть у знаменнику **в квадраті**. Цей один факт пояснює більшість сюрпризів, про які піде мова далі.

## Приклад: редизайн чекауту в Котокормі

Вхідні дані:

- базова конверсія $p_1 = 0{,}04$;
- MDE: відносний приріст 10 %, отже $p_2 = 0{,}044$;
- $\alpha = 0{,}05$ (двобічний), потужність 80 %.

Рахуємо крок за кроком:

1. $(1{,}96 + 0{,}84)^2 \approx 7{,}85$.
2. Дисперсійні доданки: $0{,}04 \times 0{,}96 = 0{,}0384$ і $0{,}044 \times 0{,}956 = 0{,}0421$; разом $0{,}0805$.
3. Квадрат різниці: $(0{,}044 - 0{,}04)^2 = 0{,}004^2 = 0{,}000016$.
4. $n \approx 7{,}85 \times 0{,}0805 / 0{,}000016 \approx 39\,500$.

Точне значення — **39 473 користувачі в кожній групі**, тобто приблизно 79 000 разом.

Чекаут Котокорму відвідують близько 3 000 людей на день, трафік ділимо навпіл. Отже, тест триватиме $78\,946 / 3\,000 \approx 26{,}3$ дня. Округлюємо **вгору до цілих тижнів**: запускаємо на **4 тижні** (28 днів), щоб кожен день тижня був представлений однаково. Покупки в неділю ввечері зовсім не схожі на покупки у вівторок зранку. Докладніше — у статті [скільки має тривати A/B-тест](/uk/blog/how-long-to-run-an-ab-test).

Швидка перевірка на здоровий глузд: для потужності 80 % і $\alpha = 0{,}05$ є зручне емпіричне правило $n \approx 16 \cdot p(1-p) / \delta^2$, де $\delta$ — абсолютна різниця. Тут воно дає $16 \times 0{,}0384 / 0{,}000016 = 38\,400$, що близько до точного результату. Якщо калькулятор видав число вдесятеро більше чи менше, ви, найпевніше, переплутали відносний і абсолютний MDE.

## Калькулятор розміру вибірки для A/B-тесту

Коли формула зрозуміла, арифметику можна віддати інструменту. Безкоштовний [калькулятор розміру вибірки](/uk/tools/ab-test-sample-size) бере базовий рівень і MDE (відносний або у відсоткових пунктах), а $\alpha$ і потужність — у розширених налаштуваннях, і повертає кількість користувачів на варіант, загальну вибірку і, якщо вказати щоденний трафік, кількість днів тесту. Нічого з введеного не залишає ваш браузер. Якщо трафік фіксований і хочеться знати, який найменший приріст він здатен помітити, поставте питання навпаки в [калькуляторі MDE](/uk/tools/mde-calculator).

## Як обрати вхідні параметри

### Базовий рівень

Поточне значення метрики в контрольній групі. Беріть його зі свіжих даних, а не з того вдалого місяця, який усі досі згадують. Базовий рівень важливий, бо рідкісні події важче виміряти: щоб помітити зміну конверсії 2 %, потрібно набагато більше користувачів, ніж для такої самої відносної зміни конверсії 10 %.

### Мінімальний виявлюваний ефект (MDE)

Найменший ефект, заради якого варто щось робити. Це **бізнесове рішення**, а не статистичне. Запитайте себе: «Якщо редизайн підніме конверсію на X, ми його запустимо? Він окупиться?» Як його обрати, розібрано в статті про [мінімальний виявлюваний ефект](/uk/blog/minimum-detectable-effect).

Чітко фіксуйте, відносний це ефект чи абсолютний. **Відносний** приріст 10 % від базових 4 % — це перехід з 4,0 % до 4,4 %, тобто **абсолютна** зміна на 0,4 відсоткового пункту. Плутанина між ними — найчастіша причина фантастично хибних розрахунків.

### Рівень значущості ($\alpha$)

Частка хибнопозитивних результатів, яку ви готові прийняти: імовірність оголосити переможця, коли реальної різниці немає. Загальноприйнято $\alpha = 0{,}05$ із двобічним критерієм.

## Що таке статистична потужність

Статистична потужність ($1 - \beta$) — це імовірність, що тест виявить ефект, якщо той справді не менший за MDE. Стандарт — 80 %: ви погоджуєтеся на 20 % шансів пропустити реальний ефект такого розміру. Коли помилка дорога, беруть 90 %.

Потужність найчастіше лишають за замовчуванням, не замислюючись. Але тест із замалою потужністю не просто «іноді промахується»: коли він показує «незначуще», неможливо сказати, чи зміна нічого не дала, чи тест був замалий, щоб це побачити. Вища потужність коштує користувачів: для відносного MDE 10 % у Котокормі перехід з 80 % на 90 % збільшує вибірку з 39 473 до **52 842 у групі**, приблизно на третину.

## Як параметри змінюють результат

Базовий рівень 4 %, $\alpha = 0{,}05$ і потужність 80 % лишаємо, змінюємо тільки MDE:

| Відносний MDE | Цільова конверсія | Користувачів у групі | Днів при 3 000 відвідувачів на день |
| ------------- | ----------------- | -------------------- | ----------------------------------- |
| 5 %           | 4,2 %             | 154 302              | 103                                 |
| 10 %          | 4,4 %             | 39 473               | 27                                  |
| 20 %          | 4,8 %             | 10 314               | 7                                   |
| 30 %          | 5,2 %             | 4 780                | 4                                   |

Зменшили MDE вдвічі — вибірка зросла приблизно **вчетверо**. Це і є той самий квадрат різниці в знаменнику.

Інші важелі, усі для відносного MDE 10 %:

- **Потужність 90 %** замість 80 %: 52 842 у групі (приблизно на третину більше).
- **$\alpha = 0{,}01$** замість 0,05: 58 734 у групі.
- **Базовий рівень 2 %** замість 4 %: 80 679 у групі. **Базовий рівень 10 %**: 14 749 у групі.

## Розмір вибірки для середнього чека та інших неперервних метрик

Для метрики на кшталт середнього чека (AOV) логіка та сама, тільки мінливість задає стандартне відхилення $\sigma$, а не $p(1-p)$:

$$n = \frac{2 \, (z_{1-\alpha/2} + z_{1-\beta})^2 \, \sigma^2}{\delta^2}$$

Якщо середній чек у Котокормі — близько 40 доларів зі стандартним відхиленням 25 доларів, і ви хочете помітити зміну на 2 долари, то $n = 2 \times 7{,}85 \times 625 / 4 \approx 2\,453$ користувачі в кожній групі. Обережно: дані про виручку зазвичай скошені, і кілька дуже великих замовлень роздувають $\sigma$. Оцінюйте стандартне відхилення за реальними свіжими замовленнями і подумайте про обрізання екстремальних значень ще до планування.

## Чому не можна просто «покрутити тест тиждень»?

На понеділковому стендапі в Котокормі хтось пропонує обійтися без розрахунків: «Покажімо новий чекаут половині відвідувачів на тиждень, а в п'ятницю глянемо на цифри».

Звучить розумно, і саме так багато команд спалюють спринт. Тижня трафіку може вистачити, щоб побачити величезний ефект, але зміни в чекауті рідко дають величезний ефект. Якщо редизайн піднімає конверсію на скромні 5–10 %, тижневий тест найімовірніше покаже «незначуще». Команда вирішить, що редизайн «не працює», і піде далі, хоча насправді тест просто не мав достатньої роздільної здатності, щоб цей ефект помітити.

Планування вибірки відповідає на одне питання ще до запуску: **скільки даних потрібно, щоб реальний ефект потрібного нам розміру мав добрі шанси проявитися?**

## Типові помилки

**Підганяти MDE під трафік.** Рахувати у зворотний бік («у нас два тижні, тож MDE — скільки встигнемо») можна, але тоді скажіть це вголос: «Цей тест здатен помітити лише приріст від 20 %». Якщо ніхто не вірить, що зміна на таке здатна, не запускайте тест або оберіть чутливішу метрику.

**Підглядати й зупиняти тест раніше.** Якщо щодня відкривати дашборд і зупинятися, щойно $p < 0{,}05$, частка хибнопозитивних результатів злітає значно вище 5 %. Розмір вибірки — це зобов'язання: визначте його заздалегідь і аналізуйте один раз, або використовуйте метод, створений для безперервного моніторингу ([послідовне тестування](/uk/blog/ab-test-peeking)).

**Зупиняти посеред тижня.** Навіть якщо потрібну кількість набрали на 23-й день, доведіть тиждень до кінця. Інакше одні дні тижня будуть представлені сильніше за інші.

**Рандомізувати одне, а рахувати інше.** Якщо ділите на групи користувачів, а рахуєте сесії, спостереження вже не незалежні, і реальна вибірка менша, ніж здається. Плануйте вибірку в тих самих одиницях, що й рандомізацію.

**Забувати про кілька варіантів і метрик.** Три варіанти проти контролю або десять «основних» метрик — це більше шансів на хибнопозитивний результат. Або коригуйте $\alpha$ (наприклад, [поправкою Бонферроні](/uk/blog/abn-test-multiple-comparisons)) і закладайте більшу вибірку, або заздалегідь оберіть одну основну метрику.

**Ігнорувати невідповідність співвідношення вибірок (SRM).** Якщо планували поділ 50/50, а на великих числах вийшло 52/48, щось зламано в розподілі користувачів. Виправте це, перш ніж довіряти будь-якому результату.

## Головне

- Щоб розрахувати розмір вибірки для A/B-тесту, потрібні чотири параметри: базовий рівень, MDE, $\alpha$ і статистична потужність.
- MDE — це бізнесовий вибір: найменший приріст, заради якого варто запускати зміну.
- Вибірка росте пропорційно квадрату бажаної точності: зменшили MDE вдвічі — потрібно приблизно вчетверо більше користувачів.
- Переводьте користувачів у дні за реальним трафіком і округлюйте вгору до цілих тижнів.
- Визначайте обсяг вибірки до запуску і не зупиняйте тест лише тому, що p-значення опустилося нижче 0,05.

## FAQ

### Який розмір вибірки для A/B-тесту вважається нормальним?

Універсального числа немає: усе залежить від базового рівня і найменшого важливого для вас ефекту. За конверсії 4 % для відносного приросту 10 % при потужності 80 % потрібно близько 39 500 користувачів у групі, а для приросту 30 % — менше 5 000. Рахуйте для своїх параметрів.

### Скільки часу має тривати A/B-тест?

Поділіть потрібну загальну вибірку на щоденний трафік, що потрапляє в тест, і округліть угору до повних тижнів. Більшість продуктових тестів мають тривати щонайменше тиждень, а безпечніший мінімум — два, якщо поведінка в будні й вихідні відрізняється.

### Що робити, якщо трафіку не вистачає?

Тестуйте сміливіші зміни (більший MDE), беріть метрику вище у воронці з вищим базовим рівнем (наприклад, додавання в кошик замість покупки), зменшуйте мінливість, обрізаючи викиди, або визнайте, що це рішення ухвалюватимуть на основі судження, а не тесту. Найгірший варіант — запустити замалий тест і прочитати його результат як «ефекту немає».

### Яку потужність брати: 80 % чи 90 %?

80 % — поширений стандарт. 90 % варто брати, коли пропустити реальний ефект дорого, наприклад якщо результат «ефекту немає» закриє стратегічний проєкт. Для того самого MDE знадобиться приблизно на третину більше користувачів.

## Спробуйте на практиці

Планування вибірки стає зрозумілим, коли кілька разів проробиш його на реальних числах. Безкоштовний урок [Потужність і розмір вибірки](/uk/courses/statistics-for-pm-and-marketers/power-and-sample-size/theory) крок за кроком розбирає тест чекауту Котокорму, з тестами на розуміння і практичним завданням, яке перевіряє ШІ. Це частина безкоштовного курсу «Статистика для продакт-менеджерів і маркетологів».

## Пов’язані уроки

- [Статистична потужність і обсяг вибірки](https://productovi.com/uk/courses/statistics-for-pm-and-marketers/power-and-sample-size.md)
- [Конверсія і z-критерій для двох часток](https://productovi.com/uk/courses/statistics-for-pm-and-marketers/conversion-rate-tests.md)
- [Пастки: підглядання, множинні порівняння, ефект новизни](https://productovi.com/uk/courses/statistics-for-pm-and-marketers/ab-testing-pitfalls.md)
