Optimal Allocation of Real-Time-Bidding and Direct Campaigns

📝 Abstract
In this paper, we consider the problem of optimizing the revenue a web publisher gets through real-time bidding (i.e. from ads sold in real-time auctions) and direct (i.e. from ads sold through contracts agreed in advance). We consider a setting where the publisher is able to bid in the real-time bidding auction for each impression. If it wins the auction, it chooses a direct campaign to deliver and displays the corresponding ad. This paper presents an algorithm to build an optimal strategy for the publisher to deliver its direct campaigns while maximizing its real-time bidding revenue. The optimal strategy gives a formula to determine the publisher bid as well as a way to choose the direct campaign being delivered if the publisher bidder wins the auction, depending on the impression characteristics. The optimal strategy can be estimated on past auctions data. The algorithm scales with the number of campaigns and the size of the dataset. This is a very important feature, as in practice a publisher may have thousands of active direct campaigns at the same time and would like to estimate an optimal strategy on billions of auctions. The algorithm is a key component of a system which is being developed, and which will be deployed on thousands of web publishers worldwide, helping them to serve efficiently billions of ads a day to hundreds of millions of visitors.
💡 Analysis
In this paper, we consider the problem of optimizing the revenue a web publisher gets through real-time bidding (i.e. from ads sold in real-time auctions) and direct (i.e. from ads sold through contracts agreed in advance). We consider a setting where the publisher is able to bid in the real-time bidding auction for each impression. If it wins the auction, it chooses a direct campaign to deliver and displays the corresponding ad. This paper presents an algorithm to build an optimal strategy for the publisher to deliver its direct campaigns while maximizing its real-time bidding revenue. The optimal strategy gives a formula to determine the publisher bid as well as a way to choose the direct campaign being delivered if the publisher bidder wins the auction, depending on the impression characteristics. The optimal strategy can be estimated on past auctions data. The algorithm scales with the number of campaigns and the size of the dataset. This is a very important feature, as in practice a publisher may have thousands of active direct campaigns at the same time and would like to estimate an optimal strategy on billions of auctions. The algorithm is a key component of a system which is being developed, and which will be deployed on thousands of web publishers worldwide, helping them to serve efficiently billions of ads a day to hundreds of millions of visitors.
📄 Content
본 논문에서는 웹 퍼블리셔가 실시간 입찰(real‑time bidding, RTB) 경매를 통해 얻는 수익(즉, 실시간 경매에서 판매되는 광고로부터 발생하는 수익)과 사전 계약을 통해 판매되는 직접 광고(direct)로부터 얻는 수익을 동시에 최적화하는 문제를 다룹니다. 특히 퍼블리셔가 각 노출(impression)마다 실시간 입찰 경매에 참여할 수 있는 환경을 가정합니다. 퍼블리셔가 경매에서 낙찰되면, 해당 노출에 대해 제공할 직접 캠페인 중 하나를 선택하고, 그에 해당하는 광고를 화면에 표시합니다.
이 논문은 퍼블리셔가 직접 캠페인을 전달하면서도 실시간 입찰을 통한 수익을 최대화할 수 있는 최적 전략을 구축하기 위한 알고리즘을 제시합니다. 제시된 최적 전략은 두 가지 핵심 요소를 포함합니다. 첫째, 노출의 특성(예: 사용자 프로필, 페이지 컨텍스트, 시간대 등)에 따라 퍼블리셔가 제시해야 할 입찰가(bid)를 계산하는 공식이며, 둘째, 퍼블리셔가 경매에서 승리했을 경우 어떤 직접 캠페인을 선택하여 전달할지를 결정하는 규칙입니다. 이러한 규칙은 각 캠페인의 기대 수익, 계약 조건, 그리고 현재 노출의 특성을 종합적으로 고려하여 도출됩니다.
최적 전략은 과거에 수행된 경매 데이터에 기반하여 추정될 수 있습니다. 제안된 알고리즘은 캠페인 수와 데이터셋 규모에 대해 선형적으로 확장됩니다. 이는 실무에서 매우 중요한 특성인데, 실제 운영 환경에서는 하나의 퍼블리셔가 동시에 수천 개에 달하는 활성 직접 캠페인을 보유하고 있을 수 있으며, 수십억 건에 이르는 경매 데이터를 활용해 최적 전략을 추정해야 하기 때문입니다. 따라서 알고리즘은 대규모 데이터 처리와 실시간 의사결정 요구를 모두 만족하도록 설계되었습니다.
구체적으로 알고리즘은 다음과 같은 흐름을 따릅니다.
- 데이터 전처리: 과거 RTB 경매 로그와 직접 캠페인 계약 데이터를 통합하고, 각 노출에 대한 특징 벡터를 생성합니다.
- 수익 모델링: 각 노출에 대해 실시간 입찰을 통해 얻을 수 있는 기대 수익과, 각 직접 캠페인을 제공했을 때 발생할 계약 수익을 별도로 추정합니다. 이 단계에서는 회귀 모델이나 강화학습 기반 가치 함수가 활용될 수 있습니다.
- 입찰가 결정 공식 도출: 기대 실시간 수익과 직접 캠페인 수익을 비교하여, 노출당 최적 입찰가를 계산하는 폐쇄형 식(closed‑form expression)을 유도합니다. 이 식은 노출 특성, 경쟁 입찰가 분포, 그리고 캠페인별 가중치를 변수로 포함합니다.
- 캠페인 선택 정책: 입찰에 성공했을 경우, 해당 노출에 가장 높은 순수익을 제공하는 직접 캠페인을 선택하는 규칙을 정의합니다. 여기서는 라그랑주 승수법을 이용해 제약(예: 캠페인별 일일 노출 한도, 계약 상의 최소 노출량 등)을 만족시키면서 전체 수익을 극대화하도록 합니다.
- 모델 학습 및 업데이트: 실시간으로 들어오는 새로운 경매 데이터와 캠페인 성과를 반영하여 모델 파라미터를 주기적으로 재학습합니다. 이를 통해 시장 환경 변화(예: 경쟁사의 입찰 전략 변동)와 캠페인 성과 변동에 빠르게 적응할 수 있습니다.
알고리즘은 캠페인 수가 수천 개, 데이터 포인트가 수십억 개에 달하는 경우에도 메모리와 연산량을 효율적으로 관리하도록 설계되었습니다. 예를 들어, 캠페인별 파라미터를 희소 행렬(sparse matrix) 형태로 저장하고, 배치 학습 시에는 미니배치(mini‑batch) 샘플링과 분산 컴퓨팅 프레임워크(Spark, Flink 등)를 활용합니다. 또한, 실시간 입찰 단계에서는 사전 계산된 입찰가 테이블과 캠페인 선택 규칙을 캐시(cache)해 두어, 마이크로초 수준의 응답 시간을 보장합니다.
이 알고리즘은 현재 개발 중인 시스템의 핵심 구성 요소이며, 전 세계 수천 개의 웹 퍼블리셔에 배포될 예정입니다. 배포된 시스템은 하루에 수십억 건의 광고를 수억 명의 방문자에게 효율적으로 제공함으로써, 퍼블리셔가 실시간 입찰 수익을 극대화하고 동시에 계약된 직접 캠페인의 목표를 달성하도록 지원합니다. 궁극적으로는 퍼블리셔의 전체 매출을 향상시키고, 광고주에게는 보다 정교하고 효과적인 광고 전달을 가능하게 하는 것이 목표입니다.
요약하면, 본 논문은 (1) 실시간 입찰과 직접 광고 계약이라는 두 가지 수익원을 동시에 고려한 최적 입찰·캠페인 선택 전략을 수학적으로 정형화하고, (2) 대규모 데이터와 다수의 캠페인 환경에서도 실용적으로 적용 가능한 효율적인 알고리즘을 제시하며, (3) 이를 기반으로 한 시스템이 전 세계 수많은 퍼블리셔에게 배포되어 일일 수십억 건의 광고를 효율적으로 서빙하는 데 기여한다는 점을 강조합니다.