Бюджеты AdTech и ETL в Airflow: минус 7% ошибок планирования
На AdTech-платформе бюджеты кампаний завязаны на ETL: сначала сырые события, потом агрегаты, потом прогноз на следующий период. Модель прогноза регулярно промахивалась.
Постановка
Расхождение выглядело «мелким» — 5–10% к факту. Но при оборотах в сотни миллионов показов в сутки это превращается в серьёзные деньги: перерасход слота, недокрут, штрафы перед рекламодателем.
Прогноз и корректировки делали вручную: выгрузка в Excel, сверка с дашбордом, правка коэффициентов, письмо дежурному data engineer. Человеческий фактор давал задержку и разброс между сменами.
Решение
Собрали цепочку в Apache Airflow:
- Ночной DAG: агрегаты → вход модели → запись прогноза в хранилище.
- Утренний DAG: сравнение прогноза с фактом за вчера, алерт при отклонении > порога.
- Задача
apply_budget_adjustment— только после approve в UI или автоматически, если отклонение в зелёной зоне.
На скриншоте — привычный Tree View: зелёные квадраты — успешные прогоны, красные — падения задач. После внедрения пайплайна красных стало меньше: часть «ошибок» оказалась банальными таймаутами, их закрыли ретраями и увеличением пула воркеров.
Цифры
- Ошибка планирования (MAPE на уровне кампании) снизилась примерно на 7% за квартал — считали по согласованной метрике с финансами.
- Ручные правки — почти нулевые в будни; остались перепроверки пограничных сценариев: новый рекламодатель, резкий всплеск трафика, смена GEO.
Итог
Airflow не заменил аналитику модели, но убрал рутину и сделал процесс воспроизводимым. Самое ценное — одинаковый порядок шагов в понедельник и в пятницу, плюс логи задач вместо «кто-то поправил в табличке».