Why score fusion is hard
Different retrievers score on different scales. Adding raw scores means whichever ranker has the larger numerical range wins by accident. The fix that production systems converge on is simple: fuse on ranks, not scores.
Reciprocal Rank Fusion (RRF)
For each candidate, compute RRF = sum(1 / (k + rank_i)) across all rankers, where rank_i is its rank in the i-th ranker (1 = best) and k is a smoothing constant (60 is the canonical default from the 2009 Cormack paper).
The result: a fusion score that is robust to outliers, requires zero parameter tuning per retriever, and works across any number of rankers (3, 5, 10 retrievers all combine the same way).