Back to Writing

Stated versus revealed preference, in booking data

Ask people what holiday they want and they'll describe something longer and fancier than the one they book. I had the survey answers and the transactions for the same customers, so I could measure the gap. It's large and predictable.

5 min read

Travel marketing assumes people book the holiday they describe. Ask someone what they want and they’ll tell you, sincerely, about the two-week luxury escape: the suite, the long unhurried itinerary, the trip they’ve earned. Then look at the booking data and a different person shows up. They book the shorter stay, a tier below the one they clicked “interested” on, and they do it consistently enough that the gap stops being noise and starts being a fact about people.

I spent a stretch at Luxury Escapes with that data in front of me. The gap between what travellers said and what they paid for was wide, stable, and worst on exactly the two dimensions the marketing leaned into hardest: luxury tier and trip length. Self-description reached for the aspirational version. The credit card reached for something more constrained. This is the oldest distinction in the discipline I trained in, and it turns up in any product where users describe themselves.

Two preferences, and only one of them pays

Economists separate stated preference from revealed preference for a reason. Stated preference is what you say you want, gathered from surveys, sign-up questionnaires, the things you favourite, the box you tick. Revealed preference is what your choices show you actually wanted, inferred from what you gave up to get it. They’re different measurements of different things, and when they disagree, the money is on revealed.

They diverge, and it isn’t because people lie. Stated preference is sincere. It’s just answering a different question. Ask someone what holiday they want and they answer with their aspirations, their self-image, the version of themselves they’d like the survey to record. No budget constraint, no calendar, no school-holiday Tetris, no quiet sense that fourteen days is a long time to be away from home. Revealed preference is that same person after all of those constraints have done their work. The survey captures the wish and the booking captures the trade-off. A product that listens only to the survey is building for a customer who doesn’t exist at the moment of purchase.

The duration gap, concretely

Trip length is the cleanest example, because the gap is so easy to read. People describe long trips and book shorter ones. The stated preference points one way and the revealed preference, aggregated across enough bookings to drown out the noise, points reliably shorter. The same thing shows up in tier: the aspiration drifts up the luxury ladder and the booking settles a rung below.

Take the stated signal at face value and you merchandise long luxury trips, lead with them, optimise the page for them, and quietly underperform, because you’ve aimed the whole funnel at the holiday people enjoy imagining rather than the one they complete. Keep offering the aspirational trip. Just stop treating a survey answer as a forecast of behaviour, and start treating it as what it is, which is a weak signal about a strong feeling.

The most durable lesson from that period was about sequencing rather than preference. An earlier recommendation and email project taught it: most of the revenue lift came from getting the order right, meaning which offer to surface next, rather than from personalising harder on who someone said they were. Behaviour responded to the sequence of what it saw far more than to a richer model of stated identity.

Where to trust behaviour, and where not to

The product rule that falls out of this is easy to say and surprisingly hard to hold. Build for what people do, instrument the gap, and treat stated preference as the weak signal it is. When the survey and the booking disagree, the booking wins, and your job is to design for the customer who completes the purchase.

Weak isn’t worthless, though, and there’s one place where stated preference is the only signal available. Revealed preference can only reveal a choice that was on the menu. For anything new, a destination, a format, a price point nobody has had the chance to choose, behavioural data is silent, because the behaviour never had the opportunity to happen. There the survey and the interview and the “would you want this” is all you’ve got, and you read it for direction while knowing it’ll over-promise on magnitude. The discipline is matching the signal to the question: trust behaviour where a choice already exists, fall back on what people tell you only where it doesn’t.

I saw the front end of this before I ever saw the data, selling travel across a counter. A revealed preference is only as honest as the menu you put in front of someone, and editing that menu is most of an agent’s craft. Nobody walked in asking to be upgraded, and left alone every traveller revealed a tidy preference for economy. Ask the question, though, and frame the fare against the twelve-hour flight rather than against the economy seat, and a real share said yes. The upgrade booked at roughly four times the fare, usually at better margin. That economy “preference” was just the only option anyone had offered.

The same move ran in reverse, pulling a booking back up towards what someone said they wanted. Put two hotels side by side, the mid-tier one they were about to book and the five-star they’d earlier called the whole point of the trip, and the contrast does some of the work. That’s Cialdini’s contrast principle, the reason you show the dear room first. The rest is consistency, another of his levers. Name the gap out loud, something like “you told me this was the trip you’d earned, and you’re booking the room you’d pick for a work conference”, and people, wanting their choices to match their words, often close it themselves. The aspiration was real. It had lost to the budget in the moment, and the job was to give it a fair hearing. The booking data I’d stare at later had the same blind spot from the other side, because it could only reveal the preferences my menu had allowed.

Treat the gap between what people say and what they do as the most useful thing in the data rather than as error to clean out of it. It’s the difference between the customer in the survey and the customer at the checkout.