Skip to content
HotelSEO Lab
← The Lab
Email, CRM & Lifecycle

RFM Segmentation for Hotels: Scoring Guests by Recency, Frequency, and Spend

A hands-on guide to building RFM scores from your booking data so you can spot your best guests, your at-risk regulars, and the one-timers worth nurturing.

HotelSEO LabDecember 1, 2026 10 min read

I have a confession that will make every revenue manager wince: most independent hotels treat their entire past-guest list as one giant undifferentiated blob. Same newsletter to everyone. Same “we miss you” email to the couple who honeymooned with you in 2019 and to the guy who stayed one night last Tuesday. Same 10% off to people who would have paid rack rate anyway.

It is a waste, and it is fixable in an afternoon. The fix is a 60-year-old direct-mail technique called RFM. It is the single most useful thing you can do with the guest data you already have, and almost nobody in boutique hospitality bothers. Let me show you how I build it.

What RFM actually is (and why it beats your gut)

RFM stands for Recency, Frequency, Monetary. You score every past guest on three questions:

You turn each of those into a 1-to-5 score, mash them together, and suddenly your blob becomes a map. The point is not statistical elegance. The point is that you stop guessing about who matters and start treating different guests differently - which is the entire game in lifecycle marketing.

Your gut says your “best guest” is the one you remember chatting with at breakfast. Your data says your best guest is the quiet anniversary couple who has booked the same suite every November for six years and never once asked for a discount. RFM finds the second kind, because you will never remember all of them.

The data you need (less than you think)

You do not need a customer data platform. You need a CSV. Export your booking history with, at minimum, these columns:

That is it. If your PMS can also give you booking source, room type, and ancillary spend, great, keep them - they make later analysis richer. But three columns get you a working model.

Two honest warnings before you export anything:

  1. Dedup by email, not by name. “Jon Smith,” “John Smith,” and “J. Smith” are three rows and one human. Email is your least-bad unique key. Phone is a decent backup.
  2. Decide what a “stay” is. I count one reservation as one stay, even if it is five nights. If you count nights, your frequency scores get distorted by people who book long stays. Pick a rule and apply it to everyone.

The dirtiest secret of guest data is that your OTA bookings often arrive with masked or alias email addresses, so those guests are nearly impossible to remarket to directly. That is not a reason to skip RFM. It is a reason to read it as one more argument for winning the relationship at check-in and pushing the next booking direct. I dig into the mechanics of that in our piece on how OTAs quietly intercept your guests in search.

Step by step: scoring guests in a spreadsheet

Here is the exact process I run for a hotel doing this for the first time. You can do every step in Google Sheets or Excel.

Step 1 - collapse to one row per guest

Pivot your raw booking export so each guest email becomes a single row with three calculated fields:

Step 2 - turn dates into “days since”

Recency needs to be a number, not a date. Add a column: today’s date minus last stay date. A guest who stayed last week is 7. A guest from two years ago is 730. Lower is better here, which matters in the next step.

Step 3 - rank each dimension into 1-5 buckets

This is the only mildly clever part. For each of the three columns, split your guests into five roughly equal groups (quintiles) and assign a score:

In Sheets, the PERCENTRANK function or a nested IF against quintile cutoffs does this fine. Do not overthink the math - if a guest lands a 4 instead of a 5, your campaign does not collapse.

Step 4 - assemble the score

Now each guest has three digits, for example R5 F2 M4. I keep them as a three-part code rather than averaging, because the pattern tells a story that an average hides. A guest at R5 F1 M5 (just stayed, first time, big spender) is a completely different opportunity from R1 F5 M2 (loyal regular who has gone quiet). Average both and you get mush.

Turning scores into segments you can actually email

Three-digit codes are precise but unwieldy. I collapse the 125 possible combinations into a handful of named segments a human can act on. Here is the cheat sheet I hand clients:

SegmentRough RFM patternWhat it meansWhat I send
ChampionsR4-5, F4-5, M4-5Recent, frequent, high-spendEarly access, perks, a real thank-you, referral ask
Loyal regularsF4-5, mixed R/MBook often, maybe not big spendersLoyalty recognition, gentle upsell to suites
Big spenders at riskR1-2, M4-5Spent a lot, gone quietPersonal win-back, no blanket discount
Recent one-timersR5, F1Just stayed onceNurture sequence, reason for a second visit
PromisingR4-5, F2-3, M3-4Building a patternEncourage the third booking
HibernatingR1-2, F1-2, M1-2Old, occasional, low-valueLow-cost reactivation or let them sleep

Notice what is missing from that table: a column called “blast everyone the same 15% off.” That is the whole reason we did the work.

A couple of segments deserve special attention because they are where the money hides.

Big spenders at risk are the most expensive segment to ignore. These are guests who have proven they will pay you well, and they have stopped coming. A generic discount actually cheapens the relationship. What works is a personal, specific message - reference what they booked last time, the suite, the occasion - and an invitation, not a coupon. This is also where a tightened-up direct booking experience pays off, because if you do win them back, you do not want to hand a commission to an OTA on the rebound. Our take on the real cost of that commission lives in the book-direct math breakdown.

Recent one-timers are your growth engine. They just experienced you, so the memory is fresh, but one stay is not a habit. The job is to manufacture a reason for visit number two before they forget you exist. Seasonal events, a “first-time guests come back for” offer, a local angle they missed - anything specific beats “book again.”

A worked example (clearly hypothetical)

Let me make this concrete with invented numbers so you can see the shape of it. Imagine a 22-room coastal inn pulls 1,800 past guests out of the PMS. After scoring, the distribution might look like this:

Those 70 “big spenders at risk” are the headline. Even at an illustrative average past spend per stay in the high hundreds, that is a meaningful pile of revenue sitting one good email away from coming back - and it is invisible if you only ever look at the whole list at once. (To be clear: I made those numbers up to show the method. Your real distribution is the only one that matters, and you will not know it until you run your own export.)

How RFM plugs into the rest of your marketing

RFM is not a standalone trick. It is the targeting layer underneath everything else you do.

And here is the connective tissue to the work I usually get hired for: RFM tells you who already loves you, but search and AI visibility decide whether new guests can find you in the first place to ever enter that funnel. The two reinforce each other. A growing pipeline of new direct guests feeds your “recent one-timers” segment, and RFM turns those one-timers into regulars. If your discovery side is weak, start with the 2026 hotel SEO starter guide and our AI visibility and AEO/GEO service, then come back and layer RFM on top.

How often to run it, and what to expect

Re-score monthly. Recency moves every single day, so a stale model quietly misfiles your at-risk guests as still-active. A monthly refresh keeps the segments honest without becoming a chore - 30 minutes once you have the spreadsheet built.

On results: I am not going to promise you a magic revenue lift, because anyone who does is selling you something. What I can tell you honestly is that targeted segments reliably outperform one-size-fits-all blasts, that win-back campaigns aimed at proven spenders are some of the highest-return marketing a hotel can run, and that the timeline is realistic - you will see signal within a campaign or two, not overnight. RFM does not create demand. It points your existing demand at the guests most likely to respond, which is a far better use of your time than another all-list newsletter nobody opens.

Start small. Export the CSV, build the three scores, name five segments, and write one genuinely good win-back email to your “big spenders at risk.” That single campaign usually pays for the whole exercise.

Where to go from here

If you want help wiring RFM into a real lifecycle program - or you would rather hand the whole guest-data-to-revenue pipeline to someone who does this for boutique hotels all day - that is exactly the kind of thing we build. Take a look at our content and reputation work, or just book a free intro call and bring your messiest guest export. I will happily talk you through what your own RFM map is likely to show before you spend a dollar.

FAQ

Quick answers

What is RFM segmentation for a hotel?

RFM scores each past guest on three things - how recently they stayed (Recency), how often they have stayed (Frequency), and how much they spend (Monetary). You combine those into a simple score that tells you who your best, at-risk, and one-time guests are so you can market to each group differently.

Do I need a fancy CRM to do RFM?

No. If you can export a CSV of past bookings with a guest email, a stay date, and a total spend, you can build a first RFM model in a spreadsheet in an afternoon. A CRM makes it repeatable, but it is not the starting requirement.

How often should I re-score guests?

Monthly is plenty for most independent hotels. Recency drifts every day, so a fresh score once a month keeps your at-risk and lapsed segments accurate without turning it into a full-time job.

Does RFM help with direct bookings?

Yes, indirectly but powerfully. RFM tells you who already loves you, and those are the guests most likely to book direct if you reach them before they default back to an OTA. It is one of the cheapest ways to claw back commission.

Keep reading

More from the Lab

Free intro call

Let's go find out why the OTAs are outranking you for your own name.

20 free minutes. We'll look at your hotel live, show you where you're invisible — on Google and in the AI answers — and tell you straight whether we can help.

No lock-in · No 12-month handcuffs · You talk to the strategist