Научная статья на тему 'Усовершенствованный алгоритм оптимизации показов рекламы в поисковых системах и результаты экспериментов'

Усовершенствованный алгоритм оптимизации показов рекламы в поисковых системах и результаты экспериментов Текст научной статьи по специальности «Математика»

CC BY
363
145
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
Проблемы управления
ВАК
Область наук
Ключевые слова
КОЭФФИЦИЕНТ КЛИКОВ / БАННЕР / ИНТЕРНЕТ-РЕКЛАМА / АЛГОРИТМ / ОПТИМИЗАЦИЯ / KEYWORLDS: ADS CTR / ON-LINE ADVERTISING / OPTIMIZATION OF ADS ALLOCATION / OPTIMIZATIONAL ALGORITHM CONSTRUCTING

Аннотация научной статьи по математике, автор научной работы — Сорокина Анна Николаевна, Червоненкис Алексей Яковлевич

Описана модификация предложенного ранее авторами алгоритма оптимизации показов рекламных объявлений на главной странице поисковой выдачи по запросам пользователей в системе поиска в Интернете. Показано, что модификация алгоритма позволяет существенно сократить перебор и объём производимых операций. Выполнено экспериментальное тестирование нового алгоритма на реальных наборах данных, предоставленных компанией «Яндекс».I

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

n the author’s previous paper optimization algorithm of ads allocation in Sponsored Search was proposed. This paper presents modernization of the algorithm. The proof of the equivalence of the old and the improved algorithm is given. There is a significant reduction in the enumerations and performing operations in new algorithm. Experimental results of the new algorithm using real data sets provided by «Yandex» company are presented.

Текст научной работы на тему «Усовершенствованный алгоритм оптимизации показов рекламы в поисковых системах и результаты экспериментов»

УДК 659.1.011.4;519.853.3

усовершенствованный алгоритм оптимизации показов рекламы в поисковых

системах и результаты экспериментов

А.Н. Сорокина, А.Я. Червоненкис

Описана модификация предложенного ранее авторами алгоритма оптимизации показов рекламных объявлений на главной странице поисковой выдачи по запросам пользователей в системе поиска в Интернете. Показано, что модификация алгоритма позволяет существенно сократить перебор и объем производимых операций. Выполнено экспериментальное тестирование нового алгоритма на реальных наборах данных, предоставленных компанией «Яндекс».

Ключевые слова: коэффициент кликов, баннер, интернет-реклама, алгоритм, оптимизация.

ВВЕДЕНИЕ

В работе [1] поставлена задача оптимизации показов рекламы в спецразмещении в поисковых системах, предложен метод и описан алгоритм ее решения. Этот алгоритм в точности решает соответствующую оптимизационную задачу, однако он достаточно сложен по объему необходимых операций и потому неудобен в практической реализации. В настоящей работе предлагается новый алгоритм, который, как будет теоретически показано, решает ту же самую оптимизационную задачу, что и прежний, но позволяет существенно сократить перебор и объем производимых операций.

Напомним постановку задачи. Поисковая выдача на запросы пользователя может сопровождаться рекламными объявлениями (баннерами). Если пользователь кликает на рекламное объявление, то деньги со счета рекламодателя списываются в пользу поисковой компании. Списываемая сумма определяется ставкой, которую задает рекламодатель. Эти деньги составляют существенную долю дохода поисковой компании. Наиболее привлекательно для рекламодателя размещение объявлений над результатами поиска — здесь более высокая вероятность клика на баннер [2]. Это место называется спецразмещением. Соответственно конкуренция за попадание в спецразмещение максимальна, и ставки, предлагаемые рекламодателями, наиболее высокие. В дальнейшем нас будет интересовать только спецразмещение.

В поисковой системе число объявлений, размещаемых над результатами поиска, ограничено (в настоящее время в системе компании «Яндекс» не более трех). Блок объявлений, показанных на поисковый запрос, называется хитом, но не все поисковые выдачи могут сопровождаться рекламными хитами: задана доля запросов, ответы на которые могут содержать рекламные объявления. Эти ограничения создают конкуренцию рекламодателей за право попадания в спецразмещение, которая разрешается с помощью аукциона второй цены [3, 4]. Задача оптимизации показов рекламы в спецразмещении состоит в отборе баннеров для показа в зависимости от ставок, прогноза вероятности клика на данное объявление и заданных ограничений. Выделим два критерия, позволяющие оценить качество выбора: суммарный доход, поступающий от рекламодателей, и средняя клика-бельность — насколько часто пользователь кли-кает на то или иное из предъявленных объявлений (что определяет среднюю удовлетворенность пользователя). В настоящей работе предлагается максимизировать среднюю кликабельность при заданном ограничении (снизу) на доход (хотя совершенно аналогично решается и задача максимизации дохода при заданном ограничении снизу на среднюю кликабельность).

Другие критерии отбора объявлений представлены в работах [5—11], а другие модели — в работах [12, 13].

Напомним формальную постановку задачи и принятые обозначения: Bid — ставка, назначенная рекламодателем за клик на показанное объ-

явление; CTR — оценка вероятности клика (считается заданной); k — максимальное количество баннеров в спецразмещении на один запрос, CPM = CRT• Bid — ожидаемая сумма денег, списываемая со счета рекламодателя за клик пользователя по конкретному баннеру.

Требуется найти такое правило отбора баннеров, показываемых в спецразмещении, которое обеспечивает максимум математического ожидания среднего значения оценки CTR при ограничениях:

— сохранение среднего дохода поисковой компании за определенный период времени;

— сохранение доли поисковых выдач, содержащих спецразмещение;

— для каждого спецразмещения число баннеров в нем не должно быть больше заданной величины k.

Оказалось, что оптимальная стратегия отбора баннеров (при заданных внешних параметрах) определяется некоторыми четырьмя параметрами Хр ^2, Х3 и T0 [1]. Для каждого из баннеров известны его показатели Bid и CTR. Предполагается, что для каждого запроса задан список кандидатов банне-ров, которые могут быть по нему показаны. Тогда правило оптимального отбора баннеров будет следующим:

1) для каждого из этих баннеров вычислить величину

Fy = CTRtj/T0 + XlBidiCTRij -

2) составить список кандидатов для показа в спецразмещении, из баннеров, для которых величина F положительна (этот список может быть и пустым);

3) если число кандидатов больше k, то сократить список, оставив в нем только k баннеров с наибольшим значением F (усеченный список);

4) подсчитать значение R.(X) = X F.., где сумма

j i j

берется по всем баннерам из усеченного списка;

5) если это значение меньше Х3, то обнулить список и для данного запроса не показывать никаких баннеров в спецразмещении. Иначе показать в спецразмещении все баннеры из усеченного списка.

Подбор параметров Хр Х2, Х3 и T0 предлагалось вести по представительному набору запросов, для каждого из которых известен список кандидатов баннеров и соответствующие значения Bid и CTR. Был предложен алгоритм, который для заданного пула решал задачу выбора оптимальных значений параметров Хр Х2, Х3 и T0 [1].

1. УСКОРЕННЫЙ алгоритм поиска ПАРАМЕТРОВ 1r 12 И 13

Полагаем, что в выборке имеется M запросов с индексами j, 1 < j < M, и задан список из N баннеров с индексами i, 1 < i < N. Обозначим:

Bidi — ставка, назначенная рекламодателем за i-й баннер, все Bidi > 0;

CTRij — оценка вероятности клика при разме-

ij

щении i-го баннера над результатами поиска на j-й запрос. Значения Bid. и CTR.. считаем заданными.

I IJ

Введем бинарную переменную t, такую что

ij

ty = 1 означает, что i-й баннер показан в спецраз-ij

мещении на j-й запрос, и t.. = 0 в противном слу-

j

чае. Именно оптимальные значения этой переменной будем искать.

Далее заменим переменные t.. на непрерыв-

j

ные, подчиненные дополнительному ограничению:

0 < t .. < 1. Корректность этой замены показана в ра-

j

боте [1]. Обозначим набор значений t.. вектором t,

iJ

тогда суммарное число объявлений, показанных по всем запросам, TSUM = X t, , а суммарный доход

ЫОЫЕУЦ) = У Вгй.СТЯ.. t„.

Суммарное количество запросов, для которых в спецразмещении показан хотя бы один баннер, обозначим НМ(1). Это число не должно превосходить допустимый предел Н^тах.

В этих обозначениях целевая функция, подлежащая максимизации, имеет вид:

CRIT0(t) = X CTR, t,/TSUM.

Ограничения примут вид: — по доходу:

MONEY(t) > MON.

(1)

(2)

— по доле хитов: ИЫ^) < Н#шах;

— по числу баннеров в спецразмещении на каждый запрос:

У] У ] < к;

1

— дополнительное ограничение 0 < t■■ < 1.

Как уже отмечалось, алгоритм, предложенный в работе [1], в точности решал эту задачу. В настоящей работе предлагается его модификация (рис. 1), позволяющая существенно ускорить его работу.

1 Перебор значений Х2 с целью максимизации функции (1)

Перебор значений /ч (при фиксированном Х2) до достижения равенства (3)

Максимизация функции (4) при фиксированных значениях X) и Х2; получение оптимальных значений вектора / и соответствующих значений ТБиМ и Х3

4 Оптимальные ЗНс1ЧСНИЯ Аь и X?

Рис. 1. Общая схема алгоритма подбора порогов входа в спецразмещение

Внешний цикл предлагаемой модификации алгоритма реализует перебор по переменной Х2, в ходе которого ищется значение Х2опт, доставляющее максимум (основной критерий) целевой функции (1). Вложенный цикл осуществляет перебор по переменной Хр в ходе которого ищется (при фиксированном значении Х2) значение Хр обеспечивающее равенство

ИОШУ(1) = ИОЫт

(3)

Замена неравенства (2) равенством (3) объясняется тем, что если бы было справедливо ИОЫЕУ^) > ИОЫт-п, то по теории Куна — Такке-ра [14] должно быть справедливо Х1 = 0, но тогда ограничение по деньгам вообще не учитывается, и максимум среднего значения СТЯ будет достигнут, если показать только баннеры с максимальным значением СТЯ. Но таковых будет один или совсем немного, а тогда (в практически интересных случаях) денег заведомо не хватит.

Можно показать, что оптимальное значение ИОЫЕУ(Т) (при фиксированном Х2) не убывает с ростом Хр и поэтому для нахождения корня уравнения (3) можно воспользоваться бинарным поиском.

Центральная часть алгоритма осуществляет выбор оптимальных значений переменных I.., достав]

ляющих максимум функции

СШТ.О) = £^(^ + ХхВ1й1СТЯц- . (4)

[0

при фиксированных значениях Х1 и Х2. Значение переменной Т0 можно выбрать любым, например равным 1 или текущему значению. Оптимизация идет тем же путем, что и описанном в работе [1].

2. ФОРМАЛЬНОЕ ОПИСАНИЕ АЛГОРИТМА

Запишем общий алгоритм подбора порогов для показа объявлений в спецразмещении.

Обозначения: И — общее число запросов, N — общее количество баннеров-кандидатов в выборке запросов, — максимальное допустимое пок-

рытие, ИОЫтП — минимальные деньги, которые должны быть выручены от показа баннеров в спецразмещении по выборке запросов, Т0 — количество показов баннеров при покрытии НИтах для текущего состояния системы. Для каждого запроса и баннера-кандидата дано:

СТЯ.. — прогноз СТЯ (кликабельности) объяв]

ления,

В1й. — ставка рекламодателя по 1-му баннеру.

Алгоритм можно записать в следующем виде. Цикл по Х2.

Значение Х2 доставляет максимум (основной

критерий) целевой функции (1).

Цикл по Хг

Вырученные деньги с ростом Х1 не убывают, т. е. можно считать что Х1 —параметр, регулирующий поступление денег от рекламодателей. Перебор по Х1 идет до достижения равенства (3). Цикл по запросам у.

По всем баннерам-кандидатам I для запроса у:

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

То) = СТЯ]/Т0 + Х1СРИУ - ^ не включая в список те I, для которых

Р.. < 0, и оставив к баннеров с наиболь-

]

шим значением Р .;

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

Я. = ЕР.. (по баннерам, вошедшим в

I ]

список).

Конец цикла по запросам у.

Упорядочить списки для запросов (у) в порядке

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

убывания Я .

Оставить только первые из них (выполнение ограничения по покрытию), остальные обнулить (это в том случае, если хитов хватает, в противном случае оставить все хиты).

Запомнить Х3 = min.R j). Положить

tJ =

1, если пара (¡, ]) в списоке и оставлена для показа,

0 в противном случае.

Изменять А^, пока не будет выполнено неравенство (3), следующим образом:

— если ЫОЫЕУ(г) < МОИтп, то уменьшить

— если ЫОЫЕУ(г) > ИОЫ^, то увеличить

Положить ^1опт =

Запомнить А3, А1опт, списки ^ (т. е. банне-ры, отобранные для показа). Конец цикла по 11. Вычислить:

CR1Tl(Чпт, Ч То) =

(CTR

= X ty{-Щ^ + XionxBid,CTRy - Х:

Изменять Х2, чтобы достигнуть максимума CRIT0(t) = Z CTR,/,/ TSUM.

j if

Положить Х2опт то значение Х2, при котором достигнут maxCRIT0(t). Конец цикла по Х2.

В конце алгоритма получаем три значения Х1опт, Х2опт и Х3опт, которые будут использоваться для работы с новыми запросами.

3. доказательство эквивалентности двух алгоритмов

Согласно «старому» алгоритму, предложенному в работе [1], оптимизация идет в следующем порядке. Цикл по Xj. Цикл по X2. Цикл по 70.

При заданных X2 и T0 выбор оптимального значения вектора t идет по критерию максимума функции

^ (CTRu CRITCTap(t) = I j—м + XlBidiCTRij -

при дополнительных ограничениях. Перебор по T0 до выполнения условия T0 = TSUM. Перебор по X2 до выполнения условия MONEY =

= MONmm.

Перебор по до достижения максимума функции CRIT0(t).

«Новый» (ускоренный) алгоритм отличается тем, что в нем отсутствует цикл по T0, а значение T0 можно положить равным произвольной положительной константе. Для простоты положим T0 = 1, случай произвольного T0 рассматривается аналогично. Соответственно изменяется и «внутренний» критерий, по которому находится вектор при заданных значениях и X2. Алгоритм состоит в следующем. Цикл по X2. Цикл по

При заданных значениях и X2, выбор оптимального значения вектора t идет по критерию

максимума функции CRITH0B(t) = I ti(CTRij +

i,j 1

+ XJBidiCTRij — X2) при дополнительных ограничениях.

Перебор по до выполнения условия MONEY = MONmm.

Перебор по X2 до достижения максимума критерия

CRIT0(t) = I CTRJJTSUM.

i,j 1

Покажем, что результат работы этих двух алгоритмов (выбор значения t ) совпадает. Допустим, что tonT — оптимальное значение вектора t, выбранное «старым» алгоритмом. Пусть координаты этого вектора есть tj0nT,

а величина

TSUM0nT равна 11, подобранные при

i,j

этом значения Х2 и Т0 равны Х1опт, Х2опт и Т0опт. Покажем, что значение 7опт может служить и результатом «нового» алгоритма.

Действительно, если умножить СЛ/Тстар(>) на константу ТБиМ , то получим:

CRIT^p (t) = 11;;( CTRj TSUM опт/ То) +

+ (Х.ТБиМ )Bid.CTR.. - Х2ТБиМ ). (5)

у 1 опт' I } 2 опт' у '

При умножении функции (5) на константу значение вектора 7, доставляющее ей максимум, не меняется. В частности, 7опт будет доставлять максимум и критерию

ЖТ^ (*) при А.1 = Х^ Х2 = Х2опт и Т0 = Т0опт. Обозначим ^ = Я,1оп1ТБиМопт и Х*2 = Цопт^иМопт и заметим, что по условию Т0опт = ТБиМопт и, значит, ТБиМопт/Т0 = 1.

Тогда функция CRITCтар (7) при оптимальных значениях Хр Х2 и Т0 примет вид:

етТСтар (7) = I}CTR¡j + X* Bid¡CTR¡j - Ъ).

Но эта функция совпадает с функцией, используемой в «новом» алгоритме. Действительно, функция

СШТ (7) = I (CTR.. + X-.Bid.CTR.. - Х2)

нов4 ' ^ } } 1 I ¡} V

совпадает с функцией

CRIT;тар (7) = I tj(CTRj + Bid¡CTR¡j - Х*2).

Поэтому и значение tomT доставит максимум новой функции CRITH0B(t) при Xj = А* и X2 = А*. При этом значения А* и А* таковы, что выполнятся условия подбора, так как при t = t MONEY = MON . и достигается мак-

^ опт min ^

симум функции CRIT0(t) = X CTRJjTSUM.

i,j 1 1

Таким образом, выбор оптимального значения вектора t будет одинаковым для обоих алгоритмов, но значения параметров и А2 будут разными, и это нужно учесть при работе с новыми парами «запрос — баннер».

4. РЕЗУЛЬТАТЫ ЭКСПЕРИМЕНТАЛЬНОГО ТЕСТИРОВАНИЯ НОВОГО АЛГОРИТМА

Последовательно рассмотрим каждый из этапов выбора значений параметров Хр Х2 и Х3 и убедимся, что алгоритм отбирает объявления нужным нам способом. Тестирование производилось на 100 тыс. поисковых запросах, реально встретившихся при работе Яндекса за некоторую неделю во времени, и баннеров, предложенных рекламодателями.

Для каждого из этих запросов были заранее отобраны баннеры-кандидаты на показ в спецразмещении — примерно по 50 баннеров на запрос. Также, для каждой пары «запрос — баннер-канди-дат» были заранее подсчитаны оценки вероятности клика CTR.., для каждого баннера была известна его ставка Bid. Значение параметра T0 можно выбрать любым, и мы положим его равным текущему значению суммарного числа показанных банне-ров. Просмотр будем вести, начиная с внутренних операций при фиксированных значениях Хх и Х2. Затем посмотрим результат работы перебора по параметру Хх при фиксированных значениях Х2. Наконец, рассмотрим работу внешнего цикла по Х2, в результате которого будет выбрано оптимальное значение параметра Х2, а вместе с тем и требуемые значения параметров Хх и Х3.

4.1. Значения параметров 12 и 11 фиксированы

Рассмотрим ту часть алгоритма, которая на схеме (см. рис. 1) представлена блоками 2 и 3). Поскольку здесь все параметры известны, то для каждой пары (запрос — баннер-кандидат» можно вычислить величину

F^, T,) = CTRy/To + \сШу - Х2.

В предварительный список баннеров для показа на i-й запрос включаются только те баннеры, для которых величина F/Х, T,) положительна. Список мог оказаться и пустым. Из этого списка отбирались k = 3 лучших баннеров по критерию

максимума Р.(Х, Т0). Если же число баннеров в списке оказывалось меньше трех, то отбирались все баннеры списка. Таким путем формируются усеченные списки (хиты) для всех запросов нашего пула.

Теперь для каждого усеченного списка считается суммарный критерий: Я. = ЕР .., где сумма бе-

I у

рется по всем баннерам списка для /-го запроса. Далее просматриваются все запросы пула с непустым списком и отбираются из них первые НИтах в порядке убывания суммарного критерия Щ. Остальные запросы будут оставлены без рекламных объявлений. Тем самым будет выполнено ограничение по покрытию. Минимальное значение Я., относящееся к отобранным запросам, принимается за Х3. Оно, конечно, зависит от заданных значений Хх и Х2. Может случиться так, что все запросы с непустым списком будут отобраны, а значение НЫша все равно не будет достигнуто. Это значит, что ограничение на покрытие автоматически выполняется благодаря требованию Р.(Х, Т0) > 0. В этом случае полагаем Х3 = 0. Теперь подсчиты-вается число ТБИМ как суммарное число пар «запрос — баннер», оставленных для показа. Оно нам понадобится при вычислении основного критерия. Одновременно вычисляется критерий СЯРТ1 как сумма значений Р.(Х, Т0) по всем отобранным парам «запрос — баннер».

4.2. Значение параметра 12 фиксировано, варьируется параметр 11

Для нахождения требуемого значения параметра Хх рассматривается зависимость величины

ЕСРМ

ЕСРМ = ЪВ/й.СТЯ..

I ]

от параметра Хх при фиксированном значении параметра Х2. Сумма берется по всем отобранным парам запрос-баннер, процедура отбора которых описана в предыдущем разделе. Величину ЕСРМ в рассматриваемом случае принимаем как аппроксимацию суммарного дохода МОЛЕУ(().

На рис. 2 показаны кривые изменения величины ЕСРМ в зависимости от изменения параметра Хх для различных значений параметра Х2. Одно из этих значений (Хх = 7,46) соответствует точке оптимума основного критерия, но оно может быть найдено только после проведения оптимизации по этому параметру.

Согласно предлагаемому алгоритму, оптимальное значение параметра Хх достигается при выпол-

ЪСРМ 3500 3400 3300 3200 3100 3000 2900

0,5

1,5

2,5 3,5 а

4,5

5,5 X,

ЪСРМ 3500 3300 3100 2900 2700 2500

ЪСРМ 3500 3300 3100 2900 2700 2500

-г г*-

*

*

* +

*

*

0,5 1

1,5

2,5

3,5

X,

+

*

*

*

ф

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

*

*

0,5 1 1,5 2 2,5 3 3,5 4 X,

Рис. 2. Динамика изменения величины ЪСРЫ в зависимости от варьирования параметра Х1 при фиксированном значении параметра Х2: а — Х2 = 7,46; б — Х2 = 8,58; в — Х2 = 10,26

нении равенства (3) или в нашем приближении ЪСРМ = МОИт1п. Видно, что величина ЪСРМмо-нотонно растет с увеличением значения параметра А1. Поэтому для нахождения корня равенства можно использовать тот или иной ускоренный алгоритм.

Интересно отметить, что суммарный доход СРМ по системе растет сильнее при варьировании от 1,5 до 2,7, дальше же, видимо, происходит некоторое «насыщение», т. е. объявлений с большими значениями СРМ уже не остается среди кандидатов на показ, и приходится добирать все более дешевые объявления, и суммарный СРМ начинает расти медленнее.

4.3. Варьирование параметра 12

Теперь после того, как для каждого значения Х2 найдено требуемое значение А1, рассмотрим, как ищется оптимальное значение параметра А2. Для каждого значения А2 одновременно с нахождением требуемого значения ^1опт(^2), т. е. для пары (А2, ^1опт(^2)) мы нашли оптимальное значение

переменных t., удовлетворяющее ограничениям,

]

а по ним среднее значение СТЯ, суммарный доход СРМ, величину ТБИМ для нашего пула данных и требуемое значение параметра А,3, контролирующего покрытие. По этим данным алгоритм вычисляет значение основного критерия

СШТ0О) = X СТЯУ уТБИМ,

и]

график зависимости которого от А2 показан на рис. 3.

Каждая точка на этом графике представляет собой результат работы внутренних циклов, представленных на рис. 1 (блоки 2 и 3). Видно, что зависимость основного критерия от параметра А2 имеет достаточно отчетливый максимум. Точка, в которой достигается этот максимум, принимается за оптимальное значение = А2опт для которого мы получаем также соответствующие значения ^1опт(^2) и ^3опт(^2). Эти значения составляют выход программы оптимизации и будут использованы для дальнейшей работы с новыми запросами и баннерами-кандидатами на показ в спец-размещении.

Полный цикл подбора порогов для пула запросов занимает от 6 до 9 ч в зависимости от шага перебора по параметрам и А2. Экспериментальное тестирование предложенного алгоритма показало, что процедура работает успешно.

СШ0 0,106 0,104 0,102 0,1 0,098 0,096 0,094 0,092 0,09

тахСШТо

* +

И ♦ -м»

Х2от

8 10 12 14 16 18 Х2

Рис. 3. Зависимости величины СД/Т0 от параметра Х2

5. РАБОТА АЛГОРИТМА НА РЕАЛЬНЫХ ДАННЫХ

Схема показов баннеров в интернет-системе «Яндекс» очень сложна, поэтому подбор параметров on-line на данном этапе мало возможен. В настоящее время алгоритм подбирает значения Х1опт, Х2опт и Х3опт на пуле запросов, состоящем из 100 тыс. случайных запросов из поисковых логов, собранных за неделю данных. В среднем на каждый запрос предварительно отбирается 50 банне-ров-кандидатов, и по этим данным получаются

и

л

1опт' 2опт

оптимальные значения параметров X Х3опт, процедура выбора которых описана в § 4.

После того, как эти параметры найдены, работа с новыми (текущими) запросами идет on-line и выбор баннеров, предъявляемых пользователю, осуществляется очень быстро. На каждый запрос предварительно составляется список кандида-тов-баннеров. (Этот отбор идет по простым признакам, его описание выходит за рамки данной работы.)

К этому моменту оценка кликабельности объявления для данного запроса CTRi и его ставка Bidi считаются уже известными, и нужно произвести всего лишь ряд элементарных математических операций, чтобы вычислить величину

F. = CTR. + X, Bid.CTR. - Х2 .

i i 1опт i i 2опт

В предварительный список для показа включаются все баннеры, для которых F{ > 0. Из него отбираются k = 3 баннеров с наибольшим значением Ft (если их хватит, иначе все). Они составляют полный хит для показа. Теперь считается суммарный критерий R = EF} (сумма берется по всем бан-нерам хита), который сравнивается с параметром Х3опт если R < Х3опт, то рекламные объявления на данный запрос в спец-размещении не показываются, иначе — показывается весь хит.

Для экспериментального тестирования использованы данные за январь 2013 года, которые предоставила компания «Яндекс».

В ходе работы алгоритма полученный выигрыш относительно базового уровня составил 8 %. Предложенный способ отбора баннеров в спецразмещение применяется в настоящее время в системе показов рекламных объявлений компании «Яндекс».

ЗАКЛЮЧЕНИЕ

Предложена модификация алгоритма оптимизации показов рекламных объявлений, представленного в работе [1]. Доказана эквивалентность первоначального и улучшенного алгоритмов. Но-

вый алгоритм существенно сокращает перебор и объем производимых операций. Экспериментальное тестирование нового алгоритма на реальных наборах данных, предоставленных компанией «Яндекс», показало, что его применение дает выигрыш в 8 % максимизируемой среднй оценки вероятности клика.

ЛИТЕРАТУРА

1. Корнетова А.Н., Червоненкис А.Я. Оптимизация показов рекламы в поисковых системах // Проблемы управления. — 2013. — № 1. — С. 40—49.

2. Kumar R., Mahdian M., Li E., et al. Systems and methods for exploring new sponsored search listings of uncertain quality. — 2009.

3. Edelman B., Ostrovsky M. and Schwarz M. Internet advertising and the generalized second price auction: Selling billions of dollars worth of keywords // American Economic Review. — 2007. — Vol. 97, N 1. — P. 242—259.

4. Fain D. C., Pedersen J. O. Sponsored search: A brief history // Bulletin of the American Society for Information Science and Technology. — 2006. — Vol. 32, N 2. — P. 12—13.

5. Graepel T., Candela J.Q., Borchert T. and Herbrich R. Web-scale bayesian click-through rate prediction for sponsored search advertising in microsoft's bing search engine // ICML 2010 — Proc. of 27th Intern. Conf. on Machine Learning. — P. 13—20.

6. Feng J., Bhargava H.K., Pennock D.M. Implementing sponsored search in web search engines: Computational evaluation of alternative mechanisms // INFORMS Journal on Computing. — 2007. — Vol. 19, N 1. — P. 137—148.

7. Ghose A., Yang S. An empirical analysis of search engine advertising: Sponsored search in electronic markets // Management Science. — 2009. — Vol. 55, N 10. — P. 1605—1622.

8. Graepel T., et al. Web-scale Bayesian click-through rate prediction for sponsored search advertising in Microsoft's Bing search engine // ICML 2010 — Proc. of 27th Intern. Conf. on Machine Learning. — P. 13—20.

9. Lahaie S., Pennock D.M. Revenue analysis of a family of ranking rules for keyword auctions // Proc. of the 8th ACM Conf. on Electronic Commerce. — ACM 2007. — P. 50—56.

10. Radlinski F., et al. Optimizing relevance and revenue in ad search: a query substitution approach // Proc. of the 31st Annual Intern. ACM SIGIR Conf. on Research and Development in Information Retrieval. — ACM 2008. — P. 403—410.

11. Feuerstein E., et al. New Stochastic Algorithms for Scheduling Ads in Sponsored Search // Web Conference, 2007. LA-WEB 2007. Latin American. — IEEE 2007. — P. 22—31.

12. Richardson M., Dominowska E., Ragno R. Predicting clicks: estimating the click-through rate for new ads // Proc. of the 16 th Intern. Conf. on World Wide Web. — ACM 2007. — P. 521—530.

13. Zhu Z. A., et al. A novel click model and its applications to online advertising // Proc. of the Third ACM Intern. Conf. on Web Search and Data Mining. — ACM 2010. — P. 321—330.

14. Кун Г.У., Таккер А. У. Линейные неравенства и смежные вопросы. — М.: Изд-во иностр. литературы, 1959.

Статья представлена к публикации членом редколлегии Ф.Т. Алескеровым.

Сорокина Анна Николаевна — ст. исследователь-разработчик, компания «Яндекс»; аспирант, Национальный исследовательский университет — Высшая школа экономики, г. Москва, И anna.n.sorokina@gmail.com,

Червоненкис Алексей Яковлевич — канд физ.-мат. наук, вед. науч. сотрудник, Институт проблем управления им. В.А. Трапезникова РАН, г. Москва, ® (495) 334-88-20 И chervnks@ipu.ru.

i Надоели баннеры? Вы всегда можете отключить рекламу.