Добавить в корзинуПозвонить
Найти в Дзене

От сайта до бюджета за 5 минут: автопрогноз для Яндекс Директа

Каждый раз, когда клиент спрашивает «сколько стоит реклама в Директе?», начинается одна и та же история. Открываю сайт, выписываю услуги, придумываю ключевые фразы, иду в Wordstat, потом в прогноз бюджета, копирую цифры в табличку. На один проект уходит от часа до трёх. А потом клиент меняет регион — и начинай заново. Я решил это автоматизировать. Написал два Python-скрипта, которые делают всё сами: от парсинга сайта до готового Excel-отчёта с прогнозом. Один скрипт берёт URL и сам генерирует семантику, второй — работает с готовым списком ключей. Рассказываю, как это устроено и зачем нужен ИИ в процессе. Типичный процесс оценки бюджета выглядит так: На один регион — минимум час. Клиент хочет Москву, Питер и ещё пять городов? Умножай на семь. А ещё бывает, что маски подобрал неточно — и прогноз получается мимо. Слишком общие запросы дают завышенные цифры, слишком узкие — занижают. Я разделил задачу на два инструмента, потому что в реальной работе бывают разные ситуации: python yandex_fo
Оглавление

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

Я решил это автоматизировать. Написал два Python-скрипта, которые делают всё сами: от парсинга сайта до готового Excel-отчёта с прогнозом. Один скрипт берёт URL и сам генерирует семантику, второй — работает с готовым списком ключей. Рассказываю, как это устроено и зачем нужен ИИ в процессе.

Проблема: ручной прогноз — это боль

Типичный процесс оценки бюджета выглядит так:

  1. Открываю сайт клиента, изучаю услуги и продукты
  2. Составляю список ключевых масок вручную
  3. Проверяю частотность в Wordstat (по 10 фраз за раз, с капчей)
  4. Иду в «Прогноз бюджета» Яндекс Директа
  5. Копирую результаты в Excel
  6. Считаю суммы, CPC, CTR
  7. Оформляю для клиента

На один регион — минимум час. Клиент хочет Москву, Питер и ещё пять городов? Умножай на семь. А ещё бывает, что маски подобрал неточно — и прогноз получается мимо. Слишком общие запросы дают завышенные цифры, слишком узкие — занижают.

Решение: два скрипта для двух сценариев

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

python yandex_forecast.py --url https://site.ru --geo Москва🌐yandex_forecast.py
Полный автопилот. Даёшь URL сайта — скрипт сам парсит страницу, генерирует ключевые маски, прогоняет через Wordstat и Forecast API, выдаёт Excel.

python forecast_from_masks.py --input masks.xlsx --geo Москва📝forecast_from_masks.py
Для случаев, когда маски уже есть. Берёт Excel-файл с фразами и минус-словами, получает прогноз и формирует отчёт.

Оба скрипта работают через Яндекс Директ API v4 — Forecast и Wordstat. Это то же API, что использует интерфейс Директа, только без ручного кликанья.

Как работает полный пайплайн

Самое интересное — первый скрипт, который превращает URL в готовый прогноз. Вот что происходит под капотом:

URL сайта

Парсинг

Маски

AI-уточнение

Wordstat

Forecast

Excel

Шаг 1. Парсинг сайта

Скрипт заходит на посадочную страницу и собирает всё, что может пригодиться для понимания бизнеса:

  • Title, H1, H2, H3 — заголовки обычно содержат ключевые услуги
  • Продукты и услуги — ищет элементы по типичным CSS-паттернам карточек товаров
  • Meta keywords — если они есть на сайте
  • Ссылки на разделы каталога — переходит на глубину 1, собирает названия подкатегорий

Результат — структурированный словарь с данными сайта. Не идеально (сайты слишком разные), но для генерации первичных масок — достаточно.

Шаг 2. Генерация ключевых масок

Здесь работает класс MaskGenerator. Он берёт данные парсинга и строит маски через несколько подходов:

  • Готовые фразы — из H1-H3 берутся как есть, если содержат 2-5 слов
  • Кросс-комбинации — услуга + объект. Например, «строительство» + «клиника» = «строительство клиник»
  • Конвертация глаголов — «строим» превращается в «строительство», «проектируем» в «проектирование»
  • N-граммы — из длинных заголовков извлекаются осмысленные куски по 2-3 слова

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

Шаг 3. AI-уточнение масок

Механическая генерация даёт много масок, но не все из них нишевые. Если задать API-ключ Anthropic, скрипт отправляет данные сайта в Claude и просит сгенерировать маски, которые действительно отражают специфику бизнеса.

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

AI-уточнение — опциональный шаг. Скрипт работает и без него, просто с механическими масками. Но с ИИ качество прогноза заметно выше: меньше мусора, точнее попадание в нишу.

Шаг 4. Wordstat и Forecast

Дальше маски уходят в Яндекс API. Wordstat расширяет семантику: по каждой маске возвращает вложенные запросы с частотностью. Forecast даёт прогнозные данные — показы, клики, расход, CTR, CPC для позиции «спецразмещение».

Скрипт батчит запросы (10 фраз на Wordstat, 100 на Forecast), обрабатывает ответы и собирает всё в единый список с метриками.

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

Что на выходе: Excel-отчёт

Результат — Excel-файл с тремя листами:

Лист «Данные» — полная таблица со всеми ключевыми фразами:

Маска Ключевая фраза Wordstat Показы Клики Расход CPC строительство клиник строительство клиник под ключ 320 1 540 89 15 230 ₽ 171 ₽ строительство клиник строительство клиник цена 180 870 52 8 910 ₽ 171 ₽ проектирование клиник проектирование медицинского центра 90 420 31 6 820 ₽ 220 ₽ ИТОГО 2 830 172 30 960 ₽ 180 ₽

Лист «Сводная» — агрегация по маскам с формулами итогов. Видно, какие направления самые дорогие и где больше всего трафика.

Лист «Параметры» — метаданные отчёта: URL, регион, количество фраз, дата, источник данных.

Второй скрипт: когда маски уже готовы

forecast_from_masks.py — для ситуаций, когда я уже собрал семантику вручную или получил от клиента. Формат входного файла простой:

  • Столбец A — ключевая маска
  • Столбец B — минус-слова (необязательно)

Скрипт автоматически определяет, где начинаются данные (пропускает строку с заголовками), и работает дальше по тому же пайплайну: Forecast API → Excel-отчёт.

Полезная фича — GEO-пресеты. Вместо перечисления 16 ID регионов для «Москва + 300 км» можно просто написать --geo мск300. Пресет раскроется в нужный список автоматически.

Технические детали для тех, кому интересно

Параметр yandex_forecast.py forecast_from_masks.py Источник масок URL сайта или текстовый файл Excel-файл Парсинг сайта Да (BeautifulSoup) Нет AI-уточнение Да (Claude API) Нет Wordstat Да (опционально) Нет Forecast API Да Да Минус-слова Нет Да (из Excel) GEO-пресеты Да Да

Оба скрипта используют Яндекс Директ API v4 (JSON-формат). Авторизация — через OAuth-токен. Для агентских аккаунтов можно указать логин клиента через параметр --login.

Зависимости минимальные: requests, beautifulsoup4, openpyxl, lxml, python-dotenv. Никаких тяжёлых фреймворков.

Что это даёт в цифрах

5 мин вместо 1-3 часов

7 регионов за один запуск

3 листа готовый Excel-отчёт

0 ручного копирования

Главный выигрыш — не только скорость, но и повторяемость. Можно запускать один и тот же скрипт для разных клиентов, сравнивать прогнозы по регионам, быстро обновлять данные через месяц. Раньше обновлённый прогноз значил «делай всё заново», теперь — «запусти скрипт ещё раз».

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

Автоматизация прогноза бюджета — это не про «заменить маркетолога роботом». Это про то, чтобы не тратить время на рутину и сосредоточиться на анализе. Скрипт не примет решение за вас, но он соберёт все данные в один Excel за минуты.

Что я рекомендую:

  • Начните с forecast_from_masks.py — если у вас уже есть семантика, просто загоните её в Excel и получите прогноз
  • Используйте AI-уточнение — механические маски слишком общие, Claude помогает сделать их нишевыми
  • Не забывайте про минус-слова — второй скрипт поддерживает их из коробки, это сильно повышает точность прогноза
  • Сравнивайте регионы — запустите скрипт для нескольких городов и покажите клиенту разницу в бюджетах

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

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

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

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

E-mail *

Получить материалы

Поставив галочку, вы даете согласие на обработку персональных данных. Подробнее об обработке данных в Политике.

 📷
📷

 📷
📷

Сообщение От сайта до бюджета за 5 минут: автопрогноз для Яндекс Директа появились сначала на ПАВЕЗЛО.