A/B тестирование для продактов

Что такое А/Б тестирование и проведение A/B тестов на практике

Немного быстрой теории о том, как проводить A/B тестирование и пример валидации гипотезы на примере продукта Amazon.

Тестирование продуктовых гипотез и фич приложения
Представь, что ты продакт в Amazon, в департаменте умных устройств. Естественно, тебе хочется сделать больше продаж. Появляется идея: вместо того, чтобы просто показывать умные продукты (например, wifi-лампочки) в результатах поиска, ты подумываешь добавить к ним тег «Работает с Alexa» (это амазоновская Алиса), как на картинке ниже. Это увеличит как продажи Alexa, так и лампочек!
Вроде звучит логично, да? Так может просто добавить эту фразу на страницу вот прямо сейчас? Подумай и ответь на вопрос, перед тем, как двигаться дальше - так ты учишься.
Выкатываем изменение для всех пользователей?
Проблема с "давайте просто выкатим изменение" в том, что ты вполне возможно уронишь, а не поднимешь продажи. Одной из потенциальных причин будет то, что добавилось еще больше текста на уже и так перегруженную страницу. Это может показаться небольшим изменением, но каждый пиксель имеет значение, когда у тебя есть миллионы просмотров в день, и так для сотен продуктов.

Так что делать? Применить науку и провалидировать (протестировать) гипотезу! Айти гиганты потому и гиганты, что они принимают решения на основании научного подхода, и это ведет их в правильном направлении. Да-да, речь про А/Б тестирование (оно же A/B тестирование, сплит тестирование, продуктовое тестирование, управляемое экспериментирование - это все синонимы).

Для начала объясню немного теории, так что если ты с ней уже знаком, смело переходи к упражнению.

Основы A/B тестирования: сложная теория на забавном примере

Не пугайся, это проще, чем ты думаешь.

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

  • Это обычный городской автобус, просто так получилось, что в нем едет много высоких людей
  • Или это специальный автобус для баскетбольной команды (а ты знаешь, что в городе проходит Чемпионат мира).
Вопрос: не говоря с другими людьми, ты сможешь понять, в "обычном" или "баскетбольном" автобусе ты оказался? Давай применим науку!

Во-первых, мы знаем распределение роста всех жителей нашей страны (мы можем это погуглить). Во-вторых, видим рост всех людей в автобусе (давай предположим, что мы относительно точно можем прикинуть их рост).

А теперь — магия! Наука статистики позволяет сравнивать распределения роста и решать, наблюдаем ли мы что-то особенное (автобус с баскетболистами) или просто городской автобус с несколькими высокими людьми. Короче говоря, мы берем все, что мы знаем (распределение роста, которое мы нагуглили, и рост людей в автобусе), и вставляем в скучную формулу, а потом заявляем: «С вероятностью p=X это распределение не отличается от нормального».

А это очень мощное утверждение! Например, это может быть p = 2%, то есть существует только 2% вероятность того, что эти люди из «нормального» автобуса. Другими словами, вероятность того, что наличие высоких среди них — чистое совпадение, составляет всего 2%. Так что мы принимаем нашу гипотезу — они действительно баскетбольная команда!

Обрати внимание, что есть 2% вероятность того, что мы можем ошибаться, и с этим мы ничего не можем поделать. На практике это означает, что если мы заходим в разные автобусы пятьдесят раз в этот день, будет большая вероятность, что в какой-то момент наша математика скажет: «Это баскетбольная команда», но на самом деле это будет неверно. Такова жизнь, ничего не поделаешь.

А теперь давай представим, что формула выдала такой результат: p=66%.
Что это значит?
Это означает следующее: вполне вероятно (66%!), что наше распределение является нормальным, поэтому мы должны отвергнуть нашу гипотезу о баскетбольной команде. Нет, это просто автобус, и в нем просто едут высокие люди! Например, в Нидерландах это обычная история :)

Как мы выбираем порог (threshold), который определяет, является ли он «достаточно маленьким», чтобы решить, верная наша идея или нет? Это зависит от домена. Например, в медицине, для тестов с новыми таблетками и плацебо используют порог в 1% или 5% (потому что нам не нужна таблетка, которая не работает).

Для e-commerce и других некритических случаев обычно хватает 10%. Да, мы будем делать ошибку каждый десятый раз, но в 9 из 10 случаев мы будем двигаться в правильном направлении. Именно поэтому IT-гиганты и являются гигантами.

Запускаем A/B эксперимент для нашего продукта

Теперь, когда ты понимаешь основы, можно раскрыть магию A/B-тестирования. Идея простая. Делим популяцию на две половины (отсюда и термин "сплит тестирование"): 50% в A получат старый опыт (карточка продукта, как она выглядела раньше), а 50% в B — новый (с подписью «Работает с Alexa»). Предположим, 100 000 увидит A и 100 000 — B. Все остальное будет одинаковое, отличие только в этом маленьком тексте. Деление на половины мы делаем случайное — никаких предположений, никакой логики; иначе вся наука испортится. Если ты слышал термин "контрольная и тестовая группы", то это оно и есть.

Ладно, запустили эксперимент, используя один из инструментов для A/B тестирования (их много - Яндекс.Метрика, Optimizely, Google Optimize плюс компании любят создавать свои внутренние). Эта штука будет бить трафик на равные части, измерять статистическую значимость теста и помогать тебе анализировать результаты, показывая, как ведут себя метрики в контрольной и тестовой группах. Продакту беспокоиться не нужно - инструмент настроят программисты и аналитики.

В общем, запустили и потребовалось неделя, чтобы собрать данные! Считаем покупки: в А было 14 000, а в В — 14 180. То есть новый опыт («Работает с Alexa») лучше? Вроде лучше, да? 14 180 определенно больше, чем 14 000.
С тегом "Alexa" лучше?
Наука не согласна, что лучше. Если забить результаты в любой калькулятор A/B-тестирования (даже бесплатный, например вот такой — ссылка уже содержит нужные данные), мы увидим, что p-value на самом деле составляет 0,25, поэтому есть 25% вероятность того, что новый опыт не лучше, чем старый, но из-за случайности продажи оказались немного выше. Сорри, но четверть — слишком высокая вероятность ошибки. Придется нам отказаться от нашей гипотезы и заявить, что новый тег Alexa не добавляет никакой ценности нашей воронке продаж.

Если ты сейчас немного задумался, то и правильно - анализ результатов A/B тестов не тривиален и очень просто можно принять неверное решение и выкатить для пользователей что-то ненужное. А потом еще раз. А потом третий раз. И так забить продукт бесполезными фичами.

Твоя очередь проводить A/B тест

Представь, что результат в А остается таким же (14 000 продаж), а в В ты видишь 14 390 вместо 14180. Введи эти данные в калькулятор и найти новое p-value.
P-value равно...
Вот новая ссылка. Видно, что график стал зеленым — и p-value теперь составляет 0,0125: есть только 1% шанс, что наше изменение является случайным. Кажется, мы на самом деле улучшили воронку продаж, и наука с этим согласна. Круто же?

Теперь мы можем внести изменения для всех пользователей и переключиться на другие великие продактовские идеи.
Проведение A/B тестов: итог
Надеюсь, что тебе стало понятнее, что такое А/Б тестирование, как мы делим трафик на контрольные и тестовые группы, в чем польза инструментов A/B тестирования, и как анализируем результаты A/B тестов. И ты даже попробовал пощупать А/В калькулятор самостоятельно!

Конечно, тут еще много о чем можно говорить и много что пробовать на практике. Если ты хочешь узнать больше об A/B-экспериментах нескучно и на реальных задачках, у нас есть практический курс А/В тестирования для продакт-менеджеров. Хорошего дня!
Error get alias