Customer Lifetime Value models
The Customer Lifetime Value model is a ready-to-use data science model that estimates a customer's value over a period of time based on profile and transaction patterns.
The Customer Lifetime Value model explained
The Customer Lifetime Value model predicts a customer's value to a company over a period of time. The lifetime value predictions are based on factors such as customers' history of transactions, the monetary value of those transactions, and the frequency of those transactions. These predictions provide an important metric in determining the cost/benefit or acquisition, retention, and personalized offers. The model can provide lifetime value predictions up to 24 months for a customer segment/profile.
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.
-
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 Customer Lifetime Value model uses the following data.
Attribute from Unity data object | Attribute name in the query | Unity Data object | Description of the attribute | Data type | Must have? |
---|---|---|---|---|---|
ID | ID | MasterCustomer | Customer identifier | String | Yes |
CustomerID | CustomerID | Customer | SourceCustomerID | String | Yes |
SourceID | MasterCustomer | Customer | Source Identifier | String | Yes |
SubType | SubType | OrderItem | Type of the order | String | Yes |
OrderEntryTS | OrderEntryTS | OrderItem | The date and time when the order was placed | Timestamp | Yes |
ExtendedPrice | ExtendedPrice | OrderItem | Total amount paid by the customer for their orders | Float | Yes |
OrderID | OrderID | OrderItem | Order identifier | String | Yes |
The following set of Intelligent attributes and Derived attributes are calculated at a customer level and also used as model inputs.
Attribute | Attribute name in the query | Level of calculation | Description of the attribute | Data type | Must have? |
---|---|---|---|---|---|
first_purchase_date | first_purchase_date | MasterCustomer | Intelligent Attribute - First purchase date for the customer; (if unavailable, model calculates internally) | Timestamp | Yes |
last_purchase_date | last_purchase_date | MasterCustomer | Intelligent Attribute - Latest purchase date for the customer; (if unavailable, model calculates internally) | Timestamp | Yes |
total_order_amt | total_order_amt | MasterCustomer | Intelligent Attribute - Total of 'ExtendedPrice' for a customer; (if unavailable, model calculates internally) | Float | Yes |
total_order_rows | total_order_rows | MasterCustomer | Intelligent Attribute - Total number of orders by the customer; (if unavailable, model calculates internally) | Integer | Yes |
hist_order_amt | hist_order_amt | MasterCustomer | Derived Attribute - Total value of orders older than 180 days | Float | Yes |
hist_order_rows | hist_order_rows | MasterCustomer | Derived Attribute - Count of orders older than 180 days | Integer | Yes |
target_order_amt | target_order_amt | MasterCustomer | Derived Attribute - Total value of orders between 180 and 90 days in the past | Float | Yes |
target_order_rows | target_order_rows | MasterCustomer | Derived Attribute - Count of orders between 180 and 90 days in the past | Integer | Yes |
test_order_amt | test_order_amt | MasterCustomer | Derived Attribute - Total value of orders from last 90 days | Float | Yes |
test_order_rows | test_order_rows | MasterCustomer | Derived Attribute - Count of orders from last 90 days | Integer | Yes |
order_amt_3_m | order_amt_3_m | MasterCustomer | Derived Attribute - Total value of orders before 90 days | Float | Yes |
order_amt_6_m | order_amt_6_m | MasterCustomer | Derived Attribute - Total value of orders before 180 days | Float | Yes |
order_amt_12_m | order_amt_12_m | MasterCustomer | Derived Attribute - Total value of orders before 360 days | Float | Yes |
Model outputs
You can review values for the following output attributes in the CustomerLifetimeValue data object. You can review the predicted lifetime values and the predicted number of transactions over 3 to 24 month time periods
Attribute ID | Attribute Name | Attribute Description | Data type |
---|---|---|---|
SourceCustomerLifetimeValueID | Source CustomerLifetimeValue ID | This attribute contains the Unique ID for the object or the Primary key. | String |
MasterCustomerID | Master Customer ID | This attribute contains the foreign key to the MasterCustomer Table. | String |
SourceMasterCustomerID | Source Master Customer ID | This attribute contains the original form of the MasterCustomer ID from the source data system. | String |
NumTransactions24m | Number Transactions For 24 Months | This attribute represents the predicted number of transactions over the next 24 months | Integer |
NumTransactions18m | Number Transactions For 18 Months | This attribute represents the predicted number of transactions over the next 18 months | Integer |
NumTransactions12m | Number Transactions For 12 Months | This attribute represents the predicted number of transactions over the next 12 months | Integer |
NumTransactions6m | Number Transactions For 6 Months | This attribute represents the predicted number of transactions over the next 6 months | Integer |
NumTransactions3m | Number Transactions For 3 Months | This attribute represents the predicted number of transactions over the next 3 months | Integer |
AverageMonetary | Average Monetary | This attribute represents the predicted average monetary transaction. | Float |
AverageCLV24m | AverageCLV for 24 Months | This attribute represents the predicted CLV over the next 24 months | Float |
AverageCLV18m | AverageCLV for 18 Months | This attribute represents the predicted CLV over the next 18 months | Float |
AverageCLV12m | AverageCLV for 12 Months | This attribute represents the predicted CLV over the next 12 months | Float |
AverageCLV6m | AverageCLV for 6 Months | This attribute represents the predicted CLV over the next 6 months | Float |
AverageCLV3m | AverageCLV for 3 Months | This attribute represents the predicted CLV over the next 3 months | Float |