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:
- 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.
- 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?
- 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!