A four-part personalisation programme for four European retailers across fashion, general merchandise, baby products, and consumer electronics. Rule-based setups replaced with a machine-learned, content-aware, agent-supervised Next-Best-Offer engine tuned per catalogue.
Four European online retailers, four different catalogues, one common starting point: recommendations driven by hand-written merchandising rules, bestseller lists, and a bolted-on "customers also viewed" widget, disconnected from what individual customers had actually browsed or bought.
The rules were not learned. Newsletters went out as segment blasts, homepages defaulted to bestsellers, and product-page "similar products" were curated by hand and quickly went stale. The same popular items got shown to everyone, funnelling customers into a narrow slice of the catalogue while the long tail stayed invisible.
Two problems sat underneath: the system had no notion of an individual customer, and new SKUs had no behavioural history for any co-view or co-purchase logic to work with. In baby products and electronics, where product turnover is high, that cold-start gap kept a large share of the catalogue permanently invisible.
Four recommendation types, one shared Next-Best-Offer layer, built as hybrids of behavioural signal, content embeddings, and LLM attribute checks.
Before any recommendation could ship, we built the shared data layer the four types sit on: a product embedding store indexed for fast nearest-neighbour lookup, a transaction datamart holding historical baskets and purchase sequences, and a clickstream datastore capturing co-view and session events in near real time.
One foundation, four surfaces, one consistent view of the customer — and new recommendation types are cheap to add on top rather than rebuilt from scratch.
Individually-ranked products driven by the customer's own clicks, purchases, and behaviour from similar customers. One scoring layer feeds newsletters, homepage, category, and product pages so the customer sees a consistent set across channels.
Shown on the product detail page to prevent drop-off: if the current product is not quite right, the customer can move sideways. A hybrid of item-to-item collaborative filtering (co-view and co-purchase), product-description embeddings, and LLM attribute comparison for ranking.
A subset of similar products surfaced right next to a product when it is out of stock. Filtered to in-stock items with compatible attributes so the customer sees a viable next step instead of a dead-end page.
Complementary basket completions - phone plus charger, case, earbuds, screen protector. Classic market basket analysis with association rule mining supplies the historical signal, but on its own it is the old way and fails on new products and thin baskets. We layered embeddings and LLM checks on top to propose and validate combinations market basket alone would miss.
The four types are not silos. A shared Next-Best-Offer layer blends their outputs, applies session context (device, recency, current-session browsing), and enforces agentic guardrails on stock, margin, and category diversity so no slot goes to an out-of-stock item or a single brand. A second agent pass re-ranks the blended output, catching weak or contextually wrong picks the scoring layer alone would let through. Cold-start products inherit neighbours from embedding similarity and LLM attribute matches until real behavioural data accumulates, at which point the signal blend shifts on its own.
Every engine was validated against the retailer's incumbent solution in a controlled A/B test before rollout, not just backtested.
Same building blocks, different catalogue. We have applied the pattern to similar-image search for customs and border control, similar-course recommendations for university students, and similar and alternative apps in app store discovery. What changes is the attributes that matter and the guardrails the agent enforces.
Across all four retailers, uplift landed consistently in the 5-8% revenue range against the rule-based incumbent, despite very different catalogues and customer bases.
Let's talk about what's achievable for your specific catalogue.
Start the Conversation →