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](RESEARCH_RESOURCES.md)** β€” Full literature survey: 32 papers across bidding algorithms, CTR prediction, and clearing price models
- **[AUDIT_TRAIL.md](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
```