Next Best Offer models
The Next Best Offer model is a ready-to-use data science model that recommends the most relevant offers for every customer based on sales and transaction patterns.
The Next Best Offer model explained
The Next Best Offer model provides customers the ability to choose from top recommendations on offers tied to different products or services. 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 recommendations are generated, and you can use these recommendations to determine the most relevant offers to send to specific customers.
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 offer algorithm, you will need to define the parameter that selects the associated catalog of offers 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 Offer model uses the following data.
For the model to successfully run:
- Data needs to be ingested into all the input attributes below.
- The Offer catalog, which is populated as part of the Promotion data object, is associated with every product.
- The Category data object needs the following attributes to be ingested with data: CategoryID, Category Name, and Category Type.
- Category Type will be offers for the model.
- Category Name will be the Offer catalog name. For example, Jewelry offer catalog, Watches offer catalog, and Apparel offer catalog.
- The following relationships of data objects are required:
- MasterCustomer and Event using the CustomerID attribute.
- Event and Product using the ProductID attribute.
Each product can have multiple promotions associated with it, identified using PromotionID from the Promotion data object.
Each promotion belongs to a specific category, which is identified by a CategoryID from the Category data object.
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 offer for a customer. Offers with higher scores are more relevant. | Float | No |
Category | SourceCategoryID | 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 Offer model
To create and use a Next Best Offer model, you will need to do the following:
-
Before creating the data science model, you will need to create the catalog of offers that will be used when the model runs. Learn more about Creating Next best offers.
-
After creating the catalog of offers, follow the steps for Creating Next Best Offer 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 Offer 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.