“The Sell-Sider” is a column written by the sell-side of the digital media community.
Tyler Fitch is Director of Yield Management at Mindjolt, an online games company.
First, a disclaimer from me: In order to effectively optimize inventory, a publisher must have 100% transparency of their own inventory by page, country, and frequency. Too many publishers have no idea what the value of their inventory is and/or what people are paying for each impression. Setting floors too high or too low can cause catastrophic losses in revenue. End disclaimer.
This article came to me last week when I was speaking with a friend who recently took over at a very large publisher to remain nameless. He asked me for a few pointers on how he could increase the CPM’s on his site. Willing to help out a friend, I agreed and started taking a look around to see what ads he was serving.
They were the same exact remnant ads I was showing on my own sites! When I asked him what his average US CPM was, they were 3x lower than what I was getting paid to show the exact same DoubleClick ad. How could this happen? The second price auction…
The best explanation of second price auctions could be Mike Nolet’s “Price floors, second price auctions and market dynamics.” To sum it up, in an exchange’s second price auction, the highest bidder always wins by .01 cent over the 2nd highest bidder no matter how much the impression is worth to the winning advertiser. DSP’s constantly optimize on the Max Bid, creating constant downward pressure on Publisher CPM’s. The Publishers only way to counter is with pricing floors. Pricing floors are highly inefficient and usually end up hurting the publisher when they price themselves out of the market.
So how do you beat the second price auction? Demand. This is how the yield optimizers are doing it. Get as many remnant advertisers as possible, prioritize them according to how much they pay out, and stick them inside an exchange with multiple DSP’s (Yes, I know there is more to Yield Optimizers so please save the hate mail for now, I am just keeping this short for time’s sake). This will definitely help yield to some extent, but there is a fundamental flaw to their system; Yield Optimizers work using an ad network model. But, to work effectively using an ad network or revenue share model, you have to have pricing transparency for the publisher AND for the exchange, which yield optimizers do not. They’re not alone. Many big publishers are guilty of not understanding their own pricing versus that of the exchange and are just plugging in revenue from each ad network and letting it compete with the exchange (even I was guilty of a lack of complete exchange transparency till about 6 months ago.).
“Controlled Inflation” is the key to getting premium yield. In the table below, I know that my managed advertiser is only going to pay me $1.15, but the exchange advertisers don’t know what I am being paid. Managed advertisers are not transparent to Exchange advertisers and, in turn, are “mini floors”. Using managed advertisers within an exchange allows me to control exchange arbitrage by ad unit, country and frequency.
Theoretically, lets say I start with 20% inflation on my pricing for my managed advertiser and slowly keep moving it up until Exchange 2 will stop paying. I find that the exchange advertiser will still pay for that impression at 1.75. In the end, I cause the Exchange Advertiser to pay 35% more than they would have paid in test #2. This optimization continues all the way down the chain until you hit your lowest paying advertisers. In test #3, just one of my exchange advertisers has optimized pricing to get the first bid. Now the exchange has paid the exact minimum for the two exchange advertisers to get the first 3 impressions of my user session.
Auction for Test #1 (Bid) | Exchange Advertiser #1 | Exchange Advertiser #2 | Managed Inflated (Actual Payout 1.15) | Winning Bid in Second Price Auction |
1 | 3.00 | 1.76 | 1.75 (1.15) | 1.77 |
2 | No Bid | 1.76 | 1.75 (1.15) | 1.76 |
3 | No Bid | 1.76 | 1.75 (1.15) | 1.76 |
4 | No Bid | No Bid | 1.15 (actual rev) | 1.15 |
Auction for test #2 | Exchange 1 | Exchange 2 | Managed Non Inflated (Actual Payout 1.15) | Winning Bid in Second Price Auction |
1 | 3.00 | 1.76 | 1.15 | 1.77 |
2 | No Bid | 1.76 | 1.15 | 1.16 |
3 | No Bid | 1.76 | 1.15 | 1.16 |
4 | No Bid | No Bid | 1.15 | 1.15 |
Auction for test #3 | Exchange 1 | Exchange 2 Optimized | Managed Non Inflated (Actual Payout 1.15) | Winning Bid in Second Price Auction |
1 | 3.00 | 1.16 | 1.15 | 1.17 |
2 | No Bid | 1.16 | 1.15 | 1.16 |
3 | No Bid | 1.16 | 1.15 | 1.16 |
4 | No Bid | No Bid | 1.15 | 1.15 |
So, why don’t more publisher do this? Well… it takes a lot of work to effectively optimize like this. There are a lot more spreadsheets and manual data entry than I would like to admit, but it needs to be done. Some publishers just don’t think that it will make that much of a difference, but I have already seen large gains from “Controlled Inflation.”
With slight improvements in daily incremental revenue, it’s a serious amount of cash for your bottom line annually.
Definitely worth the extra 2 hours.
Follow Tyler Fitch (@tylerwfitch) and AdExchanger.com (@adexchanger) on Twitter.