Перейти к содержимому
BI SELLBYNET Business Intelligence

Ежедневная сверка расхода с API Яндекс.Директа

4 мин чтения Команда SellByNet

Выгрузка может «успешно» пройти с неполными данными — заметят это через месяц. Как устроена ежедневная сверка расхода Директа и почему без неё нет доверия.

Есть неприятная особенность любых выгрузок из рекламных кабинетов (тот самый процесс ETL, только без автоматической проверки): они умеют молча врать.

Скрипт отработал, ошибок нет, таблица заполнилась, отчёт построился. А через месяц выясняется, что за прошлый вторник в данных не хватает трети расхода. Отчёт, на основе которого принимали решения, был неверным — и об этом никто не знал.

Откуда берутся дыры в данных

Причин ровно столько, сколько звеньев в цепочке, и все они бытовые.

  • Данные в Директе дозревают. Статистика за вчера может уточняться ещё несколько дней: отсеиваются недействительные клики, корректируется расход. Цифра, забранная ночью, к пятнице становится другой.
  • Токен доступа истёк. Доступ к кабинету выдаётся на время. Он тихо перестаёт работать, и выгрузка приносит пустоту — формально без ошибки.
  • API не ответил. Лимиты, таймаут, разовый сбой на стороне сервиса. Одна кампания не доехала, остальные доехали.
  • Кабинет переименовали. Логин рекламного кабинета поменялся, и данные начали складываться «мимо» — в отчёте их нет, хотя деньги тратятся.

Общее у всех этих случаев одно: сбой не выглядит как сбой. Таблица не пустая, график рисуется, тревогу поднимать некому.

Проверка — это отдельная работа

Поэтому мы не считаем выгрузку завершённой в тот момент, когда она закончилась. Каждый день автоматически происходит сверка: сколько денег, по мнению нашего хранилища, потрачено за период — и сколько говорит API Яндекс.Директа.

Логика простая, как инвентаризация на складе:

  1. Берём сумму расхода из нашей витрины за проверяемый период.
  2. Отдельным запросом спрашиваем ту же сумму напрямую у API Директа.
  3. Сравниваем. Если цифры разошлись — это повод разобраться, а не округлить.

Расхождение — не всегда авария. Иногда это те самые дозревающие данные. Но важно, что расхождение видно сразу, а не всплывает через месяц в разговоре с клиентом.

Правило, которое мы вывели на практике: данным можно доверять ровно настолько, насколько регулярно их проверяют. Непроверенная выгрузка — это не данные, а предположение.

Что происходит при расхождении

Сверка не просто ставит красный флажок — она показывает, где именно разошлось: по какому клиенту, какому рекламному кабинету и за какие даты. Дальше данные за проблемный период перезабираются, и сумма сходится.

Отдельно следим за токенами доступа. Сервис проверяет, живой ли доступ к каждому кабинету, — чтобы «выгрузка привезла ноль» не стало открытием месяца.

Сколько расхождений это ловит на самом деле

Разговоры про качество данных обычно заканчиваются обещаниями, поэтому приведём то, что можно посчитать.

Сейчас под ежедневной сверкой 22 проекта и 48 рекламных кабинетов. За полтора месяца наблюдений система выполнила 2050 проверок расхода — каждая проверка это «таблица × месяц × рекламный кабинет».

Из этих 2050:

  • 1425 сошлись с источником точно;
  • 587 сошлись в пределах допуска — округления и мелкие расхождения, которые считаются нормой;
  • 37 разошлись по-настоящему: в 20 случаях данных у нас было меньше, чем в Директе, в 17 — больше, обычно из-за задвоения.

Тридцать семь случаев из двух тысяч — это меньше двух процентов. Звучит немного. Но это тридцать семь отчётов, которые без сверки уехали бы к клиенту неверными, и никто бы об этом не узнал: напомним, ни один из этих сбоев не выглядит как сбой — таблица не пустая, график рисуется.

Каждое расхождение дальше разбирается руками: сверка показывает, что цифры не сошлись, но не решает за человека, почему. Иногда причина безобидна — те самые дозревающие данные. Иногда это протухший токен или не доехавшая кампания. Отличить одно от другого может только человек, и именно поэтому расхождение — повод разобраться, а не автоматически «подтянуть» цифру.

Данные на 6 сентября 2026, период наблюдений 19.07.2026 — 05.09.2026.

Почему это важно для владельца, а не только для технарей

Владельцу бизнеса всё равно, как устроена выгрузка. Ему важно другое: можно ли принимать решение по этому отчёту.

Без ежедневной сверки любой отчёт — это ещё и вопрос веры. С ней у цифры появляется происхождение: она сошлась с первоисточником, и это проверено не человеком по настроению, а автоматически и каждый день.

Именно поэтому мы считаем сверку не «дополнительной функцией», а условием, при котором аналитику вообще имеет смысл показывать. Что ещё стоит проверить перед подключением — в чек-листе подготовки к сквозной аналитике.