В корзине пользователь может добавлять товар и менять количество. Какой дизайн event taxonomy обычно удобнее для аналитики и контроля data quality?
AЛогировать атомарные события вроде
cart_item_added и cart_item_removed с properties={'cart_id': 'c1', 'product_id': 'p7', 'quantity_delta': 1}.BЛогировать только
cart_updated и передавать в properties всю корзину как большой текст.CЛогировать только
button_click на плюс/минус без product_id.DЛогировать
cart_state раз в день и не логировать действия пользователя.Правильный ответ. Атомарные события с понятными
properties проще валидировать и использовать в воронках, чем огромные снимки состояния.Разбор
События с quantity_delta позволяют считать добавления, удаления и итоговые количества без тяжёлых парсингов. Их проще контролировать через invariants: обязательные поля, разумные диапазоны, отсутствие пустых идентификаторов. Полный снимок корзины текстом ухудшает logging, усложняет джойны и может ломаться при изменениях формата. Для аналитики пути пользователя атомарные события обычно дают более прозрачную картину.
Проверь себя · 1/3разбор после ответа
Вы описываете
event taxonomy для purchase_succeeded. Как лучше хранить сумму покупки в properties, чтобы избежать проблем data quality при агрегациях?Ещё вопросы по теме «Инструментация и качество данных»
- Вы проектируете `event taxonomy` для регистрации. Какой вариант `instrumentation` лучше всего подходит, чтобы считать конверсию в успешную регистрацию и понимать, через какой способ вошли?
- Вы хотите логировать применение фильтров в каталоге. Какой вариант лучше для `event taxonomy` и последующей аналитики?
- Вы настраиваете мониторинг `data quality` для платёжного флоу. Какой набор `invariants` наиболее практичен и устойчив к сезонности?
- После обновления SDK вы видите, что сумма по `purchase_succeeded` выросла почти в 2 раза, но платежный провайдер этого не подтверждает. Что наиболее вероятно и какое действие по `data quality` самое уместное?
- В мобильном приложении события могут копиться офлайн и отправляться позже. Какие поля времени лучше заложить в `logging`, чтобы корректно строить `user journey` и контролировать задержки?
- Все вопросы по «Инструментация и качество данных» →