Эксперимент меняет алгоритм распределения заказов между курьерами. Курьеры обслуживают сразу нескольких пользователей, и решение для одного заказа влияет на время доставки других. Какой подход к рандомизации чаще всего лучше уменьшит interference?

AРандомизировать по user_id по всей стране
BРандомизировать по каждому заказу (request-level), чтобы было больше данных
CРандомизировать по session_id, чтобы пользователи не путались
DРандомизировать по cluster (например, по зоне или смене курьеров), чтобы взаимодействия не смешивали варианты
Правильный ответ. При сильной взаимосвязи через общие ресурсы помогает рандомизация на уровне cluster, чтобы взаимодействия оставались внутри кластеров.

Разбор

Если один курьер одновременно обслуживает treat и control, изменения в маршрутизации и очередях будут влиять на обе группы. Это приводит к spillovers и нарушению предпосылок независимости. Рандомизация по cluster, связанному с общим ресурсом (зона, смена, склад), уменьшает смешивание вариантов. Цена такого решения — меньшая статистическая мощность, потому что независимых наблюдений становится меньше.

Проверь себя · 1/3разбор после ответа
Вы делаете bucketing (разбивка пользователей на группы) как hash(user_id + day) % 2, где day — текущая дата. Что самое вероятное следствие для эксперимента?
Тренировать A/B в Telegram

Ещё вопросы по теме «Дизайн эксперимента и рандомизация»