Вы логируете событие experiment_exposure для A/B тестов. Какой invariants наиболее полезен для контроля data quality?

AДля пары user_id + experiment_id не должно быть разных значений variant, а в событии должны быть заполнены experiment_id и variant из списка допустимых.
BРаспределение вариантов должно быть ровно 50/50 каждый день, иначе данные неверные.
Cexperiment_exposure можно не логировать, достаточно смотреть метрики результата.
DСобытие нужно отправлять как можно чаще при каждом открытии экрана, даже если вариант не меняется.
Правильный ответ. Инварианты для experiment_exposure должны ловить противоречия в назначении варианта и обязательные поля, а не требовать идеальной пропорции.

Разбор

Равномерность распределения может колебаться из-за сегментации и рандомизации, поэтому это плохой жёсткий инвариант. Гораздо важнее, чтобы один пользователь не попадал в разные варианты одного эксперимента, иначе нарушается корректность интерпретации. Обязательные свойства и допустимые значения позволяют быстро ловить баги в logging. Частые повторные экспозиции могут раздуть события и усложнить дедупликацию, поэтому их нужно контролировать.

Проверь себя · 1/3разбор после ответа
Вы описываете event taxonomy для purchase_succeeded. Как лучше хранить сумму покупки в properties, чтобы избежать проблем data quality при агрегациях?
Тренировать продукт в Telegram

Ещё вопросы по теме «Инструментация и качество данных»