Rule-based AdWords bidding: Hazardous loops
1. Introduction
In rule-based bidding, you want to sometimes have step-backs where you first adjust your bid based on a given condition, and then adjust it back after the condition has passed.
An example. An use case would be to decrease bids for weekend, and increase back to normal level for weekdays.
However, defining the step-back rate is not done how most people would think. I'll tell you how.
2. Step-back bidding
For step-back bidding you need two rules: one to change the bid (increase/decrease) and another one to do the opposite (decrease/increase). The values applied by these rules must cancel one another.
So, if your first rule raises the bid from $1 to $2, you want the second rule to drop it back to $1.
Call these
x = raise by percentage
y = lower by percentage
Where most people get confused is by assuming x=y, so that you use the same value for both the rules.
Example 1:
x = raise by 15%
y = lower by 15%
That should get us back to our original bid, right? Wrong.
If you do the math (1*1.15*0.85), you get 0.997, whereas you want 1 (to get back to the baseline).
The more you iterate with the wrong step-back value, the farther from the baseline you end. To illustrate, see the following simulation, where the loop is applied weekly for three months (12 weeks * 2 = 24 data points).
Figure 1 Bidding loop
As you can see, the wrong method will take you more and more off from the correct pattern as the time goes by. For a weekly rule the difference might be manageable, especially if the rule's incremental change is small, but imagine if you are running the rule daily or each time you bid (intra-day).
3. Solution
So, how to get to 1?
It's very simple, really. Consider
- B = baseline value (your original bid)
- x = the value of the first rule (e.g., raise bid by 15% --> 0.15)
- y = the value of the second rule (dependant on the 1st rule)
You want to solve y from
B(1+x) * y = 1
That is,
y = 1 / B(1+x)
For the value in Example 1,
y = 1 / 1*(1+0.15)
multiplying that by the increased value results in 1, so that
1.15 * (1/1*(1+0.15) = 1
Conclusion
Remember to consider elementary mathematics, when applying AdWords bidding rules!