When Joel Spolsky, who is one of my favorite bloggers, politely slams an academic discipline I studied for five years, and Joel is spot-on correct, and his point speaks directly to how we designed RKG's pay-per-click bidding system, well, I just gotta comment.
Joel had a lousy experience at the Starbucks on 58th Street and 8th in NYC and he wrote a column about it for Inc. magazine.
Joel's gripe was with an angry headset-wearing employee, a Starbucks "order expediter". From research on starbucksgossip.typepad.com, Joel discovered that
Expediters are not really there to see to it that a customer's order is filled more quickly, they believe. Rather, expediters exist solely to prevent people in line from giving up and wandering off, maybe to go to the Dunkin' Donuts around the corner. Once a customer places an order, the logic goes, he or she feels an ethical obligation to wait for it to be filled, no matter how long the process takes. Expediters are there to lock in that order as soon as possible.
Joel continues (emphasis and eliding mine)
All of this fancy optimization stuff is called Operations Research. [...]
If you're planning to expand your business to a certain scale, you must first establish procedures and build systems to get predictable outcomes [...] It's a real academic field of study, and it's really hard and really important. You need to hire pretty smart people to do studies and experiments and collect the statistics and then figure out what it all means. [...]
Starbucks is great at operations research. [...]
But as it has grown, Starbucks seems to have lost its knack for figuring out whether policies dreamed up at HQ are really going to work in the field.
Systems need to be flexible, and [managers] need to be wary of procedures that, applied blindly, can cross the line into something that looks more like antagonism [...]
We'll get to the PPC bidding angle soon, but first some background on Operations Research, aka "OR". I earned a PhD in OR at MIT, and so feel obligated to wade in.
OR is a quirky discipline. It was born in Britain during WWII to solve military logistics problems. OR is an odd brew of optimization techniques, statistics, probability, and mathematical modeling.
To its credit, OR helped the Allies win the war by providing efficient plans for shuttling men and materiel across the Atlantic. OR helps cities place fire and police stations in smart locations. OR helps manufacturers run factories more efficiently. And OR helps UPS get packages delivered on time. You can read more OR success stories here and here.
To its discredit, OR is why everyone on your last flight paid a different price, why Long-Term Capital Management nearly blew up the US financial markets in 1999, and why Joel had a bad experience at Starbucks in Manhattan.
You see, optimization algorithms love going to extremes.
The machines think, "if more is better, than most is best."
But in the real world, extremism often isn't optimal.
Take an agricultural production planning model. If, say, corn turns out to marginally more profitable than soybeans, the computer will suggest planting every single darned acre in corn, because that solution ekes out a bit more profit.
A smart farmer will hedge her bets and back off from the extreme solution a bit, because the machine's recommendation is too brittle. She'll plant mostly corn, but she'll also put in a few acres of soy and even some wheat, just in case, computer be darned. Smart humans see the larger picture.
You can steer optimization algorithms away from extreme points by penalizing extremities in the objective function or by excluding them from the feasible region. But that revised problem will have its own extremes, and most algorithms will march over to the best corner or the top of the highest peak and happily camp there.
When LTCM imploded, they had thousands of trades on their books, but all were highly correlated -- the machines led the traders to place effectively the same bet over and over again.
Extremism. Brittleness. Inflexibility. These are the Achilles' heel of mathematical optimization.
Optimization algorithms are fantastic tenchologies -- don't get me wrong. Optimization can perform amazing feats. The complexity of modern life requires optimization in many areas. But you can't just hand the keys over to the machines and go home.
OK, back to pay-per-click bidding.
At RKG, we use a portfolio optimization bidding algorithm to bid millions of ads for our clients, and do so to maximize client profitability. We need machines and we need algorithms and we need APIs, because at scale the PPC bidding problem is far too huge and far too hard to attempt manually.
By default, our system applies two rules when bidding client ads:
ECON RULE: Bid ads to their economic efficiency target. Optimize bids based on resulting sales and the client's economic objectives.
SANITY RULE: Keep bids within sane levels.
The ECON rules are the heart of RKG's bidding system. They are our company's "secret sauce", and are far more sophisticated than the short description above suggests. Our clients can instruct us to bid to their choices of economic targets, be those ad-to-sales ratios, return-on-ad-spends, estimated margins, actual margins, net actual margins, what have you.
The real magic of our system is how we handle the many low-traffic ads which, considered alone, have insufficient data to determine good bids. That's the portfolio optimization piece. Our algorithms use smart clustering and aggregation to bid wisely. Our algorithm is backed by significant math and stats, many many many lines of code, ongoing testing, and years of experience. We're continually working on improving it, both internally and via formal collaborations with stats profs at Santa Clara, Rice, and Rochester universities.
The SANITY rules are just governors. They take the form, "Never bid more than 'X' or less than 'Y' per click, regardless of economics". These overrides keep bids sane. Suppose a particularly lucky ad experienced, over some time frame, two clicks and generated one $2000 sale. Suppose that client instructed us to spend 25% of tracked revenue on advertising. With sales-per-click at one thousand bucks ($2000 AOV x 1 order / 2 clicks), the client's 4-to-1 sales-to-advertising ratio target would suggest we could bid up to $250 per click.
Sweeping variability and time effects under the rug, the raw economics suggest we could bid up to $250. But we sure as heck never would bid that high -- for most retailers going above a few bucks CPC just isn't prudent.
But these two types of rules alone aren't enough. Our system provides a salad bar of additional rule types we can use if needed to better serve our clients.
Retail is fundamentally a human experience. Retail is about real people trading money and goods between themselves. And like all human endeavors, retail (like online advertising as a whole) is messy. By that I mean retailing is full of special cases and exceptions.
A retailer is ill-served by an inflexible or brittle bidding system, one that seizes the keys and sends the merchants home. A strong PPC bid platform rests on solid economic foundations, but also accommodates the messy realities of real retail.
What do I mean by messy realities?
"Ski season starts soon. Last year our telemark gear sold like gangbusters, but recall we had a killer sale on that whole category in '07, so this year those terms will likely perform differently."
"The CEO wants our ad to appear on page one on Google for the term 'digital camera', always, regardless of it's performance."
- "Push our home and garden products harder this week to support a national store advertising effort, regardless of how they're selling on the site."
"We want to apply different ROAS targets to different parts of our advertising campaigns, reflecting different margin percentages on different product lines."
"Make sure we don't advertise products in states we can't sell them, like lead solder into California."
In addition our basic economic-based bidding, our bid platform allows our client service analysts to layer on additional rules to modify or override certain bids on certain ads which meet certain conditions during certain time periods so as to meet client objectives. Most bids don't require tinkering. But, when they do, we've built tremendous flexibility into our bidding system to allow it.
(An aside: the term "rules-based bidding" has a negative connotation in paid search, evoking the "keep me in position five regardless" approach popular with some firms in recent years. We at RKG typically avoid the word "rules" when describing our technology in our marketing pamphlets for this reason.)
Some bid platforms treat PPC bidding as a black box, "set-and-forget" math optimization problem. We'd suggest online advertisers are better served by more flexible approaches.
We believe the best bidding approach is a hybrid one, smart machines teamed with smart people.
Computers handle what computers do best: large-scale stats, brute-force arithmetic, and executing strategy.
People handle what people do best: special cases, overrides, sanity checks, and developing the strategy.
As Joel experienced in the 58th Street Starbucks, going to extremes can lead to suboptimal outcomes.