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:
-
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.
-
After creating the catalog of actions, follow the steps for Creating Next Best Action models.
-
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:
-
Access Next Best Action data to review the values in the output attributes.
-
Learn more about Using data science data for the specific needs of your organization.
-
If needed, you can review the data science model details.