Часть пользователей не авторизована, и вы используете device_id для разбивки на группы, а после логина появляется user_id. Что лучше сделать, чтобы один человек не увидел оба варианта при переходе в авторизованное состояние?

AНичего не делать: смена варианта при логине не влияет на результаты, потому что метрика всё равно считается на уровне пользователя
BНазначать вариант случайно по часу суток входа в приложение, тогда логин не влияет на принадлежность к группе и эксперимент сохраняет балансировку
CКаждый раз пересчитывать вариант от user_id после логина и игнорировать прошлый вариант на device_id, чтобы все события писались под новым идентификатором
DСвязать device_id и user_id в единый идентификатор и закрепить вариант при первом известном идентификаторе, чтобы вариант не менялся при логине пользователя
Правильный ответ. В цепочках идентификаторов важно обеспечить стабильность назначения варианта при смене идентификатора, иначе появляется загрязнение групп.

Разбор

Если до логина пользователь в одном варианте, а после логина автоматически попадает в другой, то опыт становится смешанным. Это особенно критично для метрик с окном в несколько дней и для сценариев, где пользователь логинится часто. Практика — хранить закреплённое назначение и переносить его при объединении device_id с user_id. Так разбивка на группы остаётся стабильной для одного человека.

Проверь себя · 1/3разбор после ответа
Есть два фактора: новый дизайн карточки и новая логика рекомендаций. Команда хочет запустить два эксперимента одновременно на одной аудитории. В каком случае разумно выбрать факторный дизайн 2x2 вместо взаимного исключения аудиторий?
Тренировать A/B в Telegram

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