Тот, кто последовательно применяет для принятия решений на основе данных, неизменно бывает удручен низким коэффициентом успешности идей.
Я усвоил тот факт, что эксперименты, данные и тестирование нужны не для доказательства моей правоты <…> Фактически, чтобы выбрать правильный ответ, мне нужна информация, полученная в результате этого тестирования.
В 1998 году Грегу Линдену, одному из разработчиков Amazon на заре становления этого интернет-гиганта, пришла идея: почему бы не давать пользователям рекомендации при покупке? Супермаркеты раскладывают сладости на полках возле касс, чтобы стимулировать импульсивные покупки, и это работает. Почему бы не заглянуть в корзину пользователя на Amazon.com и не предложить ему персональную рекомендацию, которая может оказаться ему полезна? Линден создал прототип, убедился в его работоспособности и показал всем. О дальнейшем развитии событий лучше услышать из его уст:
В целом идея была воспринята положительно, но были некоторые затруднения. В частности, старший вице-президент по маркетингу выступал категорически против. Его основное возражение состояло в том, что это может отпугнуть пользователей, которые не захотят оформлять заказ, — это правда, что пользователи часто не завершают процесс покупки онлайн,— и он склонил остальных на свою сторону. На тот момент мне запретили продолжать работу в этом направлении. Мне сказали, что Amazon еще не готова к запуску подобного сервиса. На этом следовало бы остановиться.
Но не тут-то было. Я подготовил сервис для онлайнового тестирования. Я верил в силу рекомендаций, и мне хотелось измерить их влияние на продажи. Говорят, старший вице-президент был в бешенстве, когда узнал, что я готовлю эксперимент. К счастью, даже топ-менеджерам его уровня сложно препятствовать тестированию. Измерения — это всегда хорошо. Единственный весомый аргумент против, что негативный эффект от этого теста мог бы оказаться настолько сильным, что Amazon бы этого не выдержала. Вряд ли такое можно было утверждать, а потому я провел тестирование.
Результат говорил сам за себя. Этот сервис оказался не только востребованным, но разница в уровне продаж была настолько значительной, что отсутствие ее на Amazon в полном масштабе обходилось компании в кругленькую сумму упущенной выгоды. Все заторопились, но теперь уже чтобы запустить рекомендательный сервис для корзины пользователя.
Грегу очень повезло. Даже не в том, что его идея сработала (хотя, разумеется, это важно), а в том, что уже тогда компания Amazon располагала достаточной инфраструктурой для тестирования и такой корпоративной культурой, благодаря которой можно было добиться проведения этого теста. У него получилось доказать ценность своей идеи, реализовать ее на практике и повысить прибыль компании.
Во многих ситуациях, особенно новых для нас, интуиция не всегда срабатывает верно. Часто мы бываем удивлены результатом. Не верите? Тогда возьмем несколько быстрых примеров из онлайн-экспериментов. Первый пример — предложение о покупке в рекламном объявлении. С точки зрения количества переходов (индекс CTR), какое из них сработает лучше и насколько?
На практике второй вариант оказался эффективнее первого, его индекс CTR был в два раза выше. А как насчет пары объявлений на рис. 8.1? (Кстати, вы заметили, чем они отличаются?) Какое сработает лучше и насколько?
Рис. 8.1. У какого из этих вариантов индекс CTR будет выше? У грамматически правильного объявления слева индекс CTR на 8% выше (4,4% по сравнению с 4,12%).
Вариант слева, грамматически верный благодаря добавлению одной-единственной запятой, был на 8% эффективнее.
Наконец, в заключительном примере (рис. 8.2) даны две практически идентичные версии интернет-страницы — за исключением того, что в варианте слева все поля в форме для заполнения необязательные. У этого варианта коэффициент конверсии был на 31% выше. Более того, качество этих контактов было выше.
Рис. 8.2. В варианте слева все поля формы для заполнения необязательны. Коэффициент конверсии этого объявления на 31% выше, более того, качество этих контактов тоже было выше
Источник:
Во всех этих примерах было сложно прогнозировать, какой вариант окажется эффективнее, и еще сложнее было предсказать влияние на другие показатели. Именно поэтому качественно подготовленный эксперимент имеет такую ценность. Он переводит диалог из плоскости «Мне кажется…» в плоскость «Согласно данным…». Таким образом, это неоценимый компонент компании с управлением на основе данных.
Давайте рассмотрим этот аспект в перспективе. В мы провели обзор пяти видов анализа, включая каузальный анализ, являющийся вершиной аналитической работы, по крайней мере, с точки зрения обычного бизнеса. Контролируемый эксперимент, применение научного метода или «научных методов работы с данными» — прямой способ выявить эти причинно-следственные отношения.
Три примера, обсуждавшихся выше, представляли собой варианты эксперимента под названием A/B-тестирование. Сейчас я приведу краткое его описание. Какие-то подробности и детали я добавлю чуть ниже в этой главе, а сейчас опишу основную идею. При проведении A/B-тестирования вы устанавливаете контроль, например, над текущим состоянием сайта (вариант А). Половину трафика своего сайта вы направляете на эту версию. Эти посетители сайта будут относиться к группе А. Вторую половину пользователей вы направляете на другую версию сайта, имеющую небольшие отличия, например, надпись на кнопке для оформления заказа — «Приобрести», а не «Купить сейчас» (вариант В). Эти посетители сайта относятся к группе В. Вы определяете показатель, который хотите протестировать, например влияет ли надпись на кнопке на уровень средней выручки на посетителя. Вы проводите эксперимент в течение установленного времени (дней или недель), а затем осуществляете статистический анализ. Вы анализируете, отмечается ли статистически значимая разница в фокусном поведении — в данном случае в показателе выручки на посетителя — между группой А и группой В. Если разница есть, то в чем ее причина? Если эксперимент был полностью контролируемым (то есть в условиях имелось лишь одно небольшое отличие), возможны два варианта. Это могла быть случайность, что вероятно при слишком маленьком размере выборки (то есть эксперимент не соответствовал стандартам). Или же разница между вариантами А и В носит причинно-следственный характер. Согласно данным, фактор, который отличался, вызвал изменение поведения пользователей.
Поскольку объективное проведение экспериментов и их влияние на корпоративную культуру — критически важный фактор для компании с управлением на основе данных, эта глава будет посвящена A/B-тестированию. Мы охватим оба подхода: более распространенный классический частотный подход, а также более современный байесовский подход. Мы подробно разберем, как проводить тесты, на примерах того, как это делать и как этого делать не стоит. Помимо примеров, описанных ранее, я приведу еще ряд примеров, позволяющих понять, зачем нам все это нужно и какое существенное влияние это может оказать на бизнес. Итак, приступим.
Как уже говорилось, наша интуиция может нас подвести (подробнее к этому мы еще вернемся в ). Даже эксперты в определенных областях ошибаются чаще, чем им бы хотелось это признать. В своей книге A/B Testing: The Most Powerful Way To Turn Clicks Into Customers (Wiley & Sons) Дэн Сирокер, генеральный директор и создатель платформы для A/B-тестирования Optimizely, рассказывает о некоторых аспектах работы своей компании в 2008 году во время предвыборной кампании Барака Обамы. Перед ними стояла задача оптимизировать интернет-страницу для потенциальных сторонников Обамы и с ее помощью собрать базу адресов электронной почты этих людей. Изначально на странице была размещена статичная картинка с красной кнопкой с надписью «SIGN UP» («ПОДПИСАТЬСЯ»). Команда разработчиков полагала, что видеоролики с самыми убедительными выступлениями будут привлекать пользователей эффективнее статичного изображения. После того как были протестированы разные статичные картинки и разные видеоролики, стало ясно, что «любой видеоролик значительно уступает любому изображению». Оптимальное сочетание изображения и надписи на кнопке (лучшим вариантом оказался «LEARN MORE» («ПОДРОБНЕЕ») повысило уровень подписки на 40,6%. Это соответствовало дополнительно почти 2,8 млн подписчиков, 280 тыс. волонтеров и невероятным 57 млн долл. дополнительных пожертвований. Бывает невозможно предугадать, что и как именно сработает: поведение людей непостоянно и непредсказуемо. Тем не менее результаты, подобные этим, показывают, что мы можем получить важное конкурентное преимущество и непосредственно узнать своих текущих и потенциальных клиентов.
Более того, онлайн-тестирование — относительно недорогое и простое. Не обязательно требуются новые технологии и творческие усилия, чтобы сделать новую версию надписи на кнопке «ПОДРОБНЕЕ» вместо «ПОДПИСАТЬСЯ». Кроме того, эти изменения не навсегда. Если вы что-то попробовали, но это не сработало, просто вернитесь к первоначальному варианту. В любом случае вы узнаете что-то новое о своих клиентах. Вы практически ничем не рискуете.
Предметом тестирования может стать все что угодно. В какой бы отрасли вы ни работали, всегда есть что оптимизировать и имеются уроки, которые можно извлечь. Команда, работавшая на предвыборный штаб Обамы, проводила множество самых разных тестов. Она тестировала темы сообщений в электронных рассылках, содержание рассылок, время отправления и частоту, все аспекты сайта, даже сценарии, на которые волонтеры опирались в беседе с потенциальными донорами. Как показывает этот пример, подобное тестирование может не ограничиваться только онлайн-форматом. В качестве еще одного примера можно привести маркетинговые акции по увеличению лояльности покупателей, когда компания неожиданно дарит подарки определенной категории клиентов. Эти акции следует тщательно продумывать. С их помощью можно сравнивать такие показатели, как процент возврата, «пожизненная ценность клиента», а также положительные отзывы в социальных сетях от тех, кто получил подарок, и тех, кто не получил. Во всех этих случаях к экспериментам следует относиться с таким же уровнем научной строгости и структурировать их с той же тщательностью, что и онлайн A/B-эксперименты.
Один из приятных аспектов A/B-тестирования в том, что вам не требуется предварительного причинно-следственного объяснения, почему что-то должно сработать. Нужно просто провести тест, изучить результаты и найти те факторы, которые обеспечивают позитивное влияние. Кохави отмечает, что в Amazon половина экспериментов не приносила результатов, а в Microsoft — две трети. Чтобы выиграть в долгосрочной перспективе, совсем не обязательно, чтобы срабатывал каждый эксперимент. Единственное положительное изменение способно оказать огромное влияние на итоги всей деятельности.
После такого вступления, описавшего преимущества применения A/B-тестирования, давайте перейдем к практическим аспектам и посмотрим, как качественно его организовать.
В этом разделе мы рассмотрим ряд аспектов, на которые следует обратить внимание в ходе подготовительного этапа. Первое и самое важное — сформулировать критерии, которыми вы будете руководствоваться. Затем мы рассмотрим так называемые А/А-тесты, которые важны для проверки аппарата эксперимента. Кроме того, их можно использовать для генерирования нескольких ложноположительных результатов, чтобы наглядно продемонстрировать руководителям и коллегам статистическую значимость и важность достаточно большой выборки. Далее мы детально изучим план A/B-теста (что мы тестируем, кто участники, какой анализ будет проводиться и так далее). Наконец, мы остановимся на важнейшем аспекте и фактически первом вопросе, который задают все новички: каким должен быть размер выборки?
Рекомендация: четко сформулируйте критерии эффективности до начала тестирования.
Важно иметь четкое понимание своей цели и имеющихся средств. Зачем мы это делаем? Особенно важно до начала тестирования определить ключевые показатели, которые иногда называют критериями общей оценки. В чем будет заключаться успешный результат? Если вы этого не сделаете, у вас может появиться соблазн собрать как можно больше данных в ходе эксперимента, а на этапе анализа начать статистически тестировать всё и ухватиться за значимые результаты. Хуже того, может появиться мысль выборочно отразить в отчетах только положительные показатели и результаты. Такой подход лишь доставит вам неприятности и не принесет долгосрочной пользы компании.
Рекомендация по проведению A/A тестов
Если А обозначает контрольную группу, то, как вы уже могли догадаться, A/A-тестирование представляет собой сравнение двух контрольных групп, все изначальные условия для которых одинаковые. Какой в этом смысл? На самом деле есть целый ряд преимуществ.
Во-первых, вы можете применять его для тестирования и мониторинга вашей инфраструктуры и процессов распределения. Если вы зададите настройки системы для разделения трафика 50/50, но размер выборок в двух группах будет сильно отличаться, это означает, что с вашим процессом распределения что-то не так.
Во-вторых, если при сопоставимом размере двух выборок наблюдаются сильно отличающиеся показатели деятельности, это свидетельствует о проблеме с отслеживанием событий, проблеме при проведении анализа или составлении отчетности. При этом можно ожидать уровень различий при А/А-тестировании около 5%, сделав допущение, что вы придерживаетесь стандартного статистического уровня значимости 5%. Что действительно нужно отслеживать при многократном проведении A/A-тестов, так это наблюдаются ли у вас значительные расхождения, на порядок больше, чем стандартный уровень значимости. Если да, это может свидетельствовать о проблеме. Однако Георгий Георгиев резонно отмечает: «Даже если вам требуется всего 500 или 100 A/A-тестов, чтобы заметить статистически значимые отклонения от ожидаемых результатов, это все равно огромная потеря денег. Просто потому, что впечатления, клики, посетители — это все не бесплатно, не говоря уже о том, как вы могли бы использовать этот трафик». Нужно проводить множество A/B-тестов и постоянно внедрять инновационные решения. Однако, если у вас нет постоянного потока A/B-тестов или возник перерыв, проводите A/A-тесты.
В-третьих, результаты тестирования можно использовать для оценки вариативности тех показателей, которые вы контролируете. В некоторых вычислениях размера выборки, таких как при тестировании среднего значения (скажем, средний размер корзины или время, проведенное на сайте), это значение понадобится для вычисления размера выборки.
Наконец, в блоге Nelio A/B Testing отмечается, что применение A/A-тестов имеет, помимо прочего, и образовательную функцию. Для тех компаний, где конечные пользователи или руководители никогда раньше не имели дела с A/В-тестированием и не особо подкованы в вопросах вероятности и теории статистики, это будет весьма полезно. Не стоит торопить события и сразу переходить к A/B-тестированию, полагая, что тестируемые показатели должны быть лучше контрольных, даже когда результаты впечатляют. Статистически значимый результат может быть делом случая, и самое наглядное доказательство этого — A/A-тестирование.
Рекомендация: продумайте весь ход эксперимента до его начала.
При планировании теста следует обратить внимание на многие аспекты. Тем компаниям, которые намерены внедрить у себя культуру A/В-тестирования, я рекомендовал бы заранее продумать приведенный ниже спектр вопросов. После того как вы запустите тестирование, обсуждать критерии эффективности будет поздно. Вряд ли вы захотите, чтобы кто-то подтасовывал результаты во время анализа. Этап обсуждения и всех согласований должен предшествовать этапу самого тестирования.
Цель
Зоны ответственности
Планирование эксперимента
Процесс анализа
Результаты
Список кажется довольно длинным, но по мере того как вы будете проводить все больше и больше тестов, некоторые из вопросов и ответов перейдут в разряд стандартных. Например, ответы могут быть: «При проведении анализа мы всегда используем R» или «Проведение статистического анализа входит в обязанности Сары». Этот набор вопросов станет постепенно внедряться в корпоративную культуру, процесс будет становиться все более автоматическим, пока наконец он не станет естественным и привычным.
По получившемуся у меня описанию процедура проведения эксперимента и процесс анализа — очень четкие, почти клинические и доведенные до автоматизма: тест А против теста В, какой тест выигрывает, тот и внедряется на практике. Если бы так и было, то это был бы полный процесс управления на основе данных. Но реальный мир гораздо сложнее. В игру вступают другие факторы. Во-первых, результаты не всегда четко определены. Возможна двусмысленность. Не исключено, что показатель в тестовой группе был немного завышенным на протяжении всего теста, но незначительно. Или некоторые факторы компенсировали друг друга (например, объем продаж и уровень конверсии). Или, возможно, в процессе анализа вы обнаружили фактор, способный повлиять на объективность результатов. Все это может негативно сказаться на их анализе и интерпретации. Подобная двусмысленность вполне реальна. Во-вторых, отдельный эксперимент не обязательно отражает ту долгосрочную стратегию, которой следует компания. Пи Джей Маккормик приводит пример подобной ситуации на Amazon. Он описывает A/B-тест, в котором в качестве контрольного элемента выступало крошечное изображение покупаемого продукта, настолько маленькое, что его было невозможно рассмотреть. В качестве тестируемого элемента было более крупное изображение продукта. Казалось бы, результат теста очевиден. Но не все так просто: маленькое изображение, по которому даже не было понятно, на что кликает пользователь, победило! Тем не менее в компании приняли решение перейти на размер изображения крупнее. Почему?
«Мы запустили более крупные изображения, потому что так пользователи видят, что они покупают. Это более положительный опыт. Кроме того, это совпадает с тем, к чему мы стремимся в долгосрочной перспективе, и с нашим видением. Данные не мыслят в долгосрочной перспективе за вас. Они не принимают решения. Они лишь дают информацию — пищу для размышлений. Но если вы принимаете решения автоматически, не задумываясь о том, что означают эти данные, и не соотнося их с вашим долгосрочным видением относительно вашего продукта или пользователей, то, скорее всего, ваши решения будут ошибочными».
(Процесс принятия решений будет темой следующей главы.)
Рекомендация: используйте калькулятор размера выборки.
Вопрос, который мне чаще всего задают относительно A/B-тестирования: «Как долго нужно проводить тестирование?» Обычно я отвечаю: «Я не знаю, нужно подсчитать с помощью калькулятора размера выборки».
Этот раздел более технический по сравнению с остальными, а потому те, кого статистика приводит в ужас, могут просто его пропустить. Основной вывод в том, что вам необходимо рассчитать минимальный размер выборки с помощью простого статистического онлайн-инструмента и придерживаться этого размера. Нельзя досрочно прекратить тестирование и рассчитывать на значимые результаты.
Причина, по которой непросто дать ответ на этот вопрос, заключается в том, что существует множество факторов, которые мы пытаемся оптимизировать.
Предположим, мы проводим стандартный A/B-тест. Есть четыре возможных сценария. Между сравниваемыми показателями не наблюдается различия, тогда:
1) мы приходим к верному заключению, что различия нет;
2) мы приходим к ошибочному заключению, что различия нет; это ложноположительный результат.
Или между сравниваемыми показателями наблюдается различие, тогда:
3) мы приходим к ошибочному заключению, что различия нет; это ложноотрицательный результат;
4) мы приходим к верному заключению, что различие есть.
Вышесказанное можно суммировать следующим образом.
Истина | |||
Ваши результаты | Нет различия | Нет различия 1. Верный результат | Есть различие 3. Ложноотрицательный результат |
| Есть различие | 2. Ложноположительный результат | 4. Верный результат |
Наша цель — попытаться оптимизировать вероятность верного заключения (1 или 4) и минимизировать вероятность сделать ложноположительное (2) или ложноотрицательное (3) заключение.
Для этого в нашем распоряжении два рычага, которыми мы можем воспользоваться.
Первый — более очевидный размер выборки. Если бы вы проводили опросы избирателей на президентских выборах, то были бы более уверены в своем прогнозе, если бы опросили 500 тыс. проголосовавших, а не 5 тыс. Это верно и относительно A/B-тестирования. Более значительная выборка повышает вашу статистическую мощность (статистический термин) при определении статистически достоверного различия, если это различие действительно существует. Возвращаясь к нашему примеру с четырьмя возможностями, если различие есть, то более крупная выборка снижает вероятность ложноотрицательного заключения (то есть более вероятно сделать вывод 4, чем 3). Обычно используется мощность 0,8. Это означает, что при существовании различия мы сможем определить его с вероятностью 80%. Запомните это, мы вернемся к этому чуть позже.
Второй рычаг в нашем распоряжении — это статистический уровень значимости, обычно составляющий 5%. (Для масштабной выборки хороший подход — выбрать p ≤ 10–4.) Это означает приемлемую вероятность сделать ложноположительное заключение, если на самом деле различия между сравниваемыми показателями нет. Предположим, у нас есть обычная монета. Мы подбросили ее десять раз, и десять раз выпал орел. Кажется, сюда закралась погрешность в пользу орла. Но самая обычная монета все же могла бы упасть орлом вверх десять раз подряд, но только один раз из 1024 раз, или примерно 0,1% от всех случаев. Если мы предположим, что монета с погрешностью, то рискуем ошибиться в 0,1% случаев. Это кажется приемлемым риском. Далее, предположим, мы решаем, что если мы увидим восемь, девять или десять орлов или, наоборот, ноль, один или два орла, то сделаем вывод, что монета с погрешностью. При этом есть вероятность ошибиться уже в 11% случаев. Это кажется слишком рискованным. Суть в том, чтобы сбалансировать убедительность доказательства, что тестируемое качество действительно оказывает влияние, против вероятности, что мы наблюдаем лишь случайный эффект (а фактического различия нет).
Итак, вооружившись критерием статистической мощности = 0,8 и уровнем статистической значимости = 5%, переходим к калькулятору размера выборки (рис. 8.3). Вводим два этих значения (см. нижнюю часть рисунка), но кроме этого нужно предоставить дополнительную информацию. Этот тип калькулятора (оптимизированный для определения конверсии, то есть контроля перехода на сайт) запрашивает базовый показатель коэффициента конверсии. Это значит текущий коэффициент в вашей контрольной группе. Он также запрашивает значение минимального заметного эффекта. Это означает, что при существовании значительного различия, например 7%, вы сможете определить его сразу же и обойтись при этом небольшим размером выборки. Если требуется определить менее значительное различие, например 1%, потребуется выборка более крупного размера, чтобы убедиться, что различие действительно существует и оно не случайно. При коэффициенте конверсии 10% и различии 1% вам потребуется выборка из 28 616 человек: 14 313 составят контрольную группу и столько же — тестовую.
Рис. 8.3. Калькулятор размера выборки для определения конверсии
Источник:
Есть разные калькуляторы размера выборки, подходящие для разных ситуаций. Например, для сравнения средних значений, скажем, среднего размера корзины в контрольной группе и тестовой группе, калькулятор размера выборки будет похожим, но требования по вводимой информации станут слегка отличаться, например базовым показателем вариативности.
Оценить, сколько дней нужно на проведение эксперимента, можно путем деления среднего дневного трафика на общий размер выборки.
Обратите внимание, что это минимальный размер выборки. Предположим, исходя из размера выборки и уровня посещаемости вашего сайта, вам рекомендуется проводить тестирование в течение четырех дней. Если в эти дни уровень посещаемости сайта был ниже обычного среднего показателя, следует продолжить эксперимент, пока вы не достигнете минимального размера выборки. Если вы не продлите эксперимент или слишком рано его завершите, результаты будут необъективными. В итоге у вас повысится вероятность получить ложноотрицательное заключение: вы не сможете определить различие, которое существует. Более того, если наблюдается положительный результат, повышается вероятность того, что он не отражает действительность (см. Most Winning A/B Test Results Are Illusory). Это чрезвычайно важный эффект. Вы видите положительное влияние, празднуете свою победу, запускаете тестируемую характеристику в массовое производство, а затем не наблюдаете никакого роста. Итог — напрасно потраченные время и силы, а кроме того, утрата доверия.
Итак, мы определили размер выборки и продолжительность тестирования. Или не совсем? Если вы проводите тестирование в течение четырех дней с понедельника по четверг, получите ли вы те же самые демографические и поведенческие характеристики пользователей, которые получили бы, проводи вы тестирование с пятницы по понедельник? В большинстве случаев они будут различаться. Это «эффект дня недели» в действии: пользователи, посещающие сайт в выходные, и их поведение отличаются от тех, что посещают сайт в другие дни. Таким образом, если согласно калькулятору размера выборки тестирование рекомендуется проводить в течение четырех дней, лучше продлите его еще на три дня, чтобы охватить неделю полностью. Если рекомендуемая продолжительность тестирования — 25 дней, проводите его в течение четырех недель.
Как видите, определение размера выборки — важный аспект. Если вы захотите обойтись выборкой меньшего размера, чем необходимо, то, скорее всего, получите ложные результаты: они будут указывать на наличие положительного эффекта, но не смогут генерировать дополнительную прибыль. Или, наоборот, вам не удастся определить наличие эффекта от тестируемой характеристики и вы столкнетесь с упущенной выгодой. Очевидно, оба этих варианта развития ситуации нежелательны. Наконец, расчеты размера выборки иногда бывают сложными, и для качественной оценки без калькулятора не обойтись. Воспользуйтесь имеющимися у вас инструментами.
После того как вы определили тестируемую характеристику и настроили на сайте инструменты для сбора необходимых данных, переходим к следующим вопросам: кто будет участвовать в тестировании, когда оно начнется и когда завершится?
Рекомендация: предложите оценить тестируемую характеристику 50% пользователей, отвечающих критериям отбора, и обеспечьте стабильность процесса.
Первый вопрос, возникающий при выборе участников тестирования, — это критерии отбора. Возможно, некоторые пользователи не должны принимать участие в тестировании вообще. Во многих случаях при проведении А/В-тестирования ориентируются на всех посетителей сайта. Но вполне возможно, что вас интересует только конкретная категория посетителей, например только те, кто совершает повторные покупки, или пользователи из конкретного региона или с определенными демографическими характеристиками. Все зависит от тестируемой характеристики и целевой аудитории. Критерии отбора должны быть четко определены.
Эта выборка пользователей представляет совокупность всех участников тестирования, которых можно разделить на две группы — контрольную и тестовую. Следующий вопрос: в каком соотношении формировать группы? В идеале совокупный трафик следует разделить 50/50, но так получается не всегда. Кохави и др. отмечают, что «распространенная практика среди новичков, которые только начинают проводить подобные эксперименты, — предложить протестировать новую характеристику лишь небольшому проценту пользователей». Вероятно, они поступают так, чтобы избежать риска и снизить негативное влияние, если с новой характеристикой возникнут проблемы. Однако это плохая стратегия, так как тогда проведение тестирования займет больше времени. Тестирование должно пройти для минимального размера выборки для обеих групп — контрольной и тестовой, поэтому, если трафик в тестовой группе снижен, например, до 10%, очевидно, что потребуется гораздо больше времени, пока размер выборки тестовой группы достигнет требуемого. В этом случае рекомендуется, наоборот, «усилить» эксперимент, повысив пропорцию трафика в тестовой группе (подробнее мы коснемся этого чуть позже), чтобы снизить риск, но достигнуть трафика в 50%.
Необходим надежный механизм распределения посетителей сайта в контрольную или тестовую группу. То есть необходимо сделать это случайным образом, но системно. При рекомендованном делении 50/50 у пользователя должна быть одинаковая вероятность оказаться в любой из двух групп. Один из подходов заключается в применении генератора случайных чисел, назначении пользователям их группы и сохранении этого варианта в определенной базе данных или, возможно, в куки-файле. На основании этой информации пользовательский интерфейс (UI) в дальнейшем будет отображать тот вариант сайта, который нужно для этой группы. Этот подход хорошо работает для сайтов, где все пользователи аутентифицированы. Другой подход состоит в спонтанном распределении пользователей по двум группам. При этом важно, чтобы при повторном возвращении на сайт пользователь системно попадал в одну и ту же группу, поэтому здесь необходим четко определенный процесс распределения пользователей. Например, можно применить мод или подходящую функцию хеширования (расстановки ключей) к каждому ID пользователя. (Кохави и др. подробно обсуждают разные протоколы для системного распределения.) Обеспечение стабильного опыта для пользователя имеет важное значение. Если он будет видеть разные версии сайта, это может привести его в замешательство и повлиять на качество данных и их анализа.
Впрочем, некоторое замешательство может возникнуть в любом случае. Представьте постоянного пользователя, который попал в тестовую группу и в первый раз увидел модифицированную версию сайта. У него есть определенные ожидания, сформировавшиеся после предыдущего посещения сайта, и, чтобы осмыслить новый опыт, ему потребуется какое-то время. У пользователя, который посещает сайт в первый раз, еще нет сформированных ожиданий, поэтому ему может быть легче сразу во всем разобраться. Так называемый эффект первичности может быть довольно значительным, и его следует учитывать при проведении анализа данных.
Рекомендация: постепенно наращивайте количество пользователей в тестовой группе до 50% от совокупной выборки.
В начале эксперимента можете сразу направить 50% трафика в тестовую группу. Сложность заключается в том, что, если закралась ошибка, в результате которой половина ваших пользователей получила негативный опыт, то вы можете просто потерять эту половину пользователей. Вместо этого можно попробовать другой подход: постепенно наращивать количество пользователей в тестовой группе и тщательно контролировать показатели. Рон Кохави предлагает следующую схему:
Конечно, если вы видите, что возникла проблема, у вас должна быть возможность немедленно прекратить тестирование и вернуть весь трафик в контрольную группу.
Рекомендация: проводите эксперимент, пока не охватите минимальный размер выборки или больше.
Я уделил пристальное внимание вопросу определения размера выборки, потому что у него могут быть серьезные последствия. Если завершить тестирование раньше срока, вероятность ошибки существенно возрастет. Можно не увидеть положительного эффекта от тестируемой характеристики, которая могла бы принести компании дополнительную прибыль, или, наоборот, можно приписать случайный положительный опыт эффекту от тестируемой характеристики (то есть имеется риск запустить в массовое производство характеристику, не имеющую никакого эффекта). Иными словами, возрастает вероятность получения ложноположительного или ложноотрицательного результата. Никогда не прекращайте эксперимент досрочно только потому, что наблюдается положительный эффект от тестируемой характеристики.
К сожалению, многие производители программного обеспечения для А/В-тестирования побуждают пользователей проводить эксперимент только до того момента, когда будут достигнуты значимые результаты. Никогда не проводите тестирование подобным образом! (Кажется, так я достаточно дал понять, что это действительно важно?) После изучения предложений четырех производителей специализированного ПО Мартин Гудсон отмечает: «Некоторое ПО для A/B-тестирования разработано таким образом, что оно постоянно отслеживает результаты и останавливает процесс, как только достигаются значимые результаты. Однако когда тестирование проводится подобным образом, вероятность ложноположительного результата может достигать 80%». (См. также How Not To Run An A/B Test).
Когда вы запустили эксперимент и убедились в отсутствии грубых ошибок, самым разумным будет поступить как Ронко: «Наладьте процесс и забудьте о нем». В период тестирования отслеживайте размер выборки, а не значения показателей.
Далее я сделаю краткий обзор двух других подходов, которые можно использовать в дополнение к простому A/B- или A/A-тестированию или вместо них.
До того мы обсуждали только варианты тестирования с двумя переменными: контрольно-тестовое (A/B) или контрольно-контрольное (A/A). Такое тестирование обычно бывает простым и эффективным. Однако у него есть свои недостатки. Вспомните пример с избирательной кампанией Обамы, когда аналитики тестировали разные надписи на кнопке и разные изображения. У них было пять разных вариантов надписи и по крайней мере шесть разных изображений, то есть общее количество разных комбинаций было не меньше 30. Последовательное тестирование всех этих комбинаций заняло бы в 30 раз больше времени, чем проведение одного А/В-теста. Именно по этой причине в некоторых случаях используются многовариантные тесты.
Это тестирование также иногда называют факторным экспериментом, и в ходе него все возможные комбинации тестируются одновременно. То есть группа 1 видит изображение 1 и текст 1, группа 2 — изображение 2 и текст 2, и так до группы 30, которая видит изображение 6 и текст 5.
Какие у этого подхода плюсы и минусы? Если у вас высокая посещаемость сайта и вы можете позволить разделить трафик между разными комбинациями, у вас есть возможность провести тестирование параллельно, то есть потратить на него меньше времени. (Сервис YouTube, у которого, очевидно, огромная посещаемость, в 2009 году провел эксперимент, включавший тестирование 1024 комбинаций. Оптимальная комбинация привела к росту количества подписчиков сервиса на 15%.) Кроме того, вы можете протестировать так называемый эффект взаимодействия. Возможно, более крупная кнопка подписки эффективнее, чем кнопка стандартного размера, и кнопка подписки красного цвета эффективнее, чем кнопка подписки синего цвета, а если объединить эти две характеристики, то выяснится, что крупная красная кнопка подписки еще эффективнее, чем просто крупная или просто красная кнопка.
Не все комбинации имеет смысл тестировать. Предположим, первый фактор, который нужно протестировать, — цвет кнопки подписки: красный (текущий) или черный (тестовый). При этом второй фактор — цвет надписи на кнопке: черный (текущий) или белый (тестовый). Общее количество возможных комбинаций — четыре, но комбинация «черная кнопка / черный цвет надписи» явно в тестировании не нуждается. Или, как отмечают Кохави и др., более крупное изображение товара и его дополнительное описание может стать не самой удачной комбинацией, поскольку тогда кнопка для оформления заказа слишком сильно сместится вниз. Подобные моменты нужно отслеживать еще на стадии планирования эксперимента и не включать в тестирование.
Однако даже когда все сформировавшиеся комбинации имеют смысл, вполне возможно провести тестирование на основе выборки из этих комбинаций. Это так называемый дробный факторный эксперимент. Он проводится на основе тщательно сделанной выборки комбинаций, которая позволяет рационально оценить как основной эффект, так и эффект взаимодействия. При этом такой эксперимент сложнее разработать, и он не обеспечивает того уровня информации, которого можно достигнуть с помощью полного многовариантного тестирования или последовательной серии A/B-тестов. Если вы все-таки проводите многовариантные тесты, с их помощью лучше изучать больше факторов (то есть разные типы тестируемых характеристик, таких как изображения и текстовые надписи), чем уровни (то есть разные варианты внутри одного фактора, например пять разных вариантов текста надписи). Кроме того, вам придется играть «по-крупному» и провести тест для 100% пользователей, чтобы максимально увеличить размер выборки и статистическую мощность.
Неудивительно, что анализировать результаты многовариантного теста сложнее: требуется применение более продвинутых статистических инструментов (таких как дисперсионный анализ, или ANOVA), чем те, что используются для проведения А/В-тестирования. Кроме того, визуализировать результаты анализа тоже сложнее.
Итак, многовариантное тестирование позволяет быстрее изучить «пространство проектных решений» или другие аспекты бизнеса, а также проверить эффект взаимодействия (хотя Кохави и др. утверждают, что этот эффект нельзя назвать широко распространенным). Однако преимущества этого типа тестирования достигаются за счет увеличения сложности организации, проведения и анализа тестирования. Его проведение рационально только при условии достаточно высокого трафика для сохранения статистической мощности.
A/B-тестирование, описанное в этой главе, более широко распространено и популярно на практике. Оно осуществляется в рамках классического, или частотного, статистического подхода. Однако существует еще один подход, который набирает популярность в последние годы благодаря стремительному развитию вычислительных технологий, — это байесовская статистика.
В рамках частотного подхода стартовая точка — формулировка гипотезы, например «CTR в контрольной группе равен CTR в тестовой группе». Вы собираете данные и задаете вопрос: «Какова вероятность получения тех же самых (или более значимых) результатов при многократном повторении эксперимента, если эта гипотеза верна?» При этом по умолчанию предполагается, что внешние условия не меняются, то есть мы в вероятностном смысле делаем выводы из распределения, но само распределение и его параметры со временем остаются неизменными.
В рамках байесовского подхода все по-другому. Стартовой точкой служит предпосылочное убеждение. Что мне известно об этой системе? Возможно, ранее вам еще не приходилось тестировать подобные характеристики, и тогда вы начинаете с простой догадки. Возможно, наоборот, у вас уже был опыт, и вы можете использовать полученную ранее информацию как основу. Хотя фактически предпосылочные убеждения играют не настолько важную роль, так как со временем вы будете обновлять и изменять их по мере получения новых доказательств. Даже если изначально они были ошибочными, постепенно они будут меняться и в большей мере отражать действительность. Это ключевое отличие от частотного подхода: любая новая информация — просмотр, продажа или переход по ссылке — становится дополнительным доказательством, которое следует включать в базу знаний. Это итеративный подход. Более того, в его рамках не стоит вопрос «Есть ли различие между сравниваемыми вариантами?», вместо этого задают другой вопрос: «Что эффективнее: контрольный параметр или тестовый?» И это то, что хочет знать бизнес.
Если вас заинтересовал термин «бандит», то он появился по аналогии с игровыми автоматами, которые иногда еще называют «однорукими бандитами». Суть в том, что мы имеем дело со множеством «бандитов» (один контрольный и множество тестовых), у каждого из которых разная частота выигрыша (внутренний коэффициент CTR). Нам нужно выявить лучшего «бандита» (самый высокий коэффициент CTR), но сделать это мы можем только с помощью серии нажатия рычага (показов). Каждый бандит выдает выигрыш случайным образом, а значит, нам нужно сбалансировать нажатие рычагов у потенциально менее перспективных «бандитов», чтобы получить дополнительную информацию, по сравнению с нажатием рычага только у того автомата, который мы считаем самым перспективным, чтобы максимизировать получение выигрыша.
Со временем система будет менять соотношение пользователей, которые получают более эффективную характеристику. Грубо говоря, тестирование может начаться с соотношения 50/50. Предположим, что тестируемая характеристика действительно очень эффективна (мы наблюдаем гораздо больше переходов), тогда система снижает пропорцию посетителей, которые пользуются контрольной характеристикой, и увеличивает пропорцию тех, кто пользуется тестируемой характеристикой. Теперь соотношение составляет 40% (контрольная группа) и 60% (тестовая). Мы продолжаем наблюдать значительный положительный эффект, и процентное соотношение вновь корректируется: 30% (контрольная группа) и 70% (тестовая) и так далее. У этого подхода два очевидных преимущества. Во-первых, нет необходимости проводить анализ, чтобы понять, какой вариант лучше, — можно просто оценить относительную пропорцию. Во-вторых, поскольку более эффективная характеристика применяется дольше, у нас есть возможность сразу же воспользоваться этим преимуществом. (В терминах статистики, нам не придется сожалеть об упущенной выгоде за период проведения эксперимента, когда у нас все еще действовала менее эффективная характеристика.)
В отличие от частотного подхода, здесь имеется возможность добраться до максимальных значений и наблюдать за изменением системы на протяжении времени. Здесь нет фиксированного периода проведения эксперимента: он может длиться бесконечно. Фактически мы можем добавлять характеристики, исключать их, изменять. В рамках частотного подхода это было бы невозможно. Можно продолжать эксперимент или установить ограничивающий критерий: например, если эффективность тестируемой характеристики превышает 5% по сравнению с контрольной характеристикой, 100% трафика переключается на нее.
Разумеется, я опустил множество математических деталей, самая главная из которых — правило обновления, или то, как происходит изменение степени вероятности. Фактически система разработана таким образом, что проходит этап изучения, на котором вы пробуете все разные контрольные и тестовые характеристики с относительной частотностью, а затем этап использования, на котором вы активно используете наиболее эффективную на данный момент характеристику (и минимизируете сожаление). При байесовском подходе наблюдаются те же самые проблемы, что и при частотном подходе: положительный результат тестируемой характеристики может быть как ее эффектом, так и делом случая. Если результат был случайным, то дальнейшее использование этой характеристики, скорее всего, приведет к снижению коэффициента CTR, и пропорция тестовой группы будет скорректирована в сторону снижения по правилу обновления. Это означает, что такая система не в состоянии гарантировать системное повторение одного и того же опыта для каждого пользователя или хотя бы для пользователей, посещающих сайт повторно.
Байесовский подход набирает популярность, хотя и медленно. Гораздо сложнее объяснить неспециалистам принцип работы системы, но зато интерпретировать результаты проще. В отличие от частотного подхода, нет необходимости устанавливать продолжительность тестирования — вместо этого можно определить ограничивающий критерий, что с точки зрения бизнеса сделать легче. Мне интересно, можно ли считать одной из причин медленного внедрения этого подхода сам алгоритм, который производит модификации со временем и определяет, какую версию сайта увидит пользователь, — ведь фактически всем управляет байесовское правило обновления. В компании должна быть очень хорошо развита культура работы с данными, чтобы сотрудники могли доверять этому процессу. К сожалению, для многих компаний эта система не более чем волшебный черный ящик.
Мы рассмотрели технические аспекты проведения тестирования для достижения максимального эффекта, и теперь я хочу остановиться на вопросах влияния этого процесса на корпоративную культуру компании.
Скотт Кук, основатель компании Intuit, считает, что A/B тестирование сдвигает фокус с «принятия решений на основе убеждения» на «принятие решений на основе экспериментов». Эта философия не подпитывает ничье эго. Теперь правила игры задают не HiPPO (highest paid person’s opinion, то есть «мнение самого высокооплачиваемого сотрудника»): происходит демократический сдвиг от принятия решений на высшем уровне к генерированию гипотез на уровне операционном. Скотт Кук полагает, что таким образом компания поощряет даже сотрудников на незначительных должностях тестировать свои лучшие идеи. У сотрудников появляется больше эффективных идей, чувство сопричастности, собственности и вовлеченности. Как я призываю в одном из постов в блоге (который фактически лег в основу этой книги), «дайте слово молодым специалистам».
Сирокер и Кумен утверждают, что подобный подход позволяет компании раздвинуть границы и стать более инновационной. «Он убирает требование, по которому все вовлеченные в процесс должны знать всё. Когда сотрудники могут спокойно сказать: “Я не знаю, но давайте проведем эксперимент”, — они больше склонны принимать на себя ответственность и рисковать делать вещи, выходящие за рамки нормы». Скотт Кук полностью с этим согласен. По его словам, когда люди экспериментируют, «они чаще удивляются, а удивление — источник инноваций. Человек удивляется, только когда делает что-то и получает результат, отличающийся от его ожиданий. Так что чем скорее вы начнете экспериментировать, тем скорее начнете удивляться и открывать для себя то, чего не знали раньше».
Кроме того, Сирокер и Кумен полагают, что время рабочих встреч можно сократить. Они цитируют Джарреда Колли, бывшего старшего менеджера по маркетингу продукта в компании Rocket Lawyer: «Если раньше сотрудники могли часами с пеной у рта спорить, какой заголовок или какое изображение лучше использовать, сейчас необходимость в этих обсуждениях отпала: мы просто всё тестируем и точно знаем, что лучше». Опять-таки, больше не происходит столкновения самомнений, больше не надо изобретать теории, вместо того чтобы сосредоточиться на идеях, которые могут просто работать и приносить пользу. Большинство идей не оказывают никакого влияния или способны сделать только хуже, но, чтобы добиться значительного эффекта, достаточно всего одного или двух удачных попаданий. Вспомните о дополнительных 57 млн долл., которые стали результатом оптимизации подписной страницы кампании Барака Обамы. Это огромная рентабельность от затраченных усилий. Но даже эта цифра меркнет в сравнении с той пожизненной ценностью, которую принесла компании Amazon.com идея Грега Линдена с рекомендательным сервисом при оформлении заказа. Недавно разработчики поисковой системы Bing тестировали, улучшатся ли результаты, если увеличить количество ссылок в рекламных объявлениях. В результате теста выяснили, что две и более ссылок лучше, чем одна, и предположительно это принесло сервису 100 млн долл. ежегодно. Это не случайная удача: одновременно проводили 300 тестов в день. Google постоянно проводит тысячи экспериментов. Чтобы достигать результатов, нельзя останавливаться. Есть даже шутка, что «А/В-тестирование» на самом деле расшифровывается как «тестирование абсолютно всегда».