May 17, 2022

Using ML to Determine the Next Best Action for Customers

By Christina Bernard

Marketing has evolved from mass mailing every household to sending mass emails to everyone on a list to now being able to send a targeted message to a select group of people within an email list. This targeted approach has helped marketers realize eye-opening ROI on their campaigns and is now where most of them spend their time.

Machine learning (ML) has enabled marketing teams to define actionable segments of target customers and determine the next best action for each segment.

In 2012, a story hit the news about Target predicting the pregnancy of a teenage girl before her father knew about it. Their household had received multiple coupons for baby products based on a certain group of items purchased together or in succession at Target.

The father was extremely upset and rushed to the store to complain about receiving what he thought were incorrect ads. He quickly found out that Target was right. Marketers across the industry began trying to get a piece of what Target had figured out, resulting in a boom of opportunities for machine learning in marketing.

In this blog, we will dive into how to build a marketing model to determine what the Next Best Action for customers will be.

What is Next Best Action Artificial Intelligence?

Next Best Action Artificial Intelligence is a tool that uses predictive techniques to build a dynamic view of the customer journey. The goal is to be able to deliver specific messages and offerings to a targeted customer profile to maximize the outcome.

Most of the time, the ideal final outcome is that your targeted customer purchases from your business. Creating this type of model involves creating a multi-channel view of customer interactions, determining customer segments, and discovering what methods each segment best responds to.

Mastering a model that reflects the customer journey will help you tailor your interactions for a differentiated customer experience.

How do You Build the Next Best Action Model?

Customer Profiles/Attributes

Information is key for developing any model. For the Next Best Action model, you want demographic information such as age, location, income, or gender, depending on what type of product you are selling.

Next, you want as much behavioral information as possible, such as inbound touchpoints (i.e. did they download whitepaper, guides, etc.), previous purchases, order purchases, payment methods used, interactions with customer services, and outbound marketing interactions. This will help map customer behavior across your organization.

Digital Campaigns

Next Best Action models have multiple model components to generate the final outcome. They start with a clustering algorithm, which is used to group customers with similar behaviors together. This part of the model is called customer segmentation.

After the customer groups are determined, it’s important to know what products they are purchasing, what advertisements they are responding to, and how often they are purchasing. Incorporating a time-series component can also help you understand how these groups react to certain events over a period of time.

How to Use the Model/Business Implications

You now have a model that groups your customers according to their behavior across your digital products and services. So, what’s next? This information can be given directly to your marketing team as an Excel file, but it can actually plug directly into your marketing technology stack via an API.

Depending on how your model is built, you can have the output send predefined campaigns based on the customer groups. For example, a Gen Z group cluster will usually want different products from a suburban mom group cluster. Think back to the Target marketing scandal. Target actually clustered the young girl into the right group and successfully sent her the right ads.

How to Implement Next Best Action Prediction Using the Snowflake Data Cloud

Snowflake can help data scientists build models for Next Best Action, and also provide them with a platform for deploying those models. The data used to train a model may come from a variety of different sources of customer information, such as Hubspot, Salesforce, etc. Snowflake can be used to centralize that data in a common location for model development.  

Once models have been trained, the next step is to create a process that can generate predictions (inference) for new data. The models can be deployed using Snowpark Python user-defined functions (UDFs) to package the model and run inference workloads on Snowflake compute. Predictions generated in this way can be written into Snowflake tables to make them available downstream. 

The final step in implementing a Next Best Action solution is to serve those predictions back to sales representatives or marketing teams. To do that, predictions can be served as a dashboard or application that queries Snowflake.  

Alternatively, the predictions can be pushed directly back into a CRM system like Hubspot or Salesforce to prioritize their actions in a way that optimizes sales performance. 


Today, consumers have a wider array of choices than ever before. Understanding your customers, their behaviors, and what they respond well to can help you position your company to be their top choice.

Leveraging an AI-based Next Best Action model can help your organization champion a smarter marketing process. If you have any questions on how to create these solutions at your organization, please reach out to our ML team for advice!

Data Coach is our premium analytics training program with one-on-one coaching from renowned experts.

Accelerate and automate your data projects with the phData Toolkit