Скільки має тривати 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 із них. Отже:
Округлюємо вгору до цілих тижнів: тест триватиме 4 тижні (28 днів). До п'ятниці результату не буде.
Два правила за цим числом
Рахуйте лише тих, хто потрапляє в тест
У тест потрапляють тільки ті, хто дійшов до сторінки зі зміною і може її побачити. Якби Emily поділила вибірку на всі 8 000 відвідувачів, у плані стояло б 8 днів. Але за 8 днів сторінку товару відкриють лише 20 000 людей, по 10 000 на групу, і з такою вибіркою шанс помітити реальний приріст 10 % становить близько 35 % замість запланованих 80 %. Тест найімовірніше показав би «незначуще», і робочу ідею відклали б у шухляду.
Трафік беріть за звичайні нещодавні тижні й рахуйте унікальних користувачів, а не сесії.
Округлюйте вгору до цілих тижнів
У вівторок зранку і в неділю ввечері люди купують по-різному. Якщо тест стартував у понеділок і зупинився на 25-й день, то дні з понеділка по четвер потраплять у дані чотири рази, а з п'ятниці по неділю лише тричі. Цілі тижні дають кожному дню однакову вагу.
Від трафіку та MDE до тижнів
Той самий тест (базовий рівень 5 %, , потужність 80 %) для різних ефектів і різного трафіку:
Удвічі більший трафік скорочує тест удвічі, а от удвічі менший MDE подовжує його приблизно вчетверо.
Якщо дедлайн уже заданий, переверніть питання. Калькулятор MDE показує, що з 2 500 користувачами на день Котокорм здатен помітити приріст 13,5 % за два тижні і 9,4 % за чотири. За яким ефектом варто ганятися, розповідає стаття про мінімальний виявлюваний ефект.
Найкоротший і найдовший розумний тест
Мінімум: один-два повні бізнес-цикли. Для більшості інтернет-магазинів цикл дорівнює тижню, тому «1 тиждень» із таблиці на практиці перетворюється на два. Окремий тиждень може виявитися нетиповим (свято, розсилка, збій на сайті), а два тижні дають змогу порівняти перший із другим. Якщо ваші клієнти купують у довшому ритмі, наприклад замовляють раз на місяць після зарплати, охопіть один такий цикл повністю.
Максимум: приблизно шість-вісім тижнів. Довші тести псуються:
- Втрачені cookie та нові пристрої. Людину, яка почистила cookie або зайшла з нового телефона, система розподіляє заново, і вона може потрапити в іншу групу. Що більше людей бачили обидві версії, то сильніше розмивається різниця.
- Аудиторія змінюється. Часті відвідувачі потрапляють у тест у перші дні, а далі приходять дедалі рідші гості, які поводяться інакше.
- Сезонність та інші запуски. Кожен зайвий тиждень додає шанс, що на тест накладеться зміна цін, рекламна кампанія чи розпродаж у конкурента.
Якщо за планом виходить 14 тижнів, не чекайте. Погодьтеся на більший MDE, тестуйте сміливішу зміну або візьміть метрику з вищим базовим рівнем (додавання в кошик замість замовлення).
Ефект новизни та ефект первинності
Ефект новизни означає приріст, який існує лише тому, що зміна нова: постійні відвідувачі помічають незнайомий блок, клацають на нього, а згодом втрачають інтерес. Ефект первинності (primacy effect) працює навпаки: люди, які звикли до старої версії, спершу губляться, і варіант покращується в міру того, як вони звикають.
Щоб їх помітити, порівняйте перший тиждень із наступними. Припустімо, тест Emily завершився так (щотижня по 8 750 користувачів у кожній групі):
Тижневі числа шумні: кожна тижнева різниця має похибку приблизно ±0,7 відсоткового пункту, тож коливання між другим і четвертим тижнями мало що означають. Інша річ, коли приріст першого тижня майже вчетверо більший, ніж останнього. Тижні з другого по четвертий разом дають +9,0 %, і це чесніша оцінка того, що залишиться Котокорму надовго.
Друга перевірка: розділіть нових користувачів і тих, хто повернувся. Новачкам нема з чим порівнювати, тож приріст, який видно лише серед постійних відвідувачів, найпевніше пояснюється новизною.
Поділ трафіку: 50/50 чи 90/10?
Показати варіант лише 10 % користувачів здається безпечнішим, але це дорого. Для того самого тесту (з 5,0 % до 5,5 %, 2 500 користувачів на день):
Калькулятор розрахований на рівний поділ; для двох інших рядків та сама формула застосована до нерівних груп. Точність порівняння обмежує менша група: за поділу 90/10 варіанту однаково потрібно близько 17 100 користувачів, а набрати їх по 250 на день вдасться лише за десять тижнів. Загалом поділ 90/10 коштує у 2,7 раза більше трафіку, ніж рівний.
Якщо ризик вас непокоїть, покажіть варіант 10 % користувачів на день-два, щоб виловити баги, потім перейдіть на 50/50 і рахуйте тест від цього моменту.
Розпродажі, свята та рекламні кампанії
Тест вимірює ефект на тих людях, які були на сайті під час тесту. У «чорну п'ятницю» відвідувачі полюють на знижки і купують поспіхом, тож приріст, виміряний того тижня, у лютому може не повторитися.
- Не починайте і не завершуйте тест посеред розпродажу, якщо тестуєте не сам розпродаж.
- Зазирніть у маркетинговий календар: велика розсилка чи рекламна кампанія приводить хвилю нетипового трафіку.
- Якщо кампанія все ж наклалася на тест, доведіть його до кінця за планом і покажіть результат із цими днями та без них.
Дострокова зупинка: лише через шкоду
Зупиняти тест, щойно основна метрика стала значущою, означає підглядати, а це збільшує частку хибнопозитивних результатів. Чому так, пояснює стаття про підглядання в A/B-тестах. Зупинка через те, що варіант шкодить користувачам, є іншим випадком, якщо правило записане ще до запуску:
- Оберіть дві-три захисні метрики, які не мають погіршитися: помилки оплати, швидкість завантаження сторінки, скасування замовлень, звернення в підтримку.
- Для кожної задайте поріг, причому суворий, наприклад замість 0,05, адже перевірятимете її щодня.
- Через очевидний баг, як-от зламану кнопку в одному з браузерів, зупиняйте тест одразу, виправляйте і запускайте заново з чистими даними.
Це безпечно, бо дострокова зупинка через шкоду може закінчитися лише рішенням «не запускаємо», але не запуском хибного переможця.
Типові помилки
- Ділити на весь трафік сайту, а не на тих, хто доходить до сторінки з тестом.
- Зупиняти тест того дня, коли набралася вибірка, посеред тижня.
- Додавати «ще кілька днів», бо результат майже значущий. Це теж підглядання.
- Оцінювати за першими днями, коли новизна найсильніша.
Чеклист перед запуском
- Основну метрику, базовий рівень і MDE записано.
- Вибірку розраховано для того поділу трафіку, який справді буде.
- Щоденний трафік пораховано в унікальних користувачах, які потрапляють у тест, за звичайні тижні.
- Тривалість задано в цілих тижнях: щонайменше два, щонайбільше близько восьми.
- У календарі немає розпродажів, свят і великих кампаній.
- Захисні метрики та правила зупинки через шкоду погоджено.
- Дату завершення зафіксовано.
Головне
- Тривалість = потрібна вибірка / кількість користувачів, які потрапляють у тест за день, з округленням угору до цілих тижнів.
- Тест має тривати щонайменше два тижні, а той, якому потрібно понад вісім, варто переробити.
- Порівнюйте перший тиждень із наступними, щоб упіймати ефект новизни чи первинності.
- Нерівний поділ дорогий: 90/10 потребує у 2,7 раза більше трафіку, ніж 50/50.
- Достроково зупиняйте тест лише через шкоду і за правилами, заданими до запуску.
FAQ
Чи може A/B-тест тривати менше тижня?
Лише для того, щоб виловити баги. Три дні охоплюють тільки частину тижневого ритму, а на перші дні припадає найсильніший ефект новизни. Мінімум становить один повний тиждень, а краще два.
Що робити, якщо за розрахунком тест триватиме три місяці?
Змінюйте тест, а не календар: більший MDE і сміливіша зміна, метрика вище у воронці або сторінка з більшим трафіком. Якщо нічого з цього не вдається, ухваліть рішення без тесту і відкрито про це скажіть.
Чи закінчується тест, коли в нього потрапив останній користувач?
Не зовсім. Тим, хто потрапив у тест останнього дня, на рішення потрібно стільки ж часу, як і тим, хто прийшов першого. Якщо більшість замовлень надходить упродовж трьох днів після першого візиту, на 28-й день припиніть додавати нових користувачів і ще три дні рахуйте замовлення.
Спробуйте на практиці
Безкоштовний урок Пастки: підглядання, множинні порівняння, ефект новизни розбирає підглядання, множинні порівняння та ефект новизни на експериментах Котокорму, з тестами на розуміння і практичним завданням, яке перевіряє ШІ. Це частина безкоштовного курсу «Статистика для продакт-менеджерів і маркетологів».