Shengtian Yang, Yewen Li, Peng Jiang, Zhiyi Lyu, Bo An, Peng Jiang, Qingpeng Cai, Lei Feng
Real-time bidding is central to computational advertising, comprising three elements: Supply Side Platform (SSP) selling ad impressions, Demand Side Platform (DSP) bidding for advertisers, and Ad Exchange conducting auctions between them. Traditional auto-bidding algorithms focus solely on the DSP side, maximizing advertiser conversions by adjusting bids against competitors. However, current big ad platforms, such as social media and e-commerce companies, now integrate SSP, DSP, and Ad Exchange functions internally. From such ad platforms' perspective, the goal of the auto-bidding algorithms is not only to maximize the advertisers' conversions, but also the total revenue of the platform. Given the lack of platform-centric evaluation frameworks and the pressing need to advance auto-bidding research, we propose PlatformBid - the first comprehensive benchmark designed from a unified ad platform's perspective. To accurately reflect the real-world auto-bidding scenarios, we define three representative settings: (1) homogeneous competition with identical algorithms across advertisers, (2) heterogeneous competition with diverse algorithmic strategies, and (3) promotional competition where some advertisers surge budgets for boosting sales during promotional events like Black Friday. We systematically evaluate a broad spectrum of existing auto-bidding methods across these settings, encompassing classical control methods, RL-based methods, and recent generative methods. Besides these methods, we further propose a novel auto-bidding method based on flow-matching, termed BidFlow, which leverages the flow-matching method's expressive policy representation to effectively handle dynamic competitive environments. Experimental results demonstrate the effectiveness of our proposed BidFlow on the new settings. Furthermore, online experiment results of BidFlow, especially a significant +2.57% increase of target cost, could also support the offline-online consistency of our PlatformBid.
PlatformBid/
├── bidding_train_env/ # Core training environment
│ ├── baseline/ # Baseline algorithms (DT, BCQ, CQL, IQL, etc.)
│ ├── strategy/ # Bidding strategies
│ ├── dataloader/ # Data loading utilities
│ └── environment/ # Offline evaluation environment
├── data/ # Dataset directory
│ ├── trajectory/ # Training trajectory data
│ └── traffic/ # Traffic data
├── run/ # Training and evaluation scripts
│ ├── train_*.py # Training scripts
│ └── eval_*.py # Evaluation scripts
└── requirements.txt # Dependencies
The datasets could be downloaded from the NeurIPS 2024 Competition Auto-Bidding in Large-Scale Auctions. We express our utmost respect for their tremendous contributions to the auto-bidding and computational advertising community!
https://alimama-bidding-competition.oss-cn-beijing.aliyuncs.com/share/autoBidding_aigb_track_data_period_7-8.zip
https://alimama-bidding-competition.oss-cn-beijing.aliyuncs.com/share/autoBidding_aigb_track_data_period_9-10.zip
https://alimama-bidding-competition.oss-cn-beijing.aliyuncs.com/share/autoBidding_aigb_track_data_period_11-12.zip
https://alimama-bidding-competition.oss-cn-beijing.aliyuncs.com/share/autoBidding_aigb_track_data_period_13.zip
https://alimama-bidding-competition.oss-cn-beijing.aliyuncs.com/share/autoBidding_aigb_track_data_trajectory_data.zip
https://alimama-bidding-competition.oss-cn-beijing.aliyuncs.com/share/autoBidding_aigb_track_data_trajectory_data_extended_1.zip
https://alimama-bidding-competition.oss-cn-beijing.aliyuncs.com/share/autoBidding_aigb_track_data_trajectory_data_extended_2.zip
https://alimama-bidding-competition.oss-cn-beijing.aliyuncs.com/share/final/autoBidding_aigb_track_final_data_period_7-8.zip
https://alimama-bidding-competition.oss-cn-beijing.aliyuncs.com/share/final/autoBidding_aigb_track_final_data_period_9-10.zip
https://alimama-bidding-competition.oss-cn-beijing.aliyuncs.com/share/final/autoBidding_aigb_track_final_data_period_11-12.zip
https://alimama-bidding-competition.oss-cn-beijing.aliyuncs.com/share/final/autoBidding_aigb_track_final_data_period_13.zip
https://alimama-bidding-competition.oss-cn-beijing.aliyuncs.com/share/final/autoBidding_aigb_track_final_data_trajectory_data_1.zip
https://alimama-bidding-competition.oss-cn-beijing.aliyuncs.com/share/final/autoBidding_aigb_track_final_data_trajectory_data_2.zip
https://alimama-bidding-competition.oss-cn-beijing.aliyuncs.com/share/final/autoBidding_aigb_track_final_data_trajectory_data_3.zip
After download, you should concat them to a full dataset local file.
Place the downloaded files in the following structure:
data/
├── trajectory/
│ ├── trajectory_data.csv
│ ├── trajectory_data_extended_1.csv
│ └── trajectory_data_extended_2.csv
└── traffic/
├── traffic_data_period_7-8.csv
├── traffic_data_period_9-10.csv
├── traffic_data_period_11-12.csv
└── traffic_data_period_13.csv
Methods We support various baseline methods across different categories:
| Category | Strategy |
|---|---|
| Reinforcement Learning | IQL |
| BCQ | |
| Classical control | PID |
| Generative Model | Decision-Transformer |
| GAS | |
| GAVE | |
| CBD |
python run/train_bidflow.pypython run/train_bcq.py # Train BCQ
python run/train_cql.py # Train CQL
python run/train_iql.py # Train IQL
python run/train_CBD.py # Train CBDpython run/eval_setting_1_bidflow.py # Setting 1
python run/eval_setting_2_bidflow.py # Setting 2
python run/eval_setting_3_bidflow.py # Setting 3