Warning: mkdir(): No space left on device in /var/www/hottg/post.php on line 59

Warning: file_put_contents(aCache/aDaily/2025-07-22/post/dsinsights/--): Failed to open stream: No such file or directory in /var/www/hottg/post.php on line 72
Floor Price Optimization in RTB Auctions @ML Advertising
TG Telegram Group & Channel
ML Advertising | United States America (US)
Create: Update:

Floor Price Optimization in RTB Auctions

Хочу сделать разбор статьи по оптимизации floor прайса в RTB аукционах в Yahoo Ad Exchange.

1️⃣ Какая мотивация?
Floor price (или еще Reserved price) - минимальная цена, ниже которой ставки не принимаются. Это также минимальная цена, которую выплачивает биддер в случае победы. Выставляется паблишером и характеризует в какой-то степени ценность продаваемого инвентаря.

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

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

2️⃣ Что по статье?
Задача оптимизации ставится следующим образом:

Целевая функция 


eRev(floor | X) = rev(floor | X) + ADXRev * proba (bids < floor | X)


- т.е. берется выручка как функция от флора при условии фичей (девайс, user-agent, dsp)
- если на бид реквест все биды ниже флора, то Yahoo отправляют реквесты на Google Ad Exchange и через него продают инвентарь

постановка задачи: найти такой флор, чтобы максимзировать суммарную выручку floor * = argmax eRev(floor | X)
- rev(floor | X) представляется в виде интеграла
- rev(floor | X) = sum(k_i * sum(bid_i * mult(F(bid_i | floor, X))). Здесь суммарную выручку считают как интеграл от бида ДСП  умноженного на функциую распределения бида ДСП при условии флора. k_i = {0, 1} и нужен для того, если ДСП бидить или не бидит. Аналогичный интеграл приводится и для Google ADX

далее оценивают распределение F(bid_i | floor, X)  из исторических данных как распределение Weibull’а с параметрами scale, shape .
- чтобы нащупать кривую F рандомизируют флоры и логируют значения бидов. При этом отсекают 95% квантиль, чтобы убрать выбросы. Данные берут за 7 дней
- далее оценивают параметры  scale, shape для F. Здесь просто фитят это распределение на гистограмму, полученную с прошлого шага
- далее решают задачу максимизации rev(floor | X) , после того как узнали параметры распределения F. При этом считают флор отдельно для связки (placement, site, publisher, DSP)
- после этого пушат флор в SSP

Floor Price Optimization in RTB Auctions

Хочу сделать разбор статьи по оптимизации floor прайса в RTB аукционах в Yahoo Ad Exchange.

1️⃣ Какая мотивация?
Floor price (или еще Reserved price) - минимальная цена, ниже которой ставки не принимаются. Это также минимальная цена, которую выплачивает биддер в случае победы. Выставляется паблишером и характеризует в какой-то степени ценность продаваемого инвентаря.

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

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

2️⃣ Что по статье?
Задача оптимизации ставится следующим образом:

Целевая функция 

eRev(floor | X) = rev(floor | X) + ADXRev * proba (bids < floor | X)


- т.е. берется выручка как функция от флора при условии фичей (девайс, user-agent, dsp)
- если на бид реквест все биды ниже флора, то Yahoo отправляют реквесты на Google Ad Exchange и через него продают инвентарь

постановка задачи: найти такой флор, чтобы максимзировать суммарную выручку floor * = argmax eRev(floor | X)
- rev(floor | X) представляется в виде интеграла
- rev(floor | X) = sum(k_i * sum(bid_i * mult(F(bid_i | floor, X))). Здесь суммарную выручку считают как интеграл от бида ДСП  умноженного на функциую распределения бида ДСП при условии флора. k_i = {0, 1} и нужен для того, если ДСП бидить или не бидит. Аналогичный интеграл приводится и для Google ADX

далее оценивают распределение F(bid_i | floor, X)  из исторических данных как распределение Weibull’а с параметрами scale, shape .
- чтобы нащупать кривую F рандомизируют флоры и логируют значения бидов. При этом отсекают 95% квантиль, чтобы убрать выбросы. Данные берут за 7 дней
- далее оценивают параметры  scale, shape для F. Здесь просто фитят это распределение на гистограмму, полученную с прошлого шага
- далее решают задачу максимизации rev(floor | X) , после того как узнали параметры распределения F. При этом считают флор отдельно для связки (placement, site, publisher, DSP)
- после этого пушат флор в SSP
🔥32👍2


>>Click here to continue<<

ML Advertising






Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)


Warning: Undefined array key 3 in /var/www/hottg/function.php on line 115

Fatal error: Uncaught mysqli_sql_exception: Too many connections in /var/www/db.php:16 Stack trace: #0 /var/www/db.php(16): mysqli_connect() #1 /var/www/hottg/function.php(212): db() #2 /var/www/hottg/function.php(115): select() #3 /var/www/hottg/post.php(351): daCache() #4 /var/www/hottg/route.php(63): include_once('...') #5 {main} thrown in /var/www/db.php on line 16