Shows availability for targeting criteria or supplied ads
Availability Forecast
Use an available forecast to estimate future inventory that is available or already booked. Available forecasts support two request shapes:
- Set
PriorityorPriorityId, plus optionalTargeting, to ask how much matching inventory is available at that priority level. - Set
NewAdsto ask how much inventory would be available to the supplied ads. WhenNewAdsis present, do not also setTargeting,Priority, orPriorityId. The targeting, capping, priority, and pricing rules come from the supplied ads and their flights.
Forecast uses Kevel's priority ordering for each placement to compare existing booked ads with the requested priority. Opportunities count as available when the requested priority would beat the booked ad, or when no existing ad is booked for that opportunity. Opportunities count as booked when an existing ad would beat or tie the requested priority.
Bid prices affect available forecasts only when the request uses NewAds. A request with Priority or PriorityId does not include an ad or bid, so bid prices do not change the available and booked split. A request with NewAds evaluates the supplied ads with their flight priority and price. For auction priorities, the supplied ad's bid or price is part of the comparison against competing existing ads. If the supplied ad would outrank the competing ad, the opportunity can count as available. If the competing ad would still win, it counts as booked.
The following example uses Priority and Targeting:
{
"Type": "available",
"StartDate": "2023-04-10",
"EndDate": "2023-04-15",
"TimeZone": "UTC",
"Targeting": {
"FreqCapType": 1,
"FreqCapDuration": 0,
"FreqCap": 0,
"Keywords": "dodge\ntruck",
"ActiveKeywords": [
"tacocat",
"potato cat"
],
"GeoTargeting": [
{
"CountryCode": "US",
"Region": "NY",
"MetroCode": "10001",
"IsExclude": true
}
],
"DistanceTargeting": [
{
"Distance": 20,
"Latitude": 41.40338,
"Longitude": 2.17403,
"StreetAddress": "1 Kevel Boulevard, Keveltown NY 27701"
}
],
"SiteZoneTargeting": [
{
"SiteId": 1234567,
"ZoneId": 987654,
"IsExclude": true
}
],
"CustomTargeting": [
"string"
],
"DayParting": [
{
"StartTime": "string",
"EndDate": "string",
"WeekDays": [
"TH",
"FR"
]
}
],
"TemplateValues": "{\"ctString\":\"A string goes here\",\"ctExternalFile\":\"http://cdn.com/ad.gif\"}"
},
"Priority": 0,
"Params": {
"Sampling": 1,
"Responsiveness": 1,
"GroupBy": [
"$location.city"
]
}
}An example of the result would be "resultStatus": "success",
{
"resultStatus": "success",
"result": {
"total": {
"available": {
"impressions": 200792,
"uniqueUsers": 75464
},
"booked": {
"impressions": 0,
"uniqueUsers": 0
}
},
"grouped": [
{
"key": {
"$location.city": "New York"
}
},
"values": {
"available": {
"impressions": 200792,
"uniqueUsers": 75464
},
"booked": {
"impressions": 0,
"uniqueUsers": 0
}
}
}
]
},
"id": "27db30f3-3ff8-4a75-b91b-6e20e0553cb2",
"status": "finished",
"progress": 100.0,
"desc": "Forecast is finished"
}The total amount of impressions are the sum of the available and the booked (the ones reserved for other campaigns).
Interpreting available forecast numbers
An available forecast can use either targeting criteria or NewAds. The request input determines what the result inner fields mean.
- Using targeting criteria: accepts
PriorityorPriorityIdand, optionally, aTargetingfield. - Using
NewAds: accepts one or more ads inNewAds. Targeting rules and priorities are encoded in the supplied ads and their flights.
Forecast Explorer builds available forecast requests with PriorityId and Targeting, so its results follow the targeting criteria interpretation below.
Yield Forecast's all-inventory and ad-product trigger endpoints, as well as the Forecast availability widget, build available forecast requests with NewAds, so their results follow the NewAds interpretation below.
Using targeting criteria
A request using targeting criteria asks: "At this targeting and priority level, how many matching future opportunities are not already held by ads that would beat or tie this priority?"
The request does not include an ad. Matching opportunities count toward available when they are unfilled or held by existing ads that the requested priority would beat. Existing ads that would beat or tie the requested priority count toward booked.
Important consequences:
availableis matching opportunity at the requested priority level, not delivery for one concrete ad.- An eligible multi-winner placement contributes all available impressions. For example, if a placement returns 20 winners, the forecast can count 20 available impressions even though a single ad could not fill all 20 winning spots in that placement.
- Flight distribution rules and advertiser placement limits are not applied, because there is no ad.
- Bid values do not define the
availableandbookedsplit. The split comes from Kevel's priority ordering for the placement. - Available revenue is not calculated when using targeting criteria.
- The response does not include the
inventoryobject. At this priority level,availableandbookedalready provide that split.
These numbers are useful when you want a broad view of matching opportunities at a priority level.
Using NewAds
NewAdsA request using NewAds asks: "If these ads existed, how many opportunities are projected to be available for them to win?"
The forecast considers the supplied NewAds along with the ads already running in the network.
Important consequences:
availableis the number of impressions, clicks, unique users, revenue, and events projected to be available for the supplied ads.uncappedis the companion count for opportunities the supplied ads could win if caps and distribution rules were relaxed. Treat it as a separate no-cap view, not as a subtraction fromavailable.bookedis the count of opportunities where competing existing ads prevent the supplied ads from winning.- A supplied ad can serve at most once for a placement. Multiple supplied ads can fill multiple slots only when serving rules allow it.
- Flight distribution rules, campaign and advertiser limits, ad caps, frequency caps, and daily caps can reduce
available. - Auction priorities consider bid or price.
- Available revenue is calculated when using
NewAds.
The response for this variant also includes an inventory object that contains:
bookedAtHigher: forecasted opportunities already booked by existing ads that would be selected ahead of the supplied ads.bookedAtLower: forecasted opportunities already booked by existing ads that would be selected after the supplied ads.empty: forecasted opportunities not booked by any existing ad.
