Stated Preferences Lie Politely. Revealed Preferences Bill Accurately.
Shoppers say they want minimalist, sustainable, quiet. Then they buy the bright, discounted, popular thing. A preference engine has to weight what people do above what they say, without discarding either.
Every preference system holds two records that disagree. The stated record comes from onboarding quizzes, preference centers, and filters the shopper set once: sizes, colors, values, brands they claim to follow. The revealed record is the click, dwell, purchase, and return stream, and it contradicts the stated record constantly, not because shoppers are dishonest but because stated preferences describe the shopper they intend to be and revealed preferences describe the shopper at 11 PM with a card in hand. Weighting is the whole craft. Revealed behavior should steer ranking for the session in progress, because it is fresh and specific. Stated preferences should act as guardrails, hard exclusions the shopper explicitly set, a size, an allergen adjacent material, a hard no on a brand, and as cold start scaffolding for a new account with no behavior yet. Systems that rank purely on stated data feel respectful and convert poorly. Systems that ignore stated data entirely convert until the shopper sees the one thing they explicitly banned, and then they leave and tell you why in a review.
Guardrails up, steering down
Implement the split literally in the ranking stack. Stated preferences enter as filters and exclusions applied before scoring: out of stock in the stated size never scores, an excluded brand never scores, a material the shopper filtered out never scores. Revealed signals enter as the score itself: category affinity from the last thirty days weighted over lifetime affinity, price band from viewed items, brand affinity from completed purchases discounted by returns. When the two conflict inside the scoring zone, for instance the shopper states a premium preference and keeps buying mid price, the revealed record wins the ranking and the stated record stays untouched in the profile, because the shopper may want the premium framing even while buying the practical tier, and the center is their document, not yours to edit.
Returns are the revealed signal most engines underweight. A purchased and kept item is a strong preference. A purchased and returned item is a preference against, often logged by naive systems as a purchase and therefore as a positive. Wire returns in as negative affinity with the return reason attached where you have it: fit reasons should move size logic, quality reasons should move brand logic, and changed my mind should move almost nothing.
Related reading on this site: PrefEngine and Preference Sunset Rules: When to Delete Old Preferences cover the neighbouring problems in more depth.
Quiz answers decay on a schedule
A preference stated eighteen months ago is a historical document. Put a half life on quiz derived signals used for anything beyond hard exclusions: full weight for a quarter, fading after, refreshed whenever the shopper retakes or edits anything in the preference center. The edit event matters more than the edit itself. A shopper who opens the center and changes one color is telling you the record is alive and they care about it; a shopper who never opens it in two years is telling you the opposite, whatever the record says.
Cold start is where stated data earns its keep and where quizzes go to die of length. Five questions shoppers finish beat twenty five they abandon at question nine, and the five should be the five with hard consequences: size system, the category they came for, a price comfort band, a brand they love, a brand or material they refuse. Everything else the engine can learn faster by watching than by asking.
Show your working, carefully
Shoppers forgive a wrong recommendation. They do not forgive a creepy one. When the engine surfaces a pick, the explanation that works is behavioral and recent, because you viewed the trail shoes, not biographical, because your profile says outdoorsy. Keep explanations tied to actions in the current relationship, let shoppers clear history and reset preferences in one obvious place, and treat that reset button as a feature customers trust you for, not a data loss event. Engines that hide the reset teach shoppers to shop logged out, and a logged out shopper gives you neither record, stated or revealed, which is the worst weighting of all.
Frequently asked questions
What is the difference between stated and revealed preferences?
Stated preferences are what shoppers declare in quizzes, filters, and preference centers. Revealed preferences are inferred from behavior: clicks, views, purchases, and returns. The two often differ because stated answers describe intentions while behavior reflects in the moment choices.
Which should a preference engine weight more?
Revealed behavior should steer ranking because it is recent and concrete. Stated preferences work best as hard guardrails, sizes, exclusions, and refusals, and as cold start data before any behavior exists.
How should returns affect preference data?
Returns should count as negative signals, weighted by reason. Fit related returns should adjust size logic, quality related returns should lower brand affinity, and changed mind returns should carry little weight either way.
How long do onboarding quiz answers stay useful?
As soft ranking signals, a few months at full weight, fading unless refreshed. Hard exclusions the shopper set explicitly should persist until the shopper changes them, because those represent deliberate boundaries rather than tastes of the moment.