LLM-Assisted Personalization Framework for Multi-Vertical Retail Discovery
doordash · E-commerce · 2025 · source Agentic: no · promotional bias: med · source-backed · extracted with prompt 0.5.6 (schema v2)
Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.
Problem
Domain: Retail marketplace search and personalization
DoorDash needed product discovery to work across expanding non-restaurant verticals where customer intent, affordability, familiarity, and novelty all vary by shopper, category, surface, and shopping moment.
Constraints:
- The catalog spans millions of items across thousands of merchants, making naive prompt stuffing or brute-force LLM generation impractical.
- The system must serve multiple discovery surfaces including category pages, checkout aisles, carousels, search, and notifications.
- The architecture must balance relevance, price sensitivity, merchant constraints, exploration, and cross-vertical novelty.
- LLM usage must be cost-effective and reusable rather than replacing scalable recommender infrastructure.
Architecture
DoorDash built a hybrid personalization framework that keeps classical recommender systems responsible for high-scale retrieval and ranking while adding LLMs for semantic collection generation, query rewriting, recommendation explanations, order-history summarization, product knowledge graph augmentation, hierarchical RAG, and semantic IDs. The framework organizes decisions around familiarity, affordability, and novelty, then applies the right model family at each stage of retrieval, ranking, targeting, and presentation.
Diagram confidence: explicit (topology described by the source).
flowchart LR Discovery_surfaces["Discovery surfaces"] --> Multi_task_rankers["Multi-task rankers"] Two_tower_embedding_model["Two-tower embedding model"] --> Item_embedding_index["Item-embedding index"] Item_embedding_index --> Multi_task_rankers Multi_task_rankers --> Discovery_surfaces LLM_semantic_layer["LLM semantic layer"] --> Hierarchical_RAG["Hierarchical RAG"] Hierarchical_RAG --> Catalog_hierarchy["Catalog hierarchy"] LLM_semantic_layer --> Product_knowledge_graph["Product knowledge graph"] Semantic_IDs["Semantic IDs"] --> LLM_semantic_layer LLM_semantic_layer --> LLM_presentation_layer["LLM presentation layer"] LLM_presentation_layer --> Discovery_surfaces Deals_Generation_Engine["Deals Generation Engine"] --> Discovery_surfaces
Components
| Component | Role | Interacts with |
|---|---|---|
Discovery surfaces |
Category pages, checkout aisles, personalized carousels, search results, and notifications where personalized results are shown. | Multi-task rankers, Deals Generation Engine, LLM presentation layer |
Two-tower embedding model |
Learns customer and item representations and supports efficient top-N recall against an item-embedding index. | Item-embedding index, Multi-task rankers |
Item-embedding index |
Serving-time retrieval structure scored by dot product for scalable item recall. | Two-tower embedding model, Multi-task rankers |
Multi-task rankers |
Mixture-of-experts rankers optimizing click-through, add-to-cart, in-session conversion, and delayed conversion across surfaces. | Item-embedding index, Discovery surfaces |
LLM semantic layer |
Generates topical collections, rewrites queries, explains recommendations, summarizes past orders, and augments product knowledge graphs. | Hierarchical RAG, Product knowledge graph, LLM presentation layer |
Hierarchical RAG |
Uses category trees and structured retrieval to make LLM context compact, precise, and fast. | LLM semantic layer, Catalog hierarchy |
Semantic IDs |
Compact embeddings encoding catalog hierarchy for cold start, free-text retrieval, intent-aligned recommendations, and shared search/recommendation infrastructure. | LLM semantic layer, Discovery surfaces |
Deals Generation Engine |
Pairs discounts with customers under budget, efficiency, and marketplace constraints. | Discovery surfaces |
Product knowledge graph |
Represents product and cross-vertical semantic relationships enriched by LLMs. | LLM semantic layer, Semantic IDs |
LLM presentation layer |
Uses LLMs for explanations and user-facing presentation choices. | LLM semantic layer, Discovery surfaces |
Data flow
User histories, item features, catalog hierarchy, engagement sequences, price/deal signals, and product knowledge graphs feed a five-step loop: attribute blending, collection prospecting, item retrieval and ranking, collection targeting, and presentation. Two-tower embeddings recall items, multi-task rankers optimize downstream outcomes, LLMs add semantic context and query understanding, and hierarchical RAG narrows catalog context before LLM calls.
3 supporting quotes
Why this architecture
DoorDash assigns work by model strengths: traditional retrieval and ranking provide reliable high-scale personalization, while LLMs add semantic agility for cold start, long-tail intent, text-heavy concepts, knowledge graph enrichment, and reusable abstractions.
3 supporting quotes
Models used: LLMs · two-tower embedding model · multi-task learning rankers · mixture-of-experts rankers · pre-trained embeddings · hierarchical RAG · semantic IDs
Scale
- DoorDash describes the retail discovery catalog as hundreds of thousands of SKUs in the business problem.“across a catalog of hundreds of thousands of SKUs”article, stated
- The LLM infrastructure is framed for millions of items across thousands of merchants.“DoorDash’s catalog spans millions of items across thousands of merchants”article, stated
- The framework spans grocery, convenience, alcohol, retail, flowers, and gifting.“we expand beyond restaurants into new verticals like Grocery, Convenience, Alcohol, Retail, Flowers, and Gifting”article, stated
- Rankers optimize four outcomes: click-through, add-to-cart, in-session conversion, and delayed conversion.“optimize for multiple outcomes simultaneously — click-through, add-to-cart, in-session conversion, and delayed conversion.”article, stated
Alternatives considered (roads not taken)
Replace recommender infrastructure with LLM generation
Rejected because: DoorDash explicitly uses classical recommenders for reliable retrieval/ranking at scale and reserves LLMs for semantic agility.
Dump the whole catalog into prompts
Rejected because: The catalog scale makes naive prompting impractical, so hierarchical RAG narrows context first.
Optimize only for familiarity
Rejected because: DoorDash frames discovery as a balance among familiarity, affordability, and novelty rather than a single relevance objective.
Patterns
rag-retrieval (retrieval)
DoorDash uses hierarchical RAG to narrow catalog context through category trees and structured retrieval before invoking LLMs.
tool-use-orchestration (orchestration)
The personalization loop composes retrieval, ranking, deals, semantic enrichment, knowledge graph, and presentation components rather than relying on a single model call.
Tradeoffs
Divide labor between recommender models and LLMs.
Chose Classical retrieval/ranking plus targeted LLM semantic layers over A pure LLM recommender architecture.
Rationale: Traditional systems handle reliable scale, while LLMs improve text, concept, cold-start, and long-tail intent handling.
Constrain LLM context before inference.
Chose Hierarchical RAG and structured retrieval over Naive prompting over the full catalog.
Rationale: Narrowing context keeps prompts compact and inference fast while maintaining precision at catalog scale.
Balance three user-value dimensions instead of optimizing only relevance.
Chose Familiarity, affordability, and novelty framing over Single-objective personalization.
Rationale: Retail discovery needs to surface known favorites, budget-aware options, and useful new products across shopping contexts.
Gotchas (what bit them)
LLM prompting does not scale directly to a marketplace catalog.
Root cause: The catalog includes millions of items across thousands of merchants.
Resolution: Use hierarchical RAG and semantic IDs to keep contexts compact, fast, reusable, and precise.
Novelty recommendations can become distracting when not grounded in user taste.
Root cause: New products that lack preference context feel random rather than useful.
Resolution: Use co-purchase patterns, preference profiles, clusters, and knowledge graphs to constrain novelty to natural complements.
Search terms can be ambiguous across retail, restaurant, and brand contexts.
Root cause: A single query such as ragu may refer to multiple intents.
Resolution: Use customer preferences, brand affinities, price sensitivity, shopping history, and LLM-powered understanding to rank the intended meaning.
Evaluation
The article is a production architecture recap rather than an experimental evaluation report; it describes target outcomes and ranked objectives such as click-through, add-to-cart, in-session conversion, and delayed conversion.
Metrics: click-through · add-to-cart · in-session conversion · delayed conversion
- Category pages where the most relevant items rise to the top"
— article, stated
Outcomes
- DoorDash describes the framework as deployed across retrieval, ranking, collection generation, search, presentation, and knowledge graph enrichment.
- The system supports discovery across category pages, checkout aisles, personalized carousels, home/store pages, search, and notifications.
- Hierarchical RAG and semantic IDs are presented as reusable abstractions for search, recommendation, and future agentic workflows.
The source states that the catalog spans millions of items across thousands of merchants and multiple non-restaurant verticals.