group-telegram.com/dsinsights/224
Last 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
BY ML Advertising

Share with your friend now:
group-telegram.com/dsinsights/224