Эта статья составлена на основе четвертой одноименной лекции на собрании сообщества разработчиков Volcano Engine, в которой в основном рассказывается о том, зачем проводить A/B-тестирование, архитектуре системы A/B-тестирования Volcano Engine и передовом опыте.
Зачем проводить A/B-тестирование
Сначала рассмотрим случай. У ByteDance есть китайский видеопродукт под названием Xigua Video, который первоначально назывался Toutiao Video. Чтобы повысить узнаваемость бренда продукта, команда хотела дать ему лучшее имя. После некоторых внутренних исследований и мозгового штурма были собраны 4 названия, включая видео «Арбуз», «Замечательное видео», «Палочки для еды» и «Солнечное видео», поэтому команда провела эксперименты A/B в общей сложности для 5 названий приложений. Единственными изменениями в этом эксперименте являются название продукта и соответствующий логотип на рынке приложений. Цель эксперимента — проверить, какое имя приложения может лучше повысить рейтинг кликов приложения «Toutiao Video» в приложении. хранить. В конце концов, CTR видео с арбузом и видео с чудесным видео заняли первые два места, но разрыв был незначителен.После всестороннего рассмотрения таких факторов, как тональность пользователя, было окончательно решено, что Toutiao Video официально переименовали в видео с арбузом.
Как видно из этого случая, A/B-тестирование может помочь бизнесу принять окончательное решение. В сочетании с интуитивным чувством кейса мы можем определить A/B-тестирование таким образом: провести научную выборку и групповое тестирование целевой аудитории одновременно, чтобы оценить эффект.
В качестве примера на приведенной выше диаграмме предположим, что у нас есть 1 миллион пользователей для проведения A/B-тестирования:
- Сначала выберите целевую аудиторию, например, пользователей в городах первого уровня.
- A/B-тестирование невозможно провести со всеми пользователями, поэтому сделайте научную выборку и выберите небольшую часть трафика для экспериментов.
- После выборки выборку нужно разделить на группы, например, в группе А сохраняется статус-кво, а в группе Б меняется какой-то фактор.
- Сгруппировав и поэкспериментировав одновременно, вы сможете увидеть изменения в поведении пользователей после изменения переменных.
- Затем оцените результаты эксперимента по показателям, соответствующим целям эксперимента, таким как CTR.
Это наше определение A/B-тестирования. В настоящее время A/B-тестирование широко применяется крупными интернет-компаниями, такими как Google, Facebook, Amazon и т. д. ByteDance начала использовать A/B-тестирование в самом начале своего основания в 2012 году. : все может быть A/B-тестированием. /B-тестирование. Тестирование A / B - это очень простой объект и культура в ByteDance.В настоящее время ByteDance накопил 80W+ экспериментов A / B, с 1500+ новыми экспериментами в день, при проведении экспериментов 1W+, обслуживающих 500+ бизнес-направлений.
Так зачем же мы проводим A/B-тестирование? Я заканчиваю с 3 причинами:
- контроль рисков: эксперименты с небольшим трафиком могут помочь избежать потерь, вызванных плохими прямыми онлайн-результатами. Во-вторых, в процессе итерации эксперимента решения принимаются на основе науки, что позволяет избежать систематических отклонений.
- причинный вывод: мы считаем, что оптимизация и изменения в экспериментах A/B могут в конечном итоге повлиять на онлайн-данные и поведение пользователей. Согласно этой предпосылке, A/B-тестирование — лучший инструмент для вывода о причинно-следственных связях.
- Совокупный эффект: A/B-тестирование — это эксперимент, который можно проводить непрерывно.Даже если эффект улучшения от одного эксперимента невелик, накопление эффекта сложных процентов приведет к большим изменениям и отдаче в долгосрочной перспективе.
Внедрение системы A/B-тестирования
Зная, почему мы проводим A/B-тестирование, давайте посмотрим, как реализована система A/B-тестирования Volcano Engine.
На рисунке выше представлена схема архитектуры тестовой системы Volcano Engine A/B.Общая архитектура разделена на несколько уровней:
- слой среды выполнения: на самом низком уровне службы могут работать в контейнерах или на физических машинах.
- уровень инфраструктуры: будут использоваться реляционные базы данных и пары ключ-значение. Поскольку A/B-тестирование имеет дело с большими объемами данных, этот уровень также использует компоненты больших данных в автономном режиме и в режиме реального времени.
- сервисный слой: включая службы сортировки, службы метаинформации, службы планирования и т. д., необходимые для эксперимента. В A/B-тестировании нам также необходимо идентифицировать пользователей, поэтому на этом уровне есть сервисы устройств. Для обеспечения различных запросов данных существуют также механизмы OLAP.
- Бизнес-уровень: включая управление экспериментом, управление индикаторами, управление функциями, отчет об оценке и т. д.
- уровень доступа: включая CDN, сетевой брандмауэр, балансировку нагрузки.
- прикладной уровень: Обеспечивает управление экспериментами по фоновому контролю, просмотр отчетов и т. д., а также вызовы SDK.
Реализация нескольких экспериментальных процедур описана ниже.
Процесс передачи и проверки параметров эксперимента на стороне клиента
Процесс клиентского эксперимента показан на рисунке выше:
- Бизнес-сторона разрабатывает стратегию и определяет экспериментальное содержание;
- Перечислите отношения сопоставления в стратегии и реализуйте отношения сопоставления на стороне клиента;
- Создавайте и запускайте эксперименты;
- Клиент интегрировал SDK системы A/B-тестирования Volcano Engine и запрашивает службу выгрузки из системы A/B-тестирования, чтобы определить, в какие версии экспериментов попал пользователь, и параметры выдачи;
- Клиент получает параметры из SDK и выполняет соответствующий процесс для завершения эксперимента.
Процесс передачи и проверки параметров эксперимента на стороне сервера
Эксперимент на стороне сервера аналогичен эксперименту на стороне клиента:
- дизайнерский эксперимент;
- SDK для экспериментов на стороне сервера интегрирован с бизнес-системами, такими как серверная часть. Клиент — это сервер, который напрямую запрашивает услуги у других C-конечных пользователей, и сервер будет принимать решения в локальном SDK;
- После того, как решение принято, параметры отправляются в нисходящий поток, чтобы политика вступила в силу.
Практика статистического анализа
В статистическом анализе мы суммируем некоторые полезные практические опыты:
- Определить систему бизнес-индексов: Систему индикаторов можно построить с трех точек зрения: макро/микро, долгосрочной/краткосрочной и горизонтальной/вертикальной.
- Классификационный тест: При расчете уровня достоверности индикатора он не использует каждый раз один и тот же набор методов, а использует разные методы для разного моделирования для разных типов индикаторов (включая конверсию, на душу населения, CTR и т. д.).
- Исправление статистики: если в эксперименте несколько групп, возможно, вы допустили ошибку множественного сравнения. Иногда результаты проверяют каждый день после завершения эксперимента, что делает ошибку непрерывного наблюдения. Так что на практике должен быть какой-то метод статистической коррекции, чтобы исправить поведение.
- Разведка на основе системы Yebesian: В отличие от классической проверки гипотез, мы также изучаем, как оценить экспериментальный эффект на основе системы Yebes и снизить порог понимания при ее использовании для пользователей. Существуют определенные реализации в таких сценариях, как интеллектуальная оптимизация трафика и поиск гиперпараметров модели.
Здесь я также поделюсь с вами некоторыми мыслями, лежащими в основе дизайна экспериментов A/B:
- Избегайте передержки: критическим моментом в эксперименте A/B является решение, какие образцы следует использовать в эксперименте. Если каждый, кто откроет приложение, примет участие в эксперименте, результаты эксперимента не будут очевидны.
- В группе и вне: Предположим, мы проводим эксперимент с пользователями в Пекине. Могут ли некоторые люди по-прежнему участвовать в эксперименте после того, как уезжают из Пекина по делам или в туризм? Мы можем оставить это решение за экспериментатором, и позволить экспериментатору решить, входить в группу или выходить из нее.
- Идеальное совпадение с пометкой Feature: Перед экспериментом контент, с которым можно экспериментировать, может быть абстрагирован в Feature Flag, который можно просто понимать как переключение функций. После завершения эксперимента сетевым или повторным экспериментом также можно управлять с помощью флага функции.
Лучшие практики ByteDance A/B-тестирования
В ByteDance A/B-тестирование уже является корпоративной культурой, и все признают его ценность и могут обсуждать его только вместе, когда достигнут консенсус. A/B-тестирование тесно связано с другими аспектами. Собрав и проанализировав данные, мы получим некоторую информацию. На основе этой информации мы можем узнать, что некоторые связи относительно слабы и могут быть улучшены. Затем мы можем предложить гипотезы, спроектировать эксперименты A / B и оценить эффекты после эксперименты завершены. Возможно, что эксперимент не дал ожидаемого эффекта, и эксперимент можно итеративно продолжить для сбора данных, сформировав таким образом замкнутый цикл роста бизнеса, сосредоточенный на A/B-тестировании.
Вот как провести полный эксперимент A/B.
Как генерировать хорошие экспериментальные идеи
Существует несколько точек зрения на то, как генерировать хорошие экспериментальные идеи, как количественные, так и качественные. Упомянутая выше хорошо зарекомендовавшая себя система показателей представляет собой количественный анализ, который здесь повторяться не будет. После сбора данных индикаторов можно проанализировать явление аномалии индикаторов, а для существующих проблем (отсутствия изменений) можно провести итеративное внедрение новых продуктовых стратегий или операционных стратегий.
Качественный анализ можно разделить на три аспекта:
- Какова ценность самого продукта? Например, ценностное предложение приложения такси заключается в повышении эффективности общества за счет экономики совместного использования. Хорошо ли этот продукт отражает ценностное предложение? Из этого могут быть выведены некоторые экспериментальные идеи.
- толчковый фактор
- Релевантность: если на той же странице есть неактуальные функции, пользователи с большой вероятностью не будут кликать по ней, и такой дизайн не будет иметь никакого эффекта.
- Ясность: достаточно ли ясно содержание, которое должно быть выражено (например, наименование).
- Срочность: для действий с периодами времени события могут создавать ощущение срочности.
- Препятствующие факторы:
- Отвлечение: избегайте размещения на одной странице всевозможной информации, чтобы отвлечь пользователей от главного.
- Беспокойство: в некоторых местах пользователям может быть предоставлено множество вариантов выбора, что также усложняет выбор и бессознательно формирует чувство беспокойства. Лучше спроектировать только один вариант выбора.
Как создать достоверную экспериментальную гипотезу
Нам нужно внести изменения в группу пользователей, а затем оказать определенное влияние. Однако это предположение не лишено смысла, оно должно быть логичным и обоснованным, а в конечном итоге влияние изменений можно оценить с помощью индикаторов. В ответ на эти элементы мы обобщили принципы PICOT для разработки экспериментов A/B, а именно: популяция, вмешательство, сравнение, результат, время, чтобы уточнить, какие изменения были внесены в какие типы пользователей, а затем сгруппированы и сопоставлены. и, наконец, необходимо разработать метрики для измерения результатов и принять решение о том, сколько времени займет эксперимент.
Оценка эффективности A/B-тестирования
какие данные посмотреть
На приведенном выше рисунке представлен отчет об эксперименте A/B-тестирования.Вы можете видеть, что показатель является абсолютным значением в экспериментальной версии, а также значением изменения и доверительным интервалом. Доверительный интервал относится к предположению, что стратегия полностью запущена, вы на 95% уверены, что увидите реальную доходность индикатора в диапазоне []. Чем уже доверительный интервал, не содержащий 0, тем выше достоверность. Из «Просмотреть диаграмму», чтобы выбрать значение разницы, вы можете наблюдать кумулятивный график тренда различий.Если доверительный интервал постепенно сужается, это означает, что по мере увеличения размера выборки наша уверенность в результатах оценки становится все сильнее и сильнее.
Является ли изменение показателя значительным?
Результаты эксперимента A/B следующие:
- Положительно значимо: это означает, что при текущем размере выборки экспериментальная версия лучше, чем контрольная версия, и результаты эксперимента согласуются с гипотезой;
- Отрицательно значимый: означает, что при текущем размере выборки экспериментальная версия не лучше контрольной, а результаты эксперимента не согласуются с предположениями;
- Не очевидно:
- На самом деле незначительно: Вы можете обратиться к тому, соответствует ли индикатор MDE ожиданиям, если да, то это означает, что результат действительно незначителен.
- Другие причины не имеют существенного значения: например, размер выборки мал, степень проникновения поведения пользователей, соответствующего показателю, низкая, а время эксперимента короткое. В этих случаях, если экспериментальный эффект незначителен, эксперимент можно дополнительно оптимизировать, например, увеличить размер выборки, расширить трафик и наблюдать в течение определенного периода времени, чтобы накопить больше пользователей в группе.
Далее мы можем рассмотреть еще два случая.
Какая новая версия пользовательского интерфейса домашней страницы более популярна
Общий стиль пользовательского интерфейса Toutiao долгое время подвергался критике, что не способствует обобщению молодых и женских пользователей.В истории несколько экспериментов с красным на серый были значительно негативными для рыночных данных. Поэтому команда разработала эксперимент A/B с целью изменить версию пользовательского интерфейса с лучшими оценками пользователей в пределах приемлемого отрицательного диапазона. Используя метод контрольных переменных, проведите несколько экспериментов A/B со следующими переменными:
- насыщенность цвета головы
- размер шрифта
- масса
- верхнее и нижнее расстояние
- Разумно
- значок нижней вкладки
- В сочетании с исследованиями пользователей (результаты показывают, что молодые пользователи и пользователи женского пола предпочитают новый пользовательский интерфейс)
В целом наилучшая версия UI показана на рис. 2, и она полностью запущена.
После запуска нового пользовательского интерфейса продолжительность пребывания значительно сократилась с -0,38% до -0,24%, продолжительность графики и текста значительно увеличилась на 1,66%, а проникновение в поиск значительно увеличилось на +1,47%. 71%) постепенно адаптировались к новому пользовательскому интерфейсу.
Выберите лучший слайд-видео, чтобы направить форму продукта
Когда короткое видео было впервые выпущено, многие пользователи не знали, как скользить вверх, поэтому был разработан эксперимент, чтобы проверить, как лучше помочь пользователям скользить вверх. Цель эксперимента — увеличить удержание новых пользователей после оптимизации, увеличить процент проникновения скользящих вверх операций на 1% и снизить процент проникновения неправильных операций на 1%. Целевая аудитория для новых пользователей, 1-месячный эксперимент с таргетингом на 10 % онлайн-трафика.
Было проведено два раунда экспериментов, результаты первого раунда экспериментов не оправдали ожиданий, скорость проникновения аппликативных операций значительно снизилась на 1%, а скорость проникновения ошибочных операций увеличилась на 1,5%, что не оправдало ожиданий. Не было значительного увеличения удержания новых пользователей. Но в случае, если это не соответствует ожиданиям, все же можно провести некоторый анализ, чтобы найти причину. Поэтому после улучшения мы провели второй раунд экспериментов, результаты показали, что скорость проникновения скользящей операции значительно увеличилась на 1,5%, а удержание новых пользователей в течение 7 дней увеличилось на 1%-1,8%, а показатель результаты были значительными и соответствовали ожиданиям.
Приведенный выше пример показывает, что мы можем использовать A/B-тестирование как инструмент для понимания пользователей.
Перспектива
Наконец, я хотел бы вместе с вами смотреть в будущее индустрии A/B-тестирования. С точки зрения перспектив отрасли:
- Уровень осведомленности и уровень проникновения быстро растут: мы уже проводили опрос и обнаружили, что общая осведомленность об A/B-тестировании в Китае низка, что может достигать невообразимых цифр. Мы считаем, что в ближайшие 5-10 лет осведомленность об A/B-тестировании может вырасти в 50-100 раз, и этот рынок по-прежнему остается голубым океаном.
- От приятного к обязательному: сейчас многие думают, что A/B-тестирование — это инструмент для вишенки на торте, но в сегодняшнем все более важном управлении данными A/B-тестирование — это инструмент, который необходимо освоить. и является важным инструментом для предприятий для удовлетворения жестких потребностей в бизнес-процессе, иначе вы потеряете свое преимущество в отраслевой конкуренции.
- Разорвать петлю: мы также обнаружили, что A/B-тестирование разорвало петлю. У всех сложилось впечатление, что A/B-тестирование используется только интернет-компаниями, но в процессе общения мы обнаружили, что, хотя многие традиционные предприятия не имеют онлайн-бизнеса, если проблема сбора данных может быть решена, A/B-тестирование также может удовлетворять традиционные предприятия оптимизированные требования.
С точки зрения технологических трендов можно выделить несколько направлений развития:
- Интеллектуальный: A/B-тестирование все еще находится на ранней стадии, и некоторые экспериментальные выводы или экспериментальные идеи не полностью используются для данных и пользовательских атрибутов. Если A/B-тестирование можно будет сочетать со статистическими методами и алгоритмическими моделями, это, вероятно, повысит уровень всей отрасли.
- На основе сценариев: многие сценарии еще не начали использовать тестирование A / B. В будущем больше отраслевых сценариев можно будет комбинировать с тестированием A / B, чтобы упростить использование тестирования A / B.
- Интеграция: в настоящее время наша платформа A/B-тестирования может управлять экспериментами и просматривать отчеты за один раз, но бизнес некоторых пользователей уже очень развит, и они надеются, что A/B-тестирование сможет войти в бизнес и систему и использовать его более плавно. . Следовательно, технология A/B-тестирования также нуждается в улучшении ее способности интегрироваться и беспрепятственно интегрироваться с различными предприятиями и системами.
Q&A
Q: Существуют ли какие-либо базовые ограничения на размер пользователя для A/B-тестирования? Есть ли что-то, на что следует обратить внимание при проведении A/B-тестирования с небольшим количеством пользователей?
A: Сам метод A/B-тестирования не имеет ограничений по количеству пользователей, но если экспериментальная выборка слишком мала, трудно увидеть значимые результаты, а преимущества относительно невелики.
Q: Каковы комбинированные попытки и практики науки о данных, такие как A/B-тестирование и алгоритмы Volcano Engine?
A: Некоторые вещи, которые мы делаем внутри, можно кратко представить: например, интеллектуальные эксперименты на основе многоруких бандитов начали применять некоторые алгоритмы. Кроме того, мы также изучаем эксперимент по поиску параметров, чтобы повысить скорость поиска параметров и сделать A/B-тестирование более интеллектуальным.
Q: Сколько тестов обычно требуется для экспериментов A/B, чтобы увидеть результаты?
A: Строго говоря, сколько времени это займет, зависит от влияния эксперимента. Исходя из нашего опыта, он обычно охватывает полный жизненный цикл пользователя. Обычно мы используем неделю как единицу, а эксперимент открыт как минимум на 1-2 недели.
Q: Есть ли у A/B-тестирования возможность автоматически атрибутировать экспериментальные результаты, чтобы помочь пользователям напрямую определить, почему экспериментальные результаты оказались хорошими или плохими?
A: некоторые из интеллектуальных исследований, упомянутых выше, будут полезны для автоматической атрибуции, но еще один важный момент автоматической атрибуции заключается в том, что причина, по которой экспериментальные данные A / B-тестирования могут потребовать большого количества бизнес-знаний или может быть выведено очень мощное построение индикатора. .
Q: При таком количестве экспериментов как обеспечить ортогональность экспериментов?
A: Мы обеспечиваем квадратуру посредством большого количества экспериментов по моделированию и самопроверки системного мониторинга.Как только данные превысят порог, мы вовремя скорректируем их.