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:

  1. Follow the steps for Creating Product Propensity models.

  2. 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, product propensity, product propensity model