How to create multiple RFM models for different customer cohorts
Klaviyo's RFM analysis scores your customers on how recently they bought, how often they buy, and how much they spend. With multiple models, you can run a second, independent RFM model over a distinct part of your business, such as subscription orders, retail orders, or one product line.
Each model has its own conversion metric and its own thresholds. A customer can be Champions in one model and At risk in another.


Requirements
- A Marketing Analytics or Advanced KDP subscription (so that RFM analysis is enabled in your account
- At least 500 customers who have placed an order
- An ecommerce integration, or conversion events sent through the Klaviyo API
- A custom metric built ahead of time, if you want the model to count only some (or a combination) of your orders
How multiple models work
Your existing RFM model becomes your first model, named Default. Its data, thresholds, and profile properties stay exactly as they are. You can rename it at any time.
You can create up to 4 models per account. A profile can belong to both, with a separate RFM group in each. A profile with no qualifying events for a model's conversion metric gets no RFM properties for that model.
You choose which orders count for a model through its conversion metric. To score a subset of orders, build a custom metric first, then select it as the model's conversion metric. For example, create a custom metric for "Placed Order" filtered to your point of sale channel, then use it as the conversion metric for a model named Retail orders.
Create a model
- Navigate to Marketing Analytics > Customer insights > RFM analysis. If you're an Advanced KDP customer, navigate to Advanced KDP > Intelligence > Customer insights > RFM analysis.
- Click Create new model.
- Enter a Model name. Each name must be unique in your account. Name the model after the population it covers, such as Subscription orders or Wholesale.
- Choose a Conversion metric. This drives the recency, frequency, and monetary calculations for this model. Select a custom metric here to scope the model to a subset of orders.
- Set the Time frame cutoff to limit how far back the model looks.
- Expand the recency, frequency, and monetary value cards and set your thresholds for this model.
Setting | What it does | Default |
|---|---|---|
Recency | Sets how many days since the last conversion counts as a high or average score | 365 and 180 days |
Frequency | Sets the conversion count that counts as a high or average score, by value or percentile | 33rd and 66th percentile |
Monetary value | Sets the spend that counts as a high or average score, by value or percentile | 33rd and 66th percentile |
- Click Preview to see how your thresholds distribute customers across the six RFM groups. Adjust and preview again until the distribution looks right for this population.
- Click Create, then confirm in the modal.


Charts on the RFM analysis page populate right away. The model's profile properties take up to 2 hours to appear in profiles, segments, and flows.
Switch between models
Use the RFM scoring model selector at the top of the RFM analysis page. The whole page rescopes to that model, including the customer distribution chart, group change over time, median performance, and the RFM segments card. Click Edit to open that model's settings.
Use a model in segments and flows
Every model's RFM properties are available as segment conditions and flow triggers. Each property is labeled with its model name in parentheses, so you can tell them apart.
- Navigate to Audience > Lists & segments and click Create new > Segment.
- Set the condition to Properties about someone, then search for RFM in the property picker.
- Choose the property for the model you want, for example Current RFM group (Subscription orders).
- Select an RFM group as the value, then click Create segment.
To trigger a flow on a change in one model, use that model's Current RFM group property in your flow trigger or conditional split. A profile's status in your other model won't affect it.

Rename a model
Click Edit, change the Model name, and save. Renaming updates the display name everywhere in Klaviyo. Your segments, flows, and API integrations keep working, because the underlying property keys don't change.

When to create another model
Another RFM model may be warranted when part of your customer base buys on a different rhythm or at a different scale than the rest. If two groups buy at a similar cadence and similar order values, your existing model already scores them correctly, and a segment gives you the view you want.
Create another model when:
- You sell subscriptions alongside one-time purchases. Subscription orders arrive on a fixed cadence and push frequency up, so your one-time buyers read as lapsing against a rhythm they were never on.
- In-store or wholesale orders sit alongside your online orders. These customers often buy less often at a higher order value, which a single model scores as low frequency even when those customers spend the most.
- You run distinct product lines. Someone who buys skincare every six weeks and fragrance twice a year looks inconsistent in one model. Separate models turn that gap into a cross-sell signal.
- Discounted or trade accounts skew your consumer scoring. Accounts on a standing discount pull your monetary thresholds down for everyone else.
Wait on a second model when:
- The two groups buy the same way. Build a segment on your existing model.
- The population is small. A model with only a few hundred customers produces groups too small to act on.
Best practices
- Build the custom metric first. A model is only as accurate as the metric behind it. Decide which orders belong in the population, build that custom metric, then create the model.
- Set recency to that population's purchase cycle. Subscription and consumable buyers repurchase monthly, so a 180 day recency window will flag them far too late, while jewelry and high-ticket buyers might need a wider window.
- Preview before you save. If Champions, Loyal, and Needs attention all come back tiny, your thresholds are too loose for this population.
- Name models after the population, not the purpose. Retail orders stays accurate as your strategy changes. Winback model doesn't.
- Give each model a real population. A model built over a few hundred customers produces groups too small to act on.
Things to know
- Models refresh daily, along with the rest of your RFM data.
- You can create up to 4 models per account.
- You can't delete or deactivate a model yet (coming soon).
- Klaviyo creates the prebuilt RFM segments for your first model only. Build segments for your second model manually.
- The action center on the RFM analysis page creates segments and flows using your first model's properties only.
- The API and third-party integrations see the raw property keys, which include a model index rather than the model name.
- You can't scope a model by list, segment, or profile property. Handle population scoping in the conversion metric, or use exclusion conditions in the segment builder.