TapCub is live — analytics, insights and live chat, free on one platform
Help center

How do I run an RFM analysis?

Score buyers on recency, frequency and monetary value, read the 11 RFM segments and how people move between them, and create an RFM segment to use in funnels and campaigns.

Product analytics3 min readLast updated Nov 5, 2026TapCub team

Still have a question?

Could not find it? A person reads every message, usually within a few hours on business days.

Chat with us

Short answer

Once purchases reach the order ledger, open All-platform analytics › Business › Commerce & revenue › RFM segments. TapCub scores every buyer from the last 365 days on recency, frequency and monetary value (1 to 5 each, by quintile) and places them in 11 segments, from champions to hibernating, with the change versus 30 days ago. To use RFM groups in funnels or campaigns, create a segment of type RFM under Users › Segments & tags.

RFM stands for recency (how recently someone bought), frequency (how often) and monetary value (how much they spent).

Before you start

Send purchases so they land on the order ledger, with an order id and amount. See track ecommerce purchases. Without orders the RFM grid is empty. People with no purchase are left out of RFM; they are not scored as 1.

How scoring works

Buyers are ranked on each dimension and cut into five equal bands (quintiles), scored 1 to 5. A more recent purchase scores higher on recency.

Example with 1,000 buyers (sample data): each band holds about 200 people. A customer whose last order was 5 days ago is among the 200 most recent, so R = 5. With 2 orders they fall in the middle band for frequency, F = 3. Having spent $180, in the second-highest spending band, M = 4.

Because scores are relative, a "5" means "top fifth of your buyers", not a fixed threshold. When your customer base changes, the cut-offs move.

Read the 11 commerce segments

The grid plots recency score against frequency score, with headcounts at the end of the selected range.

SegmentTypical meaningWhat to do
ChampionsBought recently, often, and spend a lotReward, ask for reviews and referrals
LoyalBuy regularlyOffer upgrades, loyalty perks
Big spendersHigh monetary valuePersonal service, premium offers
NewFirst purchase recentlyOnboarding, second-purchase incentive
Potential loyalistsRecent, a few ordersMembership, bundles
PromisingRecent, low frequency so farBuild habit with relevant follow-ups
Need attentionAverage across the board, slippingLimited-time, personalized offers
About to sleepBelow average recency and frequencyReactivation with popular products
Cannot loseUsed to buy often and a lot, not latelyWin-back with high-value outreach
At riskWere good customers, long time since last orderReconnect, ask what changed
HibernatingLow on all threeLow-cost reminders, or let go

Read the headcount and change for each segment first, then the moves table, which lists the largest movements between segments versus 30 days ago. Someone who was in a segment 30 days ago and has no purchase in the current lookback appears as churned in the moves; it is not a segment you can open.

Create an RFM segment for funnels and campaigns

  1. Go to All-platform analytics › Users › Segments & tags and create a segment of type RFM. Creating one needs an owner, admin or analyst role.
  2. Choose the purchase event, the amount property (leave it empty to score on counts) and the lookback.
  3. Save. The segment has 10 buckets, compares recency with the average of the frequency and monetary scores, and is recomputed daily with moves stored.
  4. Open a bucket to see members, or use the segment in a funnel, retention analysis or export. See create user segments.

The 10 segment buckets and the 11 commerce segments use different data and edges. Do not add their headcounts together.

Where the product engagement score is

The same documentation page covers the product engagement score (PES), which measures adoption, stickiness and growth for products without purchases. Find it under All-platform analytics › Business › Product engagement; configure core events on the PES tab of Configuration › Business settings.

FAQ

Why do the commerce page and my segment show different headcounts? The commerce page uses ledger purchases from the last year and has a big-spender segment. Your segment uses your own event, amount property and lookback, and the bucket edges differ.

Are amounts converted to one currency? On the commerce page, yes: it uses the converted base currency on each order. A segment that sums an event property uses the raw value.

Related

Did this answer your question?

We use your answers to fix and expand this page.

See your data clearly. Find your growth.

Every click, backed by data. Install one line of code and see your first numbers in a minute.

No credit card · Free plans for analytics and chat · Cookieless analytics