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

library(ryandexdirect)

Отчёт WordStat

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

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

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

Видео урок

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

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

  • Phrases - Вектор ключевых фраз, по которым требуется получить статистику поисковых запросов (не более 10 фраз в кодировке UTF-8). Ключевые фразы могут содержать минус-фразы. Минус-фразу из нескольких слов следует заключить в скобки, например: холодильник -морозильник -(морозильная камера) -ремонт.
  • GeoID - Вектор идентификаторов регионов. Позволяет получать статистику поисковых запросов, сделанных только в указанных регионах. Чтобы исключить регион, перед его идентификатором ставят минус, например [1,-219] — получить статистику для Москвы и Московской области, кроме Черноголовки. Статистика выдается суммарно по всем плюс-регионам, из которых исключены все минус-регионы. Получить справочник регионов можно с помощью функции yadirGetDictionary()

Остальные аргументы функции отвечают исключительно за авториацию, и с ними вы можете ознакомится в виньетке 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']]
  • Send report - Отчёт отправлен на API сервер
  • Report status: Pending - Отчёт формируется на сервере API
  • Report status: Done - Отчёт сформирован
  • Get report - Получен отчёт от API сервера
  • Parse report - Выполняется преобразование полученного от API результата в таблицы
  • Delete report - Выполняется удаление отчёта с сервера API

В результате работы вы получите список, который состоит из двух таблиц: 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

  • Phrases - Вектор ключевых фраз, для которых требуется получить прогноз (не более 100 фраз)
  • GeoID - Вектор, содержащий идентификаторы регионов для составления прогноза. Если не задан, прогноз составляется по всем регионам.
  • Currency - Валюта, в которой должны быть выражены цены клика и суммарные затраты в отчете. Возможные значения: RUB, CHF, EUR, KZT, TRY, UAH, USD, BYN.
  • AuctionBids - Выводить ли в отчете результаты торгов — Yes/No или TRUE / FALSE. Если не задано, подразумевается No.

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

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 сожержит следующие поля:

  • PhrasesForecast - Ключевая фраза, для которой составлен прогноз.
  • IsRubric - Признак того, что фраза является рубрикой Яндекс.Каталога.
  • Min - Средневзвешенная цена клика в нижнем блоке на момент составления прогноза. Значение конвертируется в валюту, указанную в параметре Currency, и округляется вверх с точностью до шага торгов в этой валюте.
  • Max - Средневзвешенная цена клика на первом месте в нижнем блоке на момент составления прогноза. Значение конвертируется в валюту, указанную в параметре Currency, и округляется вверх с точностью до шага торгов в этой валюте.
  • PremiumMin - Средневзвешенная цена клика в спецразмещении на момент составления прогноза. Значение конвертируется в валюту, указанную в параметре Currency, и округляется вверх с точностью до шага торгов в этой валюте.
  • PremiumMax - Средневзвешенная цена клика на первом месте в спецразмещении на момент составления прогноза. Значение конвертируется в валюту, указанную в параметре Currency, и округляется вверх с точностью до шага торгов в этой валюте.
  • Shows - Возможное количество показов объявления по данной фразе за прошедший месяц.
  • Clicks - Возможное количество кликов по объявлению в нижнем блоке (кроме первого места) за прошедший месяц.
  • FirstPlaceClicks - Возможное количество кликов по объявлению на первом месте в нижнем блоке, за прошедший месяц.
  • PremiumClicks - Возможное количество кликов по объявлению в спецразмещении за прошедший месяц.
  • CTR - CTR при показе в нижнем блоке, в процентах. Рассчитывается по формуле: Clicks/Shows * 100
  • FirstPlaceCTR - CTR при показе на первом месте в нижнем блоке. Рассчитывается по формуле: FirstPlaceClicks/Shows * 100
  • Currency - Валюта, в которой выражены цены клика и суммарные затраты в отчете. Возможные значения: RUB, CHF, EUR, KZT, TRY, UAH, USD, BYN.
  • Position - Позиция показа: Pmn, где: m — номер блока (1 — спецразмещение, 2 — блок гарантированных показов); n — номер позиции в рамках блока. Например, P12 — второе место в спецразмещении, P21 — первое место в блоке гарантированных показов.
  • Bid - Минимальная ставка за указанную позицию (в валюте, указанной в параметре Currency). Значение конвертируется в валюту, указанную в параметре Currency, и округляется вверх с точностью до шага торгов в этой валюте.
  • Price - Списываемая цена для указанной позиции (в валюте, указанной в параметре Currency). Значение конвертируется в валюту, указанную в параметре Currency, и округляется вверх с точностью до шага торгов в этой валюте.

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

  • Geo - Список регионов, которые указаны при формировании отчета
  • Min - Средневзвешенная цена клика в нижнем блоке на момент составления прогноза. Значение конвертируется в валюту, указанную в параметре Currency, и округляется вверх с точностью до шага торгов в этой валюте.
  • Max - Средневзвешенная цена клика на первом месте в нижнем блоке на момент составления прогноза. Значение конвертируется в валюту, указанную в параметре Currency, и округляется вверх с точностью до шага торгов в этой валюте.
  • PremiumMin - Средневзвешенная цена клика в спецразмещении на момент составления прогноза. Значение конвертируется в валюту, указанную в параметре Currency, и округляется вверх с точностью до шага торгов в этой валюте.
  • Shows - Возможное количество показов объявления по данной фразе за прошедший месяц.
  • Clicks - Возможное количество кликов по объявлению в нижнем блоке (кроме первого места) за прошедший месяц.
  • FirstPlaceClicks - Возможное количество кликов по объявлению на первом месте в нижнем блоке, за прошедший месяц.
  • PremiumClicks - Возможное количество кликов по объявлению в спецразмещении за прошедший месяц.