Why Your Recommendation Engine Sucks
Lessons from building a global recommendation system for a โฌ10B luxury fashion brand.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
So you dropped a small fortune on a recommendation engine and it keeps suggesting white sneakers to someone who just bought white sneakers. Cool. You built a parrot.
I spent a couple years building reco systems for a major luxury fashion house โ 400+ stores, 65 countries, catalog that basically resets every season. Here's what I
wish someone had told me on day one.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Google-style recs don't work here
Most recommendation engines run on the same brain as Google Ads. You looked at it? Here it is again. You bought it? Here's five more.
Fine for toothpaste. Terrible for luxury.
Someone who just dropped โฌ3,200 on a leather jacket doesn't want to see more leather jackets. They want what goes with it. What the stylist in Milan would pair it
with. What's landing in stores next week that nobody's seen yet.
Click data tells you what happened. It says almost nothing about taste, intent, or the relationship someone has with a brand. And in luxury, that relationship is the
whole product.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Your sales team is already beating your algorithm
This one stung.
We measured it. Store associates were outperforming our v1 algorithm 3-4x on cross-sell conversion. Not close. Embarrassing.
Why? Because a good associate:
- Reads the room. Hesitation on a price tag. Eyes on a color. The vibe.
- Knows context beyond transactions. "Last time you mentioned your daughter's wedding."
- Understands occasion. Nobody buys a โฌ900 scarf randomly. There's always a reason and they find it in 30 seconds.
- Curates, doesn't recommend. "I picked this for you" hits different than "people like you bought this."
So we stopped trying to replace the sales team and started building tools for them. The system prepped a shortlist before the client walked in โ purchase history,
browsing, wishlist, what's new in their size, what's trending locally. The associate used their judgment from there.
Basket size went up 22% in pilot stores. First quarter.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Brand awareness isn't a funnel stage
This is where most e-commerce thinking falls apart.
In luxury, brand awareness isn't something you push people through on the way to checkout. It is the product. People don't buy a bag because your algo surfaced it at
the right millisecond. They buy it because they've spent years with the brand โ stores, editorial, seeing it on the right people, being known when they walk in.
When you optimize recs purely for CTR, you actively cheapen the brand. "You might also like..." plastered everywhere like a desperate market stall.
What worked for us:
- Editorial-first recs. Show campaign looks styled by the creative team. The algo picks which editorial to surface based on taste, but the content stays brand-
controlled. - Scarcity as a feature. Almost sold out? Don't blast it to everyone. Show it to the one client who'd love it most. "We held this for you" destroys "trending
now." - Negative recs. Rules for what not to show. Never recommend cheaper after expensive. Never show sale items to full-price clients. Never cross-recommend
categories that dilute positioning.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Cold start will kill you quietly
New user, no data. Standard playbook says show bestsellers and wait for clicks.
In luxury, that first impression is everything. A new client is forming their opinion of you right now and you're showing them... the same grid everyone sees?
Things that actually helped:
- Referral context. Came from an Instagram menswear ad? Show them menswear. Not the homepage carousel.
- Geographic taste. A new client in Seoul sees different stuff than one in Dubai. Not stereotyping โ our data showed top 10 products by region had less than 30%
overlap. - Fast learning. We built a lightweight model that meaningfully updated after just 3-5 interactions. Not perfect, way better than static bestsellers.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Measure the right thing
The metric that changed everything wasn't CTR or conversion. It was repeat visit rate within 90 days โ online and in-store combined.
When we optimized for that, the recs got weird by e-commerce standards. The system started suggesting:
- Products you couldn't buy yet (pre-launch previews)
- Store events in your city
- Craftsmanship content, not just products
- "Complete the look" with pieces from two seasons ago still in select stores
None of that maximizes today's conversion. All of it builds the kind of relationship that turns a โฌ500 one-timer into a โฌ200K lifetime client.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Quick wins if you're fixing yours now
- Expand your feedback loop. If you only learn from clicks and purchases, you're blind. Add returns, associate notes, service interactions, wishlists.
- Spend a day on the shop floor. Watch what associates recommend and why. They're using signals your model doesn't have.
- Audit "similar items." Pull up 20 random product pages. If the recs feel like search results, that's a problem.
- Rethink "people also bought." Social proof works for Amazon. For most brands it's lazy and it cheapens things.
- Add relationship metrics. Repeat rate, cross-category exploration, store visit correlation. If all your KPIs are about immediate conversion, you're stuck in a
local maximum.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
The best recommendation engine I ever saw was a woman named Giulia in the Rome flagship. Remembered every client's name, knew their taste cold, sent handwritten
notes when something arrived she thought they'd love.
We didn't try to replace Giulia. We tried to give every touchpoint a little bit of what makes her great โ real knowledge of the client, good taste, and the
confidence to say "this is for you."
Your reco engine sucks because it's trying to be a salesperson. It should be a tool for your best salesperson.
