УДК 659.1.011.4;519.853.3
ОПТИМИЗАЦИЯ ПОКАЗОВ РЕКЛАМЫ В ПОИСКОВЫХ СИСТЕМАХ
А.Н. Корнетова, А.Я. Червоненкис
Предложен алгоритм отбора объявлений для каждого поискового запроса для показа рекламы по нему. Сформулирована и решена соответствующая оптимизационная задача с учетом ограничений уже существующей системы, таких как сумма денег, списанная со счетов рекламодателей, доля запросов, по которым реклама может быть показана. Критерием оптимальности принята эффективность показов рекламных объявлений, которая определяется удовлетворенностью пользователей и, соответственно, увеличением их внимания к рекламной выдаче на главной странице поиска.
Ключевые слова: коэффициент кликов баннера, реклама на поиске, интернет-реклама, оптимизация, построение алгоритма.
ВВЕДЕНИЕ. СУЩЕСТВУЮЩАЯ СИСТЕМА ПОКАЗОВ РЕКЛАМЫ НА ПОИСКЕ
Правила показа рекламного объявления. Огромное число людей пользуются Интернетом для поиска информации. Обычно Интернет-пользователь делает некоторый запрос, на который он хочет получить ответ, и задача поисковой системы — ответить на запрос наилучшим образом. Чтобы иметь некоторую прибыль от поиска информации, поисковик размещает рекламные объявления (баннеры) на странице поисковой выдачи. Поскольку содержание объявлений зависит от запроса пользователя, такая реклама называется контекстной. По запросу составляется список ключевых фраз, к которым и привязываются рекламные объявления. Вообще говоря, не все баннеры, отобранные по запросу, могут быть показаны (об этом речь пойдет далее), т. е. отображены на странице поисковой выдачи. Баннеры содержат рекламную информацию о товаре или услуге рекламодателя, а также ссылку на соответствующий сайт. Если пользователь кликает на то или иное объявление, происходит переход на рекламируемый сайт, этот переход называется кликом. В случае клика со счета рекламодателя списываются деньги. Общая сумма списываемых со счетов рекламодателей денег оказывается существенной составляющей дохода поисковой компании. Рекламодатель для каждого объявления выставляет ставку, и происходит торг за показ его рекламного объявления на поиске. Другие схемы списаний денег со счетов рекламо-
дателей (например, за показы его объявления или за конверсию — покупку товара на сайте рекламодателя) можно увидеть в работе [1].
Рекламные объявления могут показываться в разных местах поисковой страницы (рис. 1): справа от результатов поиска (гарантированные показы), вверху страницы над результатами поиска (спецразмещение), внизу страницы и др.
Спецразмещение — наиболее привилегированное место для показа рекламы, оно приоритетно для рекламодателей [2] и самое прибыльное для поисковой системы. Зачастую, для того чтобы попасть в спецразмещение, из-за конкуренции рекламодателю приходится делать достаточно большую ставку.
Настоящая работа посвящена разработке метода отбора рекламных объявлений для показа в блоке спецразмещения.
Выгодность показа рекламного объявления в спецразмещении для поисковой системы определяется двумя критериями:
— вероятность того, что пользователь кликнет на предъявленное объявление (кликабельность CTR, Click Through Rate); можно сказать, что это — степень эффективности показа объявления, его характеристика привлекательности для пользователя;
— ставка Bid, назначенная рекламодателем за показ его объявления в спецразмещении.
Детальное описание терминологии поисковой контент-рекламы можно найти в работе [3].
Для вероятности CTR, конечно, можно дать только оценку, поскольку как пользователи, так и объявления постоянно меняются. На оценку веро-
ятности клика влияет большое число факторов, которые учитываются в формуле оценки, порождаемой специальными программами машинного обучения. Однако в данной работе мы не будем касаться этого вопроса и примем, что оценка критерия CTR для каждой пары «запрос — рекламное объявление» нам дана.
Ожидаемая сумма денег, списываемых со счета рекламодателя за клик пользователя по конкретному баннеру, может быть оценена как CPM (Cost Per Million) = CTR • Bid. Именно эта величина служит критерием, по которому отбираются кандидаты для показа в спецразмещении. В действительности деньги списываются несколько сложнее — согласно аукциону второй цены [4].
Существуют и другие критерии отбора объявлений:
• сортировка по критерию Bid-quality + и, где quality — некоторое качество объявления (в нашем случае это предсказываемая оценка CTR), а и — количественная мера полезности объявления для поисковой системы в качестве обучающего материала и дополнительной информации о качестве (вообще говоря, это некоторое начальное предсказание значений CTR для новых баннеров); для новых баннеров значение v большое, для старых практически нулевое (так как там уже работает статистическая оценка вероятности CTR по истории показов объявления);
Запрос пользователя
V Поиск Почта Карты Маркет Новости Словари Блоги Видео Картинки ещё
Яндекс
Нашлось LJ в найденном LJ в Москве
165 млн ответов
ш s
X
m
3"
m §
to гс Q. =Г ш с U
го *
и
ГО
¡5
£
СО QJ
Б се с оъ явления
Такая Toyota нужна самому!
Спецпредложение от официального дилера! ТЦ Отрадное, ТЦ Кол оме не кое. Спешите toyotanm.ru
Пройдите Тест-драйв TOYOTA!
Выгода на новые TOYOTA до 500 т.р. в Тойота Центр Ясенево! [495) 77777-15 toy ota -у a s е п evo. гу
Автомобили Toyota в Major Auto
Уникальное предложение при покупке автомобиля в majo r-toyota.ru
Результаты все в рунете в мировом интернете
салонах официальных дилеров
Найти
расширенный поиск
© TOYO TA I. Toyota...
.Центр Сокольники H о во рижский Шереметьево - дилер
Автомобили Комплектация Hilux Технические характеристики
марка: Toyota: официальный дилер; тип авто: новые, с пробегом; тест-драйв; wi-fi
Автомобили Toyota - Продажа Сервис Запчасти Toyota. ... 18.07.2012. Компания Тойота
Мои находки Настройка Регион: Москва
Войти Помощь
ЧЭ "Тойота мотор" - автоконцерн
RAV4 Toyota Trade-in
Corolla LC Prado
Camry Highlander
Продажа и техническое обслуживание автомобилей Toyota. Каталог автомобилей с описаниями и техническими данными. Новости компании. Контакты. 9 Москва. МКАД автомагистраль. 64-й км. стр. 1. вл. 5 +7 [495) 258-34-65 toyota.ru Москва
Ш Toyota — модельный ряд, комплектации, отзывы
Модели и цены 2012 Corolla. Camry Land Cruiser 6 298 объявлений о продаже Toyota в Москве
Фотографии, комплектации и цены нового модельного ряда. Официальные дилеры. auto.yandex.ru > Toyota Москва
Ш Завод Toyota в Петербурге приступил к работе в две смены
Завод Toyota в Петербурге планирует удвоить производство по итогам 2012 года В данный момент автозавод выпускает одну модель - Toyota Camry в 12 модификациях и 6 цветах.
REGNUM 14:09 И А РБК Санкт-Петербург 13:28 Автостат 13:04 Все сообщения 16 news.yandex.ru 53 минуты назад
Яндекс.Директ
Срочный выкуп авто! Звоните!
Хотите продать авто - быстро, с комфортом и за достойные деньги? Звоните! remio-avto.ru
Выкуп автомобилей Дорого!! Срочно!
Выезд оценщика, снятие с учета, эвакуация бесплатно!15 лет на рынке! mustangavto.com
Успейте купить Toyota!
До 31 августа все автомобили Toyota по старым ценам в Тойота Центр Внуково. toyota-vnukovo.ru
Toyota от официального дилера!
Отличные предложения на все модели Toyota у дилера Тойота Центр Кунцево! С Адрес и телефон toyota-kuntsevo.ru
Разместить объявление по запросу •atoyota» — 898 887 показов в месяц
M M АС!
МОСКОВСКИЙ МЕЖДУНАРОДНЫЙ! АВТОМОБИЛЬНЫЙ САЛОН
гс
CÛ ГС Q.
-Û
ГО ГС ¥ о
НА СТЕНДЕ
JAGUAR LAND ROVER
ПАВИЛЬОН 2, ЗАЛ 7
Ш УЗНДЙТЕ БОЛЬШЕ
: LAND^ ^ -ROVER
Рис. 1. Места для показов рекламы на поисковой выдаче
• сортировка по Bid - quality + и, где и = = cBid• var(quality), c — константа, показывающая, насколько полезно обучение на данном объявлении;
• учет релевантности объявления запросу (с помощью ссылок на сайт рекламодателя) [5];
• в качестве характеристик, от которых зависит ранжирование объявлений (следовательно, и порог входа в спецразмещение), могут быть взяты следующие: насколько фраза, по которой показывается объявление, является широко-или узко-тематической, информация о продавце в розничной торговле, а также информация о бренде, представляемом объявлением [6];
• позиционные модели показа рекламы [7];
• ранжирование вида BidkCTR1 в зависимости от степеней k и l может порождать различные виды сортировки: например при l = 0 получается сортировка только по ставке, а при l = k = 1 — классическая сортировка по критерию CPM [8]. Порог входа в спецразмещение. Условия входа в
спецразмещение определяются двумя ограничениями. Прежде всего, число мест для показа рекламных объявлений в спецразмещении ограничено, поэтому в действующей системе для одного запроса допускается показ не более трех баннеров. Важно ввести еще один термин: рекламный хит — непустое множество баннеров, показанных одновременно по одному запросу пользователя (соответственно, один хит по спецразмещению не может содержать больше трех объявлений). Другое ограничение: считается, что не по всем поисковым запросам нужно показывать спецразмещение, так как объявления не всегда содержат полезную для пользователя информацию и менее релевантны его запросу, чем результаты поиска. Поэтому в системе показов рекламы принято условие, что покрытие — доля рекламных хитов со спецразмещением среди всех рекламных хитов — должно быть ограничено сверху. Для этого вводится абсолютный порог входа в спецразмещение. Если СРМ баннера (для данного запроса) превышает порог, то это объявление становится кандидатом на показ в спецразмещении, иначе баннер заведомо не будет показан. Порог подбирается так, чтобы часть результатов поиска не сопровождалась рекламой в спецразмещении вообще.
Если число кандидатов, прошедших порог, не больше трех, то все они будут показаны. Если же их число превышает три, то в спецразмещении показываются только три баннера с наибольшим значением СРМ.
Таким образом, для показа нового баннера необходимо, чтобы его СРМ превзошел абсолютный порог. А если уже имеются три кандидата, то СРМ
нового баннера должен превзойти таковой у наихудшего (по критерию СРМ) среди имеющихся кандидатов, чтобы вытеснить последнего из списка кандидатов. Это условие определяет относительный порог входа в спецразмещение.
1. ПОСТАНОВКА ЗАДАЧИ
Полезность показа рекламных объявлений в спецразмещении для поисковой системы определяется следующими критериями.
• Сумма денег, списываемых со счетов рекламодателей. В этом случае оптимизация правила отбора баннеров в спецразмещение представляется несложной задачей: нужно просто подобрать такое значение абсолютного порога входа, при котором покрытие будет в точности равно заданному ограничению.
• Средняя кликабельность — насколько часто в среднем пользователь кликает на одно из показанных объявлений, что определяет удовлетворенность пользователя, а также эффективность самой рекламы. Эта величина соответствует среднему значению СТЯ по всем запросам и всем объявлениям, попавшим в спецразмещение. Если эта величина мала, то пользователь просто уйдет в другую поисковую систему. Подробнее о балансе между ставкой и качеством выдачи (в нашем случае СТЯ) можно прочесть в работе [7].
Здесь мы ставим задачу максимизации среднего значения СТЯ при ограничении на суммарный доход поисковой системы, поэтому она ставится как поиск условного максимума средней кликабель-ности в спецразмещении при условии, что сумма денег должна быть не меньше заданной величины.
Кроме того, сохраняются упомянутые ограничения на покрытие (долю показов со спецразмещением среди всех показов, содержащих рекламу) и на число рекламных объявлений в спецразмещении. Задача состоит в том, чтобы найти правило входа в спецразмещение, доставляющее максимум среднему значению СТЯ при упомянутых ограничениях. Но ситуация на поиске и рынке рекламы непрерывно меняется во времени, соответственно должны меняться и пороги, для подбора которых была разработана схема, представленная на рис. 2. Рассмотрим ее.
Периодически собирается случайная выборка запросов (см. блок 1 на рис. 2) из общего списка запросов из исторических логов данных за определенный период времени (неделя, месяц). По выборке запросов пользователей для каждого из запросов отбираются баннеры-кандидаты (блок 3) для показов (по фразам запроса). Считается, что
Рис. 2. Схема подбора порогов входа в спецразмещение
для каждого кандидата известна его ставка и предсказание кликабельности (отдельное для спецразмещения и для блока справа).
Критерии подбора порогов (блок 2): Hits — покрытие, о котором говорилось во Введении; CTR — кликабельность спецразмещения, т. е. число кликов по спецразмещению относительно числа показов рекламы в спецразмещении (считается суммарно по всей выборке запросов); Money — количество заработанных на спецразмещении денег (списанных со счетов рекламодателей), при подборе порогов оценивается как CTR- Bid.
В блоке 4 реализуется отбор баннеров для их показа в спецразмещении или справа от результатов поиска. Не будем сейчас очень подробно останавливаться, как конкретно происходит отбор баннеров, важно, что после некоторого отсева, каждый баннер (чтобы он мог быть показан в спецразмещении) должен преодолеть порог входа и выдержать конкуренцию со стороны других кандидатов на показ в спецразмещении. Вид порога входа в спецразмещение, а также его подбор — сложная алгоритмическая и вычислительная задача, которую мы будем обсуждать далее.
Как только оптимальный порог получен, у нас есть off-line предсказание изменения системы по основным ее характеристикам. Также у нас появляется возможность запустить on-line эксперимент для проверки полученных off-line предсказаний. Если предсказания подтверждаются, то правило применяется ко всему потоку запросов, иначе выясняются причины расхождения. Пороги должны пересчитываться всякий раз при изменении формулы оценки CTR, при изменении требований на сумму денег или покрытие, а также по прошествии определенного времени.
Другие, не оптимальные модели, рассмотрены в работах [9, 10].
2. МАТЕМАТИЧЕСКАЯ ПОСТАНОВКА ЗАДАЧИ
Сначала поставим задачу следующим образом: как для заданной выборки запросов и заданного списка баннеров найти оптимальную расстановку этих баннеров в спецразмещении для показа по этим заданным запросам.
Считаем, что ставки (Bid) для всех баннеров известны, а также известны оценки вероятности клика (CTR) для каждой пары «запрос — баннер» (если данный баннер в принципе не может быть совмещен с определенным ответом на запрос, то полагаем, что оценка CTR равна нулю). Считаем также, что заданы ограничения: минимальная сумма денег, которая должна поступить от рекламодателей, максимальное покрытие — доля результатов поиска, сопровождаемых спецразмещением, а также максимальное число баннеров (к) в каждом хите по спецразмещению. При этих ограничениях будем искать такую расстановку баннеров в спецразмещении, которая обеспечивает максимум средней кликабельности — среднего значения CTR.
Задачу будем решать в том приближении, когда рекламодатель платит за клик по своей ставке, а не по правилу аукциона второй цены (сами деньги будут слегка завышены, но разницу в характеристиках мы можем достаточно точно проследить).
Полагаем, что в нашей выборке имеется M запросов, которые мы будем нумеровать индексом j, 1 < j < M, и задан список из N баннеров, нумеруемых индексом i, 1 < i < N. Обозначим далее:
ВЦ — ставка, назначенная рекламодателем за i-й баннер; все ставки неотрицательны, т. е. ВЦ > 0;
CTRy — оценка вероятности клика при размещении i-го баннера над результатами поиска на j-й запрос. Величины Bid, и CTRj считаем заданными.
Введем далее бинарную переменную j такую что ty = 1 означает, что i-й баннер размещен над результатом поиска на j-й запрос, и ty = 0 в противном случае. Именно оптимальные значения этой переменной мы будем искать.
Тогда TSUM = X ty будет означать суммарное
i, j J
число показов рекламных объявлений в спецразмещении по данной выборке запросов, а
CTR0(t) = X CTR, y • t, j/TSUM
i, j
(1)
— среднюю кликабельность — среднее значение по СTR по этим баннерам. Именно эту величину мы хотим максимизировать при заданных ограничениях.
Ограничение по суммарному доходу. Математическое ожидание суммы денег, списываемых со счета рекламодателя, равно вероятности клика на
данный баннер по заданному запросу, умноженной на ставку рекламодателя, выставленную для этого баннера, в случае его показа в спецразмещении. Если же он не показан, то и денег он принести не может. За оценку вероятности клика мы принимаем заданное значение CTR. Таким образом, сумма денег принимает значение Bid, • CTR, . • t , ,
k J J
где i — номер баннера, а j — номер запроса из нашей выборки. Тогда общая сумма денег, списываемых с рекламодателей по нашей выборке запросов, определяется как
MONEY(t) = У Bid. • CTR, rt. ..
i, J
Мы требуем, чтобы эта сумма была не меньше заданного значения MONmin. Таким образом, ограничение принимает вид
MONEY(t) > MONmin. (2)
Ограничение на покрытие. Напомним, что покрытием мы называем долю запросов, по которым в спецразмещении показано хотя бы одно рекламное объявление, среди всех результатов поиска, по которым была показана реклама. Формально, для этого введем еще одну бинарную переменную
TJ =
1, если у tiJ > 0,
i
0 в противном случае,
т. е. %■ = 1, если над результатом поиска размещен хоть один баннер, и т. = 0 в противном случае. Тогда ограничение на покрытие примет вид
Hit(t) = У Tj/M < Hit,
(3)
Ограничение на число баннеров, размещаемых над каждым результатом поиска. Считаем, что это число не должно превышать к:
у/У tij < к.
(4)
Итак, задача формально ставится следующим образом: максимизировать по бинарным переменным t■■ функцию (1) при ограничениях (2)—(4). Это задача дискретного программирования.
3. РЕШЕНИЕ ЗАДАЧИ ДЛЯ ЗАДАННОЙ ВЫБОРКИ ЗАПРОСОВ И БАННЕРОВ
3.1. Переход от дискретной задачи к непрерывной
Сформулированная точная постановка задачи относится к классу задач дискретной оптимизации. Решать такие задачи трудно, обычно их ре-
шение требует комбинаторного перебора. Но, если такую задачу «погрузить» в непрерывное пространство, то часто для ее решения удается воспользоваться хорошо разработанными методами оптимизации в непрерывном пространстве искомых переменных. Мы также воспользуемся этим приемом и заменим бинарные переменные t.. на непрерывные tj■, подчиненные дополнительному ограничению: 0 < t.. < 1. Эта замена корректна, потому что, как мы увидим, при максимизации нашего критерия переменные все равно принимают крайние значения 0 или 1 (за исключением вырожденных случаев, которые будут отмечены далее). Поэтому решение непрерывной задачи совпадет с решением дискретной [1].
3.2. Общий принцип — метод множителей Лагранжа
Согласно методу множителей Лагранжа, если требуется найти максимум некоторой функции Д(х) при ограничениях ф (х) = 0, то можно эту задачу заменить на задачу поиска безусловного максимума функции Д*(х) = Д(х) — ЕЯ;ф (х), причем коэффициенты Яг подбираются так, чтобы в точке максимума Д *(х) все ограничения фг(х) = 0 выполнились точно.
Если же ограничения имеют вид неравенств фг(х) < 0, то согласно теории Куна—Таккера [2] метод множителей Лагранжа модифицируется следующим образом. По-прежнему, ищется безусловный максимум функции Д *(х) = Д(х) — ЕЯ гф г(х), а коэффициенты подбираются так, чтобы выполнились три условия:
— точка максимума функции Д*(х) должна удовлетворять ограничениям ф (х) < 0,
— коэффициенты должны быть неотрицательны (Я. > 0),
— коэффициент Я . должен быть равен нулю, если в точке максимума функции Д*(х) соответствующее ограничение не достигает предельного значения, т. е. фг(х) < 0.
На самом деле можно не все ограничения заменять слагаемыми в критерии, а часть из них оставить как ограничения [1], т. е. искать условный максимум функции
Д*(х) = Д(х) - у Я ф(х)
1= 1
при ограничениях фг(х) < 0, I = т + 1, ..., п. Требования к подбору коэффициентов остаются теми же, что были перечислены ранее.
m
Именно этим приемом, когда часть ограничений переводится в критерий (с последующим удовлетворением ограничений путем выбора соответствующих множителей Лагранжа), а часть сохраняется, мы и будем пользоваться в дальнейшем.
3.3. Применение метода множителей Лагранжа к решению поставленной задачи
3.3.1. Добавление в критерий ограничения по деньгам
Итак, требуется найти максимум по г функции СЯ1Т0(г) = ЪСТЯ{ г, ¿ТБШ при ограничениях (2)—(4) и ограничении 0 < г.. < 1. Сначала переведем в критерий (с помощью множителя Лагранжа Х1 > 0) только ограничение (2). Запишем его в форме ф(х) < 0:
М0Мтт - МОЫЕУ(г) < 0, где МОЫЕУ(г) = Ъ(. ])В1й1- СТЯ, ...
Получим новый критерий
СЫТ!® = ъстя, .г../ъг.. -
- Х^МОМ^ - МОЛЕУ(г))
и будем искать его максимум при учете остальных ограничений.
3.3.2. Дополнительное ограничение
Если бы наш критерий представлял собой сумму функций, каждая из которых зависит только от одной переменной г. ., то можно было бы оптимизировать каждую из этих функций по отдельности — провести декомпозицию задачи. Но в нашем случае это не так, поскольку знаменатель
ТБИМ = У г, . в слагаемых ЪСТЯ, . ■ г. .¡Ъг , ■ зависит
сразу от всех переменных. Для того чтобы все же добиться декомпозиции, предлагается следующее.
А. Сначала зафиксировать знаменатель ТБиМ= = У г, . дополнительным требованием ТБиМ = Т0,
j
где Т0 — некоторая назначенная положительная константа, и найти максимум СЯ1Т1(г) с учетом этого дополнительного ограничения. Этот максимум будет зависеть от назначенного значения Т0.
Теперь наш критерий приобретает вид:
смщг) = ъстя,.-г.¡¡Т, -
- х1 [ М0Ли - У вш,-СЩ-г*
I, j
и действительно становится суммой функций, зависящих только от одной переменной г,..
Решая задачу, найдем значения переменных г., доставляющие условный максимум критерия СЯ1Т1(г) при заданных Х1 и Т0.
Б. Перебором по Т0 найти то значение Т0(опт), при котором достигается максимум критерия СЯ1Т1(г).
Переведем с помощью множителя Лагранжа и новое дополнительное ограничение в критерий. Получим:
сыт2(г) = Ъстя.г./т -
- X1 ( MONmin - I BidrCTRftj) - X2 ( Z tj — T
i,}
i, j
при ограничениях
0 < tj < 1, yj Z tj < k, Hit(t) = Z Tj/M < Hitmax.
3.4. Оптимизация критерия СЯ/Т2 (f)
при оставшихся ограничениях
Итак, на данном шаге мы должны максимизировать критерий
ся1Т2(г) = Ъстя, / г. /т -
- х1 (М0Лш1п - У Щ-Сщ, гг>,;) -,, 1
- Х2 ( У ги - Т0) ,
считая величины Хр ^
и Т0 фиксированными. Объединяя слагаемые, зависящие от г.., и вынося за скобки г., получим
У
/ СТЯ
сящг) = У г..(—л + Х1 вы1 ■ стя, - х.
i, j
const,
где величина const от переменных tH не зависит. Видим, что наш критерий действительно представляет собой сумму функций, каждая из которых
линейно зависит только от одной переменной t...
ij
Шаг 1. Теперь найдем максимум критерия CRITJt) по переменным tс учетом только одного
2 У
ограничения: 0 < tH < 1.
У
Ясно, что при этом переменная tH должна принять значение «ноль», если коэффициент при ней отрицателен. Действительно, в этом случае вклад в критерий CRIT2(t) от слагаемого ti(CTRi./T0 + + X1Bid{ • CTRj — X2) будет отрицательным при любом положительном значении tH, а при tH = 0 этот
ij ij
вклад будет нулевым.
Если же этот коэффициент положителен, то без
учета остальных ограничений переменная tдолж-
j
на принять значение 1. Действительно в этом слу-
о
чае вклад в критерий будет максимальным (и положительным) при t у = 1.
У
В случае же, когда этот коэффициент в точности равен нулю при некоторых значениях пары (/, /), мы получаем, что СЯ1ТМ) не зависит от t■■.
2 У
При естественных значениях входных параметров точное равенство коэффициента нулю возможно только в вырожденных случаях. Но при подборе значений коэффициентов Лагранжа может оказаться необходимым выбрать дробное значение t у. Однако на практике такое возможно только для очень малого числа пар (/, /). Действительно, мы подбираем совсем небольшое число неопределенных коэффициентов, и обеспечить точное равенство коэффициента нулю можно тоже в очень малом числе случаев. Учитывая, что в нашем пуле содержатся тысячи элементов, замена значения tу на 0 или 1 в этих случаях практически не влияет на значение критерия.
Но остальные ограничения могут сделать предъявление 1-го баннера на/-й запрос все же недопустимым, т. е. все же придется положить tу = 0.
Обозначим ДУ(Я, Т0) коэффициент при t..:
У 0 У
ду(Я То) = СТУТ0 + Я1ВЦ • СТЯу - Я2.
Тогда кандидатами на вход в спецразмещение будут те баннеры, для которых Д.. > 0 или, иначе,
ст.яу/то + \Bidi •сту > Я2.
Таким образом, величина Я2 может считаться абсолютным порогом на попадание в спецразмещение.
Составим теперь для каждого (/-го) запроса список кандидатов баннеров на вход в спецразмещение, упорядочив их в порядке убывания величин Д.(Я). Некоторые из списков могут оказаться пустыми, если для всех I окажется, что Д,(Я) < 0.
Шаг 2. Теперь учтем ограничение на количество баннеров, размещаемых сверху от результатов поиска:
у/ у tiy < к.
Если количество баннеров в списке кандидатов для /-го запроса меньше к, то это ограничение выполнится автоматически. Иначе, для максимизации нашего критерия СЯТТ2(1) следует оставить в каждом списке ровно к кандидатов с максималь-
Шаг 3. Остается ограничение на покрытие:
= у т/м < ны
или
у
Ту < Шi'tmax•M,
т. е. в спецразмещении должно присутствовать не более, чем в Ш^тах - М результатах поиска. Если и так количество запросов с непустым списком для показа меньше, чем Ш^тах • М, то ограничение выполнится автоматически. В противном случае часть списков следует обнулить.
Обозначим Яу(Я) вклад в критерий для каждого запроса от баннеров, вошедших в список:
Яу(Я) = у (СТЯу/То + ЯхВ1й1 • СТЯу - Я2), i
где сумма для каждого запроса берется только по баннерам, вошедшим в список для показа.
Ясно, что максимум критерия будет достигнут, если мы оставим только Ш^тах • М списков с наибольшим значением Яу(Я). Иными словами, если мы упорядочим списки в порядке убывания Яу(Я), то следует оставить только Ш^тах • М первых списков (если, конечно их хватит, иначе оставляем все). Обозначим Я3 опт минимальное значение Яу(Я) по всем оставшимся спискам. Тогда будут оставлены только те списки, для которых Я.(Я) > Я3. Разумеется, величина Я3 будет зависеть от принятых значений Я1, Я2 и Т0.
Теперь можно окончательно зафиксировать оптимальные значения t..:
У
tiу = 1, если I-й баннер вошел в оставленный усеченный список для /-го запроса, tiу = 0 в противном случае.
Этот результат мы получили для заданных значений Я1, Я2 и Т0. Обозначим через ^(Я^ Я2, Т0) вектор, составленный из значений 4. этого решения.
У
3.5. Выбор необходимого значения 12
Теперь мы должны найти то значение коэффициента Я2, при котором действительно выполнится наше дополнительное ограничение ТБИМ = Т0.
Заметим, что зная значения tj,, мы можем под-
ным значением Д(Я), т. е. первые к элементов считать величину ТБИМ = У У причем значение
списка. Для остальных элементов положить t.. = 0.
У
Назовем этот укороченный список списком для показа.
I, у
ТБИМ (как и значения У будет зависеть от зафик-
У
сированных значений Я1, Я2 и Т0. Но нас сейчас бу-
дет интересовать только зависимость ТБИМ от лаг-ранжева коэффициента Х2, считая по-прежнему значения Х1 и Т0 фиксированными. Перебирая все значения Х2, мы можем попытаться добиться равенства ТБиМ(Х2) = Т0. Конечно, может случиться, что ни при каком значении Х2 это равенство не выполнится (в силу целочислености Т0 или по иной причине, но такие значения объявим недопустимыми). Найденное значение ^ (А^, Т0) (абсолютного порога) будет зависеть от Х1 и Т0. Ему будет соответствовать решение ?0пт(Ях, ^2опт(^1, Т0), Т0).
3.6. Выбор оптимального значения Т0 путем максимизации критерия СЯ/Т1(f)
Теперь нам нужно избавиться от дополнительного ограничения ТБИМ = Т0, поскольку оно не входит в число ограничений исходной постановки задачи. Сделать это можно с помощью максимизации критерия
сыт^, хр Т,) = ьСТ^Т -
- ХДМОЛ^ - МОШУО))
путем перебора по всем допустимым значениям Т0 при фиксированном значении Хг При этом в качестве должны браться значения, найденные при Х2 = ^2опт(^1, Т0). Это значение заведомо обеспечивает равенство ТБИМ(Х1, Х2, Т0) = Т0 в силу операции, описанной в п. 3.5.
Обозначим Т0опт(Я1) то значение Т0, при котором достигается максимум критерия СЫТГ Оно будет зависеть от значения Хг Ему будут соответствовать значения ^2опт(^1, Т0), Х2 опт и решение
?опт(11, ^2опт(11, Т0опт(11)), Т0опт(11)).
3.7. Оптимизация критерия СЯ/Т0Щ: выбор требуемого значения 11
Найденные значения T0
X.
X, и t бу-
3опт опт J
0опт' 2опт' 3опт опт
дут зависеть от параметра Хг Согласно теории Ку-на—Таккера, для максимизации нашего основного критерия СЯ1Т0(1) остается выбрать правильное значение параметра Х1 > 0 Его нужно выбрать так, чтобы выполнилось ограничение МОЫЕУ(?) < МОЫт.п. Он может быть отличен от нуля, если только неравенство по деньгам переходит в равенство:
MONEY(t) = MON..
(5)
При Х1 = 0 в критерии СШТ() деньги вообще не учитываются, и если при этом вырученных де-
нег хватает, то неравенство по деньгам выполнится автоматически. Если же денег не хватает, то следует увеличивать Xp пока не выполнится равенство MONEY(t) = MONmin. Вырученные деньги с ростом Яр во всяком случае, не убывают, так как величина MONEY входит в критерий CRITl(t) все с большим весом. Если же при сколь угодно большом значении X1 денег все равно не хватает, то задача вообще неразрешима. В нормальном случае перебором по X1 найдем то значение Х1опт, при котором выполнится равенство (5). Соответственно определятся значения T0опт(T0опт(X1опт), ^onT^on^ Т0опт)
и ре0ение Чп^ ^ош^ и задача будет решена полностью.
Заметим, что если уже выбраны параметры (по-
р°ги) ^оп^ T0Om, Чп^ и Чп^ то для заданного (j-го) запроса определить, какие баннеры должны войти в спецразмещение по этому запросу (определить ^опт), можно, не обращая внимания на другие запросы. Для этого нужно:
1) вычислить значение
F. . = CTR./T0 + X, Bid • CTR.. - X2
ij if 0опт 1опт i ij 2опт
для всех баннеров, совместимых с данным запросом;
2) составить список кандидатов для показа в спецразмещении, в него поместить только те бан-неры, для которых
CTR./T0 + X. Bid • CTR.. > X2
ij 0опт 1опт i ij 2опт
(этот список может быть и пустым);
3) если число кандидатов больше к, то сократить список, оставив в нем только к баннеров с наибольшим значением F..; это и будет список для
i.
показа;
4) подсчитать значение
Rj.(X) = I (CTRij/^опт/^опт + i
+ X- Bid -CTR.. - X2 ),
1опт i i. 2опт
где сумма берется по баннерам из списка кандидатов.
5) если эта величина меньше Х3опт, то обнулить список, и для данного запроса не показывать никаких баннеров в спецразмещении. Иначе показать все баннеры из списка для показа, т. е. положить t.. = 1, остальные значения t.. обнулить.
i. опт i.
В этой возможности определить значение ti. опт, не обращая внимания на другие запросы, и есть смысл декомпозиции.
4. ФОРМАЛЬНОЕ ОПИСАНИЕ АЛГОРИТМА ПОДБОРА ПОРОГОВ ВХОДА В СПЕЦРАЗМЕЩЕНИЕ
Запишем общий алгоритм подбора порогов для показа объявлений в спецразмещении. Положим: M — общее число запросов; N — общее количество баннеров-кандидатов в выборке запросов; Hit— максимальное допустимое покрытие, MON. — минимальные деньги, которые должны быть
Шал min
выручены от показа баннеров в спецразмещении по нашей выборке запросов.
Для каждого запроса и баннера-кандидата дано: CTRj — прогноз оценки CTR (кликабельности) объявления; Bidj — ставка рекламодателя по i-му баннеру. Цикл по Х1 (например, от 0 вверх).
Вырученные деньги с ростом Х1 не убывают, т. е. можно сказать, что Х1 — параметр, регулирующий поступление денег от рекламодателей. Цикл по T0
T0 — общее число показов рекламы в спецразмещении по всей выборке запросов. Цикл по Х2.
Величина Х2 может считаться абсолютным порогом на попадание в спецразмещение, она регулирует число показов в хите по одному запросу. Цикл по запросам j.
По всем баннерам-кандидатам i для запроса j: обнулить списки;
вычислить F{j = CTRij/T0 + XlCPMij - Х2;
если Fj > 0, то попытаться включить пару (i, j) в j-й список:
Если в j-м списке объектов меньше чем k, то включить баннер i в список, иначе попытаться вытеснить худший по F.. и вставить i-й, а если текущий баннер хуже всех по кри-
ij
терию Fij, то не включать его. Вычислить вклад в суммарный критерий баннеров, вошедших в список для показа в спецразмещении:
R. = I.F.. (сумма по баннерам, вошедшим в список).
j тг
Положить:
т = [ 1, если список кандидатов на показ не пустеет, j [ 0 в противном случае. Конец цикла по запросам j.
Упорядочить списки для запросов j в порядке убывания R}.
Оставить только первые Hit.max • M из них (выполнение ограничения по покрытию), остальные обнулить (в том случае, если хитов хватает, в противном случае оставить все хиты). Запомнить Х3 = minjRj). Положить
= Г1, если пара ( i, j) включена в список и оставлена для показа, j [О в противном случае.
Вычислить TSUM = ZТу (величина TSUM будет зависеть от параметров Х2, T0).
i, j
Менять Х2, пока не будет достигнуто TSUM = T0 ± е. Положить Х2опт = Х2. Запомнить Х3, Х2опт списки tj (т. е. баннеры, отобранные для показа) Конец цикла по Х2. Вычислить
CRIT^, Х2опт, T)) = Z jCTRj/T0 - Х i (MON.in - MONEY(t))).
i, j
Менять T0, чтобы достигнуть maxTfl CRIT^t).
Положить T0onT то значение T0, при котором достигнут maxTfl CRITV Запомнить Х3, Х2опт, T0onT, MONEY(t). Конец цикла по T0. Менять Хр пока MONEY(t) < MONmin. Конец цикла по Хх.
В конце работы алгоритма мы получаем четыре величины Х1опт, T^^, Х2опт и Х3опт, которые будут использоваться для работы с новыми запросами.
5. РАБОТА С НОВЫМИ ЗАПРОСАМИ
Рассмотрим, каким образом мы будем использовать полученные с помощью описанного в § 4
алГоритма величины Азопт Язопт для об-
работки нового запроса, поступившего от пользователя в систему показов рекламных объявлений.
Ранее было отмечено, что если данные величины уже получены, то для каждого запроса из выборки запросов можно определить, какие баннеры должны быть показаны в спецразмещении, не обращая внимания на другие запросы. Мы рассчитываем на то, что используемая выборка запросов достаточно велика, чтобы результат подбора порогов применялся в тех же условиях, в которых собиралась эта выборка. Тогда, в силу закона больших чисел, если мы будем применять те же правила к новым запросам, то интегральные критерии — среднее значение СТЯ, СРМ и покрытие — будут достаточно близки к значениям, полученным по выборке запросов. В то же время параметры были подобраны так, чтобы наш главный критерий — среднее значение СТЯ по спецразмещению — достиг максимума при заданных ограничениях на среднее значение СРМ и покрытие. Поэтому и на новых данных с достаточной точностью в среднем критерий будет достигать максимума, а ограничения выполняться.
Итак, получив новый запрос, нужно выполнить следующие действия.
1. Отобрать баннеры-кандидаты для возможных показов (по фразам запроса). Для каждого из этих баннеров известно значение ставки В1й1 и прогноз кликабельности СТЯ.., где / — индекс бан-нера, а ] — индекс запроса.
2. Вычислить значение F.. = СТЯ../Т
] ]' 0опт
+
+ А1оптЯ4 • СТЯ.. — А2опт для всех полученных в п. 1 баннеров.
3. Составить список кандидатов на показ в спецразмещении. В этот список для показа поместить только те баннеры, для которых /У > 0. Этот список может быть и пустым (в этом случае в спецразмещении не будет показано ни одного баннера).
4. Если число кандидатов больше к, то сократить список, оставив в нем только к баннеров с наибольшим значением Т...
У
5. Подсчитать значение Яу. = ^ /У, где сумма бе-
/
рется по всем баннерам из усеченного списка.
6. Если Я. < А3опт, то обнулить список, и для данного запроса не показывать никаких баннеров в спецразмещении. Иначе показать в спецразмещении все баннеры из усеченного списка.
ЗАКЛЮЧЕНИЕ
Итак, рассмотрена проблема отбора баннеров-кандидатов для показа в спецразмещении для заданных ограничений по деньгам, а также по покрытию с целью максимизации средней клика-
бельности баннеров в спецразмещении. Предложен алгоритм отбора, а также формула входа в спецразмещение. Однако в действительности разработанный алгоритм отбора показов сложнее, чем описано в данной работе. Например, рассмотрены такие модификации, как:
— сортировка по ставке Bidi при показе объявлений;
— упрощение и ускорение самого алгоритма подбора порогов для входа в спецразмещение (изложенный в данной статье алгоритм достаточно сложен по объему переборов);
— разные модели для клика по объявлению (в том числе учет зависимости вероятности клика от позиции баннера).
На данный момент предложенный алгоритм уже применяется для некоторой части рекламных показов в спецразмещении. В результате покрытие увеличилось на 0,5 %, доход на 0,9 %, а значение СТЯ увеличилось на 4,53 %. Но все это будет изложено в отдельной публикации.
ЛИТЕРАТУРА
1. Fain D.C., Pedersen J.O. Sponsored search: A brief history. — URL: http://www.asis.org/Bulletin/Dec-05/pedersen.html (дата обращения 17.01.2013).
2. Kumar R, Mahdian M., Li E, et al. Systems and methods for exploring new sponsored search listings of uncertain quality. — 2009.
3. Graepel T., Candela J.Q., Borchert Т., and Herbrich R. Web- scale bayesian click-through rate prediction for sponsored search advertising in microsoft's bing search engine // Proc. of ICML. — 2010. — P. 13—20.
4. 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. — Iss. 1. — P. 242—259.
5. Feng J., Bhargava H.K, Pennock D.M. Implementing Sponsored Search in Web Search Engines: Computational Evaluation of Alternative Mechanisms // Informs Journal on Compunting. — 2007. — Vol. 19, N 1. — P. 137 —148.
6. Ghose A., Yang S. An Empirical Analysis of Search Engine Advertising: Sponsored Search in Electronic Markets // Net Institute Working Paper. — 2009. — May 25.
7. Graepel H., Candela J.Q, Borchert T., Herbrich R. Web-scale Bayesian click-through rate prediction for sponsored search advertising in Microsoft's Bing search engine // Proc. of the 27th Intern. Conf. on Machine Learning ICML 2010.
8. Lahaie S., M. Pennock D.M. Revenue analysis of a family of ranking rules for keyword auctions // Proc. of the 8th ACM conf. on Electronic commerce, 2007. — P. 50—56.
9. Richardson M, Dominowska E, and Ragno R. Predicting clicks: Estimating the click-through rate for new ads // Proc. of the 16th Intern. World Wide Web Conf (WWW — 2007). — ACM Press, 2007.
10. Zhu Z. A, Chen W, Minka T., et al. A novel click model and its applications to online advertising // In Proc. Of WSDM, 2010. — P. 321—330.
11. Поляк Б.Т. Введение в оптимизацию. — М.: Наука, 1983. — 384 с.
12. Линейные неравенства и смежные вопросы / Сб. статей под ред. Г.У. Куна, А.У. Таккера. — М.: Иностранная литература, 1959. — 469 с.
Статья представлена к публикации членом редколлегии Ф.Т. Алескеровым.
Анна Николаевна Корнетова — разработчик, компания «Яндекс»; аспирант, Национальный исследовательский институт — Высшая школа экономики, г. Москва, И akornet@yandex-team.ru, Алексей Яковлевич Червоненкис — канд. физ.-мат. наук, вед. науч. сотрудник, Институт проблем управления им. В.А. Трапезникова РАН, г. Москва, ® (495) 334-88-20, И chervnks@ipu.ru.