Привет, Хабр! Меня зовут Дмитрий Фролов, я ведущий разработчик в Центре компетенций Data Science МТС Web Services. За каждым показом онлайн-рекламы стоит очень Привет, Хабр! Меня зовут Дмитрий Фролов, я ведущий разработчик в Центре компетенций Data Science МТС Web Services. За каждым показом онлайн-рекламы стоит очень

Открытый репозиторий для изучения онлайн-рекламы: датасет, подборка материалов, симулятор и примеры RL-агентов

ebb54bc4a1e715c60c879fb500eb9d6c.png

Привет, Хабр! Меня зовут Дмитрий Фролов, я ведущий разработчик в Центре компетенций Data Science МТС Web Services. За каждым показом онлайн-рекламы стоит очень сложный механизм. Одно из его ключевых понятий — Real-Time Bidding (RTB). Это аукцион онлайн-рекламы, где решается, какое объявление будет показано пользователю на определенном веб-сайте или в приложении. Особенность RTB — необходимость максимально быстро принять решение, для чего системы обучаются с помощью технологии reinforcement learning (RL).

Это достаточно сложная задача: доступных материалов по ней не так много и непонятно, с какой стороны подступиться. Вместе с коллегами мы собрали репозиторий, который может помочь разработчикам погрузиться в специфику онлайн-аукционов. Он содержит датасет с данными RTB, подборку теоретических материалов, симулятор аукционов и примеры работающих RL-алгоритомов. Все подробности и ссылки — под катом.

Содержание
  • В чем сложность Real-Time Bidding

  • Почему оптимизация ставок — это сложнее, чем может показаться?

  • Почему знание домена оказывается важнее алгоритмов

  • Репозиторий для изучения рекламного домена

    • Структурированная подборка релевантных материалов

    • Практические инструменты

    • Примеры реализации алгоритмов на реальных данных

  • Варианты работы

В чем сложность Real-Time Bidding

Ежедневно в мире проводится более 500 млрд RTB-аукционов, где рекламодатели соревнуются за показ объявлений. В RTB участвуют три типа платформ:

  1. Supply-Side Platforms (SSPs) — представляют интересы издателей (сайтов/приложений).

  2. Ad Exchanges — проводят аукционы.

  3. Demand-Side Platforms (DSPs) — оптимизируют ставки для рекламодателей, анализируя bidstream (любые данные, связанные с запросом ставки издателя).

Ошибка в ставке всего на 1% может привести к потере тысяч клиентов или сливу бюджета. Оптимальные решения нужно рассчитать за 80–120 мс в условиях неопределенности, когда правила аукциона, поведение конкурентов и интересы пользователей меняются в реальном времени.

DSP-платформа, выступая агентом рекламодателя, за указанные выше 80–120 мс решает две задачи:

  • Прогноз ценности:

    • Оценка вероятности клика (CTR), конверсии или другого KPI (например, скачивания приложения).

    • Учет контекста: время суток, геолокация, история взаимодействий

  • Оптимизация ставки:

    • Расчет цены покупки (bid price), максимизирующего ROI (Return on Investment) в рамках интервального или полного бюджета рекламной кампании.

    • Управление равномерным распределением бюджета во времени (pacing).

Почему оптимизация ставок — это сложнее, чем может показаться?

  • Скорость и масштабирование: очень мало времени на решение при большой нагрузке — может идти тысячи запросов в секунду. Надо иметь в виду, что помимо алгоритма оптимизации ставок есть еще и иные скоринговые модели, а также каскад фильтров.

  • Динамическая конкуренция: поведение других DSP (например, стратегии bid shading — искусственное занижение ставок) меняет «правила игры».

  • Нестационарность данных: паттерны поведения пользователей и рыночные тренды эволюционируют со временем.

Эти сложности накладывают ограничения на традиционные методы:

  • Статические правила (например, фиксированный % от CTR) не адаптируются к изменениям.

  • Модели на основе MAB (Multi-Armed Bandit) плохо масштабируются при многомерном контексте.

  • Оптимизация «в лоб» (gradient descent по историческим данным и так далее) игнорирует долгосрочные эффекты.

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

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

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

Просто «взять RL-алгоритм из коробки» — недостаточно и даже рискованно. Эффективность RL в RTB зависит от глубокого понимания специфики аукционов, а незнание тонкостей может привести к финансовым потерям.

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

  1. Распределение бюджета в течение суток (прайм-таймы по часовым поясам и так далее).

  2. Разные типы аукционов (в случае аукциона второй цены ставка победителя связана с распределением ставок, а не только с собственной ожидаемой ценностью показа).

  3. Шум в данных или фейковые запросы.

  4. Проектирование reward function (компромиссы с дешевым выкупом кликов и плохим качеством трафика, переплата при фокусе на конверсиях и недокрут по объемам).

  5. Необходимость понимать логику принятия решений, касающихся ставок. Из-за этого нужны методы эвристики или интерпретации результат.

  6. Динамику конкуренции. Когда все вокруг пытаются урвать свою выгоду за счет конкурентов.

Репозиторий для изучения рекламного домена

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

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

Структурированная подборка релевантных материалов

7dbe343c377176c1001544511aa09127.png

В репозитории собрана теория по RL: классические учебники (Sutton & Barto), продвинутые курсы (Berkeley CS285), специализированные материалы по Multi-Armed Bandits (MAB) для аукционов.

А также специфичные для RTB работы по прогнозированию ландшафта ставок, оптимизации бюджета, стратегиям биддинга и анализу аукционных механизмов:

  • Методы bid landscape forecasting (Functional Bid Landscape, Deep Landscape Forecasting).

  • Анализ MAB-систем с ограничениями (Multi-Armed Bandit with Budget Constraint).

  • Анализ аукционов второй цены (Regret Minimization for Reserve Prices).

Практические инструменты

В репозитории можно найти симулятор аукциона на базе Gymnasium, имитирующий динамику RTB-среды с конкурирующими участниками. Он поддерживает различные типы аукционов (первая/вторая цена / VCG), включает параметры для настройки шума данных и бюджетных ограничений.

У него достаточно простой код, и его можно кастомизировать под свои нужды, например, добавив комиссии за операции или переделав логику конкуренции.

Примеры реализации алгоритмов на реальных данных

В репозитории можно найти агенты на основе DQN, SAC, TD3 с адаптацией под RTB-ограничения. Также есть примеры агентов с простой логикой, которые можно использовать для тестов адаптивности своей стратегии. Например, сделать пару агентов, делающих ставки по верхней границе и посмотреть, как сработает ставка на оптимальность и как будет повышаться ставка со временем.

В качестве реальных данных мы предлагаем запускать симулятор на обработанном сэмпле из датасета iPinYou для одной из рекламных кампаний.

Варианты работы

Обучающий репозиторий можно использовать для экспериментов: тестировать reward function, заводить цели в state агента и различные эвристики для мониторинга (ведь трафик-менеджер должен понимать, что все будет нормально и без его ведома), модифицировать окружение и логику принятия решений.

Ниже — пример сэмпла датасета, на котором можно проверить работоспособность алгоритмов. Этот типизированный openRTB-request из датасета iPinYou:

{'click': 0, 'weekday': 4, 'hour': 0, 'bidid': '83d080b8bbb0be814ed561c407a1cc13', 'timestamp': 20130613000101634, 'logtype': 1, 'ipinyouid': 'VhTdLndvPoTLQYE', 'useragent': 'windows_theworld', 'IP': '124.225.144.*', 'region': 3, 'city': 8, 'adexchange': 2, 'domain': 'DFpETuMEMNF_jdph5SqfNX', 'url': '2e344da2047053a776bf9ff062d480c3', 'urlid': nan, 'slotid': '192717203', 'slotwidth': 336, 'slotheight': 280, 'slotvisibility': 2, 'slotformat': 0, 'slotprice': 5, 'creative': '77819d3e0b3467fe5c7b16d68ad923a1', 'bidprice': 300, 'payprice': 89, 'keypage': 'bebefa5efe83beee17a3d245e7c5085b', 'advertiser': 1458, 'usertag': '13866,10075,10024,10076,10063,10120,10129,10115,10146,10111', 'nclick': 0, 'nconversation': 0, 'pCTR': 0.386340036790104},

Часть алгоритмов (базовые UCB / TS / неприменимые к нестационарным средам приведены в качестве заглушек для создания конкуренции агентам).


Если вы работаете или изучаете RL, то найдете в нашем репозитории теоретические материалы и готовые инструменты для погружения в предметную область. С его помощью можно предотвратить дорогостоящие ошибки: экспериментировать и тестировать стратегии в контролируемой симуляции, избегая финансовых потерь на реальных аукционах из-за неучтенных нюансов.

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

На этом у меня все. Возникли вопросы по работе репозитория — задавайте их в комментариях.

Источник

Возможности рынка
Логотип RealLink
RealLink Курс (REAL)
$0.08069
$0.08069$0.08069
+0.49%
USD
График цены RealLink (REAL) в реальном времени
Отказ от ответственности: Статьи, размещенные на этом веб-сайте, взяты из общедоступных источников и предоставляются исключительно в информационных целях. Они не обязательно отражают точку зрения MEXC. Все права принадлежат первоисточникам. Если вы считаете, что какой-либо контент нарушает права третьих лиц, пожалуйста, обратитесь по адресу service@support.mexc.com для его удаления. MEXC не дает никаких гарантий в отношении точности, полноты или своевременности контента и не несет ответственности за любые действия, предпринятые на основе предоставленной информации. Контент не является финансовой, юридической или иной профессиональной консультацией и не должен рассматриваться как рекомендация или одобрение со стороны MEXC.

Вам также может быть интересно