🔵И я к вам с новым обзором. Сегодня предлагаю взглянуть на пейпер Netflix «Evaluating Decision Rules Across Many Weak Experiments», как оценивать правила принятия решений по множеству слабых A/B‑тестов.
Проблема
Компания гоняет тысячи экспериментов, но правило «когда катить фичу» методологически прорабатывается без должного внимания. Катим, «если стат.значимо». Или «катим, если аплифт положительный». А сколько эта политика приносит в сумме по всему корпусу экспериментов, никто не считает.
Что предлагают авторы
Netflix взяли исторические эксперименты, на них применили правила «катим/не катим» по двум подходам (старый подход с вынесением вердикта по результатам и новый). Сложили по всем тестам вердикты (катим/не катим) и получили, сколько метрики каждое правило принесло бы суммарно. Хорошее правило катит больше реально плюсовых фич и меньше минусовых.
Загвоздка в том, что истинный эффект вы не знаете, у вас только замер с шумом. Наивный путь — взять замер сразу и как критерий отбора, и как размер выигрыша. Тогда вылезает winner's curse: тесты, которые выглядят лучшими, наполовину просто везучий шум, и суммарную отдачу вы завышаете сами себе.
Авторы чинят это через cross-validation. Данные каждого теста режут на две части. На одной половине правило решает «катить / не катить», на другой меряют, сколько north star реально набежало от этого решения. Отбор и подсчёт выигрыша идут по независимым данным, поэтому шум, из-за которого тест «выстрелил», больше не подкручивает оценку вверх. Так по всей истории получают честную суммарную отдачу каждого правила и сравнивают правила между собой.
Когда это реально нужно
Когда у вас много серых экспериментов и вы хотите настроить саму политику раскатки. На 123 исторических тестах Netflix новое правило дало +33% к накопленному north star против прежнего, и его в итоге внедрили. Выигрыш тут не в новом стат.методе, а в том, что порог принятия решения подобрали по реальной отдаче корпусу.
От себя
На мой взгляд, тут ловушка вот в чём: как только вы начинаете подбирать правило под свои данные, вы сами создаёте winner's curse уже на уровне корпуса. Методологически я бы страховался историческим holdout'ом и сравнением корпуса с ним, т.к. основной проблемой выбранного правила раскатки (не важно какого) является отсутствие перевалидации себя же. Можно, в принципе, тогда катить treatment всех серых тестов (и это возможно будет лучше по % выигрыша в north star, чем другое правило), но должен быть механизм перевалидации правил на эмпирических данных. Лучше holdout мне ничего в голову не пришло.
Trisigma — канал про A/B-тестирование
#trisigma