Прогноз бюджета Директа через Claude Code: одна команда — и ИИ делает всё сам

Прогноз бюджета Директа через Claude Code: одна команда — и ИИ делает всё сам

28.03.2026 0 Автор Павел

Каждый маркетолог, который работает с Яндекс Директом, знает эту боль: нужно оценить бюджет для нового проекта. Открываешь интерфейс Директа, вбиваешь ключевые фразы по одной, ждёшь прогноз, копируешь цифры в табличку. На 50 фраз уходит час. На 200 — полдня. А если нужно сравнить три региона — умножай на три.

Я написал скрипт, который делает всё это за минуту. Даёшь ему Excel-файл с ключевыми словами, указываешь регион — получаешь готовый отчёт с показами, кликами, расходом и CPC по каждой фразе. Рассказываю, как это работает и почему это экономит не только время, но и нервы.

Зачем автоматизировать прогноз бюджета

Сначала честно про масштаб проблемы. Вот как выглядит типичный процесс прогнозирования вручную:

Вручную

  1. Открыть «Прогноз бюджета» в Директе
  2. Вбить фразы (лимит — 100 за раз)
  3. Выбрать регион
  4. Дождаться расчёта
  5. Скопировать данные в Excel
  6. Повторить для следующей порции
  7. Свести всё в один отчёт

Результат: 1-3 часа на один регион

Скриптом

  1. Подготовить Excel с ключами
  2. Запустить одну команду
  3. Получить готовый отчёт

Результат: 1-2 минуты на любое количество фраз

Разница не только в скорости. Когда прогноз занимает минуту, ты перестаёшь лениться его обновлять. Изменились цены на аукционе? Запусти скрипт ещё раз. Добавились новые ключи? Дописал строки в Excel, запустил. Не нужно проходить весь цикл заново.

Что нужно на входе

Скрипт принимает обычный Excel-файл с тремя столбцами:

A: Ключевая фраза B: Маска (группа) C: Минус-слова
купить трубу стальную трубы стальные бу, самовывоз
труба стальная цена трубы стальные бу, самовывоз
профнастил для забора купить профнастил своими руками, размеры
профнастил цена за лист профнастил размеры

Столбец B (маска) — это название группы, по которой потом считается агрегация в сводной таблице. Столбец C (минус-слова) — необязательный, но сильно повышает точность прогноза: скрипт автоматически вычитает нецелевые запросы.

Формат простой — его можно подготовить за 10-15 минут в любом табличном редакторе. Или экспортировать из Key Collector, Яндекс.Вебмастера, любого другого инструмента для сбора семантики. Я же делаю его тем же SKILLS в Claude Code

Как запустить

Одна команда в терминале:

python forecast_from_masks.py --input keywords.xlsx --geo "Москва"

Скрипт берёт фразы из файла, отправляет их пачками в Яндекс Директ Forecast API и собирает результаты в готовый Excel-отчёт. Под капотом — тот же API, который использует интерфейс Директа в разделе «Прогноз бюджета», только без ручного кликанья.

Excel с ключами
Forecast API
Обработка данных
Excel-отчёт

Скрипт сам батчит запросы по 100 фраз, выдерживает паузы между обращениями к API (чтобы не попасть под лимиты), обрабатывает ошибки и повторяет запросы при сбоях. Всё, что нужно от вас — подождать минуту-другую.

Что на выходе: трёхлистовый Excel

Результат — профессиональный отчёт с тремя листами:

Данные

Полная таблица: каждая фраза с показами, кликами, расходом, CTR, CPC и CPM

Сводная

Агрегация по маскам: видно, какие группы самые дорогие и где больше трафика

Параметры

Метаданные: регион, дата, количество фраз, источник данных

Вот как выглядит лист «Данные»:

Маска Ключевая фраза Показы Клики Расход CTR CPC
трубы стальные купить трубу стальную 2 340 187 28 050 ₽ 8,0% 150 ₽
трубы стальные труба стальная цена 1 870 142 19 880 ₽ 7,6% 140 ₽
профнастил профнастил для забора купить 3 120 256 23 040 ₽ 8,2% 90 ₽
ИТОГО 7 330 585 70 970 ₽ 8,0% 121 ₽

В сводной таблице те же данные сгруппированы по маскам — сразу видно, какое направление сколько стоит. Удобно показывать руководству или использовать для медиаплана.

Честно про рекламу и маркетинг

Разбираю реальные кейсы, делюсь цифрами и инструментами в Telegram-канале. Без воды и мотивационных цитат.

Подписаться на канал

GEO-пресеты: регионы одной командой

Одна из самых полезных фич — пресеты для регионов. Вместо того чтобы вручную перечислять ID из геодерева Яндекса, можно использовать готовые названия:

python forecast_from_masks.py --input keywords.xlsx --geo "мск300"

Что входит в «мск300»

Пресет «Москва + 300 км» автоматически раскрывается в 16 регионов:

Москва Московская обл. Тула Тверь Калуга Рязань Владимир Ярославль Иваново Кострома Смоленск Орёл Брянск Липецк Тамбов Вологда

Кроме пресетов, поддерживаются все крупные города России — просто пишите название кириллицей. Скрипт сам найдёт нужный ID региона.

Технические детали для любопытных

Скрипт работает через Яндекс Директ API v4 в JSON-формате. Это тот же API, который использует веб-интерфейс Директа. Авторизация — через OAuth-токен, который можно получить в Яндекс.OAuth.

Что происходит под капотом:

  1. CreateNewForecast — создаёт задачу на прогноз с вашими фразами, регионом и минус-словами
  2. GetForecastList — поллит статус задачи каждые 10 секунд (Pending → Processing → Done)
  3. GetForecast — забирает результаты: показы, клики, расход, ставки по позициям
  4. DeleteForecastReport — подчищает за собой

Фразы батчатся по 100 штук (лимит API). Между батчами — пауза 3 секунды, чтобы не упереться в rate limit. При ошибках — автоматический ретрай с экспоненциальным отступом. На практике 200 фраз обрабатываются за 1-2 минуты.

Для агентских аккаунтов можно указать логин клиента через параметр --login. Скрипт подставит заголовок Client-Login и будет работать от имени клиента.

Зависимости минимальные: requests, openpyxl, python-dotenv. Ни pandas, ни numpy — только то, что реально нужно.

Когда это особенно полезно

Вот сценарии, в которых скрипт экономит больше всего времени:

  • Сравнение регионов. Запустите скрипт для Москвы, Питера и Екатеринбурга — получите три отчёта за 5 минут. Вручную это заняло бы полдня
  • Обновление прогноза. Цены на аукционе меняются каждую неделю. Раньше обновить прогноз значило пройти весь процесс заново. Теперь — одна команда
  • Большая семантика. 300-500 фраз — норма для серьёзного проекта. Вбивать их вручную — просто нереально, скрипт справляется за пару минут
  • Медиапланирование. Сводная таблица по маскам — готовая основа для медиаплана. Не надо агрегировать вручную

Что скрипт не делает

Честно скажу про ограничения:

  • Не подбирает ключевые слова. Для этого есть отдельный скрипт (yandex_forecast.py), который парсит сайт и генерирует семантику. Но если ключи у вас уже есть — forecast_from_masks.py быстрее и проще
  • Не учитывает сезонность. API Яндекса даёт прогноз на текущий момент. Для планирования на полгода вперёд нужно делать поправки вручную
  • Не заменяет аналитику. Прогноз — это отправная точка. Реальные цифры после запуска кампании могут отличаться. Но как ориентир для бюджетирования — работает отлично

Итого: цифры экономии

1-2 мин вместо 1-3 часов
500+ фраз за один запуск
3 листа готового Excel-отчёта
50+ регионов в справочнике

Главное — не скорость сама по себе, а то, что прогноз перестаёт быть «разовым мероприятием». Когда он делается за минуту, его можно обновлять каждую неделю, сравнивать динамику, оперативно реагировать на изменения ставок.

Выводы и рекомендации

Если вы работаете с Яндекс Директом и регулярно оцениваете бюджеты — автоматизация прогноза экономит десятки часов в год. Не потому что каждый прогноз долгий, а потому что их нужно делать часто.

Мои рекомендации:

  • Начните с подготовки шаблона Excel. Три столбца: фраза, группа, минус-слова. Один раз заведёте — будете переиспользовать для разных проектов
  • Используйте минус-слова. Без них прогноз завышен — API считает все вложенные запросы, включая мусорные
  • Сравнивайте регионы. GEO-пресеты делают это тривиальным — покажите разницу в бюджетах для разных городов
  • Обновляйте прогнозы регулярно. Ставки на аукционе меняются — актуальные данные лучше устаревших

Я собрал шаблоны, которые использую в работе с клиентами: медиаплан, учёт рабочего времени, аналитические отчёты. Скачайте бесплатно на странице шаблонов.

Нужна помощь с настройкой рекламы или автоматизацией аналитики? Напишите — разберёмся вместе.

Написать мне

Шаблоны для маркетинга

Профессиональные шаблоны для организации работы:
медиапланирование, учёт времени, аналитические отчёты
Telegram-канал Павезло маркетинг Павезло во ВКонтакте