The Official Blog of Cogmap, the Org Chart Wiki


Archive for July, 2010


The Chaos of Second Price Auctions

Wednesday, July 21st, 2010

Second price auctions seem like they are all the rage.  One of the challenges in second price auctions is that a bid could theoretically be very high, yet the payout actually be very low if the gap between a bid and the second bid is significant.

One situation where this could be problematic is if the publisher in an ad auction requires a minimum payout higher than the second price but lower than the highest bid.  Theoretically, the impression could be lost by paying the second price in a situation where the bidder has clearly indicated his willingness to pay more for the impression.

This is increasingly critical as audience targeting and new retargeting techniques become more common because the spread between the sparse high performing data points and the “other impressions” is growing rapidly.  Media buying efficiencies based on techniques such as RTB are resulting a world of have and have-not impressions.  So how do publishers and advertisers find equilibrium?

Google has overcome this by allowing publishers to introduce a floor that acts as an artificial bid.  If a floor was $1.00, but the second bid was less than $1.00, the price paid by the winning bidder becomes $1.00, meeting the publishers minimum expectation while delivering the impression that the winner wanted to buy.  This sounds great!

There is a problem though.  Because the bids and asks (unlike in many electronic financial exchanges such as Archipelago) are closed, publishers increasingly feel pressured to use floors to daisy chain impressions, manipulating bidding to maximize revenue.  Floors are used something like this:

  • Suspecting a situation with significant disequilibrium between first and second bids, a publisher might set a floor of $5.00.  When the floor is higher than the first bid, the impression is passed back to the publisher.
  • The publisher than sends the impression back to the exchange, with a new $4.00 floor.
  • Repeat until auction is executed.

In a world of RTB, this is a situation hard to police and frankly, one that the exchange is not super-incented to fix as it extracts higher eCPMs.

What makes this really nuts is that, as publishers create and manipulate tiers to attempt to discover bid prices, advertisers are encouraged to adjust bids to attempt to discover artificial floor prices introduced by publishers.  The result is a constant moving target by both parties, adjusting floors up and down by pennies and dimes while advertisers adjust bids and frankly, experience wholesale changes in liquidity (campaigns come and go) that throw an unpredictable wrench in all these algorithms.

I know lots of startups are thinking hard about these issues.  It is great that we live in a market with so much white space.

International Ads

Tuesday, July 13th, 2010

What is going on with international advertising?  Can anyone tell me how effective international monetization is?  I ask because I generally thought of those impressions as not particularly valuable, yet InMobi and Hi5, predominantly international advertising plays, just raised a ton of money.

Quick story: Guy at competing ad network announced several years ago that they would pay a certain amount for a certain kind of impression that I coveted.  But what was funny was that it was a flat CPM with no frequency cap and no geographic restriction.  We promptly offered more than double to publishers, but frequency capped it and only took US impressions.  However, the restrictions were in the fine print.  So I see one of the senior guys at the competitor a few weeks later and he says, “I don’t get it, how do you monetize all the international stuff!”  So we were cherry-picking all of the good impressions and then publishers would ship them all the leftover international and high-frequency impressions.

Anyway, what is state-of-the-art for monetizing international impressions?

Do Publishers Own Referred Data?

Monday, July 12th, 2010

Companies are gearing up to make an absolute fortune in behavioral targeting by scraping Google search terms off of publisher referral data.  (Some already are!)

The theory is simple: Search has credibility with advertisers as a very effective behavior with high conversion rates.  The only people with active search behavior data today is Google.  When someone searches for something and then clicks, their browsers HTTP_Referrer is set to the last page they visited, possibly something like: (Where “Searching For Cars” was their query on Google).  So if a behavioral data gatherer like Magnetic is sitting on a publisher with a lot of search driven traffic (most web sites), they can gather a lot of referrer data.  Logging this allows for (As Magnetic’s web site describes it):

Magnetic™ is search re-targeting. The Magnetic data marketplace empowers advertisers and publishers to use search data as the key indicator of intent and re-target campaigns to the most relevant audience online. With more than 270 million search profiles, Magnetic significantly lifts the value of media and improves campaign performance.

A few years ago I had a similar, albeit less brilliant idea: It would be easy, in the same vein, to write a few lines of javascript that compared lists of sites to a browsers user history.  In that way, you could easily sell conquesting: Dell could show ads to everyone that had visited AT ANY TIME IN THE PAST.  All, without requiring Apple’s consent.  And I was able to get that data because I had a deal with Website X that allowed me to run tests against user history data in the browser without the user knowing.

Now, maybe a post like this will cause some start-ups to start coding away on this (no need, really.  It is only about 10 lines of javascript, then you have to ajax-ly forward it to your server.  Here is how.).  That is not my intention, obviously.  The real question is: Is that OK?  And if it isn’t, how is it different than the search retargeting we are seeing blossom in the market today.

What about other uses of that technology?  Could Microsoft offer special discounts to people that had visited recently?   Is it OK to essentially steal that data from a user?  Should you know what competitors a potential customer is talking to?

I posit that this whole area is about as far into a potentially unethical gray area as one could go.  There is basically no difference between any of these examples and they all make me want to turn off referrer data in my browser.

What do you think?  Are you OK with every website knowing every web site you visit and query you type into a search engine?  That seems like where we are going.

AppNexus is awesome!

Wednesday, July 7th, 2010

Just wanted to do a quick shout-out to the first sponsor of my blog, AppNexus.  AppNexus is clearly poised for transformational brand awareness the likes of which few companies in the space have ever seen.

Thanks, Brian O’Kelley!

The Value of Vectors in Behavioral Targeting

Wednesday, July 7th, 2010

Reading Eric Porres post about transparency in behavioral targeting on AdExchanger reminded me that I have been meaning to crank out a post about vector targets.

If we want to really simplify behavioral targeting, a behavior can be distilled to three attributes:

  1. The event: Is this a visit to Kelley Blue Book or a visit to Yahoo! Autos.  A visitor to one or the other could perform differently.
  2. Recency: Was it a week ago or a month ago.  Was it an hour ago?  True story: Retargeting cookies you dropped in the last hour perform a zillion times better than anything else you are doing.  Are you watching those?  Are you segmenting them out?
  3. Frequency: Did they visit twice?  Three times?  That performs differently.

Painting in extremely broad strokes here, there are a couple of kinds of behavioral bucketing strategies that are commonly used.  The simplest would be to simply describe the above behavioral attributes: “Our auto intender population is made up of people that visited AOL Autos at least 3 times in the last 60 days.”  This bucketing approach is nice in that it is quite transparent to an advertiser what constitutes a population member, however the population size is fixed, which can limit deliverability for a campaign.  We only have X number of people with those attributes.

Typically, the way a vendor might work around this is tracking populations with varying recency and frequency.  So if someone wanted to spend a bigger budget than could be delivered at 3/60, we have a 2/60 or a 3/90 that we could offer to advertisers and that becomes our auto intender population for this RFP.  Another way to flex the population is by mixing behaviors.  We might acquire auto intender data from 10 different publishers.  By squishing this together, it is possible to generate larger populations – “3 visits to any of these 20 sites in the last 60 days”, but it makes regressing performance more challenging, particularly because the data points around frequency, recency, and the sites used to generate the data are typically not shared with the advertiser.  But then, advertisers aren’t asking for it.

In an effort to recognize the performance variability in different inventory, as well as recency and frequency, most behavioral targeters have transitioned to a vector approach.  To illustrate from an anonymous vendor deck that most of you have probably seen (and frankly, an awesome example of modern BT):

So as people surf the behavioral data providers data sources, their scores against a variety of behavioral targets are incremented and decremented based on how well the behavior provider thinks they will perform against an offer.  This is nice in that it allows you to easily keep track of many variables.  Rather than tracking recency and frequency and sites visited by user, you track a single number and then you have things that modify the number all the time.  Data storage is much less sophisticated.  The downside is that you are forced to trust the publisher to accurately score users – A “strong performer” in theory could have become a strong performer in a number of ways and the advertiser can never unwind it to see if there are attributes other than “vector score of X” that correlate with performance.

Vectors are great for data exchanges because you can easily vary the vector score to deliver appropriate campaign volume.  If you only have a few people with a vector score of 1000, you can dial it down to 600 and have a 10x bigger population.  Or something like that.  Even in the above example, it is impossible to tell when they stop being a great target because it is all relative.

Vectors today are used to gauge all kinds of things, even things like gender – “This person visits sports sites every day, ipso facto, they are male.”

Unfortunately, all of this ease of use is hamstrung by the fact that vectors obfuscate, even for the person generating the data, how someone became what they are.  In an effort to create a compact data structure that can return real time bids in 250 milliseconds, we have decided to limit ourselves to looking at the forest instead of trees.

Now, today, there isn’t much to really complain about regarding this vector strategy or simple bucketing.  Few, if any, advertisers are prepared to consume every individual behavioral data point and regress on it to determine optimal converting behavioral attributes.  Because advertisers aren’t prepared, publishers are using vectors and not really storing the data in a way they could give to advertisers.

When I think about the future though, I expect someone, somewhere, is going to want this stuff.  Thar’s is gold in them thar hills!