Вы логируете событие experiment_exposure для A/B-тестов. Какой инвариант наиболее полезен для контроля качества данных?
AРаспределение вариантов должно быть строго 50/50 каждый день, иначе данные
experiment_exposure некорректныBОдин пользователь за время эксперимента должен получать ровно один вариант, а ключевые поля
experiment_exposure обязаны быть заполненыCСобытие
experiment_exposure отправляется при каждом открытии экрана: чем больше отправок, тем точнее доли вариантовDСобытие
experiment_exposure логируется только при первом запуске приложения и далее не повторяется в течение всего экспериментаПравильный ответ. Инварианты для
experiment_exposure должны ловить противоречия в назначении варианта и обязательные поля, а не требовать идеальной пропорции.Разбор
Главный инвариант данных эксперимента — стабильность присвоения варианта на пользователя: один и тот же user_id не должен встречаться в логе с двумя разными значениями variant. Это ловит баги рандомизации, кросс-девайс склейки и кеширования. Заполненность ключевых полей (experiment_id, variant, user_id) проверяется параллельно. Жёсткое требование 50/50 каждый день нереалистично — небольшие SRM на коротких окнах нормальны. Отправка при каждом открытии экрана раздувает объём, а отправка только при первом запуске теряет переназначения и долгосрочные эксперименты.
Ещё вопросы по теме «Инструментация и качество данных»
- Вы проектируете схему событий для регистрации. Какой вариант сбора событий лучше всего подходит, чтобы считать конверсию в успешную регистрацию и понимать, через какой способ вошли?
- Вы хотите логировать применение фильтров в каталоге. Какой вариант лучше для таксономии событий и последующей аналитики?
- Вы настраиваете мониторинг качества данных для платёжного флоу. Какой набор проверок согласованности наиболее практичен и устойчив к сезонности?
- После обновления SDK сумма по `purchase_succeeded` выросла почти в 2 раза, но платёжный провайдер этого не подтверждает. Что наиболее вероятно и какое действие по качеству данных самое уместное?
- В мобильном приложении события могут копиться офлайн и отправляться позже. Какие поля времени лучше заложить в логирование, чтобы корректно строить путь пользователя и контролировать задержки?
- Все вопросы по «Инструментация и качество данных» →