Вы подозреваете duplicates в событиях из-за ретраев. Какой sanity check самый прямой?
AПосчитать долю повторов
event_id: count(event_id) / count_distinct(event_id) и проверить, выросла ли онаBПосмотреть только сумму выручки и игнорировать количество событий
CСравнить только недельное среднее и не анализировать распределения
DПерезаписать таблицу без проверки уникальности, чтобы «обновить данные»
Правильный ответ. Проверка уникальности
event_id напрямую ловит duplicates и дает понятный сигнал качества.Разбор
Если event_id должен быть уникальным, то отношение count(event_id) / count_distinct(event_id) должно быть близко к 1. Рост этого показателя означает массовые повторы, часто из-за ретраев или повторной обработки. Далее полезно посмотреть, одинаков ли payload у дублей и есть ли кластеры по ingest_time.
Проверь себя · 1/3разбор после ответа
Вчера число событий
purchase выросло в 2 раза, но число уникальных order_id почти не изменилось. Какой источник проблемы наиболее вероятен?Ещё вопросы по теме «Качество данных и инварианты»
- В ежедневном дашборде `DAU` и количество событий резко упали начиная с 02:00 и остаются низкими до конца дня. Что проверить первым, чтобы быстро понять, это `missing data` или реальный бизнес-эффект?
- Какой `invariant` наиболее уместно добавить в ежедневный отчет по воронке e-commerce, чтобы ловить ошибки данных?
- Выручка по событиям в продуктовой витрине на 5 процентов выше, чем в платежной системе за тот же день. Что логичнее всего проверить первым в рамках `reconciliation`?
- Вчера число событий `purchase` выросло в 2 раза, но число уникальных `order_id` почти не изменилось. Какой источник проблемы наиболее вероятен?
- Метрики за понедельник резко просели, а за вторник резко выросли, при этом сумма за 2 дня почти не изменилась. Какой `sanity check` лучше всего указывает на `time shift`?
- Все вопросы по «Качество данных и инварианты» →