МАШИННОЕ ОБУЧЕНИЕ И ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ
УДК 004.855
РАЗРАБОТКА СИСТЕМЫ ПРОГНОЗИРОВАНИЯ СОСТОЯНИЙ АУКЦИОНА НА ОСНОВЕ АНАЛИЗА СТРАТЕГИЙ ПРОДВИЖЕНИЯ КОНКУРЕНТОВ
DEVELOPMENT OF THE SYSTEM FOR AUCTION STATES FORECASTING BASED ON THE ANALYSIS OF COMPETITORS STRATEGIES
М. С. Воробьева, А. М. Воробьев, Ю. В. Боганюк
Тюменский государственный университет, г. Тюмень, Россия
M. S. Vorobeva, A. M. Vorobev, J. V. Boganyuk
University of Tyumen, Tyumen, Russia
Аннотация. В статье приведены результаты разработки системы поддержки принятия решений для прогнозирования состояний аукциона поисковой выдачи на основе анализа стратегий продвижения конкурентов. Исследование проводилось по методологии CRISP-DM, основной модуль системы выполняет анализ больших данных с использованием моделей машинного обучения. Были изучены источники данных о параметрах поисковой выдачи, особенности онлайн-аукционов, стратегии RTB-продвижения онлайн-ресурсов. Разработан и реализован алгоритм расчета интервалов отказоустойчивого обмена данными с серверами поисковых систем. Для сбора данных о стратегиях конкурентов был разработан и реализован инструмент синтаксического анализа, позволяющий извлекать данные из открытых источников. Предложенный подход для прогнозирования состояний аукциона на основе моделей машинного обучения с учетом микро- и макромер оценки их точности может быть применен в работе digital-агентств для увеличения эффективности продвижения и анализа стратегий конкурентов в RTB-аукционе.
Ключевые слова: прогнозирование аукциона, поисковая реклама, прогноз позиции объявления, стратегия конкурентов рекламной кампании
DOI: 10.25206/2310-9793-7-4-157-164
I. Введение
В настоящее время неотъемлемой частью продвижения онлайн-ресурсов является web-аналитика. Необходимость детального анализа показателей эффективности продвижения обусловлена увеличением количества активных пользователей интернета и конкурентов, продвигающих свои продукты и услуги в интернете. Одним из методов web-аналитики является анализ рекламных кампаний конкурентов на онлайн-аукционах.
При разработке стратегии RTB-продвижения проводится аналитика стратегий рекламных кампаний конкурентов. Аналитика стратегий включает выявление зависимостей и периодичности показателей рекламных кампаний, что позволяет разработать стратегию продвижения, которая будет наиболее эффективна при вводе внешних ограничений, таких как бюджет рекламной кампании и количество посетителей сайта.
Ежегодно наблюдается рост оборота глобального рынка интернет-рекламы. Например, по данным, приведенным в статье [1], в 2017 году по оценке исследовательской компании Magna, объем рынка интернет-рекламы составил 41% мирового рекламного рынка при оценке объема телевизионной рекламы в 35%. Ожидается, что к 2020 году интернет-реклама составит 50% мирового рынка рекламы.
В статье [2] приводится обзор теоретических моделей и базовых подходов к моделированию процесса проведения онлайн-аукционов; сравниваются различные теоретические способы формализации процесса аукциона; рассматриваются основные теоретические модели аукционов, используемые поисковыми системами: статическая игра с полной информацией, однопериодная динамическая игра с неполной информацией, структурная модель стратегической неопределенности и модель частичного равновесия, учитывающая поведение пользователей поискового сайта.
Модель статической игры с полной информацией показывает точный результат, но теоретически не обоснованный, поэтому автор статьи называет такой результат совпадением [3]. Модель однопериодной динамической игры с неполной информацией является модификацией первой модели. Полученный с помощью
предлагаемой модели вектор ставок является единственным равновесием динамической игры, что является положительным и практически применимым результатом. Структурная модель стратегической неопределенности гарантирует существование равновесия, причем при дополнительных условиях данное равновесие является единственным. Также преимуществом данной модели являются более точные эмпирические предсказания. Модель частичного равновесия учитывает поведение пользователей, их ожидания относительно соответствия качества фирм их занимаемым позициям поисковой выдачи, однако в такой модели получаемое равновесия не является единственным.
Существует проблема несоответствия описанных в научной литературе теоретических моделей аукционов устройству онлайн-аукционов, что связано с дополнительными аспектами и условиями, накладываемыми поведением пользователей, неполнотой информации, высокой динамичности аукционов. Поэтому необходимо проведение исследования в целях применения результатов анализа зависимостей показателей рекламных кампаний и применении методов машинного обучения в процессе моделирования возможных решений для разработки наиболее эффективной стратегии размещения рекламных объявлений в поисковой выдаче.
Знания прогнозных значений позиций размещения объявлений конкурентов позволят специалисту по поисковой рекламе устанавливать дополнительные настройки показа объявлений (например временной таргетинг) для увеличения времени отображения объявлений на первых позициях рекламного блока поисковой выдачи.
II. Постановка задачи
ЯТБ-аукцион проводится каждый раз, когда пользователи выполняют запрос, поэтому необходимо использование автоматизированных систем, чтобы отследить результаты поисковой выдачи и возможные стратегии размещения конкурентов (всех рекламодателей, объявления которых отображаются при вводе запроса).
Спроектируем и разработаем систему поддержки принятия решений для анализа зависимостей и периодичности показателей объектов с пересекающимися параметрами. Значит необходимо проанализировать источники данных и подготовить йа1а$е1 для обучения, применить алгоритмы обучения и выполнить оценку качества моделей, выполнить апробацию предложенных решений системы.
Чтобы построить прогноз позиции, на которой будет размещаться объявление, проанализируем зависимость признаков объекта. Пусть дано множество объектов А = { а1, а2,..., ап\п Е Ы] и множество их признаков а = {а1, а2,..., а™], где I = 1. .п,т Е N, каждый из которых имеет с состояний (рис. 1). Пусть для каждого объекта а1 множество наблюдаемых состояний = {б1^2, ...,Б£],где с - текущий замер состояния объектов, то есть б? - состояние объекта I в момент ] и ау = {а1,а2, ■■■ ,а™} - ¿-й объект в состоянии ], ] = 1.. с. Пусть а™ ЕМ- метка позиции -го объекта в состоянии у.
Рис. 1. Схема объектов и их состояний
Необходимо для каждого объекта а^, имеющего множество состояний , найти отображение у^^ ^ а1
т
1С+1
т
такое, что для неизвестного состояния 5С+1 можно найти метку ат+1 Е М
III. Теория
1. Методы сбора и подготовки данных для обучения
Сбор данных о ценах позиций для обучения происходит посредством взаимодействия с сервером системы через API с помощью POST-запросов в формате JSON и включает формирование запроса, включающего группу идентификаторов ключевых слов и позволяющего получить значения цен позиций по каждому из вклю-
ченных ключевых слов; отправку необходимого количества запросов для получения цен всех ключевых слов кампании в соответствии с алгоритмом поддержки регулирования нагрузки на сервер, обеспечивающим отказоустойчивость обмена данными и получение ответа в формате JSON; десериализацию полученных данных в структуру для хранения исторических данных, включающую поля значений времени замера состояния, идентификатора ключевого слова, цен всех позиций аукциона, и запись в локальное хранилище данных [7].
Сбор данных о позициях размещения объявлений для обучения производится из открытого источника с помощью синтаксического анализа HTML-кода страницы поисковой выдачи. Процесс сбора включает следующие этапы:
1) формирование строки URL, включающей ключевое слово, для отправки get-запроса на адрес поисковой системы;
2) отправка запроса и получение ответа в виде HTML-кода страницы поисковой выдачи;
3) синтаксический анализ HTML-кода страницы поисковой выдачи для извлечения данных объектов рекламного блока;
4) запись параметров извлеченных объектов в локальное хранилище данных.
Этап подготовки данных для обучения включает отбор данных (признаков и объектов), очистку данных, генерацию, интеграцию и форматирование. Автоматизированный сбор данных исключает ситуации, когда у объектов могут быть пропущенные значения признаков, ошибки в данных, несоответствующая кодировка. На этапе генерации данных необходимо проанализировать исходные признаки объектов и спроектировать дополнительные признаки для проверки гипотез о повышении точности модели обучения при добавлении дополнительных признаков. Сбор данных происходит из более чем одного источника, поэтому необходимо выполнять интеграцию данных для подготовки обучающей выборки.
Данные о ценах позиций объекта ai, получены от сервера поисковой системы и представлены упорядоченным множеством Si1 = [s^i,s'f1, ...,sfi} состояний с соответствующим каждому элементу значением времени замера состояния, где c - текущий замер состояния объекта ai. Данные о позициях размещения рекламных объявлений объекта ai, полученные из поисковой выдачи, представлены упорядоченным множеством Sif = [sf sff,..., s£f} состояний с соответствующим каждому элементу значением времени замера состояния.
Объединим множества Si± и Sif состояний в множество Si так, что s( = s]i± U s/2. Примем за метку класса выборки значение a™ позиции размещения рекламного объявления, а множество ai\a]n за множество признаков объекта. Выборка содержит значения времени замера состояния, поэтому необходимо провести форматирование данных таким образом, что элементы множества были упорядочены по возрастанию по значению времени замера состояния.
Данные о ценах позиций, получаемые посредством POST-запроса от сервера рекламной системы, десе-риализуются в объект типа динамический список структуры AuctionBids. Данные о позициях размещения конкурентов, получаемые в формате HTML в ответе на GET-запрос, извлекаются посредством синтаксического анализа в объект типа динамический список структуры SearchAd.
Выдвинем гипотезу о наличии зависимости между позициями объявлений поисковой выдачи и для проверки выполним генерацию дополнительных признаков состояний аукциона: месяц, день недели, суточный временной интервал, час, минута, которые получим из значения поля TimeStamp объекта структуры AuctionBids.
Обучение модели прогнозирования состояния аукциона по каждому поисковому проведем по матрице данных, которая формируется путем интеграции данных о ценах позиций, данных о позициях размещения конкурентов и данных о времени замера состояния. Интеграцию выполним посредством горизонтального соединения признаков.
Таким образом, для каждого поискового запроса рекламной кампании данные (признаки), выгружаемые из двух источников, интегрируются в один объект dataset - объект структуры CompetitorDatasetItem (табл. 1).
ТАБЛИЦА 1
ОПИСАНИЕ СТРУКТУРЫ COMPETITORDATASETITEM
Название поля Тип Описание
stateID int Идентификатор состояния
Pi long Цены размещения на -ой позиции
compj int Позиция -го конкурента
month int Номер месяца
day_of_week int Номер дня недели
part_of_day int Номер части дня, где раг1_о[_йау = [Иоиг/3]
hour int Значение часа, в которые был сделан замер состояния
minute int Значение минуты, в которую был сделан замер состояния
После интеграции признаков объект структуры CompetitorDatasetItem преобразовывается в соответствующий формат CSV-файла для обрабатываемого поискового запроса. Для обучения модели прогнозирования состояния аукциона по определенному поисковому запросу в качестве dataset используются данные, хранящиеся в соответствующем этому запросу CSV-файле.
Предложенный подход гарантирует, что однозначно исключить из выборки можно только первый признак - идентификатор состояния аукциона (значения этого признака являются уникальными для каждого объекта выборки).
2. Выбор алгоритмов и оценка качества моделей обучения
В качестве исходных данных для прогнозирования позиции возьмем признаки pt,p2, ■■■,pz (z - количество позиций рекламного блока поисковой выдачи),month, day_of_week, part_of_day, hour, minute. Поставленную задачу можно рассматривать как задачу многоклассовой классификации. Для решения применим методы машинного обучения, рекомендованные документацией библиотеки scikit-learn [6] в разделе «Подбор подходящей оценочной функции»: стохастического градиентного спуска (SGD), метод опорных векторов (SVM) с линейным, радиальным базисным, полиномиальным ядрами и k-ближайших соседей. Применим классические методы классификации: дерево решений и Байесовский классификатор [8].
В статье [4] Алексея Натекина, члена сообщества "Open Data Science", говорится о том, что в задачах ранжирования выдачи поисковых систем используется метод градиентного бустинга, поэтому применим этот метод для прогнозирования позиции конкурента в поисковой выдаче.
Для оценки точности алгоритмов классификации воспользуемся такой метрикой, как матрица ошибок для К классов. Пусть дана выборка состояний Sx (х = 1,..., с, а™ - метка класса -го состояния, а™ Е {1,2, ■..,К}), каждый объект которой относится к одному из К классов и классификатор W, который эти классы предсказывает. Матрицей ошибок для такого классификатора называется следующая матрица:
Е = {exv}K (1)
с
еху = ^[W(SZ) = у] [а™ = х]
2=0
Значение еху означает, сколько объектов класса у были распознаны как объекты класса х. Матрица ошибок (1) позволит понять, какие классы определяются классификатором неверно в большинстве случаев. «В многоклассовых задачах сводят подсчет качества к вычислению одной из двухклассовых метрик. Выделяют два подхода к такому сведению: микро- и макро-усреднение» [5].
Пусть TPi - число корректно предсказанных элементов класса i; TNi - число элементов, не относящихся к классу i, предсказанных как не относящиеся к классу i; FNi - число элементов, которые были некорректно предсказаны как элементы класса i; F Pi - число элементов класса i, которые были некорректно предсказаны как элементы других классов.
При микро-усреднении сначала характеристики усредняются по всем классам, а затем вычисляется итоговая метрика. Рассчитаем для каждой модели микромеры для учета наиболее крупных классов. Рассчитаем точность - долю истинно положительных примеров среди примеров, предсказанных как положительные, по формуле:
у« TP-
Prec is ionu = (2)
M Уы-liTPi+FPi) V '
Рассчитаем долю истинно положительных примеров среди фактически положительных примеров, т. е. полноту, по формуле:
V« ТР-
R е cal L = KV=1,Pl (3)
Рассчитаем F-меру, которая представляет гармоническое среднее между точностью и полнотой, по фор-
муле:
^ 2*Precisionit*Recallu
F1 - seогеи =-е-(4)
^ Precision^+Recall^
При макро-усреднении сначала вычисляется итоговая метрика для каждого класса, а затем результаты усредняются по всем классам. Рассчитаем для учета всех классов с одинаковым весом без учета их размеров для каждой модели макромеры - точность по формуле (5), полноту по формуле (6) и F - меру по формуле (7):
уК Tpi у i=lTP-+FP ■
Pr е eis i опм =-i—i (5)
к
у К у =1
Reca Им = =lTPi+FNi (6)
к
F, - SСОГем = 2*PrecisionM*RecallM 1 ' PrecisionM+RecallM
Если классы отличаются по мощности, то при микро-усреднении они практически никак не будут влиять на результат, поскольку их вклад в средние TP, FP, FN и TN будет незначителен. В случае же с макровариантом усреднение проводится для величин, которые уже не чувствительны к соотношению размеров классов, и поэтому каждый класс внесет равный вклад в итоговую метрику.
IV. Результаты экспериментов
Рассмотрим рекламные кампании десяти конкурентов, для каждого из которых была задана стратегия размещения объявлений кампании в поисковой выдаче. Обучение проводилось на данных за 3 месяца на 13 104 записях состояний аукциона, замеренных с интервалом 10 минут. Поисковая выдача включает 8 позиций объявлений. Каждая строка представляет запись состояния аукциона, каждый столбец - признак состояния. Dataset включает 13 104 записей и 24 признака. В каждой записи есть нулевые значения, так как поисковая выдача содержит 8 позиций.
Необходимо сравнить состояния аукциона, спрогнозированные с помощью обученной модели, и значения состояния аукциона из dataset. Для объявлений каждого конкурента была задана стратегия, которая состоит из ставки за клик по умолчанию, повышенной ставки за клик и ее временного интервала.
T P
ТАБЛИЦА 1 ОПИСАНИЕ СТРАТЕГИЙ КОНКУРЕНТОВ
Объявление Повышенная ставка, руб./клик Временной интервал Ставка по умолчанию, руб./клик
1 120 с 18:00 до 20:00 10
110 с 20:00 до 22:00
2 120 с 20:00 до 21:00 20
130 с 21:00 до 22:00
3 120 выходные 40
4 130 в будние дни с 12:00 до 16:00 40
5 120 в будние дни с 09:00 до 22:00 50
6 120 в будние дни с 09:00 до 12:00 и с 18:00 до 22:00 50
7 70
8, 9, 10 80
В результате проведенных вычислений определили наиболее зависимые между собой признаки (табл. 3). Высокий коэффициент корреляции между значениями часа и позиции конкурента 1 объясняется стратегией конкурента на повышение ставки в течение четырех часов, с 18:00 до 22:00.
ТАБЛИЦА2
МАТРИЦА КОРРЕЛЯЦИИ НАИБОЛЬШИХ КОЭФФИЦИЕНТОВ
part_of_day comp1 comp5 comp7
1,00 0,99 0,62 -0,53 0,70
part_of_day 0,99 1,00 0,64 -0,54 0,71
comp1 0,62 0,64 1,00 -0,45 0,78
comp5 -0,53 -0,54 -0,45 1,00 -0,70
comp7 0,70 0,71 0,78 -0,70 1,00
Для пары значений часа и позиции конкурента 5 коэффициент корреляции отрицательный, так как при увеличении часа, т. е. к концу дня, ставки начинают повышаться у конкурента 1 и 2. При этом позиция конкурента 5 снижается, т. е. между часом и позицией конкурента 5 есть обратная зависимость.
Коэффициент корреляции между значениями часа и позицией конкурента 7 выше, чем между значением часа и позицией конкурента 1, так как повышение позиции конкурента 1 происходит только в течение 4 часов (с 18:00 до 22:00), а для конкурента 7 позиция повышается в течение всего дня за счет более высокой фиксированной ставки (70).
Построим графики зависимости позиции от времени для конкурентов 1 (рис. 2) и конкурента 7 (рис. 3).
График зависимости позиции конкурента 1 от часа
5
4
3
о.
(- 2
о
и 1
-1
• •
9 11 13
Иоиг
15 17 19 21 23
1
3
5
7
Рис. 2. График зависимости позиции конкурента 1 от часа
График зависимости позиции конкурента 7 от часа
9 11 13
Иоиг
15 17 19 21 23
1
3
5
7
Рис. 3. График зависимости позиции конкурента 7 от часа
Для проведения кросс-валидации выборка была разделена на 5 равных частей. Выборка данных была разделена на обучающую и тестовую в соотношении 80% и 20%.
По результатам тестирования наибольшую точность показал метод ^ближайших соседей по метрике кросс-валидации; самым точным оказался прогноз позиций конкурента 1 (87%), а самым низким оказался прогноз позиции конкурента 5 (25%), так как конкурент 1 занимает одну из четырех позиций, а конкурент 5 одну из 7 позиций, т. е. имеет больший разброс позиций.
Как видно по результатам расчета матрицы ошибок для каждого конкурента, при увеличении количества занимаемых позиций конкурента соответственно уменьшается точность классификации. Матрица ошибок классификатора по методу ^ближайших соседей для конкурента 1 показывает, что конкурент 1 занимает всегда позицию 0, 2, 3 или 4 (рис. 4).
Predicted label
Рис. 4. Матрица ошибок классификатора для конкурента 1
Матрица ошибок классификатора по методу k-ближайших соседей для конкурента 5 показывает, что конкурент 5 может размещаться на всех позициях кроме четвертой, что снижает точность прогноза позиции
(рис. 5).
Predicted I
Рис. 5. Матрица ошибок классификатора для конкурента 5
График аукциона (рис. 6) показывает, на каких позициях размещалось объявление конкурента 3 в момент каждого замера результатов поисковой выдачи и спрогнозированные значения позиций этого объявления.
Рис. 6. Аукцион для конкурента 3
Визуальное отображение позиций объявлений конкурентов позволяет специалисту иметь представление о списке существующих конкурентов и занимаемых ими позициях, доле времени, которое конкретный конкурент размещается на первых позициях рекламных блоков поисковой выдачи.
V. Выводы и заключение
Был проведен анализ зависимостей показателей однотипных объектов и спроектирована и разработана система "Competitor" поддержки принятия решений на основе анализа зависимостей показателей однотипных объектов. Система позволяет проводить мониторинг рекламных блоков поисковой выдачи и получать прогноз позиций размещения объявлений конкурентов.
Знания прогнозных значений позиций размещения объявлений конкурентов позволят специалисту по поисковой рекламе устанавливать дополнительные настройки показа объявлений (например временной тарге-тинг) в целях увеличения времени отображения объявлений на первых позициях рекламного блока поисковой выдачи.
Для увеличения точности прогнозируемых значений позиций конкурентов в аукционе планируется применить методы обучения, где в качестве среды будут приняты позиции конкурентов по результатам проведения аукциона, и в качестве состояния агента будет принята позиция продвигаемого объявления.
В результате проведения исследования сделан вывод о том, что этапы автоматизации сбора данных, анализа и подготовки данных для обучения занимает около 60% времени всего исследования, а этапы применения алгоритмов машинного обучения, оценки качества моделей обучения и апробации работы системы занимают около 10-15% за счет применения открытых библиотек анализа данных.
Предложенный подход для прогнозирования состояний аукциона на основе моделей машинного обучения с учетом микро- и макромер оценки их точности может быть применен в работе digital-агентств для увеличения эффективности продвижения и анализа стратегий конкурентов в RTB-аукционе.
Список литературы
1. 2017 was the year digital ad spending finally beat TV [Электронный ресурс]. URL: https://www.recode.net/2017/12/4/16733460/2017-digital-ad-spend-advertising-beat-tv (дата обращения: 22.05.2019).
2. Смирнов А. С. Рынки контекстной рекламы: подходы и теоретические модели // Экономика и математические методы. 2015. Т. 51, № 4. С. 14-24.
3. Давыдов Д. В., Измалков С. Б., Смирнов А. С. Рынки контекстной рекламы: эмпирические и экспериментальные работы // Журнал Новой экономической ассоциации. 2015. № 4 (28). С. 56-73
4. Открытый курс машинного обучения. Тема 10. Градиентный бустинг [Электронный ресурс]. URL: https://habr.com/company/ods/blog/327250/ (дата обращения: 20.03.2019).
5. Высшая школа экономики. Многоклассовая классификация [Электронный ресурс]. URL: https://www.coursera.org/lecture/vvedenie-mashinnoe-obuchenie/mnoghoklassovaia-klassifikatsiia-P9Zun
(дата обращения: 25.05.2019).
6. Choosing the right estimator [Электронный ресурс]. URL: http://scikit-learn.org/stable/tutorial/ machine_learning_map/index.html (дата обращения: 05.04.2019).
7. Боганюк Ю. В., Воробьева М. С. Алгоритм взаимодействия с сервером контекстной рекламы для уменьшения нагрузки на сервер // Математическое и информационное моделирование: сб. научных трудов. Вып. 15. Тюмень: Издательство Тюменского государственного университета, 2017. 534 с.
8. Воробьева М. С., Воробьев А. М., Егоров Ю. А. Построение распределенного алгоритма поиска структурных различий в категориях изоморфизма // Международный научно-исследовательский журнал. 2017. № 4 (58). Ч. 4. С. 24-27.
9. Захаров А. А., Захарова И. Г., Ромазанов А. Р., Широких А. В. Моделирование теплового режима и управление теплоснабжением помещений умного здания // Вестник Тюменского государственного университета. Физико-математическое моделирование. Нефть, газ, энергетика. 2018. Т. 4, № 2. С. 105-119.