Если в офлайн A/B вы выбрали не ту единицу рандомизации, цифры будут “красивыми”, но неправильными.
Классика: запускаем новый скрипт для курьеров или новую выкладку в магазинах, делим “как-нибудь” (по курьерам, по сменам, по точкам), а потом удивляемся: эффект то есть, то пропал, то в разных разрезах противоречит сам себе. Цена ошибки простая: вы принимаете продуктовые решения на шуме и перетекании, а не на причинном эффекте.
Механика почти всегда одна: интерференция. Когда один объект в контроле может получить часть воздействия из теста, или наоборот. Курьеры подменяют друг друга, заказы перекидываются, клиенты ходят в соседний магазин, район обслуживается несколькими точками, промо видно всем, а вы продолжаете делать вид, что группы “независимы”.
Дерево решений в голове такое: рандомизируй там, где можно удержать воздействие внутри единицы и где реальная “единица принятия решения” не смешивается между группами.
Минимальный стандарт перед запуском:
- Определи, кто реально “получает” изменение. Клиент, заказ, магазин, курьер, район. Не по оргструктуре, а по факту экспозиции.
- Проверь маршруты перетекания: перекидка заказов, замены курьеров, миграция клиентов между точками, общие витрины/колл-центр/склады, единые алгоритмы распределения.
- Если есть общие ресурсы или постоянные пересечения, поднимай уровень кластера: курьер не держит воздействие — иди в смену/станцию; магазин не держит — иди в район/гео.
- Сделай “буфер” там, где люди перемещаются: соседние районы и точки часто заражают друг друга. Либо исключай пограничные зоны, либо рандомизируй более крупные гео-блоки.
- До старта проверь инварианты и загрязнение: доля экспозиций “не в своей группе”, стабильность базовых метрик, совпадение состава заказов/клиентов/времени суток между группами.
В правильной практике единица рандомизации выбирается не по удобству, а по тому, где вы можете честно сказать: контроль не видит лечение. А если без перетекания никак, это уже не “обычный A/B”, а дизайн с учетом spillover: switchback по времени, geo-эксперимент, stepped-wedge. Обычно спорят про статистику, но ломается всё раньше — на выборе единицы.