Personalization is the heart of digital. As a direct channel, digital rewards personalization in almost every form, and there are no shortage of forms. My last post described a laundry list of strategies for personalization. From crowd-sourcing to Next-Best-Offer to people-matching, I cataloged thirteen different ways to make an experience more relevant. Most of those strategies need some form of analytics to make them work. Here’s a look at the techniques (including a few non-analytic ones) for driving those strategies.
When you first learn how to program, you usually start by writing a simple little program that writes “Hello World” to the screen. It’s not much of a program, but it helps you learn the basics of writing code, compiling it, and running it. For first time programmers, there’s a surprising amount of joy in seeing “Hello World” popup on the screen when you first run a program. Saved values are the personalization equivalent of “Hello World”. At the most basic level, saved values can be used to put a visitor’s name on the screen (“Hello Gary”), but there are many more options. When you tell your weather app to save a city, configure the layout on your home portal, or save a ticker symbol, you’re taking advantage of saved-values personalization. Think about how much personalization you likely do on your Smart Phone, and you’ll see how much power there is in this oh-so-simple form of personalization. Saved value methods can be quite complex from an IT standpoint, especially given the demanding requirements of Web and Mobile performance. On the other hand, there’s not much in the way of analytics here.
It may be hard to see how simple counting is either an analytics technique or the grounds for personalization. But counting is at the heart of many basic crowd-sourcing personalization strategies. When you go on a news site and see a “most read” section or “trending now” on a search site, you’re getting a type of personalization. It’s true that everyone else on the Website at that moment is getting exactly the same content. So what’s personal about that? Well, visitors to the site an hour ago saw something different. The experience is personalized by time. Analytically, the only real decision you need make when you’re setting up this type of very basic personalization is the data window to use.
Rule-based approaches are a long step up from simple counting and saved values. They are common, ubiquitous and powerful. If you’re using a testing tool or a CMS, most of your personalization within those tools will be rule-based. The most common rule-based strategies are basically If-then rules. If an event occurs, then make a content personalization decision. The range of possible personalization events is truly unlimited. Viewing a page, lingering on a page, returning to a site, setting a filter, scrolling, faceting, moussing over content, etc. etc. – anything a user does could be a trigger for personalization. Most personalization systems make it ridiculously easy to setup this type of personalization. Nor are you typically limited to event based strategies. A rule might also be based on a visitor profile – known facts about who someone is. Profiles can contain demographics, relationship variables, Web-browsing behaviors from 3rd party cookie tracking, more advanced segmentation codes – almost anything you know about a visitor and a rule can be constructed to display, for example, different images based on the gender and age of the visitor. Most rule-based personalization’s aren’t deeply analytic. Simple business logic and intuition often drive decisions about where and how to deploy these rules. But that isn’t always the case. If you’re deciding when to offer chat based on linger times, then you’ll typically run basic correlations to determine when performance on a page drops off. Simple rule-based content personalization’s are also commonly based on correlation. Because correlation often underlies this type of personalization, it’s especially important to be aware of the impact of site structure on correlation between pages when thinking about rule creation. Another challenge to rule-based approaches is that, while they are quite easy to deploy, they can be hard to scale. How many rules can you write and how many can be deployed on a site and remain comprehensible as a strategy?
Some types of personalization require you to evaluate alternatives and pick the best option. Rule-based approaches often become unwieldy in these situations. If you have 20 different product categories, writing a rule to pick out the product category a visitor is most interested in can be cumbersome or impossible. Scoring methods can be statistical (regression, Hazard models, stochastic models) or simple counting. At the most basic level, you might count product views in each product category incrementing the visitor’s score for each page view. We're all at least passingly familiar with much more sophisticated applications like credit-scoring that are based on advanced models. An advantage of scoring in situations like credit offers is that it allows for flexible offer generation depending on score and for weighting of risk factors more appropriately (since you aren't given a binary decision). Scoring methods are also valuable when you need confidence measures before applying personalization. Most forms of personalization are relatively benign. I’m unlikely to notice or care if I get a movie recommendation for something I know I don’t like. But some types of personalization can be embarrassing, insulting or laughable – none of which are desirable reactions. Scoring methods provide a way to decide if you’re confident enough to use a personalization.
Market-Basket analysis was perfected in the grocery-store industry back in the 80s. The idea behind it is simple – there are patterns in what people buy (or view) and by understanding those patterns you can determine affinities between different products or content. In their most basic form, market-baskets are non-segmented, but the analysis can easily be extended with additional segmentation variables. The most common use of basket analysis is to understand personalization options around product affinity. In grocery, it’s used both to determine shelf layout (interestingly, groceries don’t always focus on your convenience – certain very common baskets are intentionally spread across the store so that you’ll be more likely to impulse buy along the journey) and to drive couponing. Obviously, the primary use of Basket analysis is to drive product or content recommendations based on affinity, but baskets can also be used to help identify visit types. When I visit the grocery, for example, my visits tend to be either quick, essentials-focused visits or large shopping expeditions. I’ll likely buy milk, eggs and juice (all of which my household goes through at alarming rates in both visit types. As soon as I add meats or canned goods or paper products, though, it’s reasonable to infer that I’m on a larger shopping expedition. Similar patterns often emerge around Web viewing. On content-focused sites, we often see very distinct patterns emerge around “quick-hit” browsers and less focused content consumers.
One of the most challenging aspects to Web personalization is that we often have to make rapid decisions about personalization and we start with very little data with which to make those decisions. Suppose you’re trying to decide when to offer Chat to someone in a lead generation process. Because you have limited chat resources, you don’t want to universally offer chat. Ideally, you want to restrict chat offers to potentially good leads that are unlikely to complete the lead without help. To make this decision, you might build out a set of ad hoc rules of this sort: “If visitor spends more than 2 minutes on Page X and visitor is a repeat visitor, then offer chat.” Decision-trees create a data-driven method for solving this kind of problem. One of the beauties of the decision-tree approach is that each additional visitor behavior provides information to the process; this makes it possible to continually refine your personalization strategy as you accumulate behaviors. It’s likely that you’d never offer chat when a visitor first lands on your site, but with each page and each behavior, your confidence about whether to offer chat or not will grow and the decision tree can drive exactly that calculus. In addition, decision trees can usually deliver very high-performance because each subsequent decision involves navigating a single set of rules. This makes decision-trees excellent for accumulative personalization.
Direct marketers have been using look-alike strategies to drive targeting and personalization for many years. The idea is simple – you seek to identify from a pool of prospects, the ones that “look” most like your best customers. That “look” might be demographics or behavior. The exact same principles that drive look-alike targeting can drive look-alike personalization. If you identify that Visitor X “looks” like Visitor Y, and you know what content or products Visitor Y likes, then you can suggest those to Visitor X. The analytics behind look-alike can vary (regression, nearest neighbor, etc.) and often bleed over into my last category – clustering and segmentation.
Clustering is a data-driven method for grouping visitor’s together across many dimensions of behavior. You can think of clustering in geo-spatial terms. A visitor is scored for each variable and that variable moves the visitor down a vector in the space a distance determined by the score. Once all the points are plotted, the cluster analysis then identifies groupings in the data (which is surprisingly tricky and sometimes rather arbitrary). This is easy enough to visualize when we stick to 2 or 3 dimensions – imagine a plot of age by income – but much harder when we think along 20 or 30 dimensions. But that’s the beauty of a cluster-analysis. An analyst, no matter how brilliant, can rarely think in more than three dimensions; so most ad hoc rule based systems rely on one or two dimensions to define a segment. A cluster analysis can accurately assess many more dimensions and allow for a richer, deeper, and more consistent picture of who a visitor is. Clustering can be done on behavioral data (what we do for the visit intent part of our two-tiered segmentation) or traditional data like demographics. It can even combine the two. Clustering was, traditionally, the primary technique for driving high-level marketing segmentations and is often used as a driver of creative since it creates a rich picture of a visitor that helps content developers more easily imagine appropriate content. As with rule-based systems, site structure can play havoc with clustering analysis – so it’s critical that you aggregate behavioral data appropriately. Clustering strategies are particularly useful in operationalizing personalization strategies because they aggregate many behaviors into a single code that can then be stored in a visitor profile and used for a variety of personalization tasks. Cluster codes can even be embedded as inputs into other analytics strategies (like Decision Trees) to roll-up lots of previous behavior so that the decision tree can easily factor in both current viewing and past history.
As with the long list of personalization strategies, the list of analytics strategies is far from complete and yet long enough to be daunting. In my next post, I hope to simplify things a bit by matching up personalization strategies to the most appropriate analytics techniques. I’m not sure how well that’s going to work, but that’s the plan!