Who are your top customers and who is going to drop off?


In this tutorial, you will learn how to calculate Recency, Frequency and Monetary (RFM) scores from the data and events stored in your customer profiles. RFM is one of the easiest and most effective algorithms that you can use for segmentation, enabling you to answer questions such as “Who are my best customers?” and “Who are the customers I can consider as lost?

About the RFM algorithm

The RFM algorithm enriches the customer profile with data and scores about their purchases:

  • Recency.
    How recent the last transaction was.
  • Frequency.
    How many times they have bought something.
  • Monetary
    The amount they have spent.

Calculating customer RFM scores can be important and very advantageous to a brand, because they enable promotional and engagement deliveries to be created, and retention strategies to be designed, according to customer activities and needs.

When calculating the RFM scores, the transactional data for every available contact in the database is taken into account, working back from the day the algorithm is run to N months before. Once the data has been processed, the algorithm assigns an RFM score to each customer.

This is a very important part of the process, as the Contactdata algorithm automatically uses calculated Recency, Frequency and Monetary thresholds to determine the customer scores, rather than fixed ones.

Often, this step is carried out by applying arbitrary threshold values to the data. For example, a rule could be defined that states the customer must have bought a product not longer than 10 days ago, to be assigned a high Recency value. But why choose 10 days and not 20? What determines the threshold choice?

However, the Contactdata implementation does not work with fixed thresholds. Instead, they are calculated automatically, according to the Recency, Frequency and Monetary value data distributions that are available in the database. This way, the thresholds that are used to create segments are automatically adjusted to ensure that the scores are valid for each type of business environment.

The parameters that are configured for each company include:

  • The Score Scale.
    The maximum available score.
  • The Time span.
    The length of time, expressed in months, during which data is to be taken into account.

Activating the algorithm enables the relevant data to be used in the calculations, with the results being available to:

  • Differentiate communications according to customer behavior and the relevant RFM scores.
  • Create retention strategies for customers who haven’t bought for a long time.
  • Create re-engagement strategies for high spending customers who haven’t bought recently.
  • Create up-sell deliveries for customers with moderate spending levels.


The following example shows how the RFM algorithm works and demonstrates its usefulness to your business.

Consider a customer who last bought one year ago and spent €100. The algorithm compares the Recency = 1, Frequency = 1 and Monetary = €100 values with the entire database population, resulting in an RFM score of 111. This means the customer last bought a long time ago, only did so a few times and had a low spending level.

Conversely, a customer with an RFM score of 555 is someone who bought recently, does so often and generally spends quite a lot.


To activate the RFM algorithm, do the following:

  1. Sign in to the platform and select Contactdata.
    The Enrich page displays.
  2. Select the appropriate Portfolio, Workspace and Node settings, as follows:
    1. Click the User information panel, positioned to the right in the Control bar, then click Settings.
      The Settings page displays.
    2. Under Portfolio, Workspace and/or Node, select the appropriate options from the drop-down lists.
    3. When you are finished, click Confirm.
      The Settings page closes and you are returned to the Enrich

The Enrich page includes a series of panels, which display the algorithms that are available for you to use.

  1. Scroll to the RFM algorithm panel, locate the Activation switch , and click it if required, to activate the algorithm.
    The switch is green when the algorithm is active. Otherwise, it is gray.

See the Contactdata Guide for more about using algorithm panels or contact our Customer Care.