Cold Start With Real Money
In one line: a new ad's pCTR is a guess, the guess is usually conservative, and a conservative guess means it never gets the impressions that would improve the guess.
The loop, with a bill
The mechanism is familiar and the stakes are different.
A new ad has no click history, so the model falls back on whatever it can generalise from — advertiser, category, creative format — and lands on something near the prior. Near the prior means unremarkable, so its eCPM is unremarkable, so it loses to established ads with proven click rates. Losing means no impressions, which means no clicks, which means the estimate never moves.
The difference from item cold start in a recommender is who pays. Showing an unproven video costs some engagement. Showing an unproven ad means the slot did not go to the ad with the highest expected revenue — so exploration here has a directly measurable revenue cost, on every impression, attributable to a specific decision.
That makes it politically harder to fund, and it makes the accounting more honest.
The business consequence
Worth putting first, because it reframes the problem from an ML nuisance into a retention issue.
An advertiser launches a campaign. It gets almost no impressions because the system has no evidence it will perform. They see near-zero delivery, conclude the platform does not work for them, and leave — usually within days, and usually without contacting anyone.
None of that appears in the platform's metrics. Revenue is on plan, because the impressions went to established advertisers who monetise well. Aggregate calibration is fine. The loss is a campaign that never ramped and an advertiser who churned, and neither is visible in a dashboard built around delivered impressions.
The metric that makes it visible is the one to propose: the fraction of new campaigns that reach a meaningful impression volume within their first day or two, and the time from campaign creation to Nth impression. Neither is standard, and both are the thing the business actually cares about.
What generalises, and what does not
The good news is that a new ad is rarely fully cold. Almost every dimension has history attached.
| Signal | Available on day one |
|---|---|
| Advertiser's historical CTR | Yes, if not a new advertiser |
| Category and vertical average | Yes |
| Creative format and size | Yes |
| Landing page domain quality | Yes |
| Targeting overlap with known ads | Yes |
| This exact creative's CTR | No — this is the only truly cold part |
So the fallback is not a global prior but a hierarchical one: back off from the specific creative to the campaign, to the advertiser, to the category. Each level has more data and less specificity, and the estimate is a shrinkage between them — weighted by how much evidence each level has.
That hierarchical back-off is the standard treatment and it is worth naming as such. It also explains why a genuinely new advertiser is much harder than a new ad from an established one: the whole hierarchy is empty.
Exploration, and paying for it
Back-off narrows the problem and does not close it, because the estimate still needs real observations to correct.
The mechanism is an exploration allowance, and the design decisions are the same as in the recommendation chapter with sharper edges:
A budget, not a boost. Guarantee new ads some impressions rather than nudging their eCPM upward. A boost still competes against ads with proven performance and mostly loses, and its size is a magic number nobody can defend.
Uncertainty-weighted, not uniform. Spend the allowance where the estimate is least certain and the potential is highest — a new creative from a strong advertiser is worth more exploration than one from an advertiser whose ads consistently underperform.
Graduate on evidence. Once impressions are sufficient to estimate click rate with reasonable confidence, the ad leaves the exploration pool and competes on merit. Retire ads that are clearly bad rather than continuing to fund them.
Cap the downside. An exploration slot for an ad that turns out to be terrible costs the platform revenue and costs the user a bad ad. Bounding the per-campaign allowance means one bad campaign cannot consume the pool.
Who pays, and being honest about it
The question an interviewer will ask, and there are three answers with different politics.
The platform pays, treating exploration as an investment in marketplace health. Cleanest, and it needs someone senior to accept a revenue line that is deliberately negative.
The advertiser pays, via a first-impressions period priced differently. Honest, and it complicates the pricing model.
The user pays, in slightly worse ads during exploration. Always partly true and worth acknowledging rather than hiding — it is the reason the exploration rate should be lower on high-value surfaces.
The strong answer says the platform pays and treats it as the cost of keeping the advertiser base from calcifying into incumbents. It is the same argument as creator cold start on a content platform, and it lands better when named that way.
The connection to calibration
One tie-back worth making explicitly.
Under-prediction on new ads is not just a cold-start problem — it is a calibration problem localised to a segment. The model is systematically low on ads with little history, and aggregate calibration cannot see it because that segment is a small share of impressions by construction.
Which means the diagnostic already exists: calibration by ad age. Bucket predictions by how many impressions the ad has served and check the ratio in each bucket. A ratio well below one in the low-impression buckets is the cold-start trap, measured directly rather than inferred.
Key takeaway
A new ad's estimate comes from a prior, so its eCPM is unremarkable, so it never earns the impressions that would improve the estimate — and here the exploration has a directly measurable revenue cost. Back off hierarchically from creative to campaign to advertiser to category, then fund a real exploration budget rather than a boost. Measure campaign ramp and calibration by ad age, because new-advertiser churn is invisible in revenue metrics.
Next: evaluating and serving the whole thing.