Product Propensity models
The Product Propensity model is a ready-to-use model that predicts the likelihood of customers buying a specific product based on historical interactions and customer profile data.
The Product Propensity model explained
The Product Propensity model generates values to determine the likelihood a customer will purchase a product. These values are based on the past purchasing behavior of customers. The outputs of the model are not customizable. By reviewing the propensity score for specific customer and product combinations, the model allows you to determine which customers are most likely to purchase a specific product.
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 Product Propensity Model algorithm, you will need to define the additional lookback window parameter. Select the number of days as a lookback window: 60, 90, 120, or 180.
-
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 Product Propensity model uses the following data.
For the model to successfully run:
- Data needs to be ingested into all the input attributes below.
- Product ID must contain only one value. You must edit the training and scoring queries to keep only one Product ID as part of the data flowing into the model.
- EventType must have the value "Purchase" (case sensitive). This is used to identify the target variable.
- The following relationships of data objects are required:
- MasterCustomer and Order data using the CustomerID attribute.
- MasterCustomer and Event using the CustomerID attribute.
- The OrderID attribute needs to be populated for every event in the Event data object.
Data object | Attribute | Data type | Description |
---|---|---|---|
Event and Customer | CustomerID | String | The unique identifier for the customer. |
MasterCustomer | Gender | String |
The customer's gender. |
MasterCustomer | Age | Integer | The customer's age. |
MasterCustomer, Customer, and Event | ProductID | String | The product ID that the model will use to generate output values. |
MasterCustomer and Event | Type | String | The type of event, such as View, Purchase, Buy, and Click. |
MasterCustomer | AOV | Float | The average order value for the customer. |
MasterCustomer | City | String | The customer's city. |
MasterCustomer | days_since_last_purchase | Integer | The number of days since the last purchase. |
MasterCustomer | total_spent_amt | Integer | The total sum of the Extended Price attribute for the customer. |
MasterCustomer | top_product | String | The customer's most purchased product. |
MasterCustomer | top_brand | String | The customer's top brand. |
Model outputs
Output values will be stored in the ProductPropensity_Score data object. You can review the propensity values for each customer and product combination in the Status attribute. A score of above 0.5 indicates a Buy assessment. A score of below 0.5 indicates a No buy assessment.
The following attributes will generate output values.
Attribute | Description | Data type | Is Key attribute? |
---|---|---|---|
SourceProductPropensity_ScoreID | The unique identifier for the data object. It is a concatenation of CustomerID and ProductID. | String | Yes |
SourceID | The unique identifier for the source. | String | Yes |
SourceCustomerID | The unique identifier for the customer. | String | Yes |
ProductID | The unique identifier for the product. | String | No |
SourceProductID | The unique identifier for the product originating from the source. | String | No |
PropensityScore | The score generated for the customer. It is a numerical value from 0 to 1. | Float | No |
Status | The status that assesses the customer based on the propensity score. A score of under 0.5 generates a value of No buy. A score of over 0.5 generates a value of Buy. | String | No |
Create and use a Product Propensity model
To create and use a Product Propensity model, you will need to do the following:
-
Follow the steps for Creating Product Propensity 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 Product Propensity 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.