Автор: Дерек Чжао и Дхананджай Сатхе.

Хотя A/B-тесты по праву считаются золотым стандартом причинно-следственной связи, они также могут быть дорогостоящими. Типичный эксперимент по ранжированию занимает много недель. Это не было бы большой проблемой, если бы у нас было всего несколько идей, чтобы попробовать, но ранкеры Thumbtack основаны на моделях машинного обучения, которые можно улучшить за счет любой комбинации новых функций, архитектур моделей и/или методов обучения. Другими словами, существует огромное количество потенциальных улучшений, которые нужно оценить, и с одним лишь A/B-тестированием у нас нет времени на систематическое его изучение. Вот почему мы обратились к экспериментальному методу под названием чередование, который ускоряет наши тесты до 100 раз по сравнению с A/B-тестированием. Чередование специально предназначено для ускорения экспериментов с ранжированными списками за счет быстрого определения лучшего из двух возможных ранжирований, что позволяет нам оценивать гораздо больше идей ранжирования за гораздо более короткий период времени.

Как работает чередование

Чтобы оценить влияние нового ранжировщика в тесте A/B, мы случайным образом разделили потребителей Thumbtack на контрольную группу, которая видит упорядоченные результаты поиска, сгенерированные нашим существующим производственным ранжировщиком, и экспериментальную группу, которая видит упорядоченные результаты поиска, сгенерированные новым ранжировщиком. Затем мы проводим тест гипотезы, чтобы проверить, есть ли статистически значимая разница в вовлеченности (например, в количестве кликов) между контрольной и экспериментальной группами. Напротив, тест с чередованием не разделяет потребителей на отдельные группы, а скорее предоставляет объединенный список результатов поиска из контрольного и лечебного ранжировщиков, перемежающихся вместе.

Чередующийся список состоит из раундов, в каждом из которых ответственный за контроль и лечебный рейтинг каждый представляет своего специалиста с наивысшим рейтингом, которого еще нет в чередующемся списке [1]. Если оба рейтинга выбирают одного и того же профессионала в раунде, то один из рейтингеров должен перейти к следующему профессионалу с самым высоким рейтингом. Подбрасывание монеты в начале каждого раунда определяет, кто первым отправит своего специалиста в чередующийся список; эта часть рандомизации смягчает влияние предвзятости позиции, вызванной тем, что потребители с большей вероятностью будут связываться с профессионалами, которые занимают более высокое место в списке (в отличие от альтернативы, когда один ранжировщик всегда выбирается первым в каждом раунде).

Вместо того, чтобы подсчитывать разницу в вовлеченности между контрольной и лечебной группами (такие группы не существуют в тесте с чередованием), мы вместо этого изучаем, какая доля контактировавших специалистов была перемежена из ранжирования лечения. Эта пропорция называется сигналом предпочтения; сигнал предпочтения выше 0,5 указывает на то, что профессионалы, рекомендованные оценщиком лечения, были более предпочтительными, чем оценщик контрольного ранжирования. Чтобы определить, статистически значимо ли сигнал предпочтения отличается от 0,5, мы просто выполняем одновыборочный Z-тест пропорций.

Почему чередование работает

Вышеприведенное описывает, как чередование работает механически, но не дает ясного представления о том, почему этот процесс работает намного быстрее, чем A/B-тестирование. Есть три причины, которые могут помочь развить интуицию в отношении того, почему чередование так многообещающе.

Причина 1: тесты с 1 выборкой быстрее, чем тесты с 2 выборками

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

Причина 2: удвоить выборку для оценки одного распределения

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

Причина 3: более сильные сигналы от принуждения к выбору

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

  1. Потребители, которые связались бы со специалистом, если бы им показали список из контрольного рейтинга, но не рейтинга лечения. Мы предполагаем, что эти потребители отдадут подавляющее предпочтение контрольному ранжировщику, когда им будет показан чередующийся список.
  2. Потребители, которые связались бы со специалистом, если бы им показали список из рейтинга лечения, но не рейтинга контроля. Мы предполагаем, что эти потребители отдадут подавляющее предпочтение ранжировщику лечения, когда им будет показан чередующийся список.
  3. Потребители, которые не обратились бы к профессионалу из любого списка. Мы предполагаем, что эти потребители не будут вступать в контакты в чередующемся списке и, таким образом, не будут влиять на сигнал предпочтения чередования.
  4. Потребители, которые обратились бы к профессионалу из любого списка. Мы предполагаем, что эти потребители также будут устанавливать контакты в чередующемся списке.

Одно из ключевых предположений о чередовании состоит в том, что пользователи в этом четвертом сегменте существуют и что их предпочтения в конечном итоге позволяют предсказать, какой ранжировщик покажет лучшие результаты в A/B-тестировании. Когда это предположение верно, чередование извлекает дополнительный сигнал о пользовательских предпочтениях, чего не может дать A/B-тест, а более сильные сигналы (т. е. большие размеры эффекта) требуют меньшего количества выборок для мощности.

Проверка и результаты

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

1. Проверьте, согласуются ли результаты чередования с результатами A/B-тестирования.

2. Оцените, насколько чувствительнее чередование по сравнению с нашими A/B-тестами.

В рамках этого плана проверки мы также провели тест чередования A/A, в котором мы чередуем контрольный ранжировщик против самого себя, чтобы убедиться, что наша структура чередования и последующий анализ были правильно реализованы и что мы не вносим непреднамеренных предубеждений. Результаты проверки приведены ниже и показывают, что чередование дает направленно согласованные результаты с результатами наших A/B-тестов. Напомним, что значения сигнала предпочтения больше 0,5 указывают на предпочтение средства ранжирования лечения, а значения сигнала предпочтения меньше 0,5 указывают на предпочтение средства ранжирования управления.

Затем мы провели бутстрап-анализ, чтобы оценить, какое усиление чувствительности обеспечивает чередование. Мы провели 1000 смоделированных экспериментов для каждого размера бутстрепной выборки, и для каждого набора из 1000 симуляций мы рассчитали долю смоделированных результатов, которые правильно определяют более сильное ранжирование (т. е. уровень согласия). Приведенные ниже результаты взяты из бутстрап-анализа, в котором прошлое ранжирование 2 было лечением. Они показывают, что для этого конкретного эксперимента чередование требует всего около 400 выборок для достижения 90-процентной степени совпадения, в то время как тест A/B требует ~ 40 000 выборок для достижения того же результата, т. е. 100-кратного повышения эффективности выборки.

Хотя нас в первую очередь интересовали сигналы предпочтения чередующихся тестов, сами чередующиеся списки также имеют показатели вовлеченности, такие как рейтинг кликов. Мы заметили, что вовлечение чередующихся списков искажается гораздо ближе к более сильному ранжировщику в тесте чередования. Это приятный сюрприз; если ранжировщик лечения сильнее в тесте с чередованием, мы пожинаем плоды ранкера лечения, а если ранжировщик лечения слабее, его негативное влияние сводится к минимуму при запуске теста в производственной среде на живом трафике.

Заключение

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

Важно отметить, что, хотя чередование может быть в 100 раз быстрее, чем A/B-тесты, при определении более сильного рейтинга, оно не является прямой заменой A/B-тестирования, поскольку сигналы предпочтений, измеренные с помощью чередования, трудно заменить такими показателями, как компания. KPI, которые обеспечивают A/B-тесты. Тем не менее, чередование позволяет нам тестировать гораздо больше экспериментальных ранжировщиков в производственной среде, чем мы могли бы в противном случае, и помогает нам определить наиболее многообещающие ранжировщики-кандидаты для продвижения к длительному тесту A/B.

Следующие шаги

По мере того, как мы используем чередование в нашем двухэтапном экспериментальном процессе, мы продолжим отслеживать взаимосвязь между чередованием и результатами A/B-тестирования для согласованности и получения дополнительных сведений. Что касается дальнейшего развития событий, мы считаем, что преимущества чередования будут хорошо масштабироваться для других вариантов использования продукта, таких как автоматические подсказки ключевых слов в строке поиска и рекомендации по категориям для потребителей. Мы также лишь немного коснулись того, как мы можем изменить сигнал предпочтения чередования, чтобы он мог быть применим к более широкому набору A/B-тестов и KPI. Если какие-либо из этих прошлых или будущих работ кажутся вам интересными, пожалуйста, подумайте о том, чтобы присоединиться к нашей команде!

Подтверждение

Мы безмерно благодарны за помощь многим нашим замечательным коллегам, которые сделали эту работу возможной. Мы хотели бы поблагодарить Навнит Рао и Уэйда Фуллера за поддержку и определение приоритетов этой работы, а также Ричарда Демсин-Джонса за его опыт и продуманное руководство по проведению анализа мощности для экспериментов с чередованием. Эта работа также была бы невозможна без Бхарадваджа Рамачандрана, который возглавил усилия по перепроектированию смежных систем для обеспечения чередования, Эрика Ортиса за важные улучшения в настройке конфигурации эксперимента и отслеживания данных и, наконец, Сэма Ошина и Тима Хуанга за их обширные обзоры кода. и важные инженерные советы.

Рекомендации

[1] Шапель, О., Иоахимс, Т., Радлински, Ф. и Юэ, Ю. 2012. Крупномасштабная проверка и анализ чередующейся оценки поиска. АКМ транс. Инф. Сист. 30, 1, статья 6 (февраль 2012 г.)

Дополнительное чтение

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