Короткий ответ
Минимально нужно проверить полноту данных (нет пропущенных дней или каналов), согласованность форматов, отсутствие дублей и сверку итоговых сумм с исходным источником за контрольный период.
Как это работает подробнее
Полнота проверяется сравнением числа строк и дат с ожидаемым, согласованность — единообразием написания названий и единиц измерения, дубли — проверкой уникальности по ключевым полям (дата+канал+кампания), а сверка итогов — сравнением агрегированной суммы с отдельно полученным отчётом из источника. Стоит также проверять логическую согласованность чисел внутри отчёта — например, что число конверсий не превышает число кликов по тому же каналу и периоду, что может сигналить об ошибке в соединении таблиц.
Пример кода
check_daily_campaign_duplicates.sql
SELECT report_date, channel, campaign_id, COUNT(*) AS duplicate_rows
FROM unified_ads_data
GROUP BY report_date, channel, campaign_id
HAVING COUNT(*) > 1;Что использовать на практике
- Практика. На практике такой чек-лист стоит формализовать как набор автоматических проверок, которые запускаются перед каждым обновлением дашборда, а не выполняются вручную «по памяти» перед каждым отчётом. Хорошей практикой является хранить историю прохождения этих проверок (лог), чтобы при появлении новой ошибки можно было быстро понять, с какого момента данные стали некорректными.
- Пример. Перед публикацией проверьте уникальность ожидаемого ключа «дата, канал, кампания»; повторяющиеся строки нужно объяснить или устранить до агрегации.
Подводные камни
- Риск. Частая ошибка — проверять качество данных только тогда, когда цифры в отчёте «выглядят подозрительно», пропуская незаметные, но накопительные ошибки, например постепенно растущую долю дублей.