DoorDash reuses one SID hierarchy for ranking and query reformulation

One Hierarchy, Two Systems: Semantic Product IDs for Discovery-Surface Ranking and Search-Page Query Reformulation

Steven Xu, Sanjyot Thete, Saathvik Dirisala, Raghav Saboo, Nimesh Sinha, Leo Shao, Elyse Winer, Sudeep Das, Martin Wang, Kyle MacDonald

cs.IR, cs.AI

2026-08-21

A three-level product SID serves discovery ranking and in-store reformulation. Offline MRR@5 is +6.98% vs production; first-slot ATC +8%, purchase MRR +0.558%.

What problem this solves

In a multi-merchant catalog, the same product sits under different listing IDs, so behavioral evidence fragments across stores. Human taxonomies are usually too coarse for fine preferences. Query reformulation has a matching problem: raw query strings split misspellings, abbreviations, and synonyms into different nodes, and the same string can mean different things across business verticals. DoorDash asks whether a hierarchical Semantic ID learned once from product-content embeddings can serve personalized ranking and in-store query reformulation without training the two systems as one model.

It can. Ranking and reformulation share the SID tree and keep their own features and decision logic.

Method

Item name, brand, and size are concatenated, embedded with gemini-embedding-001 into 3,072 dimensions, then residual-quantized with three-stage K-means, 512 centroids per stage, yielding L1 / L2 / L3 prefixes. Longer shared prefixes are tighter: DBI falls from 3.934 at L1 to 0.976 at L3, and held-out cosine rises from 0.957 to 0.981.

Ranking consumes all three prefix depths as two feature families. Dense aggregates pool order frequency, recency, and subtotals per prefix in a consumer's history, plus submarket impression/click/ATC/purchase rates. Sequence features map each (position, code) pair into an alphabet of 1,536 symbols, tokenize with BPE SentencePiece, and share a 200k × 64 embedding table between the candidate item and 180-day order history. The ranker stays a multi-task network with CTR, ATCR, and CVR heads; listing IDs and taxonomy features remain.

Reformulation grounds each query, conditioned on business vertical, to a dominant L2 prefix when at least five ATC events cover ≥30% of the mass, otherwise L1. Adjacent session queries become concept transitions filtered by NPMI. Refinements that would collapse into L2 self-loops get a parallel descent onto L3 children. Because SIDs are internal IDs, a language model renders concepts into short consumer-facing queries; serving filters against the merchant's live assortment.

Results

Offline ranking compares the full candidate (FC) with an ablation that removes every SID feature (FC-A), holding non-SID features fixed. Relative to production, FC-A gains +2.10% MRR@5 and +2.92% NDCG@5; FC gains +6.98% and +6.76%. SID features account for most of the full candidate's offline lift. The same pattern holds at K=3 and K=10.

A 21-day online test of the feature bundle (SID plus concurrent non-SID updates) versus the old ranker:

OutcomeRelative change
Subtotal+0.31%
Average carousel ATC rate+5.5%
ATC rate at positions 1 / 2 / 3+8% / +16% / +6%

Historical popularity of the first-position item falls 18.1%, and the share of first-position impressions on blockbusters falls 2.1 percentage points. The online bundle mixes non-SID updates; offline ablation and post-experiment analysis still point at SID as the main contributor.

Reformulation offline: taxonomy collapses 18.8% of intent-changing transitions into self-loops, SIDs 10.9%. On queries served by both systems, rank-one judged quality rises from 0.522 for a query-string graph to 0.734 for the SID system (200 human-labeled pairs, 78% exact judge agreement). Online versus a no-suggestion control: purchase MRR +0.558%, ATC position −1.571%, search scroll depth −1.866%.

Why it matters

Since TIGER, SIDs have mostly been autoregressive targets for generative retrieval. Here they are a reusable product-concept layer: ranking pools cross-merchant evidence on prefixes, search uses the same tree for lateral pivots and downward refinement. The two applications share no parameters, objectives, or serving stack. For a multi-merchant catalog this is cheaper than maintaining a finer taxonomy, and more realistic than collapsing search and recommendation into one generative model. Incremental, with live numbers on both surfaces.

Limitations

The ranking online test does not isolate SID; the separation argument rests on the offline ablation. Reformulation quality uses an LLM judge with 78% exact agreement against humans, so the "good" label is noisy. Over-broad prefixes can become graph hubs and leak irrelevant suggestions. Grounding queries via ATC can label the product that was eventually bought rather than the intent of the original query. Substitutes near a quantization boundary can land on different codes. Generation is used only to render concepts as copy; candidate structure still comes from behavior and catalog, and rendering quality is not reported on its own.

Terms

Source

What people are saying

Related papers

All paper explainers