In part one of this blog posting series, we took an introductory tour of recommendation systems, digital marketing, and SAS Customer Intelligence 360. Helping users of your website or mobile properties find items of interest is useful in almost any situation. This is why the concept of personalized marketing is relevant. However, when I reflect on what one-to-one marketing is all about, it breaks down into three tiers:
- A/B, MAB, or Multivariate testing – An extremely popular flavor of optimizing a digital experience that requires little data about the visitor to get started.
- Recommendations – Visits can be grouped and compared, allowing you to identify aspects of behavior that act as proxies for interests. Only a moderate amount of data is required.
- Propensity modeling – Predictive targeting based on probabilistic likelihoods using machine learning. It’s sexy, but typically requires more data, such as behavior, history, location, demographics and psychographics.
In part two of this series, I will:
- Continue demystifying how recommendation systems support personalized marketing.
- Provide details of the analytical techniques used within the automated recommendation feature of SAS Customer Intelligence 360.
- Show a step-by-step demonstration on how to deliver recommendations within SAS Customer Intelligence 360.
A massive differentiator of SAS within the martech space is a focus on the analytics lifecycle. Only by recognizing and fully supporting the phases around data, discovery and deployment will brands get a complete process to take advantage of impactful insights. Everything SAS does is built around the recognition that organizations need to get from data to value, with the analytics lifecycle as the underlying principle. We have it down to a science, and algorithmic recommendations is one of many customer personalization challenges currently supported.
Automated calculation of analytical recommendations
Behind the scenes, SAS Customer Intelligence 360 uses collaborative filtering based on the idea that people that share preferences for certain products are likely to share preferences for other products. The method groups users into “neighborhoods” where users in the same neighborhood have similar preferences. Product recommendations for a user are generated by analyzing navigational and behavior user patterns and estimates preferences for products. These preferences are converted to implicit ratings as input to the collaborative filtering method.
There are a few challenges every recommendation system must overcome:
- Scalability: As a recommendations database grows, the performance decreases. It is beneficial to try to make systems, which can handle large amounts of data and produce accurate recommendations quickly. There will always be a trade-off between performance and prediction accuracy; however, recent innovations in the parallelization of algorithm execution is addressing the challenge.
- Cold-start problem: The problem appears at early stages of a recommender system’s life cycle, or when a new user or item is added to the system. If there is little information about users or items, the collaborative filtering will behave poorly.
- Sparsity: It is common in digital marketing for people to view, click, or purchase relatively few items compared with the total number of items available. This leads to a sparse users-items representation matrix and, therefore, inability to identify neighbors or derive common behavior patterns. The result is low-quality recommendations. This problem is addressed in latent factor modeling algorithms, which use dimensionality reduction on items and users, resulting in the identification of common behavior patterns within a reduced dimensional space.
SAS Customer Intelligence 360 uses two flavors of algorithmic techniques in a hybrid approach that combines collaborative filtering and content-based (item) filtering to deliver recommendations, while overcoming the scalability, sparsity and cold-start problems.
Flavor #1: SAS Proc RECOMMEND
User-centric collaborative filtering is the main technique used by Proc RECOMMEND, because it takes the implicit ratings of users for items as inputs, and outputs the recommendations for individual users. The following methods are supported in SAS for custom use cases:
- Memory-based algorithms
- Slope one
- K nearest neighbors
- Model-based algorithms
- Matrix factorization (singular value decomposition)
- Market basket analysis
- Association rules
- Mixture of different methods
SAS Customer Intelligence 360 exploits matrix factorization using singular value decomposition (SVD) for automated recommendations. If you’re unfamiliar with the benefits of SVD, please check out this link. Specifically, it proves effective in combating the scalability and sparsity challenges common in recommendation systems. However, the cold-start problem presents itself with subsets of visitors, and the resulting impact is the lack of sufficient information to derive meaningful recommendations using matrix factorization. In these cases, item-centric filtering methods prove beneficial when a visitor’s implicit inputs are insufficient.
Flavor #2: SAS Proc OPTGRAPH (link analysis)
Content-based (item) filtering is the main technique for link analysis, because it uses inputs of the item attributes and a profile of the user’s preferences. The algorithm will recommend items that are similar to those that a user liked in the past (or is examining in the present). Various candidate items are compared with items previously rated by the user, and the best-matching items are recommended. Two areas of application supported in SAS for custom use cases are:
- Association discovery: The identification of items that occur together in a particular event or record. This technique is also known as market basket analysis.
- Sequential discovery: Goes one step further than association discovery by taking into account the ordering of the relationships among items (the rules additionally imply a timing element). For example, rule A ==> B implies that event B occurs after event A occurs.
SAS Customer Intelligence 360 approaches link analysis by analyzing the implicit data inputs to define the association rules to be used for recommendations. The rules are transformed into a graph that consists of nodes and links. The centrality of a node in a network is a measure of its structural importance. There are many centrality measures in graph theory worth considering.
SAS Customer Intelligence 360 ultimately uses all these measures, scores the data, and produces a next-best recommendation for a user when insufficient information is available to apply the Proc RECOMMEND method.
It is important to note that users are not limited to automated recommendation targeting. Here is a great paper on building custom recommendation engines in SAS Viya that you can use with SAS Customer Intelligence 360.
Here is how you can build and deliver recommendation targeting in SAS Customer Intelligence 360. Recommendations are available for web and mobile channels (highlighted below in blue borders) from within a SAS Customer Intelligence 360 task.
At a high level, the process workflow for a marketer consists of the following:
Step 1: Create the visitor behavioral event as the basis for recommendations – for example, a product view event.
After selecting the event type, users can select a web page view or mobile app action as inputs for data collection.
The user then selects the page(s) where product views will take place. One option is to navigate to the page (I will use the sas.com website for this example).
Lastly, users define the key data points from the product pages that will ultimately feed the recommendation engine. For user-centric or item-centric approaches, the user simply needs to define the ingredients, such as Product IDs, Product SKU, etc. to be captured. This step is important because it provides the inputs for SAS to run automated analytic procedures. These attributes are scraped from the page and become part of the visitor’s state vector. The values are fed into the algorithm which subsequently informs SAS Customer Intelligence 360 to obtain the correct content for a recommended product(s), and deliver into the visitor’s website or app session.
Step 2: Select the creatives to be used to display recommendations
The user now needs to specify the family of creatives available for selection and delivery for every visitor session that triggers the recommendation system.
Next, the software will request the user to pick the URL template that will deliver allocated imagery.
The URL template is a one-time configuration based on your selection of Recommendation targeting at the user or item level. Users leverage the template to create a reusable URL containing parameters, such as %%Product_ID%% or %%Product_SKU%%, which SAS uses to locate creatives. For example, a URL template can contain a Product_ID of “SCI-01”, and when deemed algorithmically relevant during a visitor journey, the content can be uniquely selected for delivery, such as the example highlighted in blue below.
Step 3: Define the spot(s) where recommendations are to appear
Spots are the specific areas of the digital experience where users want the recommended product creatives to display. Visual selection tools accommodate the designations.
Step 4: Make a task to display recommendations in the spot(s)
Now that a user has the data collection, creatives and spots ready, it’s time to turn on the recommender task.
A menu will walk the user to select their preferred options. Users can select “product-centric” to make recommendations based solely on associations of product views across all visitors. Users may also select “user-centric” to make recommendations that take additional visitor behavior into account. Mapping back to how the user specified the collection of relevant data, the product identifier is also available for designation.
The ability to map the task to other targeting criteria can be used to further qualify which visitor sessions should receive targeted personalization.
Step 5: Publish the task
The moment of truth arrives to publish and unleash the personalization workhorse on a web or mobile experience.
Step 6: Monitor results against a control group
An important part of evaluating recommendations is whether the products being proposed make business sense. The inner workings of a recommendations system can be opaque, so it can be difficult to construct test cases to be certain whether the generated products are optimal. It’s more of a numbers game and something of an art to figure out how appropriate the recommendations are. And appropriate in this sense also reflects the business strategy for using recommendations in the first place.
Once recommendations are being served, it is natural to ask how well they are performing. Most brands will have an idea of the baseline they want to compare against. In many cases, organizations simply promote popular products. SAS Customer Intelligence 360 includes the ability to form a control group consisting of a user-designated number of popular products. A random subset of visitors is served using a “most popular products” strategy, and the performance of the algorithmic recommendation system is compared to this group. The results are presented in an easy-to-understand tabular form showing comparative conversion and lift rates.
Whether it is A/B, multi-arm bandit, multivariate testing, recommendation systems or propensity model targeting for varying flavors of personalization, SAS Customer Intelligence 360 showcases its analytic strengths and reinforces our vision to be the leader in bringing advanced techniques to digital marketers.
Consumer behavior is challenging to predict, but by using multiple algorithms, SAS Customer Intelligence 360 can shapeshift to meet the demands of the modern consumer.
Get a free copy of the Forrester Wave™: Customer Analytics Solutions, Q2 2018 research report.