Прогноз бюджета и отчёты сервиса WordStat

Alexey Seleznev

2023-03-17

library(ryandexdirect)

Отчёт WordStat

WordStat — это бесплатный сервис Яндекса, предназначенный для оценки пользовательского интереса к различным тематикам и подбора ключевых слов для SEO-оптимизации и контекстной рекламы.

Для того, что бы получить отчёты из данного сервиса с помощью пакета ryandexdirect необходимо использовать функцию ydirGetWordStatReport().

Функция ydirGetWordStatReport() возвращает те же сведения, которые доступны в сервисе Подбор слов. Статистика рассчитывается за прошедший месяц.

Видео урок

Помимо данной виньетки данная тема рассмотренна в видео уроке, который доступен по ссылке.

Аргументы функции ydirGetWordStatReport

Остальные аргументы функции отвечают исключительно за авториацию, и с ними вы можете ознакомится в виньетке vignette('yandex-direct-auth', "ryandexdirect").

Пример загрузки отчёта по ключевым словам из Wordstat

В одном запросе вы можете получитьданные максимум по 10 ключевым фразам.

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

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

s_ws_rep <- yadirGetWordStatReport(c('купить смартфон',
                                     'купить сотовый телефон',
                                     'купить мобильный',
                                     'samsung -(серого цвета)'),
                                   Login = "selesnow")

В ходе формирования и парсинга запроса в консоли вы можете наблюдать за прогрессом выполнения операции.

.Send report
.Report status: Pending
.Report status: Pending
.Report status: Pending
.Report status: Done
.Get report
.Parse report
.Delete report
Success!
Duration: 29 sec.
Request ID: 2685785695974693399
WordStat Report ID: 2016016472
Report SearchedAlso has 55 rows
Report SearchedWith has 900 rows
For get report data x[['ReportName']]

В результате работы вы получите список, который состоит из двух таблиц: SearchedWith и SearchedAlso.

Обратиться к каждой из этих таблиц можно двумя способами:

# Что искали с заданными ключевыми словами
s_ws_rep$SearchedWith
s_ws_rep[['SearchedWith']]

# Запросы, похожие на заданные ключевые слова
s_ws_rep$SearchedAlso
s_ws_rep[['SearchedAlso']]

Образение через $ и по имени в двойных квадратных скобках равнозначны.

Если вам необходимо получить справочник проектов, и получить статистику по Москве, Санкт - Петербургу, Екатеринбург и Владивостоку, то изначально вам необходимо запросить справочник регионов с помощью функции yadirGetDictionary() и получить идентификаторы нужных регионов, а потом передать их в аргумент GeoId.

library(dplyr)

# запрашиваем справочник регионов
regions <- yadirGetDictionary(Login = "selesnow")

# оставляем толлько нужные регионы
rep_regions <- regions %>%
                  filter(GeoRegionName %in% c("Москва",
                                              "Санкт-Петербург",
                                              "Екатеринбург",
                                              "Владивосток"))

# запрашиваем отчёт
reg_ws <- yadirGetWordStatReport(Phrases = c('купить смартфон -xiaomi', 
                                             'купить xiaomi'),
                                 GeoID   = rep_regions$GeoRegionId,
                                 Login   = "selesnow")

Так же вы можете указать минус регионы, например если вы хотите получить статистику по всей России без Москвы, Санкт - Петербуруа, Екатеринбурга и Владивостока. Для этого запросите справочник регионов, сначала получите идентификатор России (225), затем идентификаторы минус регионов, и перед идентификаторами минус регинов поставьте знак ‘-’.

В приведённом ниже примере кода это реализуется с помощью функции mutate() из пакета dplyr.

library(dplyr)

# запрашиваем справочник регионов
regions <- yadirGetDictionary(Login = "selesnow")

# получаем идентификатор России
regions <- regions %>%
  filter(GeoRegionName %in% c("Россия"))

# Получаем идентификаторы минус регионов, и ставим перед ними минус
minus_regions <- regions %>%
                  filter(GeoRegionName %in% c("Москва",
                                              "Санкт-Петербург",
                                              "Екатеринбург",
                                              "Владивосток")) %>%
                  mutate(GeoRegionId = paste0("-", GeoRegionId))

# формируем запрос
reg_ws <- yadirGetWordStatReport(Phrases = c('купить смартфон -xiaomi', 
                                             'купить xiaomi'),
                                 GeoID   = c(regions$GeoRegionId, minus_regions$GeoRegionId),
                                 Login   = "selesnow")

Получить прогноз показов, кликов и затрат

С помощью функции yadirGetForecast() вы можете получить прогнозируемые данные по расходам, показам и кликам указав интересующие вас ключевые фразы и регионы.

Аргументы функции yadirGetForecast

Пример кода для получения прогноза с использованием всех аргументов, минус слов и минус регионов с результататми торгов:

library(dplyr)

# запрашиваем справочник регионов
regions <- yadirGetDictionary(Login = "selesnow")

# получаем идентификатор России
regions <- regions %>%
  filter(GeoRegionName %in% c("Россия"))

# получаем идентификатор минус регионов и помечаем их минусом
minus_regions <- regions %>%
  filter(GeoRegionName %in% c("Москва",
                              "Санкт-Петербург",
                              "Екатеринбург",
                              "Владивосток")) %>%
  mutate(GeoRegionId = paste0("-", GeoRegionId))

# запрашиваем прогноз с результататми торгов
forecast <- yadirGetForecast2(Phrases = c('купить смартфон -xiaomi', 
                                         'купить xiaomi',
                                         'самсунг -(серого цвета)'),
                             GeoID   = c(regions$GeoRegionId, minus_regions$GeoRegionId),
                             AuctionBids = 'Yes',
                             Login   = "selesnow")

В результате в объекте forecast будет список из двух таблиц: * PhrasesForecast - Таблица прогноза в разреще всех указанных фраз * CommonForecast - Общий суммарный прогноз

Обратится к таблицам можно по имени указав его через $ или в двойных квадратных скобках.

# прогноз в разрезе фраз
forecast$PhrasesForecast

# оющий прогнох
forecast[['CommonForecast']]

Описание полей полученной таблицы прогнозов

Таблица PhrasesForecast сожержит следующие поля:

Таблица CommonForecast сожержит следующие поля: