SYSTEM Cited by 1 source
Yelp Ad Budget Allocation¶
Definition¶
Ad Budget Allocation is Yelp's production system that splits each advertising campaign's monthly budget between on-platform inventory (Yelp website, mobile site, app) and off-platform inventory (the Yelp Ad Network). Disclosed in the 2026-02-02 Yelp Engineering back-testing post as the target system of the Back-Testing Engine.
Daily decision cycle¶
Per campaign, per day:
- Beginning of day — compute daily budget from the monthly budget + spend history; decide the on/off-platform split based on campaign goals.
- Throughout the day — the campaign generates outcomes (impressions, clicks, leads). Yelp "can't directly control the number of these outcomes" — they are monitored as budget is spent.
- End of day — results are collected and used to bill the campaign.
Each day's decisions depend on previous days' outcomes — a cascading feedback loop where small changes ripple across the billing period. This day-by-day coupling is why the Back-Testing Engine replays at daily granularity rather than aggregating.
Scale¶
- Hundreds of thousands of campaigns per month (verbatim: "hundreds of thousands of campaigns each month").
- Monthly budget cycle — advertisers typically set monthly budgets, which is the constraint that makes A/B tests at the advertiser level slow (must wait a month per experiment).
Why it's hard to experiment on¶
The post names three properties of the system that make live A/B testing expensive:
- Advertiser-level A/B yields small sample sizes for detecting some effects (can't randomise at user grain).
- Monthly budget cadence forces ≥1-month wait per experiment.
- Mistakes affect real advertisers — budget-allocation bugs spend real money.
These three properties motivated the Back-Testing Engine.
Architectural coupling¶
- Upstream: campaign metadata + goals (the feature input to ML models and to budgeting logic).
- Downstream: billing system, off-platform partner ad networks.
- Repos involved: at least a Budgeting repo and a Billing repo (both included in the Back-Testing Engine as Git Submodules).
Seen in¶
- sources/2026-02-02-yelp-back-testing-engine-ad-budget-allocation — the Back-Testing Engine's target system.