Skip to content

CONCEPT Cited by 2 sources

Reciprocal Rank Fusion (RRF)

Definition

Reciprocal Rank Fusion (RRF) is a score-fusion technique for combining result lists from multiple independent retrieval methods into a single ranked list, based on rank position rather than raw scores. For each document $d$ that appears in any of the input result lists, its RRF score is:

$$ \text{RRF}(d) = \sum_{r \in R} \frac{1}{k + \text{rank}_r(d)} $$

where $R$ is the set of retrievers (e.g. BM25, dense vector, sparse vector), $\text{rank}_r(d)$ is the 1-based rank of $d$ in retriever $r$'s result list (infinity if absent), and $k$ is a small constant (typically 60) that dampens the contribution of top-ranked items and prevents the top-1 from dominating.

Why rank-based instead of score-based

Different retrieval methods produce scores on incomparable scales:

  • BM25 scores are unbounded positive real numbers growing with term count.
  • Cosine-similarity scores are bounded in [-1, 1].
  • Dot-product scores for un-normalized embeddings are unbounded.
  • Learning-to-rank scores are calibrated only to their training distribution.

Naïve linear combination (α·bm25 + (1−α)·cosine) requires careful per-retriever normalization or the larger-scale retriever dominates trivially. RRF sidesteps this entirely: rank is comparable across any scoring scheme, so any retriever can be plugged in without recalibration. This is the core appeal — "RRF focuses on ranking position, rewarding documents that consistently appear near the top across different retrieval methods" (MongoDB, 2025-09-30).

Properties

  • No normalization needed. Any retriever's output can be fused without per-retriever score statistics.
  • Rewards cross-retriever consensus. A document ranked #5 by BM25 and #5 by vector search gets a higher RRF score than one ranked #1 by BM25 only (the 1/k+r decay is gentle enough that two mid-rank hits beat one top hit).
  • Robust to score outliers. A wildly-high BM25 score from a single query-term match can't drown out vector-retrieval consensus — only the rank contributes.
  • Simple to reason about. One tunable k; defaults (60) work across many corpora without per-workload tuning.

Limitations

  • Loses score-magnitude information. Two documents at rank #1 in different retrievers are treated identically, even if one retriever scored it 10× higher than the other. If the raw score encodes meaningful confidence (well-calibrated scores), RRF discards it — RSF is the alternative when score magnitudes are informative.
  • Tie handling in the input lists is sensitive. If a retriever emits many documents at the same tied rank, how you break ties affects the output.
  • Ceiling on lists with very similar results. If two retrievers produce nearly-identical ranked lists, RRF just reproduces that list; the diversity-rewarding behaviour only kicks in when retrievers disagree.

Where it's used

  • MongoDB Atlas's native hybrid search function. RRF is one of the two canonical techniques MongoDB's 2025-09-30 post identifies — "RRF and RSF … Both approaches quickly gained traction and have become standard techniques in the market."
  • Elasticsearch's rrf query type (since Elasticsearch 8.8) for hybrid retriever-based queries.
  • OpenSearch's hybrid query exposes RRF as one of the pre-built normalization processors.
  • Vespa, Qdrant, Weaviate all ship RRF as a built-in hybrid-fusion option.

Relation to other fusion techniques

Technique Basis Needs normalization? Score-magnitude aware
RRF (this page) Rank position No No
concepts/relative-score-fusion (RSF) Raw score Yes (min-max / z-score per retriever) Yes
Weighted sum (α·A + (1−α)·B) Raw score + tunable weight Yes Yes
Min-max + exact-match boost + interleave (Figma) Normalized score + hard-coded exact-match bonus Yes Yes
Learned ranker (cross-encoder, LTR model) Jointly scored candidates N/A Yes (learned)

RRF is the simplest of these — minimum tuning, minimum calibration, minimum per-retriever knowledge. It's typically the default starting point, with RSF or a learned ranker adopted when the rank-based information loss costs measurable quality.

Seen in

Last updated · 200 distilled / 1,178 read