# 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 ```