"троттлинг" помогает оптимизировать работу DSP, а еще бывает полезным и во многих других сферах.
Небольшая преамбула: технологии в prоgrammatic – это высокие нагрузки на инфраструктуру. Фраза Real Time в аббревиатуре RTB подразумевает что скорость ответа на bid не должна превышать 0,05 с. При этом только в России в среднем в секунду разыгрывается 15 000 показов. Это значит, что каждую секунду DSP должно 15 000 раз принять решение о покупке показа и сделать это менее чем за 0,05 секунд. А это включает проверку соответствия таргетингов заданным рекламным кампаниям, контроль бюджета, предсказание «нужности» показа для рекламодателя и еще много чего. Чем больше логики и чем она сложнее, тем больше машинного времени нужно на каждое событие. Чем больше машинного времени требуется в сумме, тем дороже и сложнее инфраструктура, которая все это счастье обслуживает. Важный критерий в работе DSP – стоимость обслуживания 1 000 000 запросов. Чем ниже эта цена (при сопоставимых возможностях DSP), тем выгоднее это рекламодателю.
Так какова же роль троттлинга в DSP системах?
По сути это механизм предварительной фильтрации входящих запросов с целью снижения стоимости обслуживания 1 000 000 запросов. Задача троттлинга – с минимальным машинным временем (нагрузкой на инфраструктуру) откинуть запросы которые скорее всего не будут выкуплены и отдать в сложную бизнес-логику (где проверяются таргетинги и остальная логика) те запросы, которые потенциально интересны рекламодателям. Чем совершеннее система троттлинга, тем дешевле обслуживание 1 000 000 запросов и тем качественнее закупка (троттлинг не выкидывает нужные запросы).
Принципов работы троттлинга может быть очень много:
🔹троттлинг-монетка. Примитивный случай, когда система случайным образом «пускает» во внутреннюю логику нужное количество запросов, например, каждый 10-й (количество регулируется вручную);
🔹баджет-троттлитнг. Более продвинутый случай, когда система так же случайным образом выбирает нужное количество запросов, но их объем зависит от бюджета рекламной кампании и его исполнямости (чем больше отставания от планового бюджета в момент времени, тем больше пропускается трафика в бизнес-логику. Делитель постоянно пересчитывается);
🔹предикт-троттлинг. Еще более продвинутый случай, когда помимо контроля исполняемости бюджета, как в примере выше, троттлинг пропускет показы не случайно, а по какой-то предиктивной модели скоринга. Например, все показы с минимальным машинным временем скорятся на вероятность совершения нужного действия – клика и т.д. В данном случае помимо того, что контролируется нужный объем инвентаря для исполнения бюджета, пропускается трафик более полезный (например, более кликабельный), чем со случайным делителем.
Прекрасный пример троттлинга не из рекламной сферы – работа коллайдера CERN. В процессе столкновения частиц в секунду генерируется 40 терабайт данных. Хранить и обрабатывать данные в таком объеме практически невозможно. Для этого в детекторах есть два уровня троттлинга, снижающих количество данных с 40 тб/сек до 1гб/сек, то есть тротлинг пускает дальше на обработку 1/40 000 всех событий. При этом качество работы троттлинга такое, что даже столь сильная фильтрация не помешала сделать выдающиеся открытия!