What is Reciprocal Rank Fusion?

Updated on

Reciprocal Rank Fusion is an unsupervised rank-aggregation method that scores each document by summing reciprocal contributions from its one-based position in multiple ranked lists.

Quick Facts

SpecificationOfficial Specification

How It Works

Compute RRF with Explicit Rank Semantics

Use one-based rank unless an implementation documents another convention. Deduplicate a document within each input list, add at most one contribution per branch, and use a stable document identity across indexes. Weighted RRF commonly generalizes the contribution to w_i / (k + rank_i(d)), but weight semantics can differ by product. Deterministic tie-breaking is required because equal fused scores are common, especially with short lists.

Treat k and the Window as Model Parameters

Larger k flattens the difference between the head and tail, while smaller k gives top positions more influence. The original value 60 is evidence from one experimental setup, not a universal constant. Elasticsearch separately exposes rank_constant and rank_window_size; truncating a child list removes all unseen contributions. Porting configurations also requires checking whether a library uses one-based rank or zero-based position.

Evaluate RRF Against Real Alternatives

Compare RRF with every individual branch, calibrated or normalized score fusion, and any downstream reranker using identical candidate windows. Measure Recall@K for the union, nDCG or MRR for final order, tie rate, overlap by branch, latency and sensitivity to k, weights and window depth. A later analysis of hybrid fusion found RRF sensitive to parameters and found convex score combinations stronger in its tested domains, so RRF should be a transparent baseline rather than an automatic winner.

Key Characteristics

  • Aggregates rank positions without requiring raw-score comparability
  • Rewards candidates supported by multiple lists while retaining single-list candidates
  • Uses a rank constant to control the relative influence of head and tail positions
  • Observes only candidates inside each branch's configured rank window
  • Discards score magnitude and therefore cannot represent the size of a branch's lead
  • Produces an ordering signal rather than calibrated relevance probability

Common Use Cases

  1. Combining BM25 and dense candidate lists in a hybrid retrieval pipeline
  2. Fusing results from several query rewrites or subqueries
  3. Aggregating rankings from models whose scores have incompatible semantics
  4. Creating an interpretable unsupervised baseline before learned fusion
  5. Merging independent evidence sources before a more expensive reranker

Example

loading...
Loading code...

Frequently Asked Questions

Why use RRF instead of adding BM25 and vector scores?

BM25 and vector scores can have different ranges, distributions and meanings. RRF avoids direct score comparison by using positions. That convenience does not prove it is best; calibrated score fusion can preserve useful score gaps and should be evaluated on the same labels.

Is k equal to 60 always the correct RRF setting?

No. The original paper fixed 60 after a pilot investigation. Smaller values emphasize the top ranks more strongly, while larger values flatten rank differences. Sweep a justified range on training judgments and confirm the choice on held-out queries.

What happens when a document is absent from one ranking?

It receives no contribution from that list. With truncated inputs, absence means only that the document was not observed inside the window, not that its full-corpus rank is infinite or that the branch judged it irrelevant.

Can weighted RRF favor a more reliable branch?

Yes, if the implementation defines weights, but weights interact with the rank constant and list depth. Tune them from query-level judgments, record the exact formula, and avoid inferring a weight from raw score magnitude.

Does RRF replace a reranker?

No. RRF aggregates candidate rankings without jointly reading the query and document. A cross-encoder or other reranker can still reorder the fused candidates, but it cannot recover documents omitted from every input window.

Related Terms

Related Articles