Рекламы в интернете много, и это очень прибыльная область. Судя по фин. отчётам, у яндекса она составляет 30% годовой выручки, у гугла 70% и у меты почти 100%. Я даже слышал мысль, что общий объём трат на рекламу всегда занимает некоторую фиксированную долю от ВВП
Может показаться, что если вы умеете накидать двухбашенную модель и выучить распределение
p(click|show), то дело останется за малым — привлечь рекламодателей, подключить площадки и начать откручивать баннеры, собирая при этом котлеты денег. Но всё немного сложнееВ реальности у интернет-рекламы есть 3 стороны, каждая из которых оптимизирует свою выгоду:
1. пользователь — в идеале сидит с адблоком, но если нет, то хочет релевантную рекламу, ведущую к покупке;
2. рекламодатель — хочет вложить фиксированный бюджет и получить за него максимум продаж;
3. площадка — максимизирует долгосрочный доход с учётом удержания пользователей и рекламодателей.
Итого мы имеем двусторонний рынок: площадки предоставляют услуги по размещению рекламы, рекламодатели выкупают эти размещения. Аудитория выступает регуляризатором — нельзя подсунуть всем кликбейт или дорогие нерелевантные баннеры и рассчитывать, что трафик через месяц не обнулится
На этом рынке стороны имеют разную приватную информацию: рекламодатель знает, сколько для него стоит привлечение клиента, а рекламная сеть обладает данными о пользователях и умеет предсказывать
p(click|show) = pCTR. Возникает задача: распределить дефицитный слот между рекламодателями при условии разной ценности для нихДля этого и появляется аукцион: каждый рекламодатель делает ставку, сколько он готов заплатить за то, чтобы его баннер увидел конкретный пользователь в конкретном контексте. При этом ставка должна отражать ценность привлечения клиента для его бизнеса, а как этого добиться — отдельная большая тема. В итоге ранжирование происходит по формуле:
eCPM = bid × pCTR × pCVR (× quality)Она объединяет интересы обеих сторон рынка и отражает ценность для рекламодателя — в идеальном мире это буквально доход, который получает рекламодатель от 1000 показов (осторожно! тут неочевидный переход от расходов к доходам — об этом поговорим в посте про дизайн аукционов). А в множитель
quality (в некоторых системах это аддитивная добавка) зашиты все возможные костыли, которые в маркетинговых материалах можно обозвать "качеством баннера"Самая ML-ная часть находится в компоненте
pCTR × pCVR — здесь работает полноценный рекомендательный стек с кандидатогенерацией, сложными нейросетевыми фичами и несколькими стадиями ранжирования. В некоторых компаниях научились заменять его на генеративную end-to-end систему и сверху наворачивать стадию алайнмента — про это обязательно будет серия постовВажно понимать, что прод устроен значительно сложнее — система умеет обрабатывать разные варианты оплаты (за показы, клики или конверсии), делать ставки за рекламодателя в зависимости от скорости трат, проклеивать конверсии с сайтов рекламодателей и много чего ещё
———
CTR = click-through rate
CVR = conversion rate
CPM = cost per mille
eCPM = effective CPM