Design an advertising pacing system for a large-scale video or streaming advertising platform.
Advertisers create campaigns with budgets, flight dates, targeting constraints, and delivery goals such as impressions, clicks, or spend. The platform receives ad opportunities in real time and must decide whether a campaign is eligible to serve while pacing delivery smoothly over the campaign lifetime.
Your design should address:
-
How to spread campaign spend or impressions over time instead of exhausting the budget too early.
-
How to handle real-time ad requests with low latency.
-
How to track spend, impressions, and remaining budget accurately.
-
How to update pacing decisions when traffic volume changes.
-
How to prevent overspending.
-
How to support campaign-level, ad-group-level, and daily budgets.
-
Data models, APIs, services, storage, streaming pipelines, and monitoring.