1 мин на чтение

Бюджеты AdTech и ETL в Airflow: минус 7% ошибок планирования

На AdTech-платформе бюджеты кампаний завязаны на ETL: сначала сырые события, потом агрегаты, потом прогноз на следующий период. Модель прогноза регулярно промахивалась.

Постановка

Расхождение выглядело «мелким» — 5–10% к факту. Но при оборотах в сотни миллионов показов в сутки это превращается в серьёзные деньги: перерасход слота, недокрут, штрафы перед рекламодателем.

Прогноз и корректировки делали вручную: выгрузка в Excel, сверка с дашбордом, правка коэффициентов, письмо дежурному data engineer. Человеческий фактор давал задержку и разброс между сменами.

Решение

Собрали цепочку в Apache Airflow:

  1. Ночной DAG: агрегаты → вход модели → запись прогноза в хранилище.
  2. Утренний DAG: сравнение прогноза с фактом за вчера, алерт при отклонении > порога.
  3. Задача apply_budget_adjustment — только после approve в UI или автоматически, если отклонение в зелёной зоне.

На скриншоте — привычный Tree View: зелёные квадраты — успешные прогоны, красные — падения задач. После внедрения пайплайна красных стало меньше: часть «ошибок» оказалась банальными таймаутами, их закрыли ретраями и увеличением пула воркеров.

Цифры

  • Ошибка планирования (MAPE на уровне кампании) снизилась примерно на 7% за квартал — считали по согласованной метрике с финансами.
  • Ручные правки — почти нулевые в будни; остались перепроверки пограничных сценариев: новый рекламодатель, резкий всплеск трафика, смена GEO.

Итог

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