Skip to content

How to segment customers with RFM

Jeremie Werner

Founder of Conversion Club · ikko

View author

Short answer

Score recency, frequency and spend against a consistent customer population, then give each useful segment a distinct action. Check ties and seasonal timing.

The answer in detail

RFM scores customers on recency, frequency, and monetary value. A common approach assigns one to five within your own customer population. Shopify already provides RFM groups; an order export and spreadsheet help you inspect thresholds and build an operational alternative where the native scores do not fit.

The benchmark

Recency is days since the last order, frequency is order count, and monetary value is total spending. In Shopify's cited October 2026 help, each dimension receives a one-to-five score. Recency rewards fewer days; frequency and spend reward higher values. Shopify combines frequency and monetary scores into FM, rounding their average down.

Shopify group Source scoring rule Action to test
Champions R = 5, FM > 3 Early access without a discount
Loyal R 3–4, FM > 3 Referral invitation
Active R ≥ 4, FM 2–3 Complementary products
New R = 5, FM ≤ 1 Product-use help and second order
Promising R = 4, FM ≤ 1 Reminder near repeat interval
Needs attention R = 3, FM = 3 Relevant category launch
Almost lost R = 3, FM ≤ 2 Reminder before inactivity
At risk R ≤ 2, FM 3–4 Personal message, then tested incentive
Previously loyal R ≤ 2, FM > 4 Direct contact or departure research
Dormant R ≤ 2, FM ≤ 2 One attempt, then less pressure

An eleventh group, Prospects, has no orders. Shopify's segmentation reference supports filters such as rfm_group = 'AT_RISK'. Confirm current names and cutoffs in the live report before reproducing them.

A Club women's-fashion base of roughly 29,000 customers, excluding B2B and flash sales, had Champions representing 12.5% of customers and 25.7% of revenue. Loyal represented 11% and 20.1%; Dormant represented 29.3% and 15.9%. Those are one brand's distribution, not target segment sizes.

The rule

A segment matters only when it triggers a different useful action. Two groups receiving the same email may not need separate operational treatment.

The same fashion brand sent one generic inactivity message: 1,088 sends in ninety days produced one order and ten unsubscribes. It was rebuilding the flow around RFM groups, with no measured improvement yet. Do not turn an unfinished plan into a success story.

Inspect average order count before writing a “loyal customer” message. That base's At risk group averaged 1.35 orders; Previously loyal averaged 2.93. When many customers have exactly one order, tied frequency scores mean spending can dominate FM. Such customers may be large-basket first-time buyers rather than formerly frequent buyers.

A custom analysis can replace frequency quantiles with fixed bins: one, two, three, four–five, and six-plus orders. That changes your own analysis; it does not imply Shopify's native group definition has changed. Keep a consistent lookback, such as twenty-four months ending at the previous month-end.

The steps

  1. Export orders. Filter the observation dates and retain order Name, Email, Created at, Total, and Financial Status. Apply consistent cancellation/refund rules. Use one currency and a stated monetary basis, especially across countries.
  2. Deduplicate orders. Multi-item orders can occupy several rows. Keep one order total per Name rather than summing the same order repeatedly. Reconcile customer identities too.
  3. Build customer measures. Per customer, calculate last-order date, distinct order count, and total spend. Measure recency against one fixed reporting date.
  4. Assign scores. In English-locale Sheets or Excel, the source's starting expression is =MIN(5,1+INT(PERCENTRANK($D$2:$D$5000,D2)*5)). For recency, subtract that score from six. For FM use =ROUNDDOWN((F2+M2)/2,0) if those cells hold the two scores. Tied values mean groups may not contain exactly 20% each; inspect the distribution instead of forcing a false equality.
  5. Create groups. Implement the table rules and report customer count, revenue, and average orders per group. Label any custom thresholds distinctly from Shopify's native labels.
  6. Act on three groups first. Build distinct flows and track monthly migrations alongside repeat purchasing. Begin with a useful inactive-customer flow rather than messaging all eleven groups at once.

The pitfall

Discounting Champions can subsidize purchases that would happen anyway. Test early access first; evaluate incentives through loyalty economics.

Native RFM in the fashion case showed 17% repeat customers versus 25.3% in cleaned web orders, attributed to duplicate and marketplace profiles. Another winter-accessories brand classified natural seasonal buyers as Dormant. Check category inactivity timing before declaring someone lost; New and Promising belong in the second-purchase journey.

What to tell your team

These numbers are fictional:

“Across twenty-four months, At risk and Previously loyal represent 9% of customers and 31% of revenue. We will test distinct flows for those groups and track movement monthly against a comparison group.”

Sources

Further reading

The Playbook answers in short. Conversion Club articles take the time: methods, field cases and figures to go further.