Ad Forecaster is provided with a default delivery algorithm that tries to fulfill most use cases.
Impression Limit
While creating a campaign there are multiple attributes that can limit the delivered impressions:
impressions
: sets a maximum number of impressions to be delivered by the campaign in its lifetime;dailyCap
: sets a maximum number of impressions to be delivered by the campaign per day;frequencyCap
: sets the impression limit per user and time period (e.g. a user can only see this campaign at most 2 times per hour).
Frequency caps can be applied across multiple campaigns using frequency groups.
Priority and Weight
Campaigns have a priority
and a weight
.
The weight
value of each campaign is the probability of the campaign being
considered for delivery. A campaign with a weight
of 75
will have a 25%
chance that the impression will not be delivered, even if there are no
competing campaigns.
After randomly discarding campaigns based on their weight
, if two campaigns
with different priorities are competing for an impression, the campaign with
the highest priority
will always be the one to be delivered. If two or more
competing campaigns have the highest priority
, one of them is chosen
randomly.
Retargeting
While defining a campaign it is possible to set the retargeting
parameter with a list of IDs of
the campaigns to retarget. This means that this campaign will only deliver to users who have seen at
least one impression from each of the campaigns in the retargeting
list.
Delivery Schedule
The campaign’s delivery schedule can be defined with the deliverySchedule
attribute. There are three types of delivery schedules asap
, even
,
frontloaded
.
ASAP Delivery
By default, every campaign is delivered with an asap
schedule, which means
that it will try to deliver as much impressions as possible.
Even Delivery
Campaigns with an even
schedule will estimate the future impression
distribution and deliver impressions in an evenly fashion during the campaign’s
lifetime. For example, a campaign that lasts 31
days with a 1 000 000
impression goal will attempt to deliver 1 000 000 / 31 = 32258
impressions
per day.
Note that campaigns with an even
schedule will still behave as asap
for
a short period of time, in order to estimate the required impression
distribution.
Frontloaded Delivery
The frontloaded
delivery schedule also has an associated percentage
field
to define the frontloaded
percentage.
This strategy works in a similar fashion to the even schedule, however, it will
attempt to deliver an extra percentage
of impressions on each day. That is,
if the even schedule would attempt to deliver goal/days
impressions per day,
the frontloaded
schedule would attempt to deliver goal/days * (1 + percentage/100)
.
The following image shows an example of a campaign with a 1 000 000
impression goal that needs to be delivered in 31 days with different
frontloading percentages.
In the picture above it is observable an increased delivery during the first day, which is a result of the delivery strategy algorithm optimizing itself to the available inventory.