A retrieval pipeline first pulls a broad candidate pool by embedding similarity, then spends a limited reranking budget re-scoring the most promising candidates with a more expensive (and more accurate) model.
Recall@k = |relevant ∩ top-k| / min(k, |relevant|)
DCG@k = Σ (2^rel_i − 1) / log2(i + 1)
nDCG@k = DCG@k / IDCG@k
- Retrieval pool (K0) — how many candidates the first-stage retriever pulls; too small and relevant documents never even reach the reranker.
- Rerank budget (N) — how many of the pooled candidates get the expensive cross-encoder pass; the rest keep their cheap similarity score.
- Hard negative density — irrelevant documents that sit close to the query in embedding space, inflating the first-stage score and crowding out true matches.
- Reranker strength — how well the reranker separates true relevance from surface similarity; low strength leaves hard negatives in the final list.
Raising the rerank budget or strength improves Recall@10 and nDCG@10 but drives latency up — the same latency-quality trade-off production RAG systems have to tune.