Перейти до змісту
Увійти

Скільки має тривати A/B-тест: від розміру вибірки до цілих тижнів

Скільки має тривати A/B-тест: ділимо потрібну вибірку на щоденний трафік, округлюємо до цілих тижнів і враховуємо ефект новизни та розпродажі.

Автор: Sergey BruhОпубліковано 8 хв читання

Щоб визначити, скільки має тривати A/B-тест, поділіть загальну потрібну вибірку на кількість користувачів, які щодня потрапляють у тест, і округліть результат угору до цілих тижнів. Тест має тривати щонайменше два повні тижні, навіть якщо за розрахунком вистачає чотирьох днів. А якщо виходить більше ніж приблизно вісім тижнів, це привід змінити дизайн тесту.

«А результат буде до п'ятниці?»

Котокорм, інтернет-магазин кормів для тварин, хоче показувати на сторінці товару біля кнопки «Купити» очікувану дату доставки («Привеземо в четвер»). Emily, продакт-менеджерка, планує тест:

  • базовий рівень: 5 % відвідувачів, які відкрили сторінку товару, оформлюють замовлення;
  • мінімальний виявлюваний ефект (MDE): відносний приріст 10 %, з 5,0 % до 5,5 %;
  • рівень значущості 5 % (двобічний критерій), потужність 80 %.

Калькулятор розміру вибірки показує 31 234 користувачі в кожній групі, разом 62 468. Звідки береться це число, пояснює стаття про розмір вибірки для A/B-тесту.

На сайт щодня заходить близько 8 000 відвідувачів, але сторінку товару відкривають лише 2 500 із них. Отже:

дні=потрібна вибіркакористувачів у тесті за день=62 4682 500≈25\text{дні} = \frac{\text{потрібна вибірка}}{\text{користувачів у тесті за день}} = \frac{62\,468}{2\,500} \approx 25

Округлюємо вгору до цілих тижнів: тест триватиме 4 тижні (28 днів). До п'ятниці результату не буде.

Два правила за цим числом

Рахуйте лише тих, хто потрапляє в тест

У тест потрапляють тільки ті, хто дійшов до сторінки зі зміною і може її побачити. Якби Emily поділила вибірку на всі 8 000 відвідувачів, у плані стояло б 8 днів. Але за 8 днів сторінку товару відкриють лише 20 000 людей, по 10 000 на групу, і з такою вибіркою шанс помітити реальний приріст 10 % становить близько 35 % замість запланованих 80 %. Тест найімовірніше показав би «незначуще», і робочу ідею відклали б у шухляду.

Трафік беріть за звичайні нещодавні тижні й рахуйте унікальних користувачів, а не сесії.

Округлюйте вгору до цілих тижнів

У вівторок зранку і в неділю ввечері люди купують по-різному. Якщо тест стартував у понеділок і зупинився на 25-й день, то дні з понеділка по четвер потраплять у дані чотири рази, а з п'ятниці по неділю лише тричі. Цілі тижні дають кожному дню однакову вагу.

Від трафіку та MDE до тижнів

Той самий тест (базовий рівень 5 %, α=0,05\alpha = 0{,}05, потужність 80 %) для різних ефектів і різного трафіку:

Відносний MDE
Користувачів у групі
1 000 користувачів на день
2 500 на день
5 000 на день
5 %
122 124
245 днів → 35 тижнів
98 днів → 14 тижнів
49 днів → 7 тижнів
10 %
31 234
63 дні → 9 тижнів
25 днів → 4 тижні
13 днів → 2 тижні
15 %
14 193
29 днів → 5 тижнів
12 днів → 2 тижні
6 днів → 1 тиждень
20 %
8 158
17 днів → 3 тижні
7 днів → 1 тиждень
4 дні → 1 тиждень

Удвічі більший трафік скорочує тест удвічі, а от удвічі менший MDE подовжує його приблизно вчетверо.

Якщо дедлайн уже заданий, переверніть питання. Калькулятор MDE показує, що з 2 500 користувачами на день Котокорм здатен помітити приріст 13,5 % за два тижні і 9,4 % за чотири. За яким ефектом варто ганятися, розповідає стаття про мінімальний виявлюваний ефект.

Найкоротший і найдовший розумний тест

Мінімум: один-два повні бізнес-цикли. Для більшості інтернет-магазинів цикл дорівнює тижню, тому «1 тиждень» із таблиці на практиці перетворюється на два. Окремий тиждень може виявитися нетиповим (свято, розсилка, збій на сайті), а два тижні дають змогу порівняти перший із другим. Якщо ваші клієнти купують у довшому ритмі, наприклад замовляють раз на місяць після зарплати, охопіть один такий цикл повністю.

Максимум: приблизно шість-вісім тижнів. Довші тести псуються:

  • Втрачені cookie та нові пристрої. Людину, яка почистила cookie або зайшла з нового телефона, система розподіляє заново, і вона може потрапити в іншу групу. Що більше людей бачили обидві версії, то сильніше розмивається різниця.
  • Аудиторія змінюється. Часті відвідувачі потрапляють у тест у перші дні, а далі приходять дедалі рідші гості, які поводяться інакше.
  • Сезонність та інші запуски. Кожен зайвий тиждень додає шанс, що на тест накладеться зміна цін, рекламна кампанія чи розпродаж у конкурента.

Якщо за планом виходить 14 тижнів, не чекайте. Погодьтеся на більший MDE, тестуйте сміливішу зміну або візьміть метрику з вищим базовим рівнем (додавання в кошик замість замовлення).

Ефект новизни та ефект первинності

Ефект новизни означає приріст, який існує лише тому, що зміна нова: постійні відвідувачі помічають незнайомий блок, клацають на нього, а згодом втрачають інтерес. Ефект первинності (primacy effect) працює навпаки: люди, які звикли до старої версії, спершу губляться, і варіант покращується в міру того, як вони звикають.

Щоб їх помітити, порівняйте перший тиждень із наступними. Припустімо, тест Emily завершився так (щотижня по 8 750 користувачів у кожній групі):

Тиждень
Контроль
Варіант
Відносний приріст
1
4,98 %
6,40 %
+28,4 %
2
5,04 %
5,55 %
+10,2 %
3
4,95 %
5,42 %
+9,5 %
4
5,03 %
5,39 %
+7,3 %
Усі 4 тижні
5,00 %
5,69 %
+13,8 %

Тижневі числа шумні: кожна тижнева різниця має похибку приблизно ±0,7 відсоткового пункту, тож коливання між другим і четвертим тижнями мало що означають. Інша річ, коли приріст першого тижня майже вчетверо більший, ніж останнього. Тижні з другого по четвертий разом дають +9,0 %, і це чесніша оцінка того, що залишиться Котокорму надовго.

Друга перевірка: розділіть нових користувачів і тих, хто повернувся. Новачкам нема з чим порівнювати, тож приріст, який видно лише серед постійних відвідувачів, найпевніше пояснюється новизною.

Поділ трафіку: 50/50 чи 90/10?

Показати варіант лише 10 % користувачів здається безпечнішим, але це дорого. Для того самого тесту (з 5,0 % до 5,5 %, 2 500 користувачів на день):

Поділ (контроль / варіант)
Потрібно користувачів разом
Днів
Округлено вгору
50 / 50
62 468
25
4 тижні
80 / 20
96 535
39
6 тижнів
90 / 10
170 970
69
10 тижнів

Калькулятор розрахований на рівний поділ; для двох інших рядків та сама формула застосована до нерівних груп. Точність порівняння обмежує менша група: за поділу 90/10 варіанту однаково потрібно близько 17 100 користувачів, а набрати їх по 250 на день вдасться лише за десять тижнів. Загалом поділ 90/10 коштує у 2,7 раза більше трафіку, ніж рівний.

Якщо ризик вас непокоїть, покажіть варіант 10 % користувачів на день-два, щоб виловити баги, потім перейдіть на 50/50 і рахуйте тест від цього моменту.

Розпродажі, свята та рекламні кампанії

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

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

Дострокова зупинка: лише через шкоду

Зупиняти тест, щойно основна метрика стала значущою, означає підглядати, а це збільшує частку хибнопозитивних результатів. Чому так, пояснює стаття про підглядання в A/B-тестах. Зупинка через те, що варіант шкодить користувачам, є іншим випадком, якщо правило записане ще до запуску:

  • Оберіть дві-три захисні метрики, які не мають погіршитися: помилки оплати, швидкість завантаження сторінки, скасування замовлень, звернення в підтримку.
  • Для кожної задайте поріг, причому суворий, наприклад p<0,001p < 0{,}001 замість 0,05, адже перевірятимете її щодня.
  • Через очевидний баг, як-от зламану кнопку в одному з браузерів, зупиняйте тест одразу, виправляйте і запускайте заново з чистими даними.

Це безпечно, бо дострокова зупинка через шкоду може закінчитися лише рішенням «не запускаємо», але не запуском хибного переможця.

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

  • Ділити на весь трафік сайту, а не на тих, хто доходить до сторінки з тестом.
  • Зупиняти тест того дня, коли набралася вибірка, посеред тижня.
  • Додавати «ще кілька днів», бо результат майже значущий. Це теж підглядання.
  • Оцінювати за першими днями, коли новизна найсильніша.

Чеклист перед запуском

  1. Основну метрику, базовий рівень і MDE записано.
  2. Вибірку розраховано для того поділу трафіку, який справді буде.
  3. Щоденний трафік пораховано в унікальних користувачах, які потрапляють у тест, за звичайні тижні.
  4. Тривалість задано в цілих тижнях: щонайменше два, щонайбільше близько восьми.
  5. У календарі немає розпродажів, свят і великих кампаній.
  6. Захисні метрики та правила зупинки через шкоду погоджено.
  7. Дату завершення зафіксовано.

Головне

  • Тривалість = потрібна вибірка / кількість користувачів, які потрапляють у тест за день, з округленням угору до цілих тижнів.
  • Тест має тривати щонайменше два тижні, а той, якому потрібно понад вісім, варто переробити.
  • Порівнюйте перший тиждень із наступними, щоб упіймати ефект новизни чи первинності.
  • Нерівний поділ дорогий: 90/10 потребує у 2,7 раза більше трафіку, ніж 50/50.
  • Достроково зупиняйте тест лише через шкоду і за правилами, заданими до запуску.

FAQ

Чи може A/B-тест тривати менше тижня?

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

Що робити, якщо за розрахунком тест триватиме три місяці?

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

Чи закінчується тест, коли в нього потрапив останній користувач?

Не зовсім. Тим, хто потрапив у тест останнього дня, на рішення потрібно стільки ж часу, як і тим, хто прийшов першого. Якщо більшість замовлень надходить упродовж трьох днів після першого візиту, на 28-й день припиніть додавати нових користувачів і ще три дні рахуйте замовлення.

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

Безкоштовний урок Пастки: підглядання, множинні порівняння, ефект новизни розбирає підглядання, множинні порівняння та ефект новизни на експериментах Котокорму, з тестами на розуміння і практичним завданням, яке перевіряє ШІ. Це частина безкоштовного курсу «Статистика для продакт-менеджерів і маркетологів».

Вивчіть це в курсі

Вивчайте статистику на практиці

Безкоштовний курс для продактів і маркетологів: короткі уроки, реальні продуктові дані та вправи з миттєвим фідбеком.

Почати безкоштовний курс

Схожі статті

8 хв читання

Підглядання в A/B-тестах: чому «вже значущий» — ще не результат

Підглядання в A/B-тестах множить хибні перемоги: у 100 000 симульованих A/A-тестів щоденні перевірки дали 27,6 % помилок замість 5 %. Що робити натомість.