- О лекции
- Видео
- Текст
23 мая в Особняке на Волхонке состоялась четвертая лекция цикла «Теория игр. Как это работает в современном мире?», организованного Фондом Егора Гайдара в рамках проекта «Экономический факультет». О том, как теория игр применяется в рекламе и каким образом ее механизмы помогают заработать в интернете, рассказал разработчик Яндекса Андрей Мищенко.
Контекстная реклама знакома каждому пользователю интернета. Однако мало кто знает, что за этим скрывается сложная система конкуренции между рекламодателями за право показать свое объявление. Правила игры определяют рекламные площадки, которые заинтересованы в привлечении рекламодателей и повышении прибыли. Классические теоретико-игровые модели позволяют объяснить, как и почему ведут себя игроки в различных экономических, политических и других социальных взаимодействиях. Однако в данном случае задействовано новое направление в теории игр – разработка экономических механизмов – которое помогает придумывать правила игры, если мы хотим от людей определенного поведения.
«Большинству пользователей Яндекс известен как поисковый портал. Но основную часть выручки Яндексу обеспечивает реклама, поэтому система отбора и показа рекламы по своим масштабам практически не уступает поисковому сервису». Именно поэтому в разработку и оптимизацию алгоритмов рекламы Яндекса вложено довольно много усилий, в том числе специалистов по теории игр, которые и помогли построить рекламные технологии на базе механизма аукционов. В ходе лекции Андрей Мищенко разобрал конкретные примеры использования алгоритма аукциона в рекламе, показал типовые ошибки и способы их исправления.
Добрый вечер. Меня зовут Андрей Мищенко, я работаю в Яндексе, в отделе качества рекламы. Реклама, конечно, очень большая система, о которой можно сделать курс на пару семестров. Но сегодня у нас всего час, поэтому мы сконцентрируемся на небольшом, но важном аспекте — аукционах. Какая теория аукционов проработана, как все эти понятия и теоремы используются на практике в рекламе, какие там есть подводные камни и как их избегать, чтобы всем от этого было только лучше.
Я думаю, все знают, что такое аукционы в бытовом понимании. Это когда у меня есть какая-то редкая монетка или марка, она мне не нужна, и я хотел бы ее продать подороже. Можно ее сдать в комиссионный магазин, но я не эксперт по маркам, я понятия не имею, сколько за нее попросить денег, и очень боюсь прогадать. Но есть выход: я организовываю аукцион, приглашаю тех, кого этот предмет может заинтересовать, они между собой за него торгуются, и кто самую большую цену предложит, тот его и получит. Все просто.
Сейчас будет пятиминутка философии, и дальше рассказ пойдет в техническом ключе, но я хотел бы и гуманитарному полушарию дать немного пищи для размышления. Зачем вообще нужен аукцион? Есть понятный подход из принципа жадности, что цель аукциона — чтобы продавец заработал побольше денег. Но есть и другой взгляд. У каждого предмета есть какая-то ценность, и эта ценность субъективна. Один и тот же предмет для разных людей может представлять разную ценность. Может быть, Маркс не согласился бы со мной, но сейчас современная экономика в основном придерживается такой позиции. Если вы откроете какую-нибудь книжку «Экономика для самых маленьких», там обычно на первых страницах есть пример, что хоккейная шайба совсем не нужна тому, у кого нет клюшки, и имеет намного большую ценность для того, у кого клюшка есть, но ее ценность снова падает, если у человека уже есть шайба.
Возникает задача: есть сообщество, и есть множество предметов, и неплохо бы их раздать тем, для кого ценности этих предметов самые большие. Вводят даже понятие «общественное благосостояние» — это когда по всем людям в обществе суммируются ценности тех предметов, которыми они владеют, и хочется эту величину максимизировать. Можно, как это ни странно, смотреть на это так, что людям вообще пришлось изобрести деньги и сам принцип, что за товары нужно брать деньги, чтобы решить эту задачу: как вообще раздать предметы тем, кому они нужны больше всего. Если вы просто выйдете на улицу и будете раздавать бесплатно, они не достанутся тем, кому они нужны больше всего, они достанутся тем, кто раньше пришел. Если вы всех соберете и спросите, кому этот предмет нужен больше всех, все будут наперебой кричать, что именно им он больше всех нужен, и непонятно, как проверить. А вот если вы берете за предмет деньги, уже никто не станет обманывать и предлагать денег больше, чем этот предмет имеет для него ценность. И, в общем, один из ответов, зачем нужны аукционы, такой: они помогают решить эту задачу – отдать предмет тому, кому он больше всего нужен. Что интересно, при этом не имеет значения, сколько денег перейдет от покупателя к продавцу, потому что общественное благо — это сумма по всем участникам общества, и где-то деньги убыли, где-то прибыли, но сумма не поменялась. А вот когда предмет переходит от одного человека к другому, благосостояние растет, потому что он переходит от того, для кого он менее ценен, к тому, для кого он более ценен.
Давайте ближе к практике. Как я рассказал, такой интерактивный вид проведения аукциона имеет смысл, только если из аукциона сделать шоу, куда приглашаются не только участники, но и зрители, и мы сажаем ведущего с молотком. Если нам не важен сам процесс, а нужен только результат, и мы этих аукционов хотим проводить огромное количество… Чтобы были понятны масштабы, в рекламной сети Яндекса за секунду происходят сотни тысяч показов рекламы, и каждый из них — это результат розыгрыша аукциона. В интерактивном режиме их проводить было бы нереально. Какой выход? Все довольно просто. Рекламодатели заранее заполняют в рекламной базе, что они, собственно, хотят. Заводят баннер и описывают то, что называется «таргетинг», то есть описывают на каком-то формальном языке множество тех случаев, когда они хотели бы участвовать в аукционе. Первый рекламодатель, например, говорит: «Хочу, чтобы мой баннер показывался мужчинам в возрасте от 25 от 35 лет, проживающим в Москве», а другой рекламодатель говорит: «Хочу, чтобы мой баннер показывался людям с повышенным достатком, делающим много покупок в интернете». И при этом каждый делает ставку, ну то назначает ту цену, до которой он был бы готов торговаться в аукционе. Мы сейчас рассматриваем простейший, базовый случай, когда на аукцион выставляется одно-единственное место. В него больше, чем один баннер, не помещается, и оплата происходит за сам факт показа. В рекламе иногда деньги с рекламодателя берутся за показ, а иногда — за клик; в медийной рекламе больше принято брать деньги за показ, а в контекстной — за клик. Базу заполнили, придет запрос на рекламу, система проведет проверку условий таргетинга, выяснит, какие баннеры претендуют на это место, а после этого выберет тот, у которого ставка больше, чем у других, и покажет его.
А теперь, может быть, немного неожиданный вопрос: а сколько же денег взять с этого рекламодателя? Наивный взгляд – о чем тут вообще думать, вот он предложил 30 копеек, и мы его показали, какие могут быть причины брать с него не 30 копеек, а 25 или 20? Но, на самом деле, это неправильный ответ, и здесь в игру вступает теория игр. Ведь все происходит в каком порядке? Сначала мы оглашаем, по каким правилам будет проходить аукцион, в ответ на этот наш ход рекламодатели делают свои ставки, оптимизируя выгоду для себя, а после этого разыгрывается аукцион. Поэтому брать ту цену, которую назначил рекламодатель, выгодно, только если ставки зафиксированы. Но они не зафиксированы, и если мы огласим какие-то другие правила аукциона, ставки могут поменяться.
Представьте, что есть три рекламодателя. Один готов торговаться до 10 копеек, другой – до 20, третий – до 30. А между Яндексом и ними есть посредник, коробочка, в которую они эти числа сообщили и которая от Яндекса эти числа скрывает. При этом коробочка не преследует интересы Яндекса, она отстаивает интересы рекламодателей. То есть Яндекс провел матчинг, проверку условий таргетингов, и после этого спрашивает у коробочки: ну и кто выиграл и сколько с него денег взять? А коробочка как бы прокручивает в уме интерактивный аукцион, с которого мы начинали. Как он пройдет? Сначала цена будет маленькая, все трое рекламодателей будут участвовать, потом цена перевалит за 10 копеек, и один отойдет в сторону, потом цена станет 20 копеек, и отойдет второй — и все, на этом аукцион закончится, останется один-единственный участник. В интерактивном аукционе он забрал бы товар за 20 копеек с небольшим, то есть в каком-то смысле в итоге выясняется, что справедливо брать с него не 30 копеек, а 20 с небольшим.
Аукцион, в котором берется ставка, которую назначил рекламодатель, называется «аукцион первой цены», а аукцион, в котором берется ставка его ближайшего конкурента, называется «аукцион второй цены». И получается, что аукцион второй цены вроде как более справедливый, да? Как ни странно, аукцион – это то место, где справедливость и выгода для всех — эквивалентные вещи. Не надо ее, справедливость, ни на что разменивать. Оказывается, что аукцион второй цены, на самом деле, выгоден всем – и рекламодателям, и Яндексу, потому что если мы объявим аукцион первой цены, никто такие ставки нам не заявит. Они будут обманывать: поставил 30, смотрит — выиграл аукцион — и заплатил 30, на следующий раунд поставит 25 и обнаружит, что когда он ставит 25 — он тоже выигрывает, но он ставит 25, и это выгоднее. Понемногу он сам уменьшит свою ставку, и мы больше ничего не заработаем. Возникнет ситуации, когда придется подбирать ставку под текущую конкурентную ситуацию и нанимать аналитиков, а значит, денег на рекламную кампанию останется меньше. А мы объявим аукцион второй цены, то все просто: каждый ставит свою предельную цену, до которой он готов торговаться, ему нет смысла это число менять: он пробует 30 — с него берут 20, он пробует ставить 25 — с него все равно берут 20, разницы нет, поэтому он ставит свои 30 и может ехать в отпуск и ни о чем не волноваться, его ставка в любом случае для него оптимальна. Вообще, аукцион, в котором участникам выгодно ставить именно ценность предмета для себя, — это truthful auction, то есть справедливый, правильный аукцион, и в большинстве случаев все пытаются именно такой аукцион организовать. Цель – снять с участников аукциона необходимость мучиться, оптимизировать для себя и тратить на это ресурсы, которые можно потратить на что-то более полезное.
С этим случаем разобрались. Давайте усложнять. Какие могут быть дополнительные моменты? Пусть продается блок из одного баннера, но на этот раз мы будем брать деньги за клик. Почему так нужно делать? Можно сказать, что так сложилось исторически, но у этого есть свои причины. Если реклама брендовая и есть флэш-ролик, на котором куда-то едет машина определенной марки, то рекламодателю уже есть польза просто от того, что пользователь на эту рекламу посмотрел, даже не кликнул. А если реклама контекстная и мы хотим продать холодильник прямо сейчас, то этих магазинов с холодильниками тысячи, и даже если название нашего тысяча первого магазина будет мелькать, вряд ли кто-то его запомнит. А вот клик имеет ценность. Если пользователь кликнул, он попадает на сайт, а это и есть цель, ради которой рекламодатель затевал свою рекламу. С точки зрения теории вероятностей, не очень важно: если кликабельность 10%, можно брать 10 копеек за показ, а можно брать 1 рубль за клик – и вроде как это одно и то же. Но это не совсем так. Во-первых, Яндекс большой и выйдет на закон больших чисел, а рекламодатель может быть довольно маленьким, у него за неделю всего 5 кликов, и если ему не повезет и кликов будет 4, а не 5, а он при этом заплатил за 5, то мало ли, может быть, он вообще разорится. А во-вторых, у рекламодателя меньше данных, чтобы эту кликабельность предсказать, Яндекса предскажет кликабельность точнее. Поэтому принято, что рекламная площадка берет на себя все эти риски и списывает деньги, только когда клик действительно случился.
Но хорошо, если мы берем деньги за клики, то, вообще говоря, сортировать рекламодателей по ставке точно неправильно. Надо куда-то в этот алгоритм пристроить, собственно, прогноз кликабельности, потому что может так быть, что у одного рекламодателя ставка 1 рубль, но при этом кликабельность 30%, а у другого ставка 2 рубля, но кликабельность 10%, и хотя у него ставка больше, показывать, по идее, надо другого, так как он в среднем за показ приносит нам 30 копеек, а тот — только 20. С этим вроде более-менее все понятно: надо умножить вероятность клика (не настоящую, настоящую мы не знаем, а спрогнозированную) на ставку и отсортировать по этой величине всех рекламодателей, кто на первом месте окажется, того и нужно показывать. Но снова наш любимый вопрос: а сколько же с него взять денег? Старый ответ – мы с тебя будем брать столько, сколько поставил тот, кто под тобой, — точно неправильный. Может, он вообще поставил больше, чем победитель. А какой правильный ответ? Правильный ответ такой: надо их двоих тут написать – и того, кто выиграл, и того, кто под ним, – и после этого сказать, что его ставка на самом деле является свободной переменной, что мы ее будем подбирать и понемножечку уменьшать, пока числа не сравняются. То есть как бы найти такое критическое положение ставки, до которого показы продолжаются, а после – прекращаются.
Я хочу из плоскости справедливости перейти в плоскость экономической выгоды. Если объявить такие правила аукциона, то аукцион будет truthful, всем игрокам будет выгодно в качестве ставок действительно объявлять свои ценности событий, которые продаются, и от этого всем будет лучше. Если они от нас эти числа скроют, мы неправильно отсортируем, сделаем неоптимальные показы, и всем от этого будет только хуже. А если мы их поставим в условия, при которых им говорить правду выгодно, они нам скажут правду, вся система в целом будет работать оптимально, и всем от этого будет хорошо. Идея очень простая. Алгоритм, который решает, кого он покажет, обладает совершенно бесконечным количеством степеней свободы. Мы можем прибавить сюда, например, слагаемые, связанные с релевантностью баннера, то есть мы хотим, чтобы денег было побольше, но еще мы хотим, чтобы пользователи, которые пришли на Яндекс что-то искать, не ужасались от рекламы не в тему, даже если рекламодатели готовы платить деньги за эту рекламу. Можем дописать слагаемое, связанное с кликабельностью, если я считаю, что клики для меня имеют самостоятельную ценность, а не только из-за того, что я за них деньги получаю, и мне почему-то хочется, чтобы я создавал как можно больше трафика в интернете и меня знали. Можно еще сильнее усложнить аукцион и сказать, что у меня есть выражение с какими-то коэффициентами, я по нему все баннеры сортирую и забираю только, например, топ-5. А после этого эти топ-5 я пересортировываю по какой-то другой формуле, и кто там выиграет, того и буду показывать. Соответственно, ему, чтобы выиграть, нужно пройти оба этих тура. Придется решать два разных уравнения: первое — что он прошел первый тур, второе — что он прошел второй тур. Будет две разных точки, в которых это случается, и показ происходит, только если ставка больше, чем максимум этих двух чисел.
Итого. Алгоритм показов мы вольны выбирать какой захотим. Ну то есть на него накладывается ограничение здравого смысла, что должна быть монотонность, то есть будет странно, если наш алгоритм показывает какого-то рекламодателя, а когда тот увеличил ставку, его показывать перестает. Или наоборот, он его не показывает, рекламодатель уменьшает ставку, и начинает показываться. То есть не должно быть никаких скачков туда-сюда, но в остальном алгоритм показов может быть любой. Но если мы уже выбрали какой-то алгоритм, у нас больше нет никакой свободы в том, сколько брать денег с рекламодателя. Если мы хотим, чтобы в итоге наш аукцион был truthful, чтобы нам показали честные ставки, и все было для всех хорошо, то выбора никакого нет, мы обязательно должны все делать по этой картинке. Других вариантов нет. Все понятно? Или, наоборот, ничего не понятно? Потому что сейчас мы еще немножко усложним.
Последнее усложнение – пусть теперь разыгрывается не одно место, а больше – два места, хотя, естественно, их может быть и еще больше. Например, если в поиске Яндекса в браузере вы напишете «пластиковые окна», там в начале три рекламных объявления, а дальше уже органическая выдача. А, допустим, в мобильном поиске, если спросить какие-нибудь пироги с вишней, сначала стоит два рекламных предложения, а дальше уже остальные результаты. Продавать одновременно два места — это не то же самое, что сначала разыграть аукцион за первое место, а потом за второе место, потому что если мы так сделаем, один и тот же баннер выиграет два раза, а мы не можем два раза один и тот же показывать. Поэтому важно, что одновременно разыгрывается именно два места. Поначалу в Яндексе запрограммировали такой вариант – он называется GSP, generalized second price, обобщенно — аукцион второй цены. Устроен он так: мы сортируем всех по той самой величине, по которой мы обычно всех сортируем, а показываем – первого ставим на первое место, второго — на второе, с этим все понятно. Сколько брать денег? В том алгоритме был такой ответ: возьмем столько денег, до куда каждый должен уменьшить свою ставку, чтобы свалиться на предыдущее место. Казалось логично: хочет на первое место — сделал ставку, чтобы попасть на первое место, мы за него ее уменьшаем, но как только он сваливается на второе место, считаем, что такое он уже не заказывал.
Давайте какой-то пример. Допустим, 2 рубля — ставка третьего, 5 рублей — ставка второго, 6 рублей — ставка первого. В этом примере я буду считать, что у всех кликабельность одинаковая. Рекламодателю в принципе все равно где стоять. Для него ценность имеет клик, ему важно, что пользователь пришел к нему на сайт, а через какую позицию в рекламе — ему более-менее все равно. И статистика показывает, что разница между первым и вторым местом не такая уж и большая, если, допустим, с первого места можно собрать 100 кликов, то, попав на второе место, можно собрать 80 кликов. Количество, конечно, падает, но не так сильно. Но если мы сваливаемся на третье место, то кликов мы не получаем вообще. И… смотрите. Если бы этот рекламодатель поставил 4 рубля, он получил бы 80 кликов, и с него брали бы по 2 рубля за каждый. Но он повышал ставку и повысил до 6 рублей, теперь ему предлагают 100 кликов, но берут по 5 рублей за каждый. В чем вообще проблема? Проблема вот в чем. Здесь он платил 160 рублей, а здесь его просят платить 500 рублей. Получается странно, что он оставшиеся 20 кликов на самом деле купил за 340 рублей. 20 кликов аж по 17 рублей за каждый. Он, конечно, возмущен. Он говорит: я вам сказал, не продавайте мне клики дороже, чем 6 рублей. А вы что творите? Вы мне 20 кликов по 17 рублей впарили. Соответственно, организатор аукциона отвечает: нет, все в порядке, не переживай, мы тебе продали 100 кликов по 5 рублей каждый. 5 рублей — это меньше, все нормально. И кто из них прав?
Пока что это все выглядит как демагогия, но истина — в прибыли рекламодателя. В этом случае прибыль рекламодателя какая? 80 умножить на 6 минус 2. Он с каждого клика получает 6 рублей пользы, а 2 рубля отдает как бы рекламной площадке, 80 кликов, итого 320 прибыли. А если он перепрыгнул на первое место, кликов вроде больше стало, но теперь его прибыль стала 6 минус 5, всего лишь 100. И это, на самом деле, причина, по которой он недоволен. Он удивляется, что вроде бы рассказал правду, но в том и суть, что аукцион этот не truthful: он рассказал нам правду и пострадал из-за этого. Раньше он зарабатывал 320 рублей, а после этого он докупил 20 кликов по 17 рублей, с каждого из них 6 отбил, а на 11 – потерпел убыток, и, соответственно, на 220 рублей у него прибыль уменьшилась. И в какой-то момент наконец пришло осознание, что есть такая GSP-проблема и надо ее как-то решать.
Выход нашелся в Википедии. Есть такой аукцион, он называется VCG, это аббревиатура из трех фамилий – Викри, Кларк и Гроувс (Vickrey–Clarke–Groves), три экономиста. Они не совместно, а по очереди публиковали статьи и понемногу приходили к идее, как же организовать truthful аукцион. Если вы конкретно эту статью в Википедии откроете, там, на самом деле, будет сильно не то, что я вам сейчас расскажу, но просто поверьте, что если к этому конкретному случаю приложить те общие формулы, то получится ровно то, что я буду рассказывать. Нужно мысленно разбить этот аукцион на два – сказать, что сначала продается 80 кликов и 80 кликов — два раза, а потом отдельно продается добавочка в 20 кликов. Когда будет проводиться этот аукцион, то будет продавать два совершенно одинаковых айтема, и здесь уже очевидно, что человеку все равно, где находиться, он либо эти 80 кликов покупает, либо те, что одно и то же. Если есть ставки троих участников b3, b2, b1, то первые двое выигрывают этот тур, и за эти 80 кликов каждый из них платит b3. После этого разыгрывается второй тур, и участник покупает 20 кликов по цене b2. Естественно, это виртуальное построение, все клики на самом деле одинаковые, эти 80 никак нельзя отделить от этих 20.
В принципе аукцион может быть устроен намного более сложно, в него может быть заложен вообще любой алгоритм. Например, я могу сказать, что я сортирую по какой-то конкретной величине, но еще прибавляю немножко рандома, и тогда получается, что с определенной вероятностью я выигрываю, а с оставшейся вероятностью проигрываю. Едиственное ограничение — логично предполагать, что аукцион должен быть возрастающим, иначе странно — ставку увеличиваешь, денег получаешь меньше, такого быть не должно. VCG-аукцион мы запрограммировали уже больше полутора лет назад, в прошлом сентябре его внедрили. Поначалу, конечно, деньги упали, но не сильно — удалось запуск совместить с отменой каких-то скидок, которые накопились, сказали: сейчас мы запускаем новый аукцион, в нем все будет дешевле, поэтому скидки мы отменяем. Но в ответ на это наше действие рекламодатели обнаружили, что поменялись правила аукциона, и теперь их оптимальные ставки другие, и они начали ставки повышать. Мы стали правильнее угадывать, кого же надо поставить на первое место, они перестали нас обманывать, сколько они на самом деле готовы платить за свои клики. Процентов 7-8 суммарно Яндекс на этом запуске заработал.
Вопрос: Насколько примерно выросла цена?
Андрей Мищенко: Именно ставка? Ну, там такая сложность, что когда ты уже на первом месте, тебе в принципе все равно, сколько ставить, ты можешь ставить больше, yj от этого ничего не зависит, поэтому трудно доверять этим числам. Например, есть рекламодатели, которые просто, не задумываясь, ставят 80 долларов за клик, потому что больше поставить нельзя. Если это число учитывать во всех средних вычислениях, получается не совсем правильная картина. Но в целом ставки выросли довольно сильно, и именно из-за того, что разница довольно маленькая. То есть раньше им приходилось стараться попасть на третье место, и это была, на самом деле, самая выгодная стратегия, потому что четвертый участник обычно делал довольно маленькую ставку, ему было все равно, что поставить, и его все равно не показывали. Были целые компании, которые целенаправленно занимались подбором такой ставки, при которой ты попадаешь на третье место. А с VCG-аукционом эта необходимость отпала. То есть перестало быть выгодно находиться здесь. Не скажу, во сколько раз выросли ставки – может быть, и даже вдвое, но в полтора точно.
Вопрос: Как вообще можно предсказать вероятность клика?
Андрей Мищенко: Ну, там сложный machine learning. Но обычно на бытовом уровне часто путают частоту и вероятность. Вот я 100 раз показал, 17 раз кликнули. 17% – это вероятность или нет? Это не вероятность, это оценка вероятности, а настоящая вероятность неизвестна, она может быть и 19, и 15, и любая. Проблемы с накоплением частоты состоят в том, что нету толком двух одинаковых событий, то есть мы можем сказать, что вот, допустим, и запрос тот же самый, и баннер тот же самый, и по такому условию насобирать статистику на 1000 показов, но все равно все эти случаи будут чуть-чуть разные. Где-то устройство немножко другое, где-то время суток немножко другое, где-то пользователь просто любит кликать, и так далее, и так далее. В итоге все события разные, и нельзя быть уверенным, собрав по какому-то одному конкретному ключу статистику, что это и есть правильная вероятность клика. Поэтому используется полноценный machine learning – собираются статистики по самым разным разрезам: и по баннерам, и по запросам, и по баннеро-запросам, и по компания-запросам, и строятся модели по словам в заголовке баннера, чтобы даже если заведешь новый баннер с таким же текстом, мы уже могли бы применить к тебе старую статистику.
Давайте рассмотрим такой случай, немножко вырожденный, но тоже важный. Пусть на аукцион пришел один-единственный участник. Так получилось. Никто больше не захотел, конкуренции нет. Может ли продавец извлечь из этого аукциона хоть какую-то пользу? Вообще, если провести аукцион по-простому, то сразу отдашь товар и заработаешь ноль. Как спасаться? Основная идея примерно такая. Продавцу нужно знать ценность для покупателя, как на восточном базаре, где ему очень важно, сколько ты мог бы заплатить. Он смотрит, что ты идешь незагорелый, и сразу удваивает цену. Формализация этой идеи такая – пусть продавец не знает конкретную ценность, но пусть у него есть какие-то априорные представления о том, как эта ценность распределена. Ну Простейший случай: ценность распределена равномерно на отрезке 0-1, мы не знаем конкретного числа, но мы знаем, что она равновероятно находится где-то здесь. В таком случае мы можем сказать, что хоть у тебя конкурентов и нет, но мы тебе дешевле, чем за X, не отдадим. Что хочешь, то и делай. Что остается в таком случае покупателю? Если его ценность, которую он знает, а мы нет, в меньшем интервале, ему приходится отказаться. А если его ценность находится в большем интервале, то он соглашается. И теперь вопрос, какой нам выгодно выбрать X. Можете в качестве упражнения решить, это не очень сложно, X, равный 0,5, — это оптимальное число. В случае, если мы объявим цену в 0,5, в половине случаев он у нас купит и мы 0,5 заработаем, в половине не купит, и мы ничего не заработаем. То есть в итоге мы в среднем заработаем ¼ денег, и это максимум, на что можно здесь рассчитывать. Такая константа называется константа Меерсона, то есть для любого распределения существует оптимальный Х.
К какой жизненной ситуации применим этот пример? Вот – Яндекс, с одной стороны, у него полно своих рекламных площадей, он может продавать рекламу на Яндекс.Поиске, на Яндекс.Погоде, на Яндекс.Почте, а с другой стороны, помимо этого может выкупать чужие рекламные площади — у ВКонтакте, у Авито, у них есть где показывать рекламу, и при этом не такая богатая база рекламодателей, как у нас. Здесь продавец — это, допустим, ВКонтакте, а покупатель — Яндекс, то есть приходит какой-то пользователь ВКонтакте, и мы — Яндекс — знаем, сколько мы на рекламе этому пользователю можем заработать, а ВКонтакте не знает. Но у ВКонтакте есть представление о том, какое там обычно распределение, он нам выставляет этот порог и говорит, что вы можете забрать эту рекламную площадь, но не дешевле, чем вот столько. Мы говорим: хорошо – или отказываемся. Тогда он показывает какую-то свою медийную рекламу, которая у него запасена на этот случай.
Бывают такие мотивирующие курсы, где говорят: выйди за рамки, думай более общо, и, как ни странно, это иногда помогает. Представьте себе, мы изначально договоримся с продавцом, что мы ему не будем врать, мы ему по-честному скажем, какая ценность для нас этого товара, но только при условии, что он согласится отдать нам его за полцены. Или за 55%. Если мы ему просто расскажем и никакого договора заранее не подпишем, будьте уверены, он нас напарит. Мы ему скажем, что для нас ценность 0,7, а он скажет, тогда не хотите ли купить за 0,69. И мы согласимся, 0,7 — это же больше, чем 0,69, отказываться смысла нет, но мы почти ничего мы себе не заработаем, он все заберет себе. А если заранее подписать договор, что мы будем тебе говорить свою честную ценность, но ты обязан нам продавать не за полную цену, а за какой-то фиксированный процент, тогда мы просто все вместе зарабатываем и дальше в некоторой пропорции делим. И если мы ему предложим забирать себе 55%, то ему это будет выгодно: так он зарабатывал одну четверть, а так он заработает чуть-чуть больше.
Вопрос: А какая доля примерно запросов без конкуренции?
Андрей Мищенко: Если считать, что этот модельный пример — именно про взаимоотношения рекламной площадки и Яндекса как поставщика рекламы, то, в принципе, довольно много мест, где, кроме Яндекса, ничего не стоит именно потому, что мы такие условия предложили, в которых мы не пытаемся ничего приворовывать. А если говорить про какой-то рекламный хит и про то, что никто не пришел, — такого, наверное, не бывает. Всегда есть какую рекламу показать, там больше срабатывают всякие наши пороги, что мы не хотим, чтобы рекламы было слишком много и вводим какие-то коэффициенты про релевантность.
Вопрос: Откуда берется базис? Как формируется цена, если вообще никого нет?
Андрей Мищенко: Аукцион и алгоритм показов может быть устроен сколь угодно сложно, и сейчас в нем есть разные пороги. Например, есть порог, что нельзя купить рекламу дешевле, по-моему, 5 или 7 центов. Кто-то придумал такое правило, и оно действует. Помимо этого, нельзя купить рекламу, которая слишком нерелевантна и при этом со слишком маленькой ставкой, то есть там есть определенное количество ограничений, которые запрещают показ, и все они влияют на график кликометра. И в итоге, даже когда рекламодатель всего один, все равно этот пороги действуют, поэтому такую цену он в итоге заплатит.
Вопрос: Но раз лекция называется «Как заработать с помощью теории игр», расскажите, как Яндекс зарабатывает с помощью теории игр, когда рекламодатель один. Технически, не философски.
Андрей Мищенко: Еще раз. Мы выставили порог в 15 центов, а рекламодатель предлагает 14 и не показывается. Как правило, порог связан с качеством рекламы. То есть если рекламное объявление слишком не релевантно запросу, мы готовы его продать, но дорого. Мы не хотим его продавать дешевле, потому что тогда пострадают наши пользователи, которые пришли.
Вопрос: А если релевантно?
Андрей Мищенко: Если релевантно, то пройдет.
Вопрос: А к теории игр это как относится? Вот это поведение на аукционе у вас как площадки, которая зарабатывает.
Андрей Мищенко: Нельзя менять правила аукциона, подстраиваясь под рекламодателей, потому что тогда они тебя обманут, 100 процентов. Мы сказали, что порог 15, а он сделал порог 17, и показывается. Если мы стоим на своем, что порог 15, он так и показывается, но если он хоть раз узнает, что мы, обнаружив, что он перестал показываться, стали снижать пороги, — привет! Он обязательно будет это делать, пока не собьет нас до нуля, этим заниматься нельзя. Организатор аукциона рассказывает, какие у аукциона правила, и не меняет их никогда. И он старается их рассказать такими, чтобы участники, оптимизируя свою выгоду, тем не менее, сделали организатору какую-то пользу.
Вопрос: То есть на выдачу влияет релевантность и, к примеру, цена клика. А есть какое-то, допустим, процентное соотношение или вес, который имеет цена, то есть можно ли выехать не только на цене, к примеру, а еще на чем-то, на той же самой релевантности?
Андрей Мищенко: Ну, релевантность в какой-то степени зависит от рекламодателя, но не очень сильно. Кликабельность можно наращивать, можно менять текст объявления так, чтобы людям больше хотелось в него кликнуть, иногда вообще не совсем правду пишут, чтобы повысить кликабельность. Релевантность повысить намного сложнее, она больше функция от того, куда баннер ведет, чем от того, что на нем написано. Поэтому какая разница? Она какая-то дана, то есть, с одной стороны, да, она у каждого баннера своя, но сильно поменять ее на что-то невозможно. Если баннер просто витальный, по запросу Алиэкспресса баннер Алиэкспресса, то релевантность очень большая, и такая реклама ему, соответственно, довольно дешево обходится. Маленькие ставки — их достаточно, чтобы показываться. А во всех остальных случаях, кроме этих, навигационных, все довольно размыто, то есть трудно себе с помощью повышенной релевантности выбить большие скидки.
Вопрос: А что происходит, когда пользователь закрывает рекламу? Этот рекламодатель как бы вычеркивается и еще раз проходит аукцион? Ведь в некоторых местах можно закрыть рекламу.
Андрей Мищенко: Ну, есть поисковая реклама, там просто задали поисковый запрос, показали результаты: пару рекламных объявлений, дальше нерекламные. Там крестика «закрыть рекламу» нет, можно либо кликнуть в рекламу, либо проскроллить, кликнуть во что-то другое. А если… ну, какая-то реклама в интернете, такая вот, распахивающаяся или что?
Вопрос: А ВКонтакте, например, сбоку?
Андрей Мищенко: Ее можно закрыть? Что там? Крестик, и пишут, что «это мне мешает» или что-то такое? Ну, это запоминается где-то в профиле пользователя, и ему стараются больше не показывать рекламу по этой тематике. Ну, вообще, поведенческий таргетинг, конечно, намного более сложная вещь, чем поиск. В поиске запрос дан, и мы можем от него отталкиваться. Что пользователь хочет, очень хорошо понятно. Мы скопили для пользователя все его прошлые запросы со «старостью», допустим, в две недели. Мы про него знаем, в какую рекламу он раньше кликал. У нас есть какие-то знания про него, но они все очень приблизительные. То есть, да, он искал холодильник полторы недели назад. Но неизвестно, нужен ли ему сейчас холодильник, или он уже купил и перестал его искать, или не купил… В общем, намного больше шансов, что мы покажем какую-то ерунду. Поэтому дается этот крестик, чтобы можно было на него нажать и сказать, что эта реклама мне на самом деле не нужна, ваши алгоритмы ошиблись, они откуда-то накопали, что я этим интересуюсь, но на самом деле я этим не интересуюсь. Дальше ему в профиль запоминается, что эта категория рекламных баннеров нерелевантна, не надо показывать. А после этого, да, переразыгрывается аукцион, но там уже есть этот фильтр, что все баннеры такой категории удаляются.
Вопрос: А если пользователь пользуется блокировщиком рекламы, а оплата идет за показы, то все-таки платит рекламодатель или не платит?
Андрей Мищенко: Зависит от того, каким блокировщиком. Показы детектятся с помощью пикселя, Java-скриптовый код может догадаться, произошел показ или нет, и я думаю, в подавляющем большинстве случаев все происходит так, как будто бы показа просто не было. То есть деньги не платятся, ну и визуально, действительно, не видно. Мы не считаем, что показ произошел просто потому, что мы отдали рекламу, ведь помимо блокировщика рекламы она может оказаться под скроллом, не на первом экране, а ниже, и показ засчитывается, только когда туда доскроллили.
Вопрос: Как вы считаете, вот в условно справедливом аукционе должны ли участники знать формирование всех переменных, от которых зависит конечная цена?
Андрей Мищенко: Скорее, нет. Во-первых, они могут нам просто поверить, что у нас аукцион truthful, и ставить свою ценность клика в качестве ставки. Во-вторых, они могут это проверить, то есть они ставят свою ценность и двигают немножко влево, смотрят, растет ли их прибыль, двигают немножко вправо, смотрят, растет ли их прибыль. И убеждаются, что именно в этой точке находится максимум. А какой алгоритм показов – вроде как неважно. К тому же, он меняться может. То есть мы можем от одного truthful аукциона перейти к другому truthful аукциону, оптимальные ставки не поменяются, а сам алгоритм показов поменяется.
Вопрос: А не могли бы вы все-таки вернуться в начало, к теории, и немного обобщить те поведенческие правила, на которых базируются вот эти математические теории? Больше психология, наверное, покупателей и рекламодателей.
Андрей Мищенко: Вся теория аукционов базируется на том, что каждый оптимизирует свою выгоду. Это более или менее такое, самое очевидное утверждение, и вряд ли кто-то будет с ним сильно спорить. Ну, мы в него верим. Мы верим, что рекламодатели постоянно занимаются оптимизацией своей прибыли, постоянно пробуют свои ставки двигать туда-сюда и смотрят, что из этого получаются. Если они понижают ставку, у них уменьшается количество кликов, которые они купили, но одновременно уменьшается и их цена. Если они повышают ставку, то, наоборот, у них повышается количество кликов, которые они купили, и одновременно повышается цена. И вот в какой-то точке находится оптимум. Мы стараемся сделать так, чтобы этот оптимум находился в точке, смысл которой — ценность клика для рекламодателя. Зачем мы так делаем? Чтобы они именно такую стоимость поставили, чтобы мы ее знали. Помимо сиюминутной выгоды есть еще очень долгосрочная выгода: мы намного больше доверяем своим исследованиям. Если мы заменим один аукцион на другой, можно, конечно, прогнать A/B тест, попробовать применить на 2% трафика другой алгоритм аукциона, но нельзя сделать выводы, что будет, если я этот аукцион действительно на все 100% трафика выкачу, потому что ставки поменяются и что угодно может поменяться. Но если я знаю, что у меня изначально аукцион truthful, и новый аукцион, который я изучаю, truthful, я могу верить, что ставки не поменяются, и тогда у меня намного больше доверия к результатам A/B теста. Соответственно, весь research идет намного быстрее и в правильную сторону.
Вопрос: Вы рассказывали про аукцион с резервной ценой именно в контексте случая, когда есть только один заказчик. Но этот же аукцион может применяться, когда заказчиков любое количество?
Андрей Мищенко: Так и есть, да.
Вопрос: Идут дискуссии по поводу продаваемых запросов, типа «купить окна», о том, чтобы менять количество рекламных сообщений или даже как-то сливать рекламную и обычную выдачу. Потому что понятно, что для человека, который ищет окна, непонятно, чем вообще отличаются поисково оптимизированные результаты на первой странице и те, которые не дали рекламу. То есть понятно, если человек ищет статью из Википедии, какие-то общие данные, здесь адекватный алгоритм для ранжирования. А коммерческие запросы – сложно сказать, какова основа для адекватного ранжирования.
Андрей Мищенко: Какие-то эксперименты, конечно же, мы ставим, но будет ли это когда-то внедряться — пока не знаю.