Устройство аукциона Яндекс.Директ

Содержание

Введение

Я часто провожу собеседования со специалистами по контекстной рекламе или к нам в K50или в проекты к друзьям и хорошим людям. Пытаю я специалистов самыми разными вопросами, и чаще всего наибольшие трудности у соискателей возникают с вопросами, связанными с ценообразованием в рамках аукциона в системе Яндекс.Директ.
Недостаточно ясное описание аукциона юридически корректными и безопасными формулировками в справке Яндекс.Директ лишь усугубляет сложность восприятия.

Собственно, и я свои знания об аукционе Яндекс.Директ получил не из справки Яндекс.Директ, а из общения с текущими или бывшими сотрудниками Яндекса: Катей БобровойЛеной Фирсовой и Леной Завьяловой (спасибо вам!).

На мой взгляд, понимание механизмов аукциона критически важно для специалиста по контекстной рекламе. Поэтому в данной статье я постарался описать свое понимание этого вопроса и поделиться основами интерпретации данных.

Итак, мой любимый вопрос соискателю: «Может ли в Яндекс.Директ рекламодатель размещающийся в блоке выше (например на втором спецразмещении) платить меньше за клик, чем рекламодатель в блоке ниже (например, на третьем спецразмещении)?», и, черт возьми, добрая половина соискателей отвечает на него неправильно.

Обратимся к правилам показа Яндекс.Директ (пункт 3.4). В данном разделе ясно сказано:«Объявления в Спецразмещении и в Гарантированных показах располагаются в порядке 
убывания Цены за Клик». Это значит, что рекламодатель, находящийся на первом спецразмещении, всегда платит больше за клик, чем рекламодатель на позиции второго спецразмещения. И, соответственно, рекламодатель на втором спецразмещении за клик платит больше чем рекламодатель на третьем спецразмещении.

Пример. Перед вами выдача по запросу «Контекстная реклама».

K50_1

Согласно скриншоту, можно сказать, что в данном конкретном аукционе i-Media за клик заплатит больше чем ArrowMedia . А Google заплатит больше чем i-Media. Выходит, что правильный ответ на заданный выше вопрос таков: «Нет, не может такого быть».

А как же CTR?

Но ведь мы знаем, что CTR важен и Яндекс учитывает его для расчета ставки. Давайте разберемся.

Для ответа на вопрос о важности CTR я воспользуюсь пояснениями Елены Завьяловой в группе контекстная реклама (данный комментарий был сделан 9 августа 2013 года, и мог утратить часть своей точности ввиду изменений алгоритмов Яндекс.Директ, однако, мне о таких изменениях ничего не известно, и потому я на него ссылаюсь).

K50_2

Ключевая мысль этого комментария заключается в том, что да, позиция в блоке зависит от ставки, но сначала объявление должно быть отобрано в блок, а отбор производится по произведению ставки на CTR. Вот как это описано на юридически корректном языке вправилах показа Яндекс.Директ:

3.2. При отборе объявлений для показа на Рекламных местах, указанных в п. 2.1 Правил [на страницах результатов поиска сервиса Яндекс.Поиск], учитывается:

— ключевая фраза/слово,

— коэффициент качества,

— Кликабельность и

— Цена за Клик, указанная Рекламодателем.

3.3.4. При показе объявлений на Рекламных местах, указанных в п. 2.1 Правил [на страницах результатов поиска сервиса Яндекс.Поиск], объявления с наилучшими показателями попадают в Спецразмещение и в Гарантированные показы. Остальные объявления могут попасть в Динамические показы.

Также, в отдаленном уголке справки Яндекс.Директ указано, что:
Стратегия [показ в блоке по минимальной цене] не гарантирует размещение объявления на последней позиции в блоке. Отбор в блок производится с учетом произведения CTR на ставку за клик, соответственно, при наличии конкурентов с более высоким CTR возможна ситуация, при которой минимальная цена для попадания в блок будет обеспечивать сразу первую позицию.

Значит, что CTR в Яндекс.Директ нужен лишь для того, чтобы рассчитать, сколько будет стоить вход в блок (или спецразмещение, или гарантию), т.е. CTR влияет лишь на стоимость самой низкой позиции в блоке, доступной для рекламодателя и не влияет на стоимость позиций выше.

Почему CTR важен для рекламных систем

Логика в подобном механизме отбора объявлений в блок очень проста — в условиях, когда с рекламодателей деньги берутся лишь за совершенные клики, учитывая CTR Яндекс максимизирует свою прибыль.

Рассмотрим данную механику на примере:
Предположим, что пользователи поисковой системы Яндекс набирают конкретный поисковый запрос (например, «пластиковые окна москва фрязино») ограниченное количество раз в месяц (например, 1000 раз).

Допустим, у нас есть два рекламодателя.
У рекламодателя «A» у конкретного объявления, которое показывается по запросу «пластиковые окна москва фрязино» CTR = 20% и ставка составляет 1у.е.
У рекламодателя «B» у конкретного объявления CTR = 10% и ставка составляет 2 у.е.

Представим, что позиция спецразмещения в Яндексе лишь одна, и Яндексу необходимо выбрать среди этих двух рекламодателей, кого показать на позиции спецразмещения, чтобы заработать больше денег.

Сумма денег, которую получит Яндекс на 1000 показов рекламы в случае с рекламодателем «A» будет равна = 1000 показов * 20% CTR * 1у.е. = 200 у.е., с рекламодателем «B» будет равна = 1000 показов * 10% CTR * 2у.е. = 200 у.е.

Согласно предложенным условиям — Яндексу все равно, кого из рекламодателей показывать (ну кроме того, что у рекламодателя «A» поток денег в Яндекс более стабилен, плюс пользователи, которые кликают по его объявлению более довольны).

Но, если рекламодатель «A» увеличит ставку, например, до 1.01 у.е., то тогда Яндекс уже на 1000 показов будет зарабатывать 202 у.е. И будет логичным, если для максимизации своей прибыли Яндекс выберет для показа на позиции спецразмещения рекламодателя «А» (рекламодателя, с показов которого Яндекс заработает больше денег).

Данная логика работает и в случае с CTR: Если рекламодателю «A» удастся поднять свой CTR (например, написав более привлекательное объявление под конкретный запросы).

Если говорить про большие числа систем контекстной рекламы, то произведение ставки объявления на его CTR — это величина, эквивалентная стоимости одного показа рекламы в конкретном аукционе для конкретного рекламодателя. И это легко увидеть по следующим формулам:

Формулa CTR:

K50_3

Выразим клики из формулы 1:

K50_4

Если обозвать траты рекламодателей (выручка Яндекса) как Advertising_spend, то:

K50_5

И если мы подставим в формулу 3 клики из формулы 4, то у нас получится:

K50_6

Количество показов рекламы у нас лимитировано и не зависит от ставок или CTR рекламодателей. В итоге, плата за один показ рекламы у Яндекса будет вычисляться по формуле:

K50_7

Таким образом чем выше CostPerImpression, тем больше прибыль Яндекса. Т.е. это бизнес-цель Яндекса максимизировать показатель CostPerImpression и механика текущего аукциона Яндекс.Директ отвечает этим целям.

Формирование цены входа в блок

Теперь обратимся к механизму расчета стоимости входа в блок (в спецразмещение или в гарантию). Так как количество мест в блоках ограниченно (в спецразмещении в Яндекс.Директ максимально могут показываться 3 объявления), логично, что Яндекс выбирает для показа на этих местах рекламодателей, с показов рекламы которых заработает наибольшее количество денег. Именно по этому в блок отбираются 3 лучших рекламодателя по показателю произведения ставки на CTR (CostPerImpression).

При этом, для рекламодателей, уже попавших в спецразмещение, рассчитывается стоимость входа в спецразмещение так, чтобы произведение ставки на CTR у этих трех рекламодателей, было фактически больше, чем произведение ставки на CTR у четвертого рекламодателя (четвертого рекламодателя в аукционе по величине произведения ставки на CTR).

Модель аукциона Яндекс.Директ

Создана вторая версия эмулятора аукциона Яндекс.Директ в Excel.
Модель описана в marketing-wiki.ru.
Рабочие файлы лежат в папке google drive.

Предыдущая версия эмулятора аукциона была сделана на основе Google Spredsheets. Механика ее работы похожа на обновленную версию в MS Excel, однако содержит больше багов.
Описание предыдущей модели в Google Spreadsheets лежит здесь.

На основе данной модели построим график. Если мы отметим на графике цены входа, второго и первого места в спецразмещении столбцами, ставку рекламодателя и фактическую цену клика (цену действующую на поиске) — линиями, дополним график дополнительной информацией, то у нас получится:

K50_8

Описанные выше данные сформированы на основе таблички со следующими вводными:

K50_9

Таблица эмулирует упрощенную версию аукциона Янднекс.Директ.

В качестве входных переменных задаются:

1. MaxBid — максимальная ставка (колонка 2)

2. CTR объявления в спецразмещении (колонка 3)

3. CTR объявления в гарантии (колонка 4)

4. Стратегия показов (1 — показ на максимальной доступной позиции, 2 — показ в блоке по минимальной цене — и спецразещении и гарантии).

В модели использованы допущения, что:

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

2. Коэффициент качества объявления для всех рекламодателей одинаков;

3. Естественная стоимость входа в блоки отсутствует (а есть лишь стоимость входа рассчитываемая по правилам аукциона);

4. Все объявления набрали достоверное количество показов (и, следовательно, CTR), и для всех используется фактический CTR, без учета прогнозного.

Разница в стратегиях показов Яндекс.Директ

Одним из ключевых моментов в понимании аукциона Яндекс.Директ являются стратегии показов объявлений.

В Яндекс.Директ на момент написания статьи существовали три стратегии размещения с ручным управлением ставками: 1. Наивысшая доступная позиция 2. Показ в блоке по минимальной цене 3. Показ под результатами поиска

Рассмотрим первые две.

Наивысшая доступная позиция — эта стратегия позволяет показывать объявления на самой высокой позиции из доступных рекламодателю по выбранной цене за клик.

Показ в блоке по минимальной цене — при достаточной ставке объявление показывается в спецразмещении на позиции с минимальной ценой. Если назначенной цены за клик недостаточно для входа в спецразмещение, но достаточно для «гарантии», объявление показывается на позиции с минимальной ценой в гарантированных показах.

Давайте рассмотрим на примере рекламодателя “b”, как стратегия влияет на позицию и цену клика действующую на поиске.

В текущих условиях для него доступны все три позиции в спецразмещении. Стоимость входа в спец — 3.59, стоимость второй позиции 4.03, стоимость первой позиции 6.01

При использовании стратегии «Показ в блоке по минимальной цене» рекламодатель “b” будет размещаться на третьем спецразмещении при действующей цене на поиске: 3.59 у.е. при ставке 5.29 у.е. (скриншот слева), при выборе стратегии Показ на максимальной доступной позиции рекламодатель будет размещаться на позиции второго места в спецразмещении, и действующая цена на поиске составит 4.03 у.е.

K50_10

Таким образом, мы выяснили, что выбирая стратегии показов в Яндекс.Директ, можно попадать на разные места в выдаче. Но следует помнить, что рекламодатель, размещающийся выше, будет всегда платить дороже, чем рекламодатель, размещающийся ниже (как было рассмотрено выше).

С использованием стратегии Показ на наивысшей доступной позиции у нас есть возможность заплатить больше денег, но нужно понимать с какой целью мы это делаем.

Мотивы выбора стратегий показов в Яндекс.Директ

Целей по использованию стратегии Максимальная доступная позиция, на мой взгляд, может быть несколько. Среди основных:

• Умная система автоматизации точно прогнозирует количество показов и кликов по конкретной позиции и использует эти данные в качестве стат.данных для расчетов в рамках портфельной теории или продвинутых правил;

• Получить максимальное количество кликов (максимальное количество продаж) — в высокорентабельных тематиках, или в случаях, когда бюджет рекламодателя не важен;

• Поставить подпорки — спустить деньги у конкурента.

Разберем вариант, когда стоит задача получить наибольшее количество кликов. К сожалению, открытой официальной информации о CTR позиций внутри блока спецразмещения и гарантии не существует. Однако, согласно проведенным мной исследованиям, а также проведенным исследованиям Андрея Иванова (advse.ru) CTR у второго спецразмещения будет ниже, чем CTR у третьего спецразмещения.

K50_11

Отсюда делаю вывод, что размещаться на второй позиции спецразмещения плохо, т.к. и платишь дороже, и кликов получаешь меньше.

Смысл и использование «подпорок»

Основной смысл «подпорок» в контекстной рекламе: заставить другого рекламодателя, который выставил высокую ставку на свое объявление потратить на рекламу завышенную сумму.

Я постарался визуализировать, как работают «подпорки»:

K50_12

Если смотреть на график, то это будет выглядеть так:

R50_13

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

1. Пожелание плохого кому-либо портит карму

2. Техника работает только в случае, если у рекламодателя противника выставлена стратегия показ на наивысшей доступной позиции

3. Велики риски получить собственный расход лишних средств.

Удержание позиций в Яндекс.Директ

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

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

Чаще всего логика работы такого рода инструмента строится вокруг регулярного назначения ставок на ключевое слово на Х процентов больше, чем цена конкретной позиции, при обозначенном ограничении, что ставка не должна превышать Yу.е. Такого рода автоматизация появилась на рынке первой. Предпосылками появления такой автоматизации было, что механики аукциона Яндекс.Директ всегда предполагали, что рекламодатель находящийся на позиции выше будет платить больше денег, и как следствие, что позиция третьего спецразмещения в условиях борьбы за ROI почит всегда является наиболее выгодной (т.к. она обеспечивает высокий CTR и самую низкую стоимость размещения в спецразмещении).

К тому же, до 19 октября 2010 года в Яндекс.Директ существовала только стратегия «Максимальная доступная позиция». И у performance-driven рекламодателей не было выбора — только использовать автоматизацию.

Однако, с появлением стратегии “показ в блоке по минимальной цене”, диапазон реальных задач рекламодателей, требующих функционала удержания позиций, на мой взгляд, заметно сократился.

К слову, автоматизация удержания позиций, является спорной функцией в силу инертности системы рекламной системы:

1. Данные о текущей стоимости клика в аукционе в интерфейсы и по api отдаются с задержкой до 15 минут (справка): Данные о цене клика обновляются каждые 15 минут.

2. Применение новых ставок в Яндекс.Директ занимает время. В одном месте справкаговорит этом: Новые ставки начинают действовать спустя некоторое время после вызова метода. Обычно оно не превышает получаса, но при высокой нагрузке может достигать трех часов.
В другом месте справки: Новые цены за клик активизируются от 5 до 60 минут (средний срок обработки данного действия составляет 10 минут).

Таким образом, даже согласно официальной справке, если ориентироваться на стоимость позиций отдаваемых через api, то в 15-минутном окне есть риск получить устаревшие данные. Плюс, после применения ставок, рассчитанных на основе устаревших данных, есть риск опять не попасть в аукцион из-за длительного применения ставок рекламной системой (обычно полчаса, но на моей памяти встречались случаи, когда ставки применялись и более 5 часов по времени).

Ввиду перечисленного, я сомневаюсь в практической эффективности программ и сервисов, которые устанавливают ставки согласно стоимости позиций. Также, я категорически возражаю против бездумного удержания конкретных позиций рекламодателем в рекламной системе и трат человеческого и вычислительного времени на них.

По моему мнению, гораздо более важной функцией систем автоматизации контекстной рекламы является расчет максимальных ставок, по которым рекламодателю рентабельно получать клики. Эта задача тесно сопряжена с прогнозированием конверсии переходов по конкретному ключевому слову и является гораздо более сложной, нежели удержание позиций.

Выводы

В Яндекс.Директ

1. Аукцион устроен таким образом, что рекламодатель, показывающийся выше, всегда платит дороже;

2. CTR влияет лишь на стоимость входа в спецразмещение и не влияет на стоимость позиций выше, при этом для рекламодателей с плохим CTR количество доступных позиций для выбора будет меньше, чем для рекламодателей с хорошим CTR;

3. Стратегия «показ в блоке по минимальной цене» ввиду особенностей аукциона чаще всего является наиболее рентабельной для рекламодателей;

4. «Подпорки» не эффективны против рекламодателей использующих стратегию «показ в блоке по минимальной цене»;

5. Удержание позиций — очень противоречивая функция (а по мнению автора статьи бесполезная в 95% случаев);

6. По мнению автора статьи, прогнозирование конверсии и расчет максимальной стоимости клика исходя из показателей эффективности гораздо более важная и полезная функция, чем «удержание позиций».