Robust Ad Allocation Nitish Korula NYC Market Algorithms and Optimization Research Group
Confidential & Proprietary
Confidential & Proprietary
Display Advertising Ecosystem Advertisers & Agencies
Publishers Reservation Contracts (offline negotiation)
DFP
Ad Exchange Real-time Auction
Reservations + Exchange
Fast, and at Scale
Tens of Billions of impressions / day
Confidential & Proprietary
NYC Market Algorithms: Display Ads Research ● ● ● ● ● ● ● ●
Ad selection algorithms: Online (stochastic) allocation Multi-objective optimization: Clicks, Conversions, etc. Contract design and deal recommendation Yield optimization (Tradeoff between Reservations and Exchange) Revenue maximization for the Ad Exchange Auction Design: Dynamic mechanisms, clinching auctions, double auctions Predicting auction bids Selective / Efficient callouts (which buyers to invite)
Confidential & Proprietary
Robust Ad Allocation Why (not) to rely on data
Confidential & Proprietary
Confidential & Proprietary
Budgeted Allocation Advertisers have budgets, and different values for items Items appear online; when item i appears, see how much of advertiser a’s budget it takes Goal: Maximize revenue of allocation
Theorem [MSVV 05]: In worst-case, (1-1/e)-competitive. Best possible! Confidential & Proprietary
Algorithmic Impact
Confidential & Proprietary
Using Data for Improved Results
Confidential & Proprietary
Stochastic Model: Learn Optimal Parameters from Forecast / Distribution Theorem [Devanur Hayes 09]: (1- )-competitive algorithm.
Assumptions are invalid! Data is an imperfect guide.
Confidential & Proprietary
Frequent Discrepancies (Synthetic Data)
Confidential & Proprietary
Reality is Far from Predictions Breaking news
One-off events
Exciting sporting events
Confidential & Proprietary
When predictions are bad... Algorithms based on data do poorly when the prediction is bad. Garbage in, Garbage out!
Algorithms designed for worst-case do well!
Confidential & Proprietary
How do we cope? Online learning / Increase frequency of learning Reserve fraction of input for monitoring / detecting change / exploring
Expensive: ● ●
Computationally Opportunity cost
Confidential & Proprietary
Use Forecasts, but Don’t Trust Them Hybrid algorithm: Learn Duals, blend them with adversarial duals
Theorem: ???
Confidential & Proprietary
Goal: A Theory of Partially Accurate Forecasts
Confidential & Proprietary
Worst-Case or Stochastic Algorithm that has good performance in the ‘expected’ case, and good performance in the worst case?
[Mahdian Nazerzadeh Saberi 07]: Allocate items either according to optimal oracle, or according to worst-case algorithm.
Gives (e.g.): 0.75 OPT if accurate forecast, 0.43 OPT if worst-case
Confidential & Proprietary
Worst-Case or Stochastic [Mirrokni Oveis Gharan Zadimoghaddam 12]: For cardinality objective, get (1- ) if input arrives in random order, (1-1/e) in worst-case. Not possible for weighted allocation problems. For Budgeted Allocation, show that [MSVV] algorithm gives: 0.76 OPT in random order, (1-1/e) in worst-case.
[Bubeck Slivkins 12]: SAO Bandit algorithm with near-optimal regret for both stochastic and adversarial rewards.
Confidential & Proprietary
Neither Worst-Case nor Stochastic Reality is not bimodal!
Every day, forecasts are a ‘little’ inaccurate. Small, but non-random (adversarial?) deviations from forecast.
Design algorithms with performance that degrades gracefully with forecast accuracy? Confidential & Proprietary
Modeling Adversarial Deviations from Forecast Adversary chooses items in Forecast F. Then: 1. 2.
Forecast F is revealed to algorithm for pre-processing Adversary can a. b.
3.
Change value of each item for each advertiser independently by up to fraction Add items of total value = OPT(F)
Adversary can permute all items and send to algorithm
Tractable for 2 agents, seems difficult for 3 or more. [Goel, Goyal, K, Stein]
Confidential & Proprietary
Modeling Traffic Spikes Algorithm knows forecast: f items from distribution D (with finite support) 1.
At each time step, adversary can either: a. b.
2.
Create an arbitrary item Draw an item from D
After f items have been drawn from D, adversary can terminate input.
Measure forecast accuracy by parameter : How much noise did adversary add? = OPT(Forecast) / OPT(Forecast ⋃ Adversarial Items) [Esfandiari, K, Mirrokni 15] Confidential & Proprietary
Allocating with Traffic Spikes Allocate items according to forecast, ‘reserving’ budget for forecast items. When algorithm detects adversarial items, use worst-case algorithm to assign, using remaining budgets.
Confidential & Proprietary
High-Level
●
Good algorithms for online allocation in adversarial settings
●
Good algorithms in stochastic settings
●
Hybrid settings? Need better models for partially accurate forecasts!
Confidential & Proprietary