Skip to content

About

No description, website, or topics provided.

Resources

Stars

8 stars

Watchers

0 watching

Forks

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

PlatformBid: An Auto-Bidding Benchmark from a Unified Advertising Platform's Perspective

Shengtian Yang, Yewen Li, Peng Jiang, Zhiyi Lyu, Bo An, Peng Jiang, Qingpeng Cai, Lei Feng

Abstract

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.


Project Structure

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

Prepare the Datasets

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!

1) AuctionNet Dataset

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

2) AuctionNet-sparse Dataset

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.

Data Structure

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

Training

Train BidFlow

python run/train_bidflow.py

Train Other Baselines

python 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 CBD

Evaluation

Evaluate on Different Settings

python 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

About

No description, website, or topics provided.

Resources

Stars

8 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages