Текст: Чжан Либинь
Данная статья является оригинальной, просьба указывать автора и источник для перепечатки
задний план
С быстрым развитием бизнеса Hujiang все больше и больше операторов продуктов начали обращать внимание на усовершенствованные методы работы, основанные на данных, ожидая дальнейшего роста пользователей, конверсии заказов и доходов за счет усовершенствованных операций в Красном море, в то время как A/ B-тестирование — эффективный и усовершенствованный метод работы.
Идеи дизайна
Чтобы понять экспериментальную платформу, мы должны сначала понять два элемента эксперимента:
-
Трафик. Трафик – это посещение сайта пользователем и образец источника эксперимента.
-
Параметры: или называемые экспериментальными переменными, в эксперименте может быть несколько стратегий или моделей, которые необходимо сравнивать в режиме онлайн.Эти стратегии или модели называются экспериментальными параметрами.
Для того, чтобы итерировать продукт быстрее, обычно продукт или операция требуют одновременного выполнения N экспериментов.Если разные эксперименты не мешают друг другу для одного и того же трафика, каждый эксперимент может получить 100% трафика. В ответ на это иерархическая модель экспериментальной платформы, которую мы разработали, опирается на документ Google «Пересекающиеся эксперименты: больше, лучше, быстрее», Перекрывающаяся инфраструктура экспериментов: больше, лучше, быстрее экспериментов.
-
Подробнее: Нам нужна масштабируемость для одновременного запуска нескольких экспериментов. Но также необходимо учитывать гибкость: разные эксперименты требуют разных конфигураций и разных потоков для измерения статистической значимости эксперимента. В некоторых экспериментах необходимо изменить только подмножество трафика, например, только трафик для Японии, и необходимо использовать разумный масштаб трафика.
-
Лучше: нельзя допускать необоснованных экспериментов с онлайн-трафиком. Эксперименты с плохими данными метрик следует быстро выявлять и останавливать.
-
Быстрее: сможете легко и быстро настроить эксперимент. Настолько просто, что даже не инженер может провести эксперимент без написания кода. Показатели оценки должны быть быстро рассчитаны для принятия решения. Кроме того, экспериментальная система не только поддерживает эксперименты, но и может быстро уменьшаться и расширяться. Быстрее также отражается в значительной производительности экспериментальных результатов.Чем быстрее представление, тем нам нужно достаточное количество образцов.
Чтобы одновременно провести больше экспериментов и реализовать мультиплексирование трафика, после рассмотрения мы приняли следующую многоуровневую модель:
Существует три ключевых концепции иерархических моделей:
-
Домен (домен) относится к разделению трафика.Первое, что нужно сделать, когда приходит трафик, это разделить домен.
-
Слой — это подмножество параметров системы.
-
Эксперимент — это процесс, состоящий из нескольких параметров политики, и конечный пользователь будет использовать только один из них.
Вышеупомянутая многоуровневая модель сначала делит трафик на два домена, только один одноуровневый (неперекрывающийся домен) и один перекрывающийся домен с тремя уровнями, и в этом случае каждый запрос должен быть неперекрывающимся или перекрывающимся доменом. Запрос может быть только одним из непересекающихся доменов или перекрывающихся доменов.
Если запрос находится в перекрывающемся домене, запрос находится не более чем в одном эксперименте (этот эксперимент может изменить значение любого параметра в наборе параметров), а если запрос находится в перекрывающемся домене, запрос находится не более чем в трех экспериментах. эксперименты, по одному эксперименту на слой. Трафик перераспределяется на каждом уровне. Причем для каждого эксперимента можно использовать только параметры соответствующего слоя.
Основная идея этой иерархической модели заключается в следующем:
-
Параметры политики одного и того же эксперимента находятся на одном уровне;
-
Независимые параметры стратегии принадлежат разным экспериментальным слоям;
-
Независимое разделение трафика и независимые эксперименты проводятся между разными экспериментальными слоями, которые не влияют друг на друга.
Приведенный выше перекрывающийся домен представляет собой трехуровневый эксперимент.Первый слой слоя пользовательского интерфейса имеет три экспериментальных параметра: красный, синий и зеленый. После настройки параметров и их потока на экспериментальной платформе мы выделим в общей сложности 100 сегментов на интервалы сегментов трех параметров, соответствующие интервалы сегментов: 0-79, 80-89, 90-99. Следующий слой результатов поиска, слой результатов рекламы и так далее.
Когда трафик приходит, экспериментальная разгрузка разгрузки будет использовать разные идентификаторы пользователей для выгрузки HASH в соответствии с разными терминалами. Интернет-бока использует cookieid, сторона приложения использует идентификатор устройства, а сторона апплета использует OpenID в качестве уникального идентификатора. При разделите трафик конкретно, чтобы реализовать ортогональность отдела трафика между экспериментальными слоями, идентификационная информация о трафике и идентификация эксперимента используются для разделения экспериментальных ковров трафика. Соль идентификации эксперимента называется дискретному фактору. Такие как разделение трафика на основе идентификатора пользователя (UID):
Конечно, для облегчения внутреннего тестирования и т. д. мы также внедрили функцию белого списка. Операции или продукты могут настроить пользователя так, чтобы он выбирал определенный экспериментальный параметр в фоновом режиме.
При выполнении онлайн-теста ab нам часто нужно расширить или сузить поток для определенного экспериментального параметра, например, трех экспериментальных параметров A, B и C. Онлайн-данные показали, что индекс A является относительно лучшим. количество С будет постепенно увеличиваться, а остальные соответственно уменьшаться.
Предположим, что есть три экспериментальных параметра A, B и C. Предполагая, что общий размер ведра равен 100, начальный поток A, B и C равен: 80%, 10% и 10%. Если предположить, что C расширяет 10% трафика до 20%, есть вероятность, что распределение трафика после переключения будет следующим:
экспериментальная переменная | A | B | C |
---|---|---|---|
Интервал ковша перед переключением | 0-79 | 80-89 | 90-99 |
Интервал ковша после переключения | 0-74 | 75-79 | 80-99 |
После переключения все группы пользователей, охватываемые A, B и C, изменились, а A и B сократились соответственно на 5 %. C переключается с A на 10%, что может свести к минимуму изменения охваченной совокупности пользователей, участвующих в эксперименте, тем самым гарантируя, что экспериментальные данные будут более научными. В ответ на это мы разработали набор алгоритмов, которые могут обеспечить как можно меньшие изменения при настройке трафика и перемещать как можно меньше групп пользователей.
Архитектура экспериментальной платформы
В настоящее время экспериментальная платформа Hujiang в основном включает следующие четыре функциональных модуля:
-
Управление экспериментами: позволяет пользователям настраивать эксперименты и управлять ими.
-
Управление трафиком: назначьте конфигурации трафика экспериментальным параметрам.
-
Сбор данных: клиент сообщает данные и, наконец, попадает в кластер Hadoop отдела бизнес-аналитики.
-
Анализ данных: анализ представленных данных, расчет доверительного интервала и т. д. и, наконец, отображение в виде отчета.
Общая структура примерно следующая:
-
Продукт или разработка настраивает экспериментальную схему и распределение трафика через экспериментальную консоль АБ, при этом конфигурация хранится на складе.
-
При запуске службы разгрузки AB экспериментальная конфигурация сначала извлекается из БД и загружается в память.Если экспериментальная конфигурация изменяется, служба разгрузки AB будет периодически извлекать информацию о конфигурации из БД.
-
Деловая сторона запрашивает службу разгрузки AB для получения политики разгрузки.
-
Бизнес-сторона передает управленческие данные в BI
-
Платформа отчетов AB считывает индикаторы данных BI в автономном режиме или статистику в реальном времени и выполняет проверку значения P и вычисление доверительного интервала.
Экспериментальный индикатор
Сейчас мы охватываем общие показатели Hujiang, преобразования заказов, сохраняющихся (на следующий день сохранены, трехдневное удержание, семидневное сохранение и т. Д.), Нажмите на скорость преобразования и других основных индикаторов. Эти индикаторы должны только настроить (как показано на следующем рисунке ниже), и T + 1 автоматически генерирует отчеты индикатора.
Пример конфигурации экспериментального индикатора выглядит следующим образом:
Пример сохраненных данных бизнеса выглядит следующим образом:
Для экспериментальных показателей мы не только даем среднее значение и дневной тренд, но также даем доверительный интервал и уровень достоверности контрольной версии для двух и более версий. Так что же такое доверительный интервал? На самом деле это связано с научным характером экспериментальных данных.
экспериментальная наука
Предположим, что данные о кликах AB-теста, оптимизированного бизнес-алгоритмом, выглядят следующим образом:
экспериментальная переменная | CTR | UV |
---|---|---|
algo1 | 0.35 | 230111 |
algo2 | 0.34 | 229136 |
Чисто численно CTR algo1 равен 0,35, а CTR algo2 — 0,34. Значит ли это, что эффект алго1 лучше, чем у алго2?Это не обязательно так.Эксперимент проводится методом выборки.Размер выборки и некоторые случайные факторы,такие как данные определенного дня,алго1 намного выше, чем у algo2, в результате чего среднее значение немного ниже, чем у algo2. Поэтому нам нужен набор научных статистических методов для сравнения преимуществ и недостатков двух версий. Теперь мы используем тест P-значения и доверительный интервал, чтобы оценить плюсы и минусы программы.
P-значение (тест P-значения)
Прежде всего, чтобы понять тест значения P, нам сначала нужно понять гипотетический эксперимент, В экспериментальном процессе есть две гипотезы.
-
Нулевая гипотеза: гипотеза, которую мы надеемся опровергнуть с помощью экспериментальных результатов, например, две версии существенно не отличаются.
-
Альтернативная гипотеза: гипотеза, которую мы хотим проверить с помощью экспериментальных результатов, например, две версии значительно различаются.
Тест P-значения — это вероятность получения данных, согласующихся с наблюдаемыми данными или более экстремальных, при условии, что нулевая гипотеза верна. Чем меньше p-значение, тем менее верна нулевая гипотеза, потому что вероятность слишком мала. Предполагая, что значение P равно 0,04, это означает, что если нулевая гипотеза верна, вероятность того, что мы получим наблюдаемые данные выборки посредством выборки, составляет всего 4%.В настоящее время у нас есть основания опровергнуть нулевую гипотезу и выбрать альтернативу гипотеза.
Обычно в статистике существует значение вероятности α, также известное как уровень значимости.Когда значение P меньше α, нулевая гипотеза может быть опровергнута и выбрана альтернативная гипотеза. α можно выбрать равным 0,05, 0,1 и т. д. Мы выбрали наиболее часто используемый 0,05.
Согласно центральной предельной теореме, когда размер выборки достигает определенного размера, среднее значение большого числа независимых случайных величин будет сходиться к нормальному распределению после надлежащей стандартизации:
Из-за большого размера выборки мы можем использовать Z-тест. В качестве альтернативы, для небольших выборок мы можем полагаться на t-критерий. Обычно мы получаем значение P из значения Z. Формула расчета теста AB для расчета значения Z:
После вычисления значения Z мы можем запросить соответствующее значение P в соответствии с таблицей значений Z нормального распределения.
доверительный интервал
Концепция доверительного интервала
Доверительный интервал — это средний диапазон выборки, используемый для оценки параметра совокупности вероятностной выборки.Он показывает вероятность того, что средний диапазон содержит параметр совокупности.Эта вероятность называется доверительным уровнем.
Уровень достоверности представляет надежность оценки, и в целом мы используем уровень достоверности 95% для интервальных оценок.
Значение доверительных интервалов в A/B-тестировании
После проведения эксперимента в течение определенного периода времени, если верхняя и нижняя границы доверительного интервала положительны, это означает, что результаты эксперимента статистически значимы, а экспериментальная версия лучше, чем контрольная версия; если обе отрицательные, результаты эксперимента также статистически значимы, но экспериментальный вариант уступает контрольному варианту, если доверительный интервал равен одному положительному и одному отрицательному, это означает, что различия между вариантами незначительны.
На рисунке выше из индикатора данных ab, который мы сделали для определенного мини-программного продукта компании о влиянии ответа на вопрос на уровень удержания пользователей, доверительный интервал для отсутствия ответа на вопрос составляет [-55,78%, -8,97%]. Эти данные показывают, что версия без вопроса не так хороша, как версия с вопросом, и с вероятностью 95% разница составляет от 55,78% до 8,97%.
Как рассчитать доверительные интервалы
Из ценности Z рассчитывается ранее, а затем в соответствии со средним уровнем отклонения и размер выборки двух популяций, следующая формула может использоваться для получения доверительного интервала 95% для разницы между двумя средством населения.
Значения Z, полученные в результате предыдущего расчета, затем в соответствии со средним значением двух популяций, стандартным отклонением и размером выборки, чтобы определить разницу между двумя средними популяциями в 95% доверительном интервале, используя следующее уравнение.
Из формулы, если вы хотите сузить диапазон доверительного интервала, вы можете выполнить тест AB, увеличив размер выборки.
Суммировать
-
ABTest фокусируется на сравнении данных индикаторов разных схем, и должны быть четкие различия в идеях продукта при разработке разных схем.
-
При отслеживании индикаторов также необходимо разработать основные четкие индикаторы для отслеживания.
-
Что касается сбора данных, постарайтесь разработать идеальный механизм отслеживания для каждой ссылки, чтобы облегчить последующий анализ различий между старой и новой версиями.
использованная литература
-
Краеугольный камень документа многоуровневой экспериментальной платформы Google: https://static.googleusercontent.com/media/research.google.com/zh-CN//pubs/archive/36500.pdf
-
Расчет доверительного интервала AB онлайн: https://abtestguide.com/calc/
-
Доверительные интервалы: https://onlinecourses.science.psu.edu/statprogram/reviewofbasic_statistics/
-
Тест P-значения: https://www.statsdirect.com/help/basics/p_values.htm
Рекомендуемое чтение
От SQL Server к MySQL (2): онлайн-миграция, смена беспроводного движка
Деконструкция: технология человеко-машинного общения, стоящая за звонками Google
Понимать принцип последовательного неблокирующего чтения MySQL.
Вы действительно понимаете A/B-тестирование? (начальство)