SAS Customer Intelligence 360: Factorization machines, visual analytics, and personalized marketing


In a previous posting, SAS Customer Intelligence 360 was highlighted in the context of delivering relevant product, service, and content recommendations using automated machine learning within digital experiences. Shifting gears, SAS recognizes there are different user segments for our platform. This post will focus on building custom analytical recommendation models for delivering customer personalization.

(Image 1: SAS Customer Intelligence 360 - User personas)

Competition in customer experience management has never been as challenging as it is now. Customers spend more money in aggregate, but less per brand. The average size of a single purchase has decreased, partly because competitive offers are just one click away. Predicting offer relevance to potential (and existing) customers plays a key role in segmentation strategies, increasing macro- and micro-conversion rates, and the average order size.

The topics that I will cover are:

  • What are factorization machines?
  • How do factorization machines support personalized marketing?
  • How does SAS Customer Intelligence 360 support building and deploying factorization machines within digital experiences?
  • A step-by-step demonstration and a business use case for the bookstore.

Introduction to factorization machines

A factorization machine is a predictive model that combines features of a support vector machine and matrix factorization. By modeling all variable interactions with factorized parameters, factorization machines can handle large data with high volumes of missing values (i.e. sparse data).

Factorization models have attracted a lot of research in the fields of intelligent information systems and machine learning. They have shown excellent prediction capabilities in several important applications, such as personalized marketing and recommendation engines.

How do factorization machines help data-driven marketers?

The algorithm aims to learn consumer preferences to recommend items such as movies, books or songs. The purpose is to predict how a user would react to a set of items, and then recommend items that the user is likely to prefer the most. Whether in real time while customers browse, or through outbound marketing later, several things need to happen.

  1. At first, while learning about your users' tastes and preferences, recommendations can be based on item attributes alone.
  2. Over time (and with enough data), factorization machines enable useful analysis to deliver more meaningful recommendations.
  3. Other users’ inputs can improve the results, qualifying why the system should be retrained periodically.

The application of a factorization machine model within a customer experience will follow these phases in SAS Customer Intelligence 360:

(Image 2: SAS Customer Intelligence 360 - Factorization machines and workflow phases)

SAS Customer Intelligence 360 is an end-to-end solution, and the platform consists of:

  1. A scalable front end that records user interactions to collect, prepare and store aggregated data that is analytically-ready.
  2. Machine learning capabilities.
  3. Algorithms that can analyze and create relevant recommendations.
  4. Storage of user scoring that can be used by the deployment front end, in real time or later, based on the timeliness requirements for interactions.

Use Case: SAS bookstore

In this example, you will see how the SAS bookstore can use factorization machines to compute relevant recommendations and present them to customers who are browsing the brand’s website. With countless titles available, predicting how customers would rate books enables a personalization strategy to prioritize showing specific book titles that they are likely to be interested in.

SAS Customer Intelligence 360 can collect data about users based on:

  • Implicit behavior.
  • Explicit input.

For a bookstore, it is common for a subset of users to leave ratings. In this example, users and items share a data trail that analysts can use to form a data-table matrix for modeling. Suppose you have user ratings of 1-5 where each value represents rating given by the user.

(Image 3: SAS Customer Intelligence 360 - Matrix example)

You can see that some of the ratings are missing, and you would like to predict these. Below is our rating goal:

(Image 4: SAS Customer Intelligence 360 - Rating matrix)

Notice that you can closely recreate the existing ratings, as well as get an approximation to the missing values. The idea behind using matrix factorization to solve this problem is that there should be some latent features that determine how a user rates a book. Based on your digital property's traffic volumes, this matrix can become very large, because there can be millions of users and product items. Moreover, it is sparsely observed, because typically only a small fraction of historical ratings is available for analysis.

For readers technically interested in learning how to overcome these rating prediction challenges by factorizing the matrix into lower-dimensional user and item factors, please check out this white paper by Jorge Silva and Raymond E. Wright.

Moving on, because this example draws on data based on visitor interactions with the SAS bookstore, the marketing strategy is to proactively offer recommendations of books users didn’t click on explicitly, but may like. Our analysis data set in support of this objective has four columns provided from SAS Customer Intelligence 360: Book ID, Visitor ID, Book Rating, and Time ID.

(Image 5: SAS Customer Intelligence 360 - Modeling input data)

Let’s produce rating predictions for every specified Visitor ID and Book ID. Users select the factorization machine analysis object, drop it into the work space (see figure below), assign attributes to roles and the model executes to provide results.

(Image 6: SAS Customer Intelligence 360 and SAS VDMML - Factorization machine analysis object)

Using FACTMAC, the procedure implements the factorization machine model. It can be used to read and write data in distributed form to perform factorization in parallel by making full use of multi-core computers or distributed computing environments.

(Image 7: SAS Customer Intelligence 360 and SAS VDMML - Factorization machine analysis)

Here is an introductory video of building factorization machine models in SAS.

The FACTMAC procedure estimates factors for each of the predictors (Book ID, Visitor ID), in addition to estimating a global and level bias. After specifying the target variable (Book Rating), the procedure computes the biases and factors by using the stochastic gradient descent (SGD) algorithm, which minimizes the root mean square error (RMSE) criterion. In this method, each iteration attempts to reduce the RMSE. The SGD algorithm proceeds until the maximum number of iterations is reached, shown by the loss function within the iteration plot.

As shown in the image below, analysts have many optimization modeling options available. For example, the learn-step parameter controls how fast the stochastic gradient descent solver learns. Smaller values increase accuracy, but might require a larger number of iterations to reach a good solution. Auto tuning is supported in selecting optimal values for factor count, maximum iterations and learn-step. Lastly, to ensure model stability, data partitioning for table stratification is available for training, validation and testing.

(Image 8: SAS Customer Intelligence 360 and SAS VDMML - Factorization machine modeling options)

Further demystification of the model includes the scored response and assessment plots. The scored response visualization shows the distribution of the model’s predicted book ratings. The assessment graphic shows the overall performance of the model by comparing the predicted and observed book ratings. Assuming we are happy with this model, the next step is to make the rating scores available for deployment.

(Image 9: SAS Customer Intelligence 360 and SAS VDMML - Factorization machine modeling scoring)

The output of this selection enables an analyst to produce the following data view.

(Image 10: SAS Customer Intelligence 360 and SAS VDMML - Factorization machine deployment output)

Each user now has a predicted rating score for every product available at the SAS bookstore. And every visitor can have a rank-ordered set of scores associated with their profile. Rest assured, there are different approaches in making analytically scored data available within (and outside) of the SAS platform beyond a table. What options do analysts have in helping their marketing teams?

This is the part where the actionable prescription is ready for the marketer. Whether the intent is to display a single recommendation like this:

(Image 11: SAS Customer Intelligence 360 - Single product item targeting)

Or if the intent is to allocate multiple recommendations at once:

(Image 12: SAS Customer Intelligence 360 - Multi product item targeting)

The beauty is all the execution ideas are options for the marketer to consider. When it comes to targeting audiences for web personalization, mobile cross-sell opportunities, or email acquisition programs, this modeling output is crucial in including (or excluding) individuals for recommendations.

(Image 13: SAS Customer Intelligence 360 - Multi channel delivery capabilities)

The marketing strategy will lead with a recommendation concerning the best offer to deliver within the touchpoint. The decision(s) can be made in real time for inbound interactions, and triggered for outbound communications. The decision will select only the highest ranked proposition out of the possible book title offers, depending on the individual’s predicted score(s), their eligibility and other relevant criteria. Here is an example of how a marketer would set up the nested targeting logic.

(Image 14: SAS Customer Intelligence 360 - Audience targeting)

In closing, we welcome readers to obtain a free copy of the Forrester Wave™: Customer Analytics Solutions, Q2 2018 research report. It provides analyst validation of the strategy and ability for SAS to perform against different customer analytic challenges. The creation of custom recommendation systems and delivering personalization across multi-channel customer experiences is simply one relevant use case of many that can be accommodated.


About Author

Suneel Grover

Advisory Solutions Architect

Suneel Grover is an Advisory Solutions Architect supporting Digital Intelligence, Marketing Analytics and Omni-Channel Marketing at SAS. By providing client-facing services for SAS in the areas of predictive analytics, digital analytics, visualization and data-driven integrated marketing, Grover provides technical consulting support in industry verticals such as media, entertainment, hospitality, communications, and sports. In addition to his role at SAS, Grover is an professorial lecturer at The George Washington University (GWU) in Washington DC, teaching in the Masters of Science in Business Analytics graduate program within the School of Business and Decision Science. Through this hybrid of activity, he provides thought leadership through white papers, featured speaker presentations, and program advisory services for entities such as the Direct Marketing Association (DMA), Interactive Advertising Bureau (IAB), Indiana University (IUSB), University of Missouri (UMSL), Radford University (RU-COBE), and New York University (NYU-SCPS). In addition to his contributions to industry and academia, Grover has a MBA in Marketing Research & Decision Science from The George Washington University (GWU) and a MS in Integrated Marketing Analytics from New York University (NYU).

Leave A Reply

Back to Top