Next Best Action models

The Next Best Action model is a ready-to-use data science model recommends the most relevant actions for every customer based on sales and transaction patterns.

The Next Best Action model explained

The Next Best Action model does the following provides customers with a set of actions that increase the chances of positive outcomes. to choose from, to convert an end-users outcome of using the system, to increase chances of positive outcomes. The model uses customer profile data, customer engagement, product catalog data, and purchases to generate recommendations. The outputs of the model are not customizable. The top five recommended actions are generated, and you can use these recommendations to determine the most relevant offers to target customer segments.

Parameters of the model

When creating the model, you will need to define the following parameters for the model:

  • Algorithm: The algorithm is the piece of code that runs the model. When you select the Next best action algorithm, you will need to define the parameter that selects the associated catalog of actions for the model.

  • Queries: The queries selected for the model generate a dataset for model training and scoring.

  • Inputs: The inputs are query attributes from the Unity data model that are used for model training and scoring. You can't make changes to model inputs.

  • Outputs: The outputs are data objects and attributes from the Unity data model that are used to store the output values of the model. You can make updates to the default mapping of model outputs.

Model inputs

To generate values, the Next Best Action model uses the following data.

Key points for the model

  • The model is coupled with action catalogs.

  • The Action catalog is populated as part of the Promotion data object.

For the model to successfully run:

  • Data needs to be ingested into all the input attributes below. The model is focused on behavioral data and will analyze this input data from the Event data object.
  • The Category data object needs the following attributes to be ingested with data: CategoryID, Category Name, and Category Type.
    • Category Type will be actions for the model.
    • Category Name will be the Action catalog name. For example, Jewelry action catalog, Watches action catalog, and Apparel action catalog.
  • The following relationships of data objects are required:
    • MasterCustomer and Event using the CustomerID attribute.
    • Actions from the Promotion data object need to be associated with events from the Event data object. Customer and Promotion need a relationship using the PromotionID attribute.
    • Actions from the Promotion data object need to be associated with specific categories. Promotion and Category need a relationship using the CategoryID attribute.
  • A relationship between actions from the Promotion data object and the Product data object is not required but can be created.

Data object Attribute Data type Description
MasterCustomer MasterCustomerID String The unique identifier for the customer.
MasterCustomer Country String The customer's country.
MasterCustomer Age Integer The customer's age.
MasterCustomer Gender String

The customer's gender.

Event and MasterCustomer EventTS Timestamp The date and time when the event occurred.
Event and MasterCustomer Type String The type of event, such as View, Purchase, Buy, and Click.
Event and MasterCustomer SubType String Identifies if a Bounce is a Hard Bounce or Soft Bounce.
Event and MasterCustomer URL String The URL that is sent in the message.
Event and MasterCustomer Medium String The channel for the message, such Email, SMS, and Push.
Event, Category, and MasterCustomer SourceID String The unique identifier for the source.
Event and MasterCustomer ProductID String The unique identifier for the product.
Event and MasterCustomer CategoryID String The unique identifier for the category.
Event and MasterCustomer Type String The type of product, such as Item and Service.
Category, MasterCustomer, Product, and Promotion CategoryType String The type of category, such as Offer or Action.
Category, MasterCustomer, Product, and Promotion Name String The Offer Catalog name.
Category ID String The unique identifier for the data object.
Promotion, Event, and MasterCustomer PromotionID String The unique identifier for the promotion.
Promotion and MasterCustomer Name String The name of the promotion.

Model outputs

You can review the rank and score for the top five recommendations for each customer and offer category level in the MasterCustomerRecommendation and Category data objects. The following attributes will generate output values.

Data object Attribute Description Data Type Is Key attribute?
MasterCustomer Recommendation PromotionID The unique identifier for the promotion. String Yes
MasterCustomer Recommendation CategoryID The unique identifier for the category. String Yes
MasterCustomer Recommendation MasterCustomerID The unique identifier for the customer. String Yes
MasterCustomer Recommendation SourceID The unique identifier for the source. String Yes
MasterCustomer Recommendation SourceMasterCustomerID The unique identifier for the customer originating from the source. String Yes
MasterCustomer Recommendation SourceMasterCustomerRecommendationID Provided by the Next best offer model. It is a concatenation of MasterCustomerID, PromotionID, and CategoryID. String Yes
MasterCustomer Recommendation Rank The rank calculated by the module once scores are generated by the model. Integer No
MasterCustomer Recommendation Score Scores the relevance of the action for a customer. Actions with higher scores are more relevant. Float No
Category Category_SourceID The unique identifier for the source. String Yes
Category Category_CategoryID The unique identifier for the category. String Yes
Category LastTrainedDate The last date the model was trained. Date No
Category LastScoredDate The last date the model was scored. Date No
Category Type The type of recommendation. String No

Create and use a Next Best Action model

To create and use a Next Best Action model, you will need to do the following:

  1. Before creating the data science model, you will need to create the catalog of actions that will be used when the model runs. Learn more about Creating Next best actions.

  2. After creating the catalog of actions, follow the steps for Creating Next Best Action models.

  3. After creating the model, follow the steps for Running training and scoring jobs.

After the model runs and creates output values, you can do the following:

data science, data science model, analyze data, create data science model, how to create a data science model, nba, next best action, next best action model