Amazon Advertising Advanced Tools Center
Amazon Advertising Advanced Tools Center
Home Developer guides API reference No-code tools Support Release notes Github
Overview
Onboarding
Optimal frequency analysis
Get started
Within Amazon Marketing Cloud, advertisers have a unique opportunity to measure and attribute conversio
Account management
to the frequency of impressions served to individual users over the course of a historical time window. This
Reporting playbook will dive deeper into the concept of frequency to gain clear optimization insights and direct actio
within Amazon Ads to optimize frequency analysis.
Ads data manager
To do so, we will be assessing the holistic business value with increasing or decreasing the desired frequenc
Exports with an advertising activation. This will include identifying:
Retail Ad Service identifying the budget spend on over-exposure and reinvesting to reach new audiences.
kcabdeef
Global determining where conversions are lost when audiences aren’t being properly retargeted.
identifying the point where the diminishing returns of increased frequency takes effect to according
Sponsored Products
plan marketing efforts.
Sponsored Brands
Without optimizing frequency, an advertiser is subject to overexposing their audience and creating “ad-
Sponsored Display fatigue” and in turn wasted ad spend that could have been reinvested to reaching new audience members.
underexposed audience is one where the audience has seen too few ads over the course of a time period, a
Sponsored TV
is likely to forget about the brand / product when final making the purchase decision.
Amazon DSP
Overview
Get started
AMC administration
AMC reporting
Audiences
AMC sandbox
Custom attribution How to measure frequency within a user-base based on your use case?
model
How to find the optimal frequency point algorithmically?
Customer journey How to find the under-served frequency algorithmically?
analytics
How find the over-exposure point with frequency algorithmically?
Customer long-term
value
Account management
Reporting
Assumptions
While the queries in this playbook are broken out by campaign ID, they can be broken out by any
Ads data manager tactical dimensions available within AMC such as advertiser, audience segment, or entity.
Exports The queries listed here look into measuring the frequency cap on a daily basis. The attributed
conversions towards these daily impressions follow the same attribution logic of the
Retail Ad Service amazon_attributed_events_* table.
Global The queries used in this playbook would be measured over the span of the most recent 90 days and
will use aggregates to get the daily measure used for the insights.
Sponsored Products
Sponsored Brands
Playbook steps
Sponsored Display The playbook is structured to perform the following steps:
Sponsored TV 1. Determine and set frequency caps
Amazon DSP 2. Identify under-served audiences
Activate under-served audiences
Amazon Marketing Cloud
3. Determine optimal frequency point
Overview
4. Identify actions from analysis
How AMC works
AMC reporting
AMC SQL reference An Optimal frequency ensures that the ad or message is seen or heard enough times to make an impact
without becoming intrusive or irritating to the audience and being wasteful to the advertising budget. The
AMC data aggregation
threshold
optimal frequency finding can be utilized in media flights by audience creation, bid optimization, and
frequency capping.
AMC Playbooks
Frequency capping allows you (the advertiser) to specify a maximum number of impressions/views a user
Overview can see an ad or a cluster of ads over a specific time period. For example, if an advertiser specifies a freque
Custom attribution cap of 3 over the course of the day, the ad publisher will measure the number of impressions served to a u
model over the course of the day in real time, and once they’ve been served an impression thrice, they will then b
Customer journey excluded from any further advertising for the rest of the day. Finding a cap where the increased frequency
analytics causing diminishing returns in brand value (or an ad fatigue) will help reduce media spend waste.
Customer long-term Frequency buckets, in the context of this playbook, is a accumulation of spend and return value.
value
Audience programmatic
framework
Frequency by ad format
Off-Amazon conversions
The frequency approach demonstrated in this playbook will aim to factor in each ad format available in AM
Optimal frequency
analysis to generate a holistic analysis across all advertising touch points that a user can experience within a
campaign. This will include anything available within Amazon demand-side platform (Amazon DSP) and
AMC lookalike audiences
for promotional events Sponsored ads tables within AMC.
Media performance The following is a baseline query that measures some aggregate metrics across all the ad types. We will th
optimization build upon this frequency measure to collect some of the advanced insights that will address our major use
Enhanced scoring for
cases.
overlapping AMC
audiences
SQL
Advanced tools center
Click to see: Query to measure an aggregate metric
Sample output
Overview
And the output is below is up to a frequency bucket of 15:
Onboarding
Global
3 24714 1781 1974 22980.08 2046 5035
Sponsored Products
Sponsored Display
5 24084 2349 2589 30960.55 2334 4528
Sponsored TV
Audiences
11 21218 3943 4241 52537.46 3129 4328
Advertiser data upload
Overview The query will group users by the number of impressions they were served during the time window (in this
Custom attribution case 90 days), and measure the total number of clicks, purchases, units_sold, attributed to those impressio
model
Media performance
optimization
Minimal frequency
Optimal frequency
Maximum frequency bucket caps across campaigns
Overview
Onboarding The goal of this section is to provide a potential use case and a walk through on how to use a frequency
measurement approach to solve for it.
Get started
Retail Ad Service
Global
Sponsored Products
Sponsored Brands
Sponsored Display
Sponsored TV
Amazon DSP
Overview
To derive frequency buckets, we introduce a measure called the cumulative sum for both cost and return
How AMC works (such as total sales and purchases). These will allow us to measure the relative change in spend and return
AMC consent management value with the increased frequency in the market. Before you get to calculating frequency caps, familiarize
yourself with the following definitions and equations:
Get started
Cumulative cost: The total cost of each frequency bucket along with all the frequency buckets befo
AMC administration
it.
AMC reporting Cumulative cost = Cost (at N frequency Bucket) + Cost (at N-1 Frequen
Bucket)
Audiences
Cumulative return KPI: The total return KPI of each frequency bucket along with all the frequency
Advertiser data upload
buckets before it.
AMC sandbox Cumulative Return KPI (Purchases) = Total Purchases (at N frequency
bucket) + Total Purchases (at N-1 frequency bucket)
AMC on AWS Clean Rooms
Cumulative cost percentage: The percentage value of the cumulative cost at each frequency bucke
AMC data sources
the total cumulative cost of all the frequency buckets.
AMC SQL reference Cumulative Cost Percentage = Cost (at N frequency bucket) / Total Cos
of all Frequency Buckets
AMC data aggregation
threshold
Cumulative return percentage: The percentage value of the cumulative return kpi at each frequenc
AMC Playbooks bucket / the total cumulative return KPI of all the frequency buckets.
Cumulative Return Percentage (Purchases) = Purchases (at N frequency
Overview
bucket) / Total Purchases of all Frequency Buckets
Custom attribution
model Percent difference: The difference (subtract) of the cumulative cost percentage from the cumulativ
Customer journey return percentage to measure the differences in cumulative investment and return from a cost and
analytics return standpoint.
Customer long-term
Percent Difference = Cumulative Conversion Percentage - Cumulative Co
value Percentage
Audience programmatic Percent change: Using the percent difference column, you will subtract the percent difference of ea
framework
row from the previous frequency bucket to measure the relative change in the ratio of cumulative c
Off-Amazon conversions and return at each frequency bucket. This metric will be used to identify the recommended frequen
Optimal frequency
cap.
analysis Percent Change = Percent Difference (at N Frequency Bucket) - Percent
Difference (at N - 1 Frequency Bucket)
AMC lookalike audiences
for promotional events
Media performance First, calculate cumulative percentages and then use the percent change to determine the frequency cap.
optimization
To calculate the cumulative return percentage, see the example (below), if the conversions at frequency
bucket 1 are 9,203 and the conversions at frequency bucket 2 are 6,532, then the cumulative frequency at
Overview bucket 2 is 15,735 (9,203+5,532). If the total cumulative conversions (for all frequency buckets) is 48,795,
then the cumulative conversion percentage at frequency bucket 2 is 15,735 / 48,795 = 32%.
Onboarding
Repeat this step with the cost column at each of the frequency buckets to get both the cumulative
Get started
conversions percentage and the cumulative cost percentage. With these two columns, you will then subtra
Account management the cumulative cost percentage from the cumulative conversions percentage to get the values for the Perce
difference column.
Reporting
And finally, subtract the percent difference at each row and the percent difference from the previous row t
Ads data manager
get the percentage change column. For example, if your percent difference in row two is 14.18% and your
Exports percent difference in row one is 9.90%, then the percentage change in row 2 is 4.28%.
Retail Ad Service The percentage change column approaches zero as the frequency bucket increases. At the point where the
percent change passes the zero threshold, the growth rate of the additional cost exceeds the growth rate o
Global the additional return value. It is at this point when the percentage change passes zero (in our example, it
passes zero at frequency bucket = 4) that you should set for your frequency cap.
Sponsored Products
An example of how this could look is depicted below:
Sponsored Brands
Sponsored Display
Cumulative Cumulative
Frequency Cumulative Cumulative
Sponsored TV Conversions Cost conversions cost
bucket conversions cost
% percentage
Amazon DSP
Overview
2 6,532 15,735 7,933 $15,733.90 32% 18%
How AMC works
AMC reporting
5 3,569 28,485 6,621 $36,907.20 58% 42%
Audiences
AMC on AWS Clean Rooms 7 2,564 34,262 5,884 $49,007.40 70% 56%
AMC Playbooks
10 1,985 41,077 5,036 $64,965.80 84% 75%
Overview
Customer journey
analytics 12 1,794 44,644 4,609 $74,385 91% 85%
Customer long-term
value 13 1,485 46,129 4,376 $78,760.60 95% 90%
Audience programmatic
framework
14 1,376 47,505 4,217 $82,977.40 97% 95%
Off-Amazon conversions
This query can be used to measure the frequency cap of any of the KPIs tracked within AMC using the
cumulative cost and return methodology above. In the query below, we will demonstrate this use case acro
the following KPIs:
Overview
clicks
Onboarding Use when focused on building your frequency around maximizing upper funnel engagement
and site traffic. Could also use Views.
Get started
add_to_cart / detail_page_view
Account management
Use when focused on building your frequency around mid funnel engagement, and want to
Reporting reinvest towards a rules based audience to re-target cart abandoners.
Sponsored Products
All aggregated on a daily basis. This query can be adjusted to account for any time frame in which you are
Sponsored Brands interested in measuring frequency, as well as any conversion metric you want to build frequency caps arou
Sponsored Display SQL
Sponsored TV Click to see: Query to check optimal frequency
Amazon DSP
Sample output
Amazon Marketing Cloud
Get started
1 -0.00982 0.04336 0.04356
AMC administration
Audiences
3 0.00587 0.02391 0.02320
Advertiser data upload
Overview
8 -0.00294 0.00071 -0.00041
Custom attribution
model
9 -0.00201 -0.00153 -0.00087
Customer journey
analytics
Off-Amazon conversions
12 0.00055 -0.00293 -0.00286
Optimal frequency
analysis
13 0.00113 -0.00192 -0.00201
AMC lookalike audiences
for promotional events
Using the methodology above, we can plot the change in percent difference over time to get an aggregate
Overview report of the frequency capping point.
Account management
Reporting
Exports
Retail Ad Service
Global
Sponsored Products
Sponsored Brands
Sponsored Display
Sponsored TV
Amazon DSP
Overview
Get started
Here, we can see that the percent change hovers at around zero until around the frequency bucket of 8 to
AMC administration
which it then drops down to 9 and stays significantly below. Using this guidance, we can use 8 as our
AMC reporting frequency cap and invest any additional budgets to reach new audiences.
Audiences In looking at the daily frequency rate we can see that the percent change dips below 0 at the frequency
bucket of around 8. So If we were to use this as a guide for setting a frequency cap at the daily level we cou
Advertiser data upload
go with 8 for the down funnel conversions (purchases, sales, add to cart, detailed page views).
AMC sandbox
For the upper funnel engagement metrics (clicks), we can see that the profitability in driving engagement
AMC on AWS Clean Rooms increase towards the frequency bucket of 3, and then starts to approach zero at the frequency bucket of 5
crosses at 6. So, if we were to be focused on driving reach and clicks, we would want to try to set our
AMC data sources
frequency minimum at 2 and our maximum at 5.
AMC SQL reference
Let's take another example with metrics illustrated below. If we were to optimize frequency towards total
AMC data aggregation sales over the span of a month across a single line_item, our model would recommend we set the frequenc
threshold cap at 5.
AMC Playbooks
Overview
frequency_bucket cost cumulativecost product_sales cumulativeproduct_sales
Custom attribution
model
0 0.000 0.000 6100.140 6100.140
Customer journey
analytics
Audience programmatic
framework
2 7230.394 16105.608 6643.590 28142.930
Off-Amazon conversions
3 4811.318 20916.926 3185.340 31328.270
Optimal frequency
analysis
Onboarding
8 2884.820 39378.377 933.110 39353.750
Get started
Reporting
10 2208.339 44007.532 504.590 40478.970
Ads data manager
Exports
In doing so, you would leave with a cumulative ROAS (cumulatve sales / cumulative costs) of $1.17. If you
Retail Ad Service were to choose a more conservative frequency cap of, say 9 over a span of a month, your cumulative ROAS
would drop 20% to $0.95, which would mean your overall spend was greater than your overall sales. So,
Global optimizing your frequency has a significant impact on campaign performance.
Sponsored Products
Sponsored Brands
Sponsored Display
Sponsored TV
Amazon DSP
Overview
Get started
AMC administration
AMC reporting
Audiences
AMC sandbox
Optimal frequency
analysis frequency_bucket purchases product_sales cost roas cumulative_sales c
Get started
5 121 1692.25 331.79 5.1003 24476.87 3
Account management
Sponsored Brands
10 65 1030.47 472.08 2.1828 29825.58 4
Sponsored Display
Amazon DSP
12 49 696.6 183.34 3.7995 31542.46 5
Amazon Marketing Cloud
AMC consent management Plotting the frequency cap curve using percent change in Python, we get the following:
Get started plt.plot(performance_t["frequency_bucket"], performance_t['percentage_change'],
AMC administration
'r-', label='percent_change') plt.legend() plt.rcParams["figure.figsize"] = (18,
5) plt.show()
AMC reporting
Audiences
AMC sandbox
AMC Playbooks Here, we can see that the percent change hovers at around zero until around the frequency bucket of 8 to
Overview which it then drops down to 9 and stays significantly below. Using this guidance, we can use 8 as our
frequency cap and invest any additional budgets to reach new audiences.
Custom attribution
model Plotting ROAS, we can use the same Python function below using ROAS in place of percent change.
Customer journey
analytics
plt.plot(performance_t["frequency_bucket"], performance_t['roas'], 'r-', labe
Customer long-term
value plt.legend()
plt.rcParams["figure.figsize"] = (18, 5)
Audience programmatic plt.show()
framework
Off-Amazon conversions
Optimal frequency
analysis
Media performance
optimization
Overview
Onboarding
Get started
Account management
In order to make a recommendation of minimum frequency using diminishing returns, we would need to lo
Reporting
into using derivatives to smoothen the line and be able to build a bell curve of optimal frequency.
Ads data manager
To do so, we will be fitting a non-linear model on a set of data using python. We will use the curve_fit
Exports function within scipy.optimize in which will take into account the uncertainties on the response that is Y
Retail Ad Service The function code will utilize the model below:
Global
Sponsored Products
Sponsored Brands
Sponsored Display
Sponsored TV
Amazon DSP
Where X is the frequency bucket, the Y represents the cumulative sales / cumulative cost at each frequency
Amazon Marketing Cloud
bucket, and A and C will represent the uncertainty principle at each frequency bucket.
Overview
Get started
AMC administration Now, we will perform the fit with the curvefit algorithm using the fmodel() function we created and give an
initial guess for the parameters (3,2). The curve fit model will follow a least-square approach to minimize t
AMC reporting function below:
Audiences
AMC sandbox
AMC data aggregation For the ydata, you will be measuring cumulative ROAS by way of taking the cumulative sales / cumulative
threshold costs.
AMC Playbooks
Audience programmatic
Once you collect the a_opt uncertainties, you will then take the first derivative of Y and X and using the
framework
np.gradient() function and then the second derivative of that using the same gradient function to get a be
Off-Amazon conversions curve shaped curve for the frequency distribution.
Optimal frequency
analysis
Taking the derivative, you can then plot the values across the frequency buck
Overview x = np.linspace(0,25,25)
lines = [-dydx]
Onboarding colors = ['g']
labels = ['Derivative of Percent Diff']
Get started
# fig1 = plt.figure()
Account management for i,c,l in zip(lines,colors,labels):
plt.plot(x,i,c,label='l')
Reporting plt.legend(labels)
plt.show()
Ads data manager
Exports
Global
Sponsored Products
Sponsored Brands
Sponsored Display
Sponsored TV
Amazon DSP
Overview
AMC reporting As an action coming out of this minimum frequency value, we can create audiences who have less than a
frequency of 6 and target them more aggressively with advertising. The AMC query below shows you how
Audiences create these audiences to activate against.
Advertiser data upload
AMC sandbox
Note
Run the following SQL script in the audience query editor
AMC on AWS Clean Rooms
Overview
Determine optimal frequency point
Custom attribution
model Now that we have the framework for minimum frequency and maximum frequency that we can action upo
the next option would be to see if we can fully plot the frequency bell curve across each bucket to identify
Customer journey
analytics optimal frequency point.
Customer long-term Using a similar approach as before, we will be using derivatives on the “percent diff” column to create a cu
value that will help us identify the optimal frequency with respect to the cumulative sales and costs at each buck
Audience programmatic
framework
For this case, we will follow the guide below:
Off-Amazon conversions
Optimal frequency
analysis def f_model(x, a, c):
return pd.np.log((a + x)**2 / (x - c)**2)
AMC lookalike audiences
for promotional events
x = np.linspace(0,25,25)
Overview dx = x[1]-x[0]
y = pd.np.log((a_opt + x)**2 / (x - c_opt)**2)
Onboarding #take the derivative of Y and X
dydx = np.gradient(y, x)
Get started #take the second derivative of Y and X
dydx = np.gradient(dydx, x)
Account management
Reporting
And then plot the results using the following code:
Ads data manager
Exports
x = np.linspace(0,25,25)
lines = [-dydx]
Retail Ad Service
colors = ['g']
Global
labels = ['GREEN']
Sponsored TV
Amazon DSP
Overview
Get started
AMC administration
AMC reporting
Audiences Here, we can see that the optimal frequency level crosses the zero threshold at around the 6 bucket to 8
Advertiser data upload
bucket with the apex being at around 7. This would be the point in which the cumulative sales are peaking
against the cumulative costs.
AMC sandbox
The action from this result would be to aim to adjust bidding so that you are trying to get as many people
AMC on AWS Clean Rooms possible to a frequency of 7, reinvesting budget to reach new audiences instead of serving these users
AMC data sources additional messaging.
Custom attribution
model
Automation architecture
Customer journey The automation component of the playbook will live as an Amazon Quicksight dashboard showing the
analytics
cumulative totals, percentages, percent differences, and percent changes that can further filtered by
Customer long-term campaign and measured over a specified time period.
value
Audience programmatic
framework
Note
We recommend remeasuring the optimal frequency monthly to utilize the latest findings and
Off-Amazon conversions accordingly minimize your ad budget.
Optimal frequency
analysis
To get started, you will need to define a workflow that can be utilized to visualize the frequency caps to ap
AMC lookalike audiences
for promotional events to your specific campaign.
Onboarding
Was this page helpful? Yes No
Get started
Account management
GitHub RSS release notes
Reporting
Exports © 2023 Amazon.com, Inc. or its affiliates. Conditions of Use Privacy Notice License Agreement Data Policies
Retail Ad Service
Global
Sponsored Products
Sponsored Brands
Sponsored Display
Sponsored TV
Amazon DSP
Overview
Get started
AMC administration
AMC reporting
Audiences
AMC sandbox
AMC Playbooks
Overview
Custom attribution
model
Customer journey
analytics
Customer long-term
value
Audience programmatic
framework
Off-Amazon conversions
Optimal frequency
analysis
Media performance
optimization