Ваш партнёр по росту
Главная / Блог / Воронка
Воронка

A/B-тест, который не врёт: значимость, размер выборки и проблема подглядывания

· 10 мин чтения· Марк Лоншаков
Тест, который не врёт

Сценарий знаком каждому, кто менял что-то на сайте. Поменяли заголовок на посадочной, разделили трафик надвое, через несколько дней заглянули в отчёт: у нового варианта конверсия выше. Вывод напрашивается сам — новый заголовок лучше, катим на всех. И вот тут кроется ловушка: чаще всего никакого вывода нет. Разница вполне могла возникнуть сама по себе, без всякой связи с заголовком, — простое совпадение, которое мы приняли за сигнал. A/B-тест — это не «показать два варианта и посмотреть, где цифра больше». Это процедура, которая отличает настоящую разницу от случайной ряби, и почти всё в ней решается до запуска, а не в момент, когда хочется принять решение.

• Коротко
  • При малых числах разница между вариантами появляется из ниоткуда: это случайное колебание, а не эффект. Чем меньше наблюдений, тем сильнее рябь.
  • «Статистически значимо» не значит «эффект большой» и не значит «эффект точно есть». Это лишь оценка того, насколько легко такую разницу мог бы дать случай.
  • Минимальный обнаружимый эффект: чем меньше трафика, тем крупнее должно быть изменение, чтобы его вообще можно было заметить. Маленькому сайту тестировать цвет кнопки бессмысленно.
  • Размер выборки и срок считают до старта. Подглядывать в промежуточные цифры и останавливаться на удачном значении — почти гарантированный способ найти несуществующий эффект.
  • Тест короче недели почти всегда врёт: он не успевает пройти недельный цикл поведения и ловит случайный день вместо закономерности.
  • Uplift без интервала — просто число. Отрицательный результат — тоже результат: он спас вас от того, чтобы выкатить ухудшение.

Почему «вариант Б выиграл» — чаще всего «нам показалось»

Подбросьте монету двадцать раз, потом ещё двадцать. В первой серии выпало одиннадцать орлов, во второй — четырнадцать. Стала ли монета «удачнее»? Разумеется, нет: она не менялась, просто так легла. Разница в три орла здесь никого не смущает, потому что на двадцати бросках разброс — это норма.

A/B-тест устроен так же, только вместо орлов — покупки и заявки, а вместо двух серий бросков — два варианта страницы. И здесь интуиция подводит. Конверсию 3,4% у варианта Б против 2,9% у А мы читаем как «Б лучше». Хотя, если посетителей было по паре сотен на вариант, это та же разница в три орла: она могла возникнуть сама. Дело тут вовсе не в кнопке. Любая доля, посчитанная по малому числу людей, дрожит: если из ста посетителей купили трое, то один случайный покупатель в любую сторону — это уже скачок конверсии на треть.

Два варианта страницы почти никогда не покажут одинаковую цифру — даже если они абсолютно одинаковы. Вопрос теста не «есть ли разница», а «больше ли она, чем обычная рябь».

Отсюда следствие, которое ломает большинство домашних тестов: чем реже происходит целевое событие и чем меньше трафика, тем сильнее дрожит цифра. На сайте с двумя-тремя покупками в день дневная конверсия скачет так, что по ней не отличить хорошую страницу от плохой, — и скачет она без всяких изменений. Люди видят «рост на 20%», принимают его за результат своих усилий — а на деле решают по монете, подброшенной десять раз.

Значимость: что это такое и чего она не значит

Чтобы отделить настоящую разницу от ряби, придумали статистическую значимость. Она отвечает на один вопрос: насколько легко такую разницу мог бы дать чистый случай, если бы варианты на самом деле были одинаковыми. Если случай выдавал бы подобное сплошь и рядом — разнице верить нельзя. Если ему пришлось бы сильно постараться, чтобы так совпало, — разница похожа на настоящую. А порог, за которым её принято считать «значимой», — это соглашение, а не закон природы: договорились мириться с небольшой вероятностью ошибиться и провели черту. Для другой цены ошибки провели бы её в другом месте.

И самое важное — чего значимость не означает. Не означает, что эффект большой: при огромном трафике «значимым» становится и мизерный, ничего не решающий для бизнеса прирост. Не означает, что эффект точно есть: это про вероятность, а не про гарантию, и часть «значимых» результатов всё равно окажется случайностью. И ничего не говорит о том, повторится ли результат завтра. Значимость — это фильтр против самообмана, а не печать истины.

«Статистически значимо» переводится на человеческий как «на случайность это списать трудно». Не «эффект велик» и не «это доказано» — только это.

Минимальный обнаружимый эффект: почему малому сайту цвет кнопки тестировать бессмысленно

У каждого теста есть предел чувствительности — самое маленькое изменение, которое он способен разглядеть на фоне случайного разброса. Его называют минимальным обнаружимым эффектом. Логика та же, что с монетой: чем меньше наблюдений, тем крупнее разброс, и тем крупнее должно быть настоящее различие, чтобы его было видно поверх этого разброса.

Вывод неприятный, но честный. Изменение цвета кнопки или слова в заголовке, если оно вообще что-то даёт, двигает конверсию на доли процента. Чтобы уверенно разглядеть такой сдвиг, нужны десятки тысяч посетителей на каждый вариант. У сайта, где столько набегает за год, тест не закончится никогда. Значит, для него тест цвета кнопки не «пока рано», а невозможен в принципе: искомый эффект меньше, чем чувствительность инструмента.

Отсюда правило, которое экономит месяцы: сначала прикиньте, какой минимальный эффект вы вообще способны заметить при вашем трафике, и только потом решайте, что тестировать. Если разглядеть можно лишь «изменение в разы», то и тестировать надо вещи, которые двигают поведение в разы: другое предложение, другую цену, другую структуру страницы. Мелкие правки на малом трафике только выглядят осторожностью. На деле это трата времени на заведомо нечитаемый результат.

До запуска

Размер выборки и срок теста считаются заранее, из вашего обычного трафика и конверсии, а не назначаются на глаз. Если расчёт показывает, что нужное число посетителей вы наберёте за полгода, — это ответ: такой тест сейчас не по силам, выбирайте изменение крупнее.

Проблема подглядывания

Это самая коварная ошибка, потому что выглядит как ответственность. Тест запущен, и вы каждый день открываете отчёт: ну как там, кто побеждает. В какой-то день видите — вариант Б вырвался вперёд, цифра «стала значимой». Отлично, останавливаем, катим Б. Здесь и захлопывается ловушка.

В первые дни данных мало и цифра дрожит особенно сильно: лидер меняется чуть ли не через день. Если вы смотрите каждый день и оставляете за собой право остановиться, когда картинка нравится, вы рано или поздно поймаете случайный всплеск — он обязательно случится по природе разброса — и объявите его победой. Порог значимости рассчитан на одну проверку в заранее назначенный момент. Многократные подглядывания дают ему столько попыток, что «значимый» результат почти гарантированно найдётся даже там, где разницы нет.

Проще говоря: если обводить мишень уже вокруг попадания, снайпером окажется кто угодно. Дата подведения итогов и нужный объём выборки фиксируются до старта. До этой точки промежуточные цифры смотрят только на предмет технических поломок — но не ради того, чтобы принять решение и остановиться.

Тест, который разрешено остановить в любой удобный день, доказывает ровно одно: вы дождались удобного дня. К превосходству варианта это отношения не имеет.

Что ещё ломает тест

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

ОшибкаКак выглядитЧем грозитКак избежать
Тест короче неделиЗапустили в понедельник, свернули в четверг — «уже всё видно»Будни и выходные ведут себя по-разному; измерили день недели, а не вариантКрутить целое число недель, минимум одну, чтобы уложился недельный цикл
Сезонный или разовый всплескНа тест пришлись распродажа, праздник, всплеск после рассылкиСкачок спроса подмешивается к варианту, на который случайно попалНе тестировать в аномальные периоды; ловить типичный спрос, отсекая пиковый
Кривое деление трафикаНа один вариант попало больше мобильных, из одного источника или городаРазница между вариантами оказывается разницей между аудиториямиДелить случайно и проверить, что группы сопоставимы по устройствам и источникам
Меняли что-то ещё по ходуВо время теста правили цену, запускали акцию, трогали рекламуНепонятно, что сработало: вариант или параллельное изменениеНа время теста заморозить всё остальное — цену, акции, каналы, сам дизайн
Тест на нецелевом трафикеПоловина посетителей пришла с виральной ссылки и никогда не купитШум от случайной аудитории глушит поведение реальных клиентовТестировать на том трафике, ради которого страница и сделана
Ранняя остановка «нужно решение»«Ждать нельзя, катим то, что впереди сейчас»Решение принимается по недобранной выборке, то есть по шумуЛибо доводить до плана, либо честно признать: данных нет, решаем иначе
Как честный тест превращается в самообман
Про неделю

Поведение в понедельник утром и в субботу вечером различается сильнее, чем многие варианты страниц между собой. Тест длиной в неполную неделю измеряет разницу между днями недели и выдаёт её за разницу между вариантами — потому и врёт почти всегда.

Что делать при малом трафике

Если после расчёта выяснилось, что классический A/B-тест вам не по объёму, это ещё не приговор. Тестировать вслепую тоже не выход — просто смените подход. Малому трафику доступен свой набор честных ходов: грубее, зато без самообмана.

  • Тестируйте крупные изменения, а не мелкие. Раз чувствительность низкая, ищите то, что двигает поведение заметно: другое предложение, другую цену, принципиально иную структуру страницы. Крупный эффект виден и на скромной выборке.
  • Объединяйте близкие шаги воронки. Если каждый шаг по отдельности даёт слишком мало событий, меряйте результат по связке шагов сразу — так на каждую цифру приходится больше людей и разброс падает.
  • Меряйте событие повыше по воронке. Покупок мало, но добавлений в корзину или заявок заметно больше. Более частое событие набирает выборку быстрее; следите лишь, чтобы оно честно предсказывало деньги, а не жило своей жизнью. Только не растягивайте тест до бесконечности ради объёма: чем дольше он идёт, тем больше посторонних сдвигов — сезон, ассортимент, рынок — он вбирает вместе с выборкой.
  • Смиритесь с качественными методами. Когда чисел не хватает, десяток записей сессий и несколько разговоров с клиентами о том, где они застревают, дадут больше, чем недостоверный тест. Это не поражение — это инструмент, честно подобранный под ваш масштаб.

Протокол честного теста

Половина этих шагов делается до того, как первый посетитель увидит хоть один вариант. Это не инструкция «сделай сам» — это то, что стоит спросить со своей команды или подрядчика, прежде чем поверить любому «вариант Б выиграл». Именно подготовка отличает доказательство от красивого совпадения.

  1. 01
    Потребуйте одну гипотезу и одну метрику

    Пусть команда чётко скажет: что меняем, почему это должно сработать и по какому единственному показателю судим. Одно изменение за раз — если разом переставили заголовок, кнопку и картинку, потом никто не разберёт, что именно сработало.

  2. 02
    Спросите, доступен ли тест вообще

    Пусть по вашему обычному трафику и конверсии посчитают минимальный эффект, который тест способен разглядеть. Оказался он крупнее реалистичного ожидания от правки — это стоп-сигнал: берите изменение покрупнее или переходите к качественным методам.

  3. 03
    Добейтесь, чтобы выборку и дату финиша зафиксировали заранее

    Сколько посетителей набрать и в какой день подвести итог — это решают сейчас, из расчёта, а не «когда цифры станут красивыми». Длительность — целое число недель, чтобы уложился недельный цикл.

  4. 04
    Проверьте у подрядчика, что трафик делится честно

    Деление случайное, группы сопоставимы по устройствам, источникам и географии. Иначе перекос в составе аудитории вам преподнесут как эффект варианта.

  5. 05
    Настаивайте заморозить всё остальное

    На время теста никто не трогает цены, акции, рекламные каналы и сами варианты. Любое параллельное изменение подмешивается к результату и делает вывод нечитаемым.

  6. 06
    Проследите, чтобы тест не останавливали ради решения

    Команда следит за технической исправностью, но не за тем, «кто впереди». Соблазн свернуть на удачном дне — главный враг честного теста; до назначенной даты промежуточные цифры не основание для решений.

  7. 07
    Спросите итог в срок и проверьте, как его прочитали

    В назначенный день сравнивают метрику, смотрят не только на разницу, но и на её интервал, переводят результат в деньги. И помните: отрицательный или нулевой итог — полноценный ответ, а вовсе не провал работы.

И два слова о чтении результата — на последнем шаге портят чаще всего. Первое: uplift без интервала — просто число. «Вариант Б дал +12%» звучит убедительно, но за любой оценкой стоит диапазон неопределённости. Если он широкий и заходит в отрицательную зону, то бодрое «Б лучше на 12%» честнее прочитать как «мы пока не знаем, лучше ли Б вообще». Смысл цифре придаёт ширина диапазона вокруг неё.

Второе: отрицательный результат — тоже результат. Тест, показавший, что новый вариант не лучше старого, ничего не провалил — он не дал вам выкатить ухудшение на всех. Добрая половина ценности тестирования прячется как раз в отсеянных красивых идеях, которые на деле роняли конверсию: их видно хуже, чем громкие победы, а стоят они не меньше.

Отрицательный результат — это купленная страховка: вы заплатили тестом за то, чтобы потом не платить выручкой.

Частые вопросы

Насколько большой прирост конверсии считать настоящим?

Размер прироста сам по себе не говорит почти ничего. Куда важнее, на скольких людях он посчитан и насколько широк интервал вокруг него. Прирост в 30% на паре сотен посетителей — почти наверняка шум, а 5% на десятках тысяч — вполне реальный сигнал. Голое число uplift мало что значит без диапазона неопределённости: если тот заходит в отрицательную зону, разнице верить рано.

Сколько нужно посетителей, чтобы тест что-то показал?

Универсального числа нет — оно зависит от вашей обычной конверсии и от того, насколько крупный эффект вы хотите уметь замечать. Чем реже целевое событие и чем меньше ожидаемое изменение, тем больше нужно людей. Поэтому размер выборки считают до старта, из ваших собственных цифр, а не берут круглым числом вроде «тысяча на вариант».

Можно ли остановить тест раньше, если один вариант уже уверенно впереди?

Нет — именно это и есть подглядывание, главная причина ложных выводов. В начале данных мало, и лидер меняется случайно почти каждый день; остановившись на приятной картинке, вы почти наверняка фиксируете удачный всплеск, а не эффект. Дату финиша и нужный объём назначают заранее и до них решение не принимают.

Почему тест должен идти хотя бы неделю?

Потому что поведение людей циклично внутри недели: будни и выходные, утро и вечер отличаются сильно. Тест в несколько дней ловит разницу между кусками недели, на которые случайно попали варианты, и выдаёт её за разницу между самими вариантами. Чтобы этот цикл усреднился одинаково для обоих, тест крутят целое число недель, а не «пока не надоест».

У нас мало трафика. Что тогда вообще тестировать?

Не мелкие правки вроде цвета кнопки — их эффект меньше вашего случайного разброса, и вы его не разглядите. Тестируйте крупные изменения: другое предложение, другую цену, иную структуру страницы. А параллельно опирайтесь на качественные методы — записи сессий и разговоры с клиентами. На малом трафике они честнее недостоверного A/B-теста.

Тест показал, что новый вариант не лучше старого. Мы зря потратили время?

Нет. Отрицательный результат уберёг вас от того, чтобы выкатить нейтральное или вредное изменение на всю аудиторию. Это полноценный ответ и сэкономленная выручка. Ценность тестирования не только в найденных улучшениях, но и в отсеянных красивых идеях, которые на деле роняли конверсию.

Значимость получена — значит, эффект точно есть?

Не точно. Значимость говорит лишь о том, что такую разницу трудно списать на случайность, — но часть «значимых» результатов всё равно окажется случайной, это свойство вероятности. Она к тому же ничего не говорит о размере эффекта. Поэтому важные находки перепроверяют, а не выкатывают с одного теста как окончательную истину.


Красивый инструмент со светофором «победитель» врать тесту не мешает — врать перестаёт сам подход. Всё держится на простой дисциплине: считать выборку до старта, не подглядывать ради решения, крутить целыми неделями, читать прирост вместе с интервалом и радоваться отрицательным результатам не меньше, чем положительным. Да, это скучно и требует терпения. Зато после этого «вариант Б выиграл» перестаёт означать «нам показалось» и становится тем, на что можно опереться деньгами.

Хотите навести порядок в своём маркетинге?

30 минут, бесплатно: разберём вашу ситуацию и решим, нужен ли полный разбор.

Забронировать звонок
Марк Лоншаков
15 лет в маркетинге · строит маркетинг как управляемую систему