BookmarkSubscribeRSS Feed

DIFM Prebuilt Machine Learning Recipes For SAS Customer Intelligence 360

Started a week ago by
Modified a week ago by
Views 456

Brands aspire to strategically manage their business through prioritizing customer convenience. This involves  anticipating and responding to customer needs, while manifesting in proactively delivered, seamless, and unobtrusive interactions. The intent is to provide personalization, assistance and valued services. However, there is a little secret in the customer analytics ecosystem that practitioners frequently will admit to when pressed for honest feedback. A massive proportion of customer & marketing analysts in 2024 continue to skew towards the wrong end of this workflow spectrum:

 

"I spend more than 80% of my time preparing data, and less than 20% actually performing analysis."

 

Speed bumps like this usually emerge when customer experience teams require advanced insights for propensity scoring, algorithmic segmentation,  retention strategies or next-best-actions. For example, have you ever tried to extract event (or HIT) data from your preferred marketing cloud vendor because your team grew frustrated by the limitations of digital BI & reporting (in other words, descriptive measurement and diagnostic analysis capabilities)? Those who have experienced this have witnessed firsthand the data extracts are not formatted for machine learning or AI use cases, and the time-to-value expense becomes heavily negative in the complex efforts to re-engineer that data.

 

Accelerating through this challenge has been a key area of interest at SAS, and the solution is referred to as analytic base tables (or ABTs). It is the process of organizing data into a flat table schema that's used by analysts for building analytical models and scoring (predicting/inference) the future behavior of a customer. A single record in this table represents the subject of the prediction (such as a customer or anonymous visitor) and stores all data (variables, features or predictors) describing this subject.

 

But there is more to efficiently delivering analytically-driven value downstream to teammates involved with customer experience management. It isn't just about getting customer data ready for modeling, and also involves:

 

Domain Expertise & Applied Use Cases

 

Think about the magnitude of requests that come in from customer experience and marketing teams to their supporting analysts. The wish list includes actionable scoring for topics like:

 

  • Acquisition
  • Upsell
  • Retention
  • Segmentation
  • Next-best-action (or experience)
  • Recommendations
  • Lifetime value
  • Pricing personalization
  • Attribution

 

The list could go much longer, but as many readers recognize, the point remains the same. Customer experience management has an insatiable appetite for data intelligence. This myriad of desires stratifies further when considering industry context. For example, retail brands commonly desire to optimize their app's shopping experience and increase the lifetime value of mobile users. Alternatively, financial service brands want to deepen customer relationships and improve stickiness through recommendation systems for upsell opportunities. Finally, entertainment brands with subscription services obsess about retention (or churn), identifying meaningful friction points within customer journeys, and alter strategic treatments on minimizing these customer events.

 

Image 1: Considerations For Prebuilt Recipes & Customer IntelligenceImage 1: Considerations For Prebuilt Recipes & Customer Intelligence

 

Use Cases & DIFM Prebuilt Recipes 

 

An emerging trend to combat the ongoing analysis inefficiencies cited above involve Do-It-For-Me (DIFM) Prebuilt Recipes representing a specific ML/AI algorithm or model ensemble, processing logic, and configuration to auto-build and execute a trained solution that comprehensively solves (or improves efforts against) specific business problems. The analytical models and data engineering pipelines are ingredients of a broader recipe that get trained on data and parameter configurations to optimize the solution's ability to contribute significant value when pivoting to customer inference.

 

Training is the process of learning patterns and insights from labeled data. A trained model represents the actionable output of a model training process, in which a set of training data was applied to the model instance. The benefits of a trained model include scoring, inference and creating an intelligent customer service.  

 

Another way to think about recipes is through a stepwise (or itemized set of workflow steps). Let's walk through a use case where brands that leverage SAS Customer Intelligence 360 and Viya can benefit from this concept.

 

SAS Customer Intelligence 360 + Viya for DIFM Prebuilt Recipes

 

The structured data model available to users of SAS Customer Intelligence 360 provides 1st party digital customer data views suitable for a variety of customizable analysis purposes. The data model and it's associated schema is an opportunity to leverage use case-driven recipes.

 

Image 2: Analytical-Driven Integrated Marketing Relies On High Quality IngredientsImage 2: Analytical-Driven Integrated Marketing Relies On High Quality Ingredients

 

Here are examples of what an analyst can do with data originating from SAS Customer Intelligence 360 when instrumented on a brand's website, mobile app and/or any channel-based communications/campaigns.

 

  • Analyze session-based customer behavior where structured information about all visitors (identifiable and/or anonymous) including device type, browser, date, time, location and other dimensions/metrics is accessible.
  • Analyze journey-based customer behavior where a consolidated view of all sessions, attributes and activities across all 1st-party cookies and devices is available. 
  • Model how customer behavior correlates with macro- and micro-defined goals and events using supervised learning techniques.
  • Perform attribution and/or media mix analysis to determine opportunities to incrementally lift the ROI of paid media investments.
  • Build a recommendation system for data-at-rest or data-in-motion use cases leveraging customer viewing behaviors of products and/or services offered.
  • Detect bias and mitigate (or remove) such negative and unintended effects on customer insights.

 

 

The list above is simply a sampling of ideas on how the SAS Customer Intelligence 360 data model can be leveraged. Next, let's take a high-level look at the types of tables that reside within the data model's schema.

 

Image 3: Data Model Snippet & ContextualizationImage 3: Data Model Snippet & Contextualization

 

As analysts within SAS, the concept of accessible data of any type within SAS Libraries applies to users of both SAS 9 and SAS Viya. We are accustomed to creating connections to where data resides within on-prem and cloud-based locations. Using this same concept, SAS Customer Intelligence 360 makes 1st party digital interaction data between consumers and a brand available to SAS analysts in the same exact manner. 

 

The screenshot below shows an instance of SAS Studio & Flows within Viya 4. On the left-side, SAS analysts will immediately recognize a library with data tables. One specific table, entitled FIN_ABT_Attribution is opened to highlight the available dimensions, metrics, date and time-based variables. The Pre-Process Code node in the first swim lane of the Flow contains a short snippet of code to enable the analyst to create a data connection. It simply contains the instructions/credentials highlighting how SAS Customer Intelligence 360 data residing within a Snowflake environment can be accessed in a repeatable fashion. After running the node, the connection to the server residing in Snowflake is established and the library containing all of the data model's tables are available for analysis. Outside of Snowflake, readers should know the same approach can be used for SAS Customer Intelligence 360 data landed for long-term storage in other platforms (hyperscalers, on-prem databases, etc.).

 

Image 4: Creating A Customer Intelligence 360 Data Connection In Viya 4Image 4: Creating A Customer Intelligence 360 Data Connection In Viya 4

 

Analysts are not limited to simply selecting ALL the data. The next screenshot shown below opens up a second swim lane within this Flow which provides no-code user features to select:

 

  • Specific area(s) of the data model (dimension, event or reporting) 
  • Acute categories of data
  • Data-at-rest snapshots filtered on time windows

Image 5: No-code User Features For Selecting Customer Intelligence 360 Data ViewsImage 5: No-code User Features For Selecting Customer Intelligence 360 Data Views

 

The beauty of this example is enabled in SAS Viya 4 using a Custom Step feature. For readers unfamiliar with this, SAS Studio ships with several SAS Steps, which are available from the SAS Steps tab in the Steps pane (see screenshot below). For example, one use case for a Custom Step enables analysts to create an interface for no-code users at your organization to complete a specific task. Custom Steps can be saved to your SAS Server or in SAS Content.

 

The SAS Server is any file system that SAS can access. Users can save Custom Steps on a local network, in Git, and other shared mounted systems. Analysts can access these steps from the Explorer pane within SAS Studio on Viya. Steps that are saved can be shared with other SAS users at your organization.

 

Image 6: Custom Steps For Accessing & Selecting Data From SAS Customer Intelligence 360Image 6: Custom Steps For Accessing & Selecting Data From SAS Customer Intelligence 360


The Shared tab shown on the left-side in the screenshot above lists all the Custom Steps available in my demo environment. It includes Steps for simplifying the process of accessing data originating from SAS Customer Intelligence 360. This list includes any Steps that an analyst authored, any steps that are saved at a location where users have access, and any Steps that have been shared. This is a critical moment in this article's reading.

 

For every brand that selects to use SAS Customer Intelligence 360 and Viya 4, the deployment of the technology can include Custom Steps to remove any high-code requirements and users can accelerate their access of important 1st party digital customer data originating from interactions with a website, app, marketing channels and paid media. Removing the friction of working with SAS APIs (although high-code users are still welcome to leverage this alternative) is the value proposition to accelerate usage and amplify analysis efforts.

 

For brands who have this no-code preference, simply communicate this request to your supporting SAS account/support team members, and the Custom Steps highlighted in this article can be shared with your user team.

 

Moving on, now that an analyst has selected the relevant data from SAS Customer Intelligence 360 to work with, we can explore recipe types and associated ingredients for leveraging use-case applicable ABTs (analytic base tables) & algorithms. This allows us to introduce prebuilt machine learning recipes for common business needs, like segmentation, propensity, and recommenders, so data scientists and developers don’t have to start from scratch. If users prefer, they can adapt any of the proposed prebuilt recipes described below to their needs (or start from scratch to build a custom recipe).  Once analysts train/tune a recipe, creating an intelligent activation layer doesn’t require a developer - just a few clicks and marketers/customer experience are enabled to build targeted, personalized customer experiences using the SAS Customer Intelligence 360 Audiences API. More on this in a moment...

 

The concept of a recipe may be a new term to some readers. Let's break this down:

 

Recipe

A recipe is a term for a data-driven solution for a particular use case and is a holistic asset representing a specific ML/AI algorithm or ensemble, processing logic, and configuration required to build and execute a trained model and hence help solve specific business problems via inference.

Model

A model (prediction/ML/AI) is a recipe ingredient that is trained using historical data and configurations to solve for a specific use case.

Training

Training is the process of learning patterns and insights from labeled data.

Trained Model

A trained model is a recipe ingredient representing the executable output, in which a set of training data was applied to the algorithmic solution. The trained model is suitable for scoring and creating a customer treatment strategy. 

Scoring

Scoring is a recipe ingredient representing the process of generating insights (inference) from data using a trained model.

CI360 Audiences Service

A deployed service is a recipe ingredient which exposes functionality of an advanced algorithm (originating from SAS and/or open-source) through an API so that it can be consumed and activated by SAS Customer Intelligence 360.

 

With that said, let's dive into an example. We will start with a recipe for customer segmentation, where SAS strives to provide our users:

 

  • Algorithms that produce better analytic scores and accuracy.
  • Automation of machine learning that aligns with greater productivity.
  • Human-like interfaces, creating approachability.
  • Trust, which is critical when using segmentation effectively.

These concepts represent our guiding light on how information & derived insight are used to make intelligent decisions regarding customer treatments.

 

Image 7: Input Tables & Mappings For Customer Segmentation RecipeImage 7: Input Tables & Mappings For Customer Segmentation Recipe

 

The customer segmentation recipe begins with input tables originating from SAS Customer Intelligence 360's data model. For this example (screenshot above), we are using five tables:

 

  • Product Views: The PRODUCT_VIEWS table provides information about what products visitors view. The table is sourced from the product view event in SAS Customer Intelligence 360.
  • Session Details: The SESSION_DETAILS table provides information about web and mobile sessions. This information includes a wide range of data about your users. For example, you can use this table to determine which browsers are used to access your content, identify the geographic location of web or mobile app users, and identify the traffic sources that brought a user to your website.
  • Identity Map: The IDENTITY_MAP table stores the associations between anonymous users and identified customers, and is updated when an anonymous user is identified by SAS Customer Intelligence 360. An anonymous user can be identified through an identity event or a data import. These examples illustrate when an entry is added to this table:
    • When an anonymous user signs in to your site (or app) and triggers an event that captures the login_id or customer_id, that anonymous user becomes an identified user.

    • When the same person is identified by SAS Customer Intelligence 360 across different devices, an entry is added. For example, a user first signs in to your mobile application, then the same user navigates to your site without signing in. The user is identified on the mobile app, but anonymous on the site. After the user signs in to your site, SAS Customer Intelligence 360 associates the anonymous user with the identified user that logged in to the mobile application.

    • If you import data that has information in multiple ID columns and one of those columns is already known in SAS Customer Intelligence 360, the system merges the IDs and their attributes into one ID. For example, SAS Customer Intelligence 360 has a customer_id for a user from an identity event and a subject_id for the same user from an external event. To associate these two IDs, you can import data that contains all of the identifying information for this user, and SAS Customer Intelligence 360 merges all the known information about this user to a single customer identity.

    • When an entry is added to the Identity Map table, any attributes that are associated with anonymous user become associated with the identified user.

  • Identity Attributes: The IDENTITY_ATTRIBUTES table contains information about a person’s identity. Data is stored in this table when any of these actions occur:
    • Identity events created in SAS Customer Intelligence 360 are triggered, and the events contain a customer_id or login_id. This includes identity events sent through our JavaScript API and the mobile SDK. 

    • External events are sent to SAS Customer Intelligence 360 using either the external API gateway or the on-premises API gateway. The events must contain a subject_id, login_id, or customer_id. 

    • 1st party customer data is imported into SAS Customer Intelligence 360.

  • Custom Events: The CUSTOM_EVENTS table captures user-defined custom events for which SAS Customer Intelligence 360 does not have a standard definition.

 

For more information about the SAS Customer Intelligence 360 data model, please visit the documentation pages here.  The next couple of steps in the Segmentation Recipe involve the use of native data transformation capabilities within SAS. 

 

Image 7: Data Transformations For Customer Segmentation RecipeImage 7: Data Transformations For Customer Segmentation Recipe

 

Keep in mind, a Flow is a sequence of operations on data. Data and operations are represented in SAS by steps that users can access from the Steps section of the left-navigation pane. Each step in a flow is represented by a node on the flow canvas. The nodes on this Flow canvas above represent some of the steps that are available in SAS Studio. We are simply using Query node capabilities to perform various types of deterministic table joins to connect customer identities with behaviors like product viewing, session activities and custom events.

 

SAS Studio is shipped with many predefined steps that include queries and data transformations. The steps are organized into categories that indicate the function that they perform. With respect to the Query step acutely, users can leverage this node to select, join, filter, and sort columns from a table in a Flow.

 

Once the input tables have collectively been mapped to customer identities, we proceed with transposing the products customers viewed and custom event definitions they met. The Transpose Data step turns selected columns of an input table into the rows of an output table. Our desire is to manipulate the input data and reshape them as predictors in anticipation of performing (un)supervised segmentation.

 

Image 8: Data Transpositions For Customer Segmentation RecipeImage 8: Data Transpositions For Customer Segmentation Recipe

 

After these nodes complete processing, the formation of a model-ready ABT is now ready for algorithmic segmentation within this demo example. The reason this milestone is important is because if users can accelerate to this step of the process, it reduces the time-to-insight issue (80-20 trend) cited at the beginning of this article. In addition, this is an example of how SAS provides robust CDP+ capabilities, matching the typical requirements of a CDP solution today in martech while also extending incremental benefits of a CDP to the data science, analyst and marketing communities.

 

Image 9: ABT Creation For Customer Segmentation RecipeImage 9: ABT Creation For Customer Segmentation Recipe

 

For simplicity, we will use a K-Means clustering algorithm in the next step.  The KCLUS procedure performs clustering (a common step in data exploration and/or unsupervised segmentation) in SAS Viya. Analysts can use the KCLUS procedure to read and write data in distributed form, and to perform clustering and scoring in parallel by making full use of multicore computers or distributed computing environments. The KCLUS procedure performs a cluster analysis on the basis of distances that are computed from quantitative or qualitative variables (or both). The observations are divided into clusters such that every observation belongs to one and only one cluster (or segment). The KCLUS procedure uses the k-means algorithm for clustering interval input variables, uses the k-modes algorithm for clustering nominal input variables, and uses k-prototypes algorithm for clustering mixed input that contains both interval and nominal variables. Readers should be reminded that any algorithm (or ensemble of algorithms) appropriate for segmentation could be leveraged for the modeling ingredient of the recipe.

 

Image 10: Authoring A Clustering Model For Customer Segmentation RecipeImage 10: Authoring A Clustering Model For Customer Segmentation Recipe

 

Although comprehensive use case-driven recipes can be shared between SAS and our user community, if an analyst wanted to author their own custom segmentation model, SAS enables no/low-code users (not just high-code users) to leverage a GUI interface to assign the relevant data inputs, standardization methods, distance measures, number of clusters, and other criterion properties. As these inputs are made, the right-side of the screenshot above highlights how SAS auto-scripts the programming language to run the custom model.

 

Users can leverage the code-to-flow feature to then map in the custom authored analysis into the Flow as a Step.

 

Image 11: Code-To-Flow For Customer Segmentation RecipeImage 11: Code-To-Flow For Customer Segmentation Recipe

 

The result completes the Flow's segmentation recipe ingredient for running the clustering model (shown below).

 

Image 12: Algorithmic Modeling Ingredient For Customer Segmentation RecipeImage 12: Algorithmic Modeling Ingredient For Customer Segmentation Recipe

 

Now, the big question that has been posed to analytical technology companies year-after-year from our customers is whether data-driven insights can bring positive momentum to mission-critical KPIs. This brings us to another important recipe ingredient because I have a message for my data science and analyst brothers and sisters:

 

There is more to activation than just scoring your model!

 

You want to see your analytical assets bring rewarding impact to your brand, right? You want to observe your efforts making a significant positive difference in customer journeys, correct? Then let's complete this by discussing the last recipe ingredient that ties into destinations, journey orchestration and prescriptive activation. In the screenshot below, the last Swimlane of the Segmentation Recipe Flow is highlighted.

 

The first node provides us a view into the segmentation scoring that resulted from running the clustering model step. The first column entitled Subject_ID is the unique (and cloud-secure) identifier that enables SAS Customer Intelligence 360 users to communicate, target or personalize experiences on websites, apps and channels with individuals or audiences. The segmentation scoring is embodied in the second column entitled Cluster_ID. For an overview on Identities in SAS Customer Intelligence 360, please go here to learn more.

 

Image 13: Scored Audience Table For Customer Segmentation RecipeImage 13: Scored Audience Table For Customer Segmentation Recipe

 

After confirming the customer data has been scored, consider this table the "prescription" for our marketing counterparts. The marketer has a need or desire for intelligent segmentation of the customers they want to target with a treatment (as well as exclude those who are deemed irrelevant). The recipe scoring is the prescription (or conduit) between data science and marketing for the given use case. Using the SAS Customer Intelligence 360 Audiences API, this last Swimlane contains two remaining steps:

 

  • Query and share the relevant attributes between Viya and Customer Intelligence 360. In the screenshot below, we select to include the Subject_ID (unique & encrypted identifier for a customer) and the associated segmentation. All other attributes are removed since they are only relevant to data science and the associated quality of the segmentation analysis. The removal of this information does not impact the marketer's activation workflow.

 

Image 14: Controls For Selecting Relevant Data To Upload Into Customer Intelligence 360Image 14: Controls For Selecting Relevant Data To Upload Into Customer Intelligence 360

 

  • Push the scored data to the correct cloud-based tenant using the Audiences API where your brand's instance of SAS Customer Intelligence 360 lives.

 

Image 14: No-code Interface To Connect To Audiences API & Customer Intelligence 360Image 14: No-code Interface To Connect To Audiences API & Customer Intelligence 360

 

A large reason we are excited to share recipes with our user community is validated again in this last Custom Step of the demo. For those readers who have worked with APIs, you understand they typically require high-coding skills. In essence, what we have shown here removes the friction of an analyst having to author this code themselves and simply provide inputs in a few clicks. So, what is the result after running this final Swimlane? Users of SAS Customer Intelligence 360 will see the scored Audience within the software available for activation.

 

Image 15: Segmentation Recipe Audience Uploading Into Customer Intelligence 360Image 15: Segmentation Recipe Audience Uploading Into Customer Intelligence 360

 

Based on a brand's SAS environment, this process will take either seconds or minutes. Once the processing is completed, users will see an updated status with additional details (as exemplified below).

 

Image 16: Segmentation Recipe Audience Activated In Customer Intelligence 360Image 16: Segmentation Recipe Audience Activated In Customer Intelligence 360

 

From here, how a brand takes advantage of analytically-derived audiences for any recipe's use case (not just segmentation) can  be activated across one or multiple channels. Here is a sampling of what is possible:

 

Image 17: Examples Of Supported Touchpoints In Customer Intelligence 360Image 17: Examples Of Supported Touchpoints In Customer Intelligence 360

 

Once a touchpoint (or task) is selected (we will leverage Google Ads for this example), users can leverage 1st party customer data from a variety of options, included Audiences sourced from analytical activities originating from SAS Viya to support the best practices of responsible marketing

 

Image 18: Leveraging Audiences For Google Ads Targeting In Customer Intelligence 360Image 18: Leveraging Audiences For Google Ads Targeting In Customer Intelligence 360

 

Building upon this vision, Activity Maps for customer journey orchestration across multiple touchpoints is also "in-scope" as a value proposition on leveraging use case-driven recipes and activating attractive customer audiences.

 

Image 19: Leveraging Audiences For  Multi-touchpoint Targeting Strategies In Customer Intelligence 360Image 19: Leveraging Audiences For Multi-touchpoint Targeting Strategies In Customer Intelligence 360

 

In conclusion, the important takeaways from this article include:

 

  • The introduction of Machine Learning Recipes in SAS.
  • A detailed walkthrough of using/adapting a segmentation recipe across SAS Viya and Customer Intelligence 360.
  • Other recipes exist across the areas of acquisition, upsell, retention, next-best-action (or experience), recommendations, lifetime value, pricing personalization, attribution and more.
  • If you are interested in leveraging any of these proposed recipes, please reach out to your SAS support team and the sharing can begin!

 

Remember, there is more to activation than just scoring your model! 

 

Image 20: Destinations & Analytical-Driven Journey Orchestration In Customer Intelligence 360Image 20: Destinations & Analytical-Driven Journey Orchestration In Customer Intelligence 360

 

Our vision at SAS is to serve as the market leader in advanced audience creation & targeting, independent of channel, for enterprise customers leveraging complex, disparate data sources and wishing to consistently deliver superior understanding into their customer journeys. In other words, we want to empower brands to practice responsible marketing

 

Learn more about how SAS can be applied for customer analytics, journey personalization and integrated marketing here. For those who want to dive deeper into the current state of the customer analytics technologies ecosystem, check out fresh (and unbiased) research here.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Comments

Thanks for sharing Suneel, great article that benefits our Data Science and Marketing communities! 😍

Perfect Suneel. You have brought to life exactly what we've been discussing, this is a great foundation for a wide variety of use-cases. Thank you.

Version history
Last update:
a week ago
Updated by:

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

Free course: Data Literacy Essentials

Data Literacy is for all, even absolute beginners. Jump on board with this free e-learning  and boost your career prospects.

Get Started

Article Tags