Вы тестируете новый алгоритм рекомендаций для части пользователей. В варианте treat товар распродается быстрее, из-за чего пользователи из control чаще видят сообщение «Нет в наличии». Как лучше всего описать эту проблему?

AЭто SRM (Sample Ratio Mismatch), потому что распределение по группам стало не 50/50
BЭто нормальный шум, который всегда есть в экспериментах
CЭто interference и нарушение SUTVA (Stable Unit Treatment Value Assumption) из-за общего инвентаря, который связывает результаты разных пользователей
DЭто обязательно означает, что hash() работает неправильно
Правильный ответ. Общий ресурс (инвентарь, очередь, кэш) может создавать spillover, из-за чего исход в control зависит от назначения treat.

Разбор

Когда есть общий инвентарь, действия пользователей из treat меняют среду для control, например через ситуации, когда товар заканчивается (out-of-stock). Тогда разница между группами отражает не только изменение интерфейса или алгоритма, но и косвенные эффекты через ресурс. Это нарушает предпосылку независимости исходов и может как завышать, так и занижать оценку эффекта. Возможные решения — менять unit of randomization (единица рандомизации) (например, по категории или складу) или использовать дизайн, который минимизирует конкуренцию между вариантами.

Проверь себя · 1/3разбор после ответа
Почему назначение варианта как variant = random.choice([0, 1]) при каждом запросе пользователя — плохая идея для A/B теста?
Тренировать A/B в Telegram

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