Floor Prices - Much Ado About Something
A few weeks ago, TTD announced they’d be ignoring floor prices passed to them in bid requests https://www.businessinsider.com/the-trade-desk-is-spearheading-a-big-change-in-how-digtal-ads-are-priced-2023-8.
Selective outrage has ensued. People have accused TTD of working against publishers, of shoring up its power and of trying to exert control. The Adexchanger article continued a few high level allusions to “floor prices not representing market value” and some other milquetoast quotes, but lots and lots of people see this as an “anti-publishing” move by TTD. To an extent – this is true! But not for the reasons you might suspect.
To begin with, let’s explore a brief history of floor prices in the online advertising industry.
Floor Prices 1.0 – Gaming the Vickrey Auction, not protecting value
I first encountered floor prices, and a demand for floor prices from the publishing industry, over 10 years ago. Back then the goal was simple – maximizing value for publishers by creating artificial additional demand in your second price auctions.
The logic here was in a Vickrey auction, or a second price auction, the top bidder paid the price of the next highest bid (or the price+1) :
By implementing a floor, most exchanges would allow publishers to augment the dynamic of the second price auction – and publishers (and some vendors) spend a bunch of money using ML to derive dynamic flooring systems that they didn’t think DSPs would detect (which, more often than not, they didn’t)
This was a delicate balance – floor too aggressively, and DSPs would detect your sell-side shenanigans. In fact, Criteo did – I remember some very angry emails from Criteo, who at the time were bidding SUPER aggressively to find the users they really wanted and thought would convert (in fact, a big part of their business was finding users undervalued by the market – which in my opinion is actually a huge value add for a DSP), but these floors prices screwed that strategy up.
This is the genesis of floor prices as a yield management tool.
This use case is simple – but it’s tremendously at odds with how most people view floor prices. The uninitiated will often allude to “value,” or “protecting publisher value,” or some other vague concept of publishers needing to “protect” their pricing. This instinct, while intuitive, is very limited in its application. Why is this? Why don’t floor prices have anything to do with publisher value?
Floor Prices to preserve value assume that when bidders don’t win, they will bid more to get your inventory. More often than not, this simply isn’t the case. There’s too much inventory out there.
Floor Prices to preserve value, by definition, cannot be A/B tested, and therefore cannot be proven to work. In order for anything in RTB to be deterministically assessed for its value, you need to run it on a randomly assorted instance of traffic. But with a floor price – you can’t do that! The section of traffic you don’t run it on will make the inventory available cheaper, materially damaging your thesis.
The Death of the Vickrey Auction and Floor Prices 2.0
With the advent of header bidding (and having sold one of the earliest header bidding companies), I was avowedly anti price floors for years. This is because the original use case was gone – in an environment where there are no second price auctions, there was no delta to capitalize on between the first and second price bids, therefore the insertion of any floor price could only hurt your yield as a publisher.
In principle, I still believe this, that in an intelligent world this is the case. However, there are a few use cases for floors that I overlooked, where they can provide value - DISCLAIMER - I DISLIKE ALL OF THESE, BUT DAMMIT THEY WORK
Why do floor prices make publishers more money, and why is it kind of awful
So, why do floor prices still exist?
Floor Prices can help publishers to extract value in situations where a bidder is converting from a CPC pricing model to a CPM pricing model.
DISCLAIMER : THIS SECTION IS WHAT’S KNOWN IN AD TECH AS “CONJECTURE” - THIS COULD BE COMPLETE WITCHCRAFT, BUT HEY IT SOUNDS GOOD
There’s one major, major use case for this – Google. GDN makes up a tremendous proportion of the demand on the internet, and it’s all built on performance buyers buying clicks and often backing them out into a CPA.
One of Google’s many, many clevernesses is that they have come to realize that the concept of performance translation is a place where they can realize additional revenue – depending on their expected probability of a click, the CPM that they derive can allow them to spend more or less money on inventory (and capture more upside). The way that this works is as follows :
Google Expected Click Probability – 20%
Google CPC - $5.00
Google Expected CPM – $1.00
In this scenario, Google thinks it’s willing to bid a $1.00 CPM for this inventory. However, because these determinations are entirely internal, they don’t have to bid this $1.00 CPM. More often than not, if they think they can get the inventory for $.20 – that’s what they’ll bid! And in this scenario, they’re still going to get paid their $5.00 per click, but they’re getting the inventory significantly cheaper than their expected value. This spells profits, especially in an ad network that sometimes takes 60% + margins.
In this scenario, the publisher can set price floors on Adsense and realize additional value by manipulating the translation between CPC and CPM.
2. Floor Prices are signals that can manipulate the bid stream
Okay, so I’m all for making more money from Google, that’s good and great, but surely with the migration to first price auctions floor prices are useless when it comes to adexchanges, right?
Floor Prices can be used in another semi-shady way to inform bid behavior. For this, I want to bring out a few floor pricing concepts, that TTD seems to be slowly getting to the bottom of but this article will lay out straight.
Floor Prices without signaling with enforcement
Floor Prices with signaling with enforcement
Floor Pricing with signaling without enforcement
Floor Price without signaling without enforcement (aka no floors)
We’ll only discuss the first three because the fourth is nonsensical.
Floor Prices without signaling with enforcement
In the world of “value preservation,” these actually make sense. I put a floor on my inventory, bidders see they don’t win, so they bid more until they start winning. Yay! Except there are literally _trillions_ of bid requests in RTB. Trillions. The likelihood that a given bidder, in a distributed computing environment, processing millions of queries per second, even thinks twice about bidding on your inventory again is infinitesimally low. It just isn’t going to happen. Please, if you’re a publisher, don’t do this.
Floor Prices with signaling with enforcement
This is a slightly better version of the above, but still not great. It’s not great for all of the value preservation reasons I outlined earlier – if you’re doing this to get more value from your inventory, you’re going to have a bad time. If it seems like it’s working, it’s not working for the reasons you think it is. Please don’t do this either.
Floor Prices with signaling without enforcement
Here is the crux of controversy. Why would a publisher ever do this? The answer is simple the perception of a floor, for some bidders, alters bidding patterns. Whether or not that floor actually exists doesn’t matter – in fact, it’s better if it doesn’t exist, because if it does the publisher will make less money by rejecting bids. Now we have the modern iteration of dynamic flooring systems – “how can I manipulate my signals in the bid request to get advertisers to pay more money for the inventory.”
This road that we’re on is a crappy one, because you can see what it has lead to – different floor prices flowing from different exchanges, or the really potentially sketchy one, different floor prices for different DSPs or seats in the same auction!
Dorothy we aren’t in Kansas anymore. Floor prices in these circumstances are so far past the concept of “value preservation” that I can’t even see it with binoculars. These floor prices are pure signal manipulations to try to get DSPs to bid more, full stop. It is what it is. Some DSPs will stop listening. Some DSPs will publisher virtue signal and keep listening. I don’t really care either way, but let’s call this what it is – an “asking price” as opposed to a “floor price” that bidders can choose to listen to or not listen to based on their data science around bid filtering and compute management.
Floors have nothing to do with market value, because we exist in a flat market. Publishers, you should use these to make more money while you can, even if I don’t like them. They’ll probably stop working one day, or maybe not. But the one thing that matters here is that the best way to increase the value of your inventory as a publisher is to think advertiser first – how can I make sure my inventory satisfies the performance metrics of the advertiser. Because at the end of the day, that’s all that matters, not some “perception” of value.
There’s one use case that I’ve excluded from this article, which is placing an advertiser or brand specific floor because you have a PMP or Deal in place with that advertiser. I haven’t mentioned it because I hate it – if you’ve convinced a brand or an advertiser to pay more money for shit they could buy OMP, I don’t think you’ve created more value on the internet, and in fact you’re probably just extracting it from a naive buyer. Power to you, but I’m not going to pat you on the back.