Link Graph Encyclopedia

Comparing rankings

Rank-biased overlap

Compare two rankings by how much their top lists overlap at every depth, with geometrically decreasing weight on deeper levels. Works on truncated lists and on lists that do not contain the same items.

Many rankings are only ever seen as top lists: the first ten search results, the hundred most central domains, the top thousand by a vendor’s score. Such lists are indefinite, cut off at an arbitrary depth, and usually non-conjoint: an item in one list may not appear in the other at all. Kendall’s tau and Spearman’s rho need both rankings over the same items and cannot cope. Rank-biased overlap (RBO), introduced by William Webber, Alistair Moffat and Justin Zobel in 2010, compares two lists by their overlap at each depth, weighting shallow depths more, and gives meaningful values even when only the tops are known.

Overlap at a depth

Let S1:dS_{1:d} and T1:dT_{1:d} be the first dd items of two rankings. Their agreement at depth dd is the fraction of items they share:

Ad=∣S1:d∩T1:d∣d.A_d = \frac{|S_{1:d} \cap T_{1:d}|}{d} .

Comparing top-kk lists by AkA_k alone, or by their Jaccard similarity, is common and simple, but it ignores order within the top kk and depends heavily on the arbitrary choice of kk.

Definition

RBO averages the agreements at all depths with geometric weights:

RBO(S,T,p)=(1−p)∑d=1∞pd−1Ad.\text{RBO}(S, T, p) = (1 - p) \sum_{d=1}^{\infty} p^{d-1} A_d .

The persistence p∈(0,1)p \in (0, 1) models a reader who looks at item d+1d + 1 with probability pp after seeing item dd. Small pp makes RBO focus sharply on the top; pp close to 1 spreads attention deeper. Webber and colleagues computed that with p=0.9p = 0.9 the first ten ranks carry about 86% of the weight of the evaluation. RBO is 1 for identical infinite rankings and 0 for rankings that share no items at any depth.

Truncated lists

Real lists stop at some depth kk, so the sum cannot be evaluated to infinity. RBO comes with bounds:

Because the weights decay geometrically, the residual shrinks fast as kk grows; for p=0.9p = 0.9 and k=30k = 30, the uncertainty is a few hundredths.

Worked example: the top of the web

Common Crawl’s 2026 domain graph, top 12 by each centrality:

Position Harmonic centrality PageRank
1 googleapis.com googleapis.com
2 facebook.com google.com
3 google.com facebook.com
4 instagram.com googletagmanager.com
5 googletagmanager.com instagram.com
6 youtube.com cloudflare.com
7 gstatic.com gstatic.com
8 twitter.com wsimg.com
9 linkedin.com youtube.com
10 gmpg.org gmpg.org
11 cloudflare.com linkedin.com
12 gravatar.com cloudflareinsights.com

The agreement starts at 1 (both put googleapis.com first), dips to 0.5 at depth 2, returns to 1 at depths 3 and 5, and then wanders between 0.65 and 0.91 from depth 10 to depth 30, ending at 0.77. Over the top 30 lists, RBO_ext is 0.81 with p=0.9p = 0.9 and 0.85 with p=0.5p = 0.5: the two centralities largely agree on the very top of the web, and diverge more as the lists get longer, as the PageRank entry’s examples of PageRank-only domains show.

Properties

When to use it

Use RBO for search results, top-kk lists and leaderboards, especially when the lists come from different sources with different coverage: two link indexes, two crawls, or a vendor’s “top domains” against an open ranking. Use weighted tau when both full rankings over the same items are available and ties are common; use plain overlap at a fixed kk only when the reader really does stop at exactly kk.

References

Edit this entry on GitHub