Какой санити-чек лучше всего подходит для свойства currency в событиях покупок с точки зрения invariants и data quality?
AПроверять, что
currency всегда равно 'RUB', иначе это ошибка данных.BРазрешить любые значения
currency, чтобы logging никогда не ломался.CУдалить
currency и хранить только amount_minor.DПроверять, что
currency не пустое и входит в список допустимых кодов; алертить на новые или неожиданные значения.Правильный ответ. Инвариант для перечислимого поля должен проверять не пустоту и допустимый набор значений, иначе ошибки будут скрыты.
Разбор
Жёстко фиксировать одну валюту нельзя, если продукт международный или планы могут измениться. Разрешать любые значения тоже опасно: опечатки и разные форматы начнут «размножаться» и ломать отчёты. Проверка допустимых кодов даёт ранний сигнал о баге instrumentation или о новом бизнес-кейсе, который нужно поддержать. Это простой, но очень эффективный контроль data quality.
Проверь себя · 1/3разбор после ответа
В мобильном приложении события могут копиться офлайн и отправляться позже. Какие поля времени лучше заложить в
logging, чтобы корректно строить user journey и контролировать задержки?Ещё вопросы по теме «Инструментация и качество данных»
- Вы проектируете `event taxonomy` для регистрации. Какой вариант `instrumentation` лучше всего подходит, чтобы считать конверсию в успешную регистрацию и понимать, через какой способ вошли?
- Вы хотите логировать применение фильтров в каталоге. Какой вариант лучше для `event taxonomy` и последующей аналитики?
- Вы настраиваете мониторинг `data quality` для платёжного флоу. Какой набор `invariants` наиболее практичен и устойчив к сезонности?
- После обновления SDK вы видите, что сумма по `purchase_succeeded` выросла почти в 2 раза, но платежный провайдер этого не подтверждает. Что наиболее вероятно и какое действие по `data quality` самое уместное?
- В мобильном приложении события могут копиться офлайн и отправляться позже. Какие поля времени лучше заложить в `logging`, чтобы корректно строить `user journey` и контролировать задержки?
- Все вопросы по «Инструментация и качество данных» →