Creating an RFM model


Recency, Frequency, and Monetary (RFM) models allow you to score your users based on how recently, frequently, and with what monetary value they performed the conversion. Each user that made the selected conversion event (like "purchase") will be bucketed into the segments below.

RFM segmentDescriptionAction Items
ChampionCustomers that bought recently, ordered often, and spent the most.Reward them. They can be early adopters of new products. Will promote your brand. Most likely to send referrals.
RegularsOrders regularly.Offer membership/loyalty program. Keep them engaged. Offer personalized recommendations.
PromisingCustomers who regularly buy for a small amount or have recently bought for a large amount.Offer coupons. Bring them back to the platform and keep them engaged. Offer personalized recommendations.
Needs AttentionCustomers who have bought many times for large sums in the past but no longer now.Offer a personal selection of products, discounts, and bonuses and inform them about the sale. Win them back via renewals or newer products. Talk to them if necessary. Spend time on the highest possible personalization.
At RiskCustomers who made smaller and infrequent purchases before but haven't purchased anything in a long time.Revive interest with a reach-out campaign.


Good to know

Once created, the RFM model will be updated in real-time after each new events is being received by the users.

Choosing events for the model

We generally advise selecting the same conversion event for Recency, Frequency, and Monetary values. However, depending on your use case, you may want a different event representing recency or frequency (like signup).

1. Recency

Recency measures how recently a customer has interacted with your brand. Selecting the right event for recency involves:

  • Last Purchase Date: The customer's last purchase date is the most straightforward way to measure recency.
  • Last Interaction: Consider other interactions such as website visits, email engagements, or social media activities if they are significant for your business.

2. Frequency

Frequency assesses how often a customer engages with your brand within a specific period. Events to consider include:

  • Number of Transactions: Count all purchases made during a defined time frame (e.g., annually or quarterly).
  • Engagement Actions: Include actions like downloads, website logins, or newsletter interactions to measure engagement frequency.

3. Monetary

Monetary value quantifies the total spend by a customer over a period. Suitable events for this component are:

  • Total Spend: Sum up a customer's spending in the designated period.
  • Average Transaction Value: Analyze the average amount spent per transaction to differentiate between frequent small and occasional large spenders.


Implementation tips

  • Consistency in Data Collection: Ensure that all data inputs are consistent, e.g., using the same currency for all transactions.
  • Define Time Frames: Clearly define the period for your RFM analysis to maintain consistency across events.

Creating the RFM model

Go to RFM and select "Create model".

Select the recency and frequency events

Next, select an event that represents your conversion - it will determine how the RFM model will be calculated.

The same flow applies to both the recency and frequency models.


Good to know

RFM model can only be configured based on the events available in the project. For advanced use cases, you can use in-line filters to narrow down the event condition.

Select the monetary event and it's conversion value

Monetary value requires you to select the conversion event and the value representing the conversion's monetary expression. For example, the "Purchase" event would have "Total price" as the monetary value in eCommerce.

If you need to narrow down the events selected, you can use filters to select only events for the model that meet the specified conditions.

Define the model's targeting

You may want to exclude users you don't want to be included in the model. Selecting only specific users to be scored by the model will improve its accuracy.


Good to know

Model normalizes scores based on the selected users. If you want quality results, we recommend excluding users that may skew the results (for example, anonymous users, users that did not sign up, subscribe etc.)

Define the model's timeframe

You can define the rolling timeframe for calculating the activity model. We recommend selecting a timeframe from 30 to 90 days. Any longer than that will get you skewed results due to including long inactive users.

Review and create the model

After the last review step, the model will be created. Note that it may take around 30 mins (depending on the users in your project) until all users/accounts are scored.