Customer Lifetime Value models
The Customer Lifetime Value model is a ready-to-use data science model that estimates the 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 represents a customer's value to a company over a period of time. The lifetime value predictions are based on multiple touch points such as customer profile data, past history of transactions, monetary value of the transactions, and the frequency of transactions. These predictions provide an important metric in determining the cost/benefit or acquistion, retention, and personalized offers. You can customize the model to provide 3 months, 6 months, or 12 months of lifetime value for any 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.
For the model to successfully run:
- Data needs to be ingested into all the input attributes below.
- There must be a relationship between the Customer and Order Item data objects using the CustomerID attribute.
Data object | Attribute | Data type | Description |
---|---|---|---|
Order Item | CustomerID | String | The unique identifier for the customer. |
Order Item | SourceID | String |
The unique identifier for the source. |
Order Item | OrderEntryTS | Timestamp | The date and time when the order was placed. |
Order Item | SubType | String | The status of an order, such as Shipped, Return, Cancel, and Demand. |
Order Item | ExtendedPrice | Float | The amount paid by the customer after deducting discounts. |
The following Intelligent attributes are calculated at a customer level and also used as model inputs.
Intelligent attribute | Description | Data type |
---|---|---|
first_purchase_date | The earliest order date. | Timestamp |
last_purchase_date | The latest order date. | Timestamp |
total_order_amt | The total amount of the order (Extended Price). | Float |
total_order_rows | The number of rows in the data object. | Integer |
Model outputs
You can review values for the following output attributes in the Customer data object. You can see the 3-month, 6-month, and 12-month lifetime values as well as the number of transactions over those time periods.
Attribute | Description | Data Type | Is Key attribute? |
---|---|---|---|
SourceCustomerID | The unique identifier for the customer. | String | Yes |
SourceID | The unique identifier for the source. | String | Yes |
NumTransactions_12m | The number of transactions from the transaction model for the last 12 months. | Float | No |
AverageMonetary | The average monetary value from the monetary model for the last 12 months. | Float | No |
AverageCLV_12m | The average customer lifetime value for the last 12 months, which is calculated by the number of transactions and the average monetary value. | Float | No |
NumTransactions_6m | The number of transactions from the transaction model for the last 6 months. | Float | No |
AverageCLV_6m | The average customer lifetime value for the last 6 months, which is calculated by the number of transactions and the average monetary value. | Float | No |
NumTransactions_3m | The number of transactions from the transaction model for the last 3 months. | Float | No |
AverageCLV_3m | The average customer lifetime value for the last 3 months, which is calculated by the number of transactions and the average monetary value. | Float | No |
Create and use a Customer Lifetime Value model
To create and use a Customer Lifetime Value model, you will need to do the following:
-
Follow the steps for Creating Customer Lifetime Value 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 Customer Lifetime Value 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.