Revealed Preference
What a user says and what a user does aren't two versions of the same fact. One is a claim made with no real alternative on the table. The other is a choice made with one, forgone in plain sight.
A user tells your team, in an interview, that price is the top thing stopping them from upgrading. Three months later they upgrade, the week a specific feature ships, with pricing unchanged. Read as a contradiction, this is confusing: which one was the truth? Read correctly, it isn't a contradiction at all, because a statement and a choice were never the same kind of evidence to begin with.
A claim needs nothing else on the table. A choice needs an alternative.
Saying "price is what's stopping me" doesn't require anything else to be true. No other option has to be sitting there for the claim to be made; the user can say it whether or not staying on the current plan was ever seriously in question for them. They might be reporting their honest best guess about their own future behavior, or the answer that's easiest to give an interviewer, or the reason that sounds most legitimate to say out loud, and from the outside those three are indistinguishable, because none of them had to be tested against a real alternative.
Upgrading the week a feature ships is a different kind of fact, and not because it was expensive. Staying on the current plan, at the current price, was still sitting right there the whole time pricing stayed put. The user picked the upgrade with that cheaper option open in front of them and didn't take it. That's what a claim can never supply on its own: an alternative that was actually available and turned down, at the same moment a different one was chosen.
That's the actual distinction, and it isn't about cost. A stated preference doesn't need a forgone alternative to exist at all: someone can name what they'd supposedly do with nothing else live to compare it against. A revealed preference needs one: an option that was genuinely on the table and not taken, at the same time as the one that was. Cost is often part of why that alternative stayed real rather than hypothetical, changing plans, spending money, and taking on a decision to justify later are all reasons an option stays open until someone actually declines it, but cost is what makes an alternative credible, not what defines whether a choice reveals anything. A long, effortful survey answer can cost real time and still reveal nothing, because there was no alternative on the table for it to be weighed against in the first place.
Where this gets its name
Economics has a name for the second kind of evidence, and a specific reason it was worth naming. In 1938, Paul Samuelson published "A Note on the Pure Theory of Consumer's Behaviour" (Economica), building a theory of what people want from which options they actually chose when other options were also affordable under the same real budget, deliberately without leaning on any claim about what people say they want or feel. The term that stuck for this, revealed preference, names exactly the distinction above: a preference is revealed when a choice is made with a real alternative on the table, not merely reported with none.
The honest limit: revealed preference isn't self-interpreting
This isn't a case for trusting behavior and discounting what people say. Two real limits sit inside it. First, inferring a preference from a choice only works if the choices are consistent, if someone would pick the same thing again given the same real options, an assumption that can fail when people are genuinely inconsistent, or when what looked like the same choice to an outside observer wasn't actually the same choice to the person making it. Second, and more important for a product team: a choice tells you what won, not why. It doesn't generalize to an option nobody has built yet, and it can't, because there was never a real alternative for it to be chosen over, when it was never on the menu at all. The reason has to come from somewhere else, and the reason is exactly what an interview, a call, a documented piece of research, the material a stated-preference source is actually good at, carries and a purchase log never will.
Two agents, two different questions
This is the actual split between two of Brief's agents, and it isn't redundancy. Signal Agent extracts research signals and themes from calls, documents, and research sources: stated preference, with the reasons attached. Behavior Agent pulls product analytics so what users do sits next to what they say: the behavioral record a revealed preference gets read out of, a real choice made while another path stayed open, not a claim about what would happen. Neither one is the correction to the other. A team that only reads Signal Agent's output has reasons with no evidence they were tested against a real alternative. A team that only reads Behavior Agent's has evidence with no account of why, unable to say anything about the feature nobody has shipped yet to test.
Putting the two next to each other doesn't resolve the apparent contradiction from the opening; it explains it. The user who named price wasn't lying and the user who upgraded when the feature shipped wasn't a different person. One gave you a reason. The other gave you the one thing a reason alone can never supply: a real alternative, forgone, at the moment the choice was made. A product context layer that only kept one of the two would be keeping half a picture and calling it complete.
Which of your last three product calls was actually made on evidence a real alternative was turned down for, and which one was made on the best reason anyone happened to say out loud?
Frequently asked questions
What is revealed preference? A preference inferred from a real choice made while another option was also genuinely available and not taken, rather than from what someone says they want. The term comes from economics, formalized by Paul Samuelson in 1938 as a way to study consumer behavior from which affordable options people actually chose.
How is revealed preference different from stated preference? Stating a preference requires nothing else to be true: no other option has to be on the table for the claim to be made. Revealing one does: it's inferred from a choice made while a real alternative sat there, unchosen. That's what makes it harder to fake, not that the act cost something, and it doesn't make it more truthful in every case.
Does that mean product teams should trust behavior data over user interviews? No. Revealed preference only works if choices are consistent, and it can't explain why something was chosen or say anything about an option that was never available to choose from. Stated preference is where the reasoning behind a choice actually lives, which matters most for deciding what to build next rather than judging what already shipped.
Why does Brief have separate agents for this instead of one? Because they answer different questions from different kinds of evidence. Signal Agent captures what users say and why. Behavior Agent captures what users actually did while another option stayed open. Collapsing them into one feed would lose the distinction between a reason and a choice made with a real alternative on the table, which is the whole point of keeping both.
← Back to Blog