RFM segmentation in Klaviyo: the complete do-it-yourself method
Score every customer on three things you already track: last order, order count, total spend. No data team, no app. Leave with working segments. Free and ungated, start to finish.
Score customers against your own list
A fixed threshold has to guess what recent means.
Four steps, in your own account.
-
Export three columns
Pull one row per customer from Shopify or Klaviyo with three columns: last order date, order count, total spend. Shopify's customer export has them, and a Klaviyo profile export works too. Any export will do as long as the file carries an email column and those three numbers, which is everything the method needs.
-
Rank into quintiles
Rank every customer on each of the three columns, cut each ranking into five equal groups, and score 1 to 5, with 5 as the best. A percentile or NTILE function does it in any spreadsheet. One nuance: most of your list likely has exactly one order, so a large share will tie on Frequency. That is expected. Score the tie as one group and move on.
-
Write the scores back
Import the scores to Klaviyo as three custom properties on each profile: rfm_recency, rfm_frequency, rfm_monetary. A CSV import does it; match on email. This write-back is the point of the method. Once the scores live on each profile, every segment, campaign, and flow in the account can read them. Left in a spreadsheet, they drive nothing.
-
Wire segments and flows
Build the ten segments as Klaviyo segments with conditions on rfm_recency, rfm_frequency, and rfm_monetary, using the mapping table below. Then point the program at them: campaign audiences, flow filters, exclusions. A winback that only fires for At Risk reads differently than one that fires for everyone. When the segments are live, the migration playbook in the flows teardown is the next read.
From three scores to ten segments
Each row maps score ranges on the three properties to one named bucket; a customer lands in the first row they match. Treat the ranges as a starting point and tune them to your data.
The standard mapping used across the industry, aligned with the ten segments in the lifecycle playbook. Tune them to your own data. A few score combinations will not match any row. File those with the nearest neighbor and move on.
The judgment calls that make the scores true.
Subscriptions skew Frequency
An auto-ship order is a scheduled billing event, so it says nothing new about intent to buy. Left in the ranking, subscribers crowd the top Frequency quintile and look like your most loyal buyers. Standard operator practice: score subscribers separately from one-off buyers, or the Frequency dimension stops meaning what you built it to mean.
One-order customers
Around half a typical list has exactly one order. A naive ranking breaks that tie arbitrarily and scatters identical customers across scores. Keep them coherent: give the one-order group a single Frequency score so New Customers and Promising stay meaningful segments instead of random slices of the same behavior.
Re-score monthly
Recency moves every day the customer does not buy, so scores drift out of date on their own. Monthly re-scoring is the workable floor; quarterly lets segments go stale between passes. A stale score misroutes every campaign and flow that reads it, and nothing in the account will warn you.
Tune cut lines per brand
A furniture or jewelry brand with two orders a year needs different lines than a consumable with twelve. The quintile method gets every brand a working first draft. The tuning, moving a Monetary line or merging thin buckets, is the operator work, and it is worth doing after a month of watching the segments.
R 1 · F 5 · M 5 maps to Can't Lose Them
Take one customer. She has ordered six times for $860 total, but her last order was five months ago in a brand where the typical gap is six weeks.
High Frequency, high Monetary, fading Recency: that combination maps to Can't Lose Them. The move is a direct winback, sent early and worth reading, instead of the monthly promo she is already ignoring. The two scores that took years to earn are still a 5, and the one that decays is the only one slipping.
You can run all of this yourself
Scoring is the easy half. The system is what comes after: re-scoring on a cadence, acting differently per bucket, and measuring whether customers migrate up month over month. That migration read has its own teardown; the flows playbook covers which campaign moves which bucket. If you would rather we build and run it, that is what the fit call is for. Either way, it lives in your Klaviyo and stays yours.
Done. Your worksheet is yours.
Check your inbox, it is on the way.
What operators ask
Do I need a data team or an app for this?
No. The whole method runs in a spreadsheet: export, rank with a percentile or NTILE function, import the three properties back through CSV. That covers most lists comfortably. When your list gets big enough that the monthly manual pass hurts, automate the same method; the scores and segments do not change, only who runs the math.
How is this different from Klaviyo's built-in segments?
Klaviyo's predictive fields, expected date of next order, predicted CLV, are useful and worth using. RFM scores are different in kind: transparent math you can audit, cut lines you can tune per brand, and properties you own on the profile. Use both: predictions as a check, RFM as the segmentation you control.
How often should I redo the scoring?
Monthly is the floor. Recency decays daily, so every month you skip, more customers sit in segments they have already left. The failure is silent: campaigns keep sending and flows keep firing, all routed on last quarter's list, with nothing in the account to flag it. Put the re-score on a calendar, same day each month, so every segment routes on current data.
Your scores, your segments, your account
This page is the whole method; a spreadsheet and an afternoon will run it. Or book the fit call and we score, build, and run it inside your Klaviyo, on data you own. If we ever part ways, all of it stays.
More from this series: the lifecycle playbook our Klaviyo Composer review segment migration, the KPI that compounds
Sources
- Datadrew: RFM segmentation for D2C and Klaviyo (operator playbook)
- Concomitant: the lifecycle playbook (scoring, migration, flow testing)
Operator-practice notes on this page (subscription scoring, relative thresholds) follow standard industry guidance; the one-order share of a typical list is a common operator observation to validate on your own export; validate every choice against your own data.