Today's column is written by Rob Leathern, CEO of XA.net, an online advertising company.
It’s a convenient fiction: the CPMs garnered from real-time bidding (RTB) are high and going higher right now, taken by enthusiasts to mean that it is working and driving CPMs up for publishers. After a fair bit of personal experience with RTB bidding and buying and the requisite analysis, I can confidently say that this view of the world is still fanciful. Certainly, the dynamic of higher CPMs is happening right now, with prices being higher for RTB impressions in comparison to similar non-RTB inventory, but the reason for this cuts to the heart of the fundamental problem with display inventory: advertising space is not the simple commodity we may think it is where every impression from a given site (or even a given placement) is worth the same.
Let’s set aside all the oft-mentioned problems about cost, scalability, number of possible bidders in the marketplace and so on (statements by some market participants about these issues show a fundamental misunderstanding about how this stuff works – I’ll come back to these issues another time) and just look at how things are running right now. At Leadscon NYC in July 2010, Michael Barrett (CEO of Admeld) said that “all of [their] publishers have price floors in place” and that in no case is a publisher “making all of their inventory available” to real-time bidding. He also mentioned that their publishers don’t want more fill from ad networks and DSPs at low prices.
Here are the factors in turn that are leading to the over-inflated RTB prices:
- Publishers are still concerned about RTB and not entirely given over to it.
- Thus publishers are setting price floors in RTB systems, and allocating only a portion of their inventory to the RTB systems mainly because their inventory still lives inside of their own publisher ad server and coexists with other fixed-price or guaranteed inventory deals.
- RTB bidders are seeing an incomplete set of inventory, and making certain decisions about what to bid on and when, based sometimes on seeing unique user IDs to determine user frequency BUT the bidders don’t have the full picture of this user’s activity on a particular website; bidders have an incomplete picture of them across websites, but the lowest hanging-fruit data is session depth within a website.
- Because of 3, and not seeing all the inventory on a site, most RTB systems won’t tell the bidder which impression of the user’s session we are seeing.
- Because bidders don’t know what session-impression of the user they are seeing, the first impression that the bidder sees of a given user on a given site is indeterminate with respect to the site session-depth. (e.g. the first “bidded” impression may be the first or the tenth or the fiftieth impression in the impression queue. This matters. A lot)
- The only way to measure and assess this issue (and hence have a fair valuation for similar-seeming traffic) is for both of these to occur (a) the RTB bidding system is aware of every single impression shown to a user on the site and (b) the RTB bidding system passes along with the bid request, a “local” depth count that tells a bidder how many impressions that user has seen on that site so far. Neither of these is particularly difficult, but neither is trivial either especially when it requires “seeing” all impressions for a publisher and living/coexisting with older publisher ad systems.
The Doughnut Shop Analogy
It’s like going to a doughnut shop and seeing a bunch of doughnuts. There are fresh ones just out of the oven, and day-old ones and everything in-between. But, if they are not arranged so as to make it obvious, we can’t really tell until we buy one and bite into it what the quality is. The shopkeeper can make up a box of fresh ones for us to buy but we don’t quite know at that point if they really are fresh or not. Impressions for a given site are just like these doughnuts, except I’m bidding for the doughnuts and not knowing if I’m bidding on a 2-minute old one or a 2-day old one, and no way to tell even if I buy them one by one, how old the next one is that I buy.
If someone sticks around the shop and sees the shopkeeper take the doughnuts out of the oven and place them on the rack, they would have a way to predict which are the newer ones, but they have to watch like a hawk (analogous to having to see/be aware of all ad inventory).
Perhaps us doughnut-buyers could get together and either make the shopkeeper tell us how old each one is, or make sure someone sticks around to watch the doughnut-making process constantly! Right now there is a novelty going on about these doughnuts, that unfortunately means a lot of us are perfectly fine eating stale ones and not knowing any better.