hamverbot's picture
Upload README.md
c900336 verified
|
raw
history blame
2.58 kB

Bidding Algorithms Benchmark

Complete comparison framework for real-time bidding (RTB) algorithms in online advertising. Optimizing for clicks under budget constraints using Lagrangian dual methods.

Research Resources

  • RESEARCH_RESOURCES.md β€” Full literature survey: 32 papers across bidding algorithms, CTR prediction, and clearing price models
  • AUDIT_TRAIL.md β€” Every paper, dataset, codebase, and external resource consulted (44 items)

Problem Setup

  • Objective: Maximize number of clicks
  • Constraints: Total spend ≀ Budget, with k% minimum spend guarantee
  • Auction Types: First-price and second-price
  • Core Approach: Lagrangian dual multiplier with online error gradient descent

Algorithms

Algorithm Type Auction Paper
DualOGD Adaptive First-price Wang et al. 2023 [2304.13477]
DualMirrorDescent Adaptive Second-price Balseiro et al. 2020 [2011.10124]
DualRoS Adaptive Second-price Feng et al. 2022 [2208.13713]
TwoSidedDual Adaptive First-price Extension (cap + floor)
RLB RL+MDP Both Cai et al. 2017 [1701.02490]
Linear Static Both Baseline
ORTB Static Second-price Zhang et al. 2014 (KDD)

Models

Model Task Architecture Dataset
FinalMLP CTR Prediction Two-stream MLP + Feature Gating Criteo_x4
DeepFM CTR Prediction FM + DNN (baseline) Criteo_x4
TorchSurv Clearing Price Deep Survival (Cox PH) Simulated
EmpiricalCDF Win Probability Non-parametric Online

Structure

bidding_algorithms_benchmark/
β”œβ”€β”€ README.md
β”œβ”€β”€ RESEARCH_RESOURCES.md
β”œβ”€β”€ AUDIT_TRAIL.md
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ ctr/
β”‚   β”‚   β”œβ”€β”€ train_finalmlp.py
β”‚   β”‚   └── train_deepfm.py
β”‚   β”œβ”€β”€ price/
β”‚   β”‚   β”œβ”€β”€ empirical_cdf.py
β”‚   β”‚   └── torchsurv_model.py
β”‚   β”œβ”€β”€ algorithms/
β”‚   β”‚   β”œβ”€β”€ dual_ogd.py
β”‚   β”‚   β”œβ”€β”€ dual_mirror_descent.py
β”‚   β”‚   β”œβ”€β”€ dual_ros.py
β”‚   β”‚   β”œβ”€β”€ two_sided_dual.py
β”‚   β”‚   β”œβ”€β”€ rlb.py
β”‚   β”‚   └── baselines.py
β”‚   └── benchmark/
β”‚       β”œβ”€β”€ auction_simulator.py
β”‚       β”œβ”€β”€ run_comparison.py
β”‚       └── sweep.py
β”œβ”€β”€ configs/
β”‚   β”œβ”€β”€ finalmlp_criteo.yaml
β”‚   └── sweep_config.yaml
β”œβ”€β”€ results/
└── requirements.txt