В корзине пользователь может добавлять товар и менять количество. Какой дизайн 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 при агрегациях?
Тренировать продукт в Telegram

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