Bid Optimization
“What should we bid for this impression?”
Book a demo and get a free trial of the full platform: research agent, fine-tune capabilities, and forward-deployed engineer support.
By submitting, you accept the Terms and Privacy Policy.

Loved by data scientists, ML engineers & CXOs at

A real-world example
What should we bid for this impression?
DSPs bid on billions of impressions daily using models that treat each auction independently. They miss cross-auction patterns: how competitive pressure shifts by time of day, which publisher-advertiser combinations yield outsized returns, and when budget pacing should accelerate or brake. A DSP managing $500M in annual spend that improves bid efficiency by 8% saves $40M in wasted impressions.
Quick answer
Graph neural networks optimize programmatic bids by learning cross-auction patterns that flat models miss: how competitive pressure shifts by time of day, which publisher-advertiser combinations yield outsized returns, and when budget pacing should accelerate or brake. A DSP managing $500M in spend that improves bid efficiency by 8% saves $40M in wasted impressions.
Approaches compared
4 ways to solve this problem
1. Rule-based bidding (fixed CPM / CPA targets)
Set target CPM or CPA thresholds per campaign and bid at or below those thresholds. The simplest approach and still common for managed campaigns.
Best for
Campaigns with stable performance and predictable inventory. Easy to implement and audit.
Watch out for
Cannot adapt to real-time market conditions. Overbids on low-value inventory and underbids on high-value opportunities. Leaves money on the table in every auction.
2. Contextual bid multipliers
Apply multipliers to base bids based on audience segment, device, time of day, and publisher. A step up from flat rules.
Best for
Quick improvement over flat bidding. Works when you have clear historical performance differences across segments.
Watch out for
Multipliers interact in ways that are hard to predict. A 1.3x segment multiplier times a 1.2x publisher multiplier times a 0.8x time-of-day multiplier produces bids that drift from optimal. No learning across auctions.
3. Reinforcement learning bid agents
Train an RL agent to learn bidding policies that maximize long-term value subject to budget constraints. Used by some large DSPs.
Best for
Handles budget pacing and long-horizon optimization better than greedy per-auction models.
Watch out for
Sample inefficient and hard to train. Requires massive auction volumes to converge. Does not naturally incorporate cross-entity signals from the publisher and campaign graph.
4. KumoRFM (relational graph ML)
Connect auctions, bids, impressions, conversions, and budgets into a temporal graph. The GNN learns bid-to-outcome relationships across the full auction ecosystem.
Best for
Captures cross-auction dynamics: competitive density shifts, publisher quality trends, and budget pacing constraints that per-auction models miss. Highest bid efficiency at scale.
Watch out for
Requires structured auction and outcome data with clear entity relationships. Adds most value when you have rich publisher, campaign, and conversion data to connect.
Key metric: DSPs using graph-based bid optimization achieve 6-10% bid efficiency improvement, translating to $40M+ savings on $500M annual spend.
Why relational data changes the answer
Every auction exists in a context that per-auction models ignore. The optimal bid for an impression on TechNews at 8am depends on how many other advertisers are competing for that publisher's morning inventory, what your campaign's budget pacing looks like relative to daily targets, whether this publisher's conversion rate is trending up or down this week, and how similar auctions on related publishers resolved in the last hour. Flat models treat each auction as an independent event, producing bids that are locally reasonable but globally suboptimal.
Relational models connect the auction graph: publishers to their historical bid/win patterns, campaigns to their budget trajectories, and impressions to their downstream conversion outcomes. They learn that bidding aggressively on Publisher A at 8am is worth it because morning impressions on that publisher convert at 2x the afternoon rate, but only when budget pacing is behind target. These conditional, cross-entity patterns are what separate an 8% efficiency gain from incremental improvements.
Bidding on each auction independently is like pricing airline seats without knowing how many seats are left, what competitors are charging, or whether this route fills up last-minute. Airline revenue management works because it connects all of these signals in real time. Graph-based bid optimization brings the same connected intelligence to ad auctions -- every bid considers the full context of the auction ecosystem, not just the impression in front of it.
How KumoRFM solves this
Graph-powered intelligence for advertising
Kumo connects auctions, bids, impressions, conversions, and budgets into a temporal graph. The model learns bid-to-outcome relationships across the full auction ecosystem, capturing competitive dynamics and budget pacing constraints. PQL expresses the optimal bid as a regression target conditioned on conversion probability and remaining budget.
From data to predictions
See the full pipeline in action
Connect your tables, write a PQL query, and get predictions with built-in explainability — all in minutes, not months.
Your data
The relational tables Kumo learns from
AUCTIONS
| auction_id | publisher_id | floor_price | timestamp |
|---|---|---|---|
| AUC001 | PUB01 | $0.80 | 2025-03-01 08:00 |
| AUC002 | PUB02 | $1.20 | 2025-03-01 08:05 |
| AUC003 | PUB03 | $0.45 | 2025-03-01 08:10 |
BIDS
| bid_id | auction_id | campaign_id | bid_amount | won |
|---|---|---|---|---|
| BID101 | AUC001 | CMP01 | $1.05 | True |
| BID102 | AUC002 | CMP02 | $1.50 | False |
| BID103 | AUC003 | CMP01 | $0.60 | True |
IMPRESSIONS
| impression_id | bid_id | user_id | ad_id |
|---|---|---|---|
| IMP601 | BID101 | U001 | A100 |
| IMP602 | BID103 | U003 | A102 |
CONVERSIONS
| conversion_id | impression_id | value | timestamp |
|---|---|---|---|
| CVR301 | IMP601 | $25.00 | 2025-03-01 09:30 |
BUDGETS
| campaign_id | daily_budget | spent_today | pacing |
|---|---|---|---|
| CMP01 | $50,000 | $12,400 | Ahead |
| CMP02 | $30,000 | $8,200 | On-track |
Write your PQL query
Describe what to predict in 2–3 lines — Kumo handles the rest
PREDICT AVG(CONVERSIONS.value, 0, 24, hours) FOR EACH AUCTIONS.auction_id
Prediction output
Every entity gets a score, updated continuously
| AUCTION_ID | FLOOR_PRICE | OPTIMAL_BID | EXP_CONVERSION_VALUE |
|---|---|---|---|
| AUC001 | $0.80 | $1.12 | $22.50 |
| AUC002 | $1.20 | $0.00 | $3.10 |
| AUC003 | $0.45 | $0.68 | $18.40 |
Understand why
Every prediction includes feature attributions — no black boxes
Auction AUC001 -- PUB01 at 08:00
Predicted: Optimal bid: $1.12 (expected conversion value: $22.50)
Top contributing features
Publisher historical conversion rate
4.2%
29% attribution
User segment match to campaign target
High
24% attribution
Time-of-day conversion pattern
Morning peak
19% attribution
Campaign budget pacing status
Ahead by 8%
16% attribution
Competitive bid density this hour
Medium
12% attribution
Feature attributions are computed automatically for every prediction. No separate tooling required. Learn more about Kumo explainability
PQL Documentation
Learn the Predictive Query Language — SQL-like syntax for defining any prediction task in 2–3 lines.
Python SDK
Integrate Kumo predictions into your pipelines. Train, evaluate, and deploy models programmatically.
Explainability Docs
Understand feature attributions, model evaluation metrics, and how to build trust with stakeholders.
Frequently asked questions
Common questions about bid optimization
How do you optimize real-time bidding for programmatic ads?
Move beyond per-auction models to graph-based approaches that capture cross-auction dynamics. The biggest efficiency gains come from signals that span multiple auctions: budget pacing trajectories, publisher quality trends, competitive density shifts, and conversion pattern changes. A graph model learns these connected patterns automatically.
What is the best bid optimization strategy for a DSP?
Graph-based bid optimization outperforms rule-based, multiplier-based, and even reinforcement learning approaches because it captures the relational structure of the auction ecosystem. It learns conditional patterns like 'bid aggressively on this publisher when budget is behind pace and competitive density is low' that other methods cannot express.
How does budget pacing affect bid optimization?
Budget pacing is a cross-auction constraint that per-impression models handle poorly. When a campaign is ahead of pace, bids should tighten; when behind, they should loosen. But the optimal adjustment depends on remaining inventory quality, competitive dynamics, and time-of-day conversion patterns. Graph models learn these interactions naturally.
What data do you need for bid optimization?
Auction logs (floor prices, bid amounts, win/loss), impression delivery data, conversion events with values, campaign budgets with pacing status, and publisher metadata. The more connected your data, the more cross-auction patterns the model can learn. Most DSPs already have this data but use it in flat tables rather than as a connected graph.
How much can you save with better bid optimization?
DSPs that move from per-auction models to graph-based optimization typically see 6-10% improvement in bid efficiency. For a DSP managing $500M in annual spend, an 8% improvement saves $40M in wasted impressions while maintaining or improving conversion volume.
Bottom line: A DSP managing $500M in annual ad spend saves $40M by optimizing bids with Kumo's graph-learned auction dynamics. Cross-auction signals like budget pacing, publisher quality, and competitive density produce bids that flat models systematically get wrong.
Related use cases
Explore more ad tech use cases
Topics covered
One Platform. One Model. Infinite Predictions.
KumoRFM
Relational Foundation Model
Turn structured relational data into predictions in seconds. KumoRFM delivers zero-shot predictions that rival months of traditional data science. No training, feature engineering, or infrastructure required. Just connect your data and start predicting.
For critical use cases, fine-tune KumoRFM on your data using the Kumo platform and Research Agent for 30%+ higher accuracy than traditional models.
Book a demo and get a free trial of the full platform: research agent, fine-tune capabilities, and forward-deployed engineer support.




