Recency, Frequency and Monetary models
The Recency, Frequency and Monetary (RFM) model is a ready-to-use data science model.
The RFM model explained
The RFM model measures the email engagement and purchase behavior using the following characteristics:
-
Recency: What was the user's most recent transaction?
-
Frequency: How often does the user make a transaction?
-
Monetary: What is the size/total value of the user's transaction?
Each characteristic is represented by a score between one and five, with a score of one for the least recent, least frequent, or lowest purchase value, and a score of five for the most recent, most frequent, or highest purchase value.
The model uses the following personas to indicate the value of each customer.
Value | Description |
---|---|
Lost | Your weakest engagers, with minimum activity in the observed time period. |
At Risk | Engagers who show the beginnings of inactivity and low purchase behavior. |
Can't Lose | Subscribers who have a stronger footprint in inactivity. Still salvageable. |
Promising | Engagers with average recency and value. |
New | Recent engagers with a strong rate of valued engagement. |
Champion | The best of the best. Your most recent engagers with the strongest rate of high value engagement. |
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 RFM model uses the following data.
For the model to successfully run, data needs to be ingested into all the input attributes below.
Data object | Attribute | Data type | Description |
---|---|---|---|
Event | SourceEventID | String |
The unique identifier for the event. |
Event | SourceCustomerID | String | The unique identifier for the customer. |
Event | SourceID | String | The unique identifier for the source. |
Event | Type | String | The type of event, such as View, Purchase, Buy, and Click. |
Event | EventTS | Timestamp | The date and time when the event occurred. |
Event | Medium | String | The channel for the message, such Email, SMS, and Push. |
Event | Source | String | The source of the event, such as Facebook, Google, and Responsys. |
Event | ExtendedPrice | String | The amount paid by the customer after deducting discounts. |
Event | Quantity | String | The number of items purchased for each SKU. |
Order | OrderEntryTS | String | The date and time when the order was initiated. |
Model outputs
You can review values for the scores and personas generated for each customer in the Customer_RFMScore data object. The following attributes will generate output values.
Attribute | Description | Data Type | Is Key attribute? |
---|---|---|---|
SourceCustomer_RFMScoreID | The unique identifier for the data object. | String | Yes |
SourceID | The unique identifier for the source. | String | Yes |
SourceContactID | The unique identifier for the contact. | String | Yes |
RFM_Timestamp | The date and time when the values were last generated. | Timestamp | No |
R_Score | The recency score between one and five. | Integer | No |
F_Score | The frequency score between one and five. | Integer | No |
M_Score | The monetary score between one and five. | Integer | No |
RF_Persona | The persona generated for the user. | String | No |
The RF Persona attribute will generate one of the following personas based on the RFM scores.
Value | Description |
---|---|
Lost | Your weakest engagers, with minimum activity in the observed time period. |
At Risk | Engagers who show the beginnings of inactivity and low purchase behavior. |
Can't Lose | Subscribers who have a stronger footprint in inactivity. Still salvageable. |
Promising | Engagers with average recency and value. |
New | Recent engagers with a strong rate of valued engagement. |
Champion | The best of the best. Your most recent engagers with the strongest rate of high value engagement. |
Create and use an RFM model
To create and use an RFM model, you will need to do the following:
-
Follow the steps for Creating Recency, Frequency and Monetary 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 Recency, Frequency and Monetary 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.