🔵Предлагаю вам взглянуть на новый пейпер про подход с ARMA-Design сразу от нескольких международных университетов.
Есть допущение, которое большинство A/B платформ делают молча: юниты независимы. В маркетплейсах это почти никогда не так.
Проблема
Когда тестируется алгоритм выдачи заказов в ride-tech-продуктах (например, в Uber или DoorDash), эффект не исчезает в момент назначения заказа. Водитель оказался в другом районе и он, вероятно, возьмёт или не возьмёт следующий заказ через час. Это так называемый carryover-эффект: воздействие сегодня меняет состояние системы завтра.
Стандартный switchback это частично решает, но молча предполагает, что данные «марковские». Авторы проверили это на реальных данных из двух городов и заметили, что PACF остатков дохода водителей показал значимые лаги 5-го, 6-го порядка. Иначе говорят это не марков.
Что предлагают авторы
Данные экспериментов моделируются через контролируемую VARMA-модель. AR-часть ловит carryover, MA-часть компенсирует то, что вы не наблюдаете в состоянии системы. После этого задача дизайна эксперимента формулируется как: найди последовательность назначений групп A/B, которая минимизирует дисперсию оценки ATE.
Это решается двумя способами: constrained optimization и RL. Оба смотрят на всю историю назначений, а не только на текущий период. Сравнивали с тремя базовыми дизайнами — alternating-day, uniform random, switchback.
— Alternating-day: по сути чередование между днями в гео-локе, A в понедельник, B во вторник, A в среду...
— Uniform random: в каждом периоде бросаем монетку
— Switchback с фиксированным окном
Все три показывают плохие результаты.
Когда это реально нужно
Если тестируете что-то, что меняет состояние маркетплейса — dispatch-алгоритмы, pricing, балансировку supply/demand — и эксперимент короткий при слабом сигнале (допустим, ATE 0.5–2%). Switchback не спасает, если проблема в частичной наблюдаемости.
От себя
Switchback стал стандартом для маркетплейсов, и это шаг вперёд. Но он не решает проблему, о которой говорится в пейпере, что часть состояния системы просто не записывается. Прогнать PACF на остатках ваших операционных метрик до начала дизайна эксперимента — это достаточно простая проверка, которую мало кто делает. Если увидите значимые лаги 4+, switchback с фиксированным окном уже не будет подходить для ваших A/B.
Если есть мысли, пишите в комментах.
Trisigma — канал про A/B-тестирование
#trisigma