Bid shading в DSP — это не магия: где именно режется цена и что ломает аукцион
Внутри DSP shading обычно живёт между расчетом target CPM и отправкой bid response. На входе: floor, historical win-rate, slot-level конкуренция, latency, user/device сигналы. На выходе — bid, который ниже “сырого” оценочного value, но ещё проходит клиринг и остаётся конкурентным.
Технически shading часто строят как lookup-модель или регрессор: для каждого сегмента считается вероятность выигрыша при разных уровнях цены, затем выбирается bid с максимальной ожидаемой полезностью. Ошибка начинается, когда модель обучают на неполном сэмпле: в логах есть только выигравшие аукционы, а проигрыши и реальные floors не восстановлены. Тогда DSP системно недобивает в дешёвых инвентарных кластерах и переоценивает редкие.
Ещё один источник искажений — mixed auction pressure. Если в supply-path смешаны разные SSP, одинаковый bid получает разный win rate из-за fees, deal priority и timeout-окон. Без нормализации по source / exchange / deal_id shading учится “на шуме” и начинает резать цену там, где нужно поднимать порог.
Проверка простая: сравнивайте distribution raw bid vs shaded bid, win-rate по кластерам и медианный clearing price после изменения модели. Если shaded bid падает, а win-rate не меняется — модель режет лишнее. Если падает fill, значит вы сдвинули цену ниже локального clearing floor. Shading должен оптимизировать expected value, а не просто снижать CPM.
Programmatic Deep — RTB и header bidding
@programmatic_deep
Bid shading в DSP — это не магия: где именно режется цена и что ломает аукцион
Этот пост опубликован в Telegram-канале Programmatic Deep — RTB и header bidding. Подписаться можно по ссылке: @programmatic_deep.