Security and Compliance

RFM Analysis

RFM (Recency, Frequency, Monetary) analysis helps to get a visual representation of the quality and engagement of your contact base. Yespo provides two 2 RFM graphs: based on data on email engagement and data on sales.

Actions that you can perform with RFM segments:

  • exporting to list;
  • deleting from the account;
  • creating an event at moving between segments that can trigger a workflow.

Interpretation of the Graph Data

RFM analysis is a component of contact analytics in Yespo.

Where to find RFM analysis

Data on email engagement and sales are divided into Campaigns and Sales tabs.

Campaigns & Sales

In the Campaigns tab, segments are formed according to the number of opens and the last open time.

In the Sales tab, segments are formed according to the number of sales and the amount of time (set up transferring sales data via API to Yespo to see its RFM analysis).

Calculations are made along the R and F axes:

  • R is the time of the last opening/sale.

By default, the parameters are set from two weeks to >1 year.

  • F is the number of opens/sales.

In the table with sales analysis, the bottom line (0-1) contains contacts who have not made purchases (x>=0 and x<1), the second (1-2) includes contacts who have made one purchase (x>=1 and x <2), etc.

Sales analysis


You can order a custom display of the sales graph:

  • increase the period and number of sales on the graph,
  • add or remove period columns and Number of sales fields,
  • set display at any time intervals.

Leave a custom display request at support@yespo.io.

The segments are colored depending on the activity of the contacts:

  • Gray — no reads/sales.
  • Red — segments at risk of loss. The more saturated the color, the more passive the contacts in the segment.
  • Green — loyal customers. The more saturated the color, the higher the loyalty of the segment.

The top row contains contacts that showed maximum activity. Contacts that can be considered lost are at the bottom left.

Data Filtering and Actions with Segments

The filter by contact activity in campaigns has the following options:

  • All contacts
  • Sent within 30 days
  • Sent within 90 days
  • Ever sent

Filter by contact activity

The filter by segment allows you to see RFM analysis of any contact list in your account.

Filter by segment

Click on any cell to remove contacts from it or export them to a static segment.


You can select or create an event triggered when contacts move from one cell to another (for example, from active to inactive) by clicking the Add event button.

Add event

The cell, the transition from which triggers the event, is marked with an eye icon.

Tracking segments

Setting Up Trigger Campaigns at Moving Between RFM Segments

You can configure automatic workflows for each RFM segment.

For example, you want to send an email with a special offer to customers who are moving into the risk zone — from the segment of those who bought 3 months ago to those who made purchases 6 months ago.

Moving between segments

The settings algorithm will be as follows:

1. Add an event to the transition between segments as described above.

2. Create a workflow (Building and editing workflows).

Workflow example

3. After saving the workflow, set the event you created as the start condition.

Start configuration

Every time a contact moves between the segments you specified, they will receive messages from the workflow. It can be an offer with a unique promo code, a special discount, a survey about the quality of service, etc.

You can use such workflows not only to reactivate customers but also to accrue bonuses. In this case, pay attention to the transitions in the green cells. Attach workflows to them to notify the user about the number of bonuses in their account and how much they need to move to a new level.

Transitions in the green cells

Another workflow example is to notify the manager about the contact transition from the green to the red segment. The workflow will look like this:

Workflow example

In the parameters of the Email block, specify the message and email address of the manager who should receive it:

Email block parameters

The Get contact block will substitute data instead of variables in the email template:
Email with variables

Use the velocity expression $!data.get('X'), where X is the field with the value to pass to the manager. You can see the names of the variables in the Merge tags section of the message editor:

Merge tags

All additional fields that are in your account are collected here. Copy only the name without special symbols. E. g., convert %FIRSTNAME|% to $!data.get('FIRSTNAME').

See more information about setting up workflows at the link.

Any Questions?
We’re always happy to help!
Discount services
Schedule a Call
Fill in the form, and our specialists will call you back as soon as possible.
Discount services
Chat Support
We’re waiting for your questions!
Discount services
Contact the support team