> ## Documentation Index
> Fetch the complete documentation index at: https://docs.runagain.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Dimensions & weighting

> Retrieval vs. synthesis quality, and adjustable weighted composites.

When you evaluate a search or RAG system, two independent questions apply — and
collapsing them into one number hides where the problem is:

* **Retrieval quality** — did the system find the right documents? Ranking, coverage,
  and source quality. A wrong answer built from missing or irrelevant sources is a
  *retrieval* limitation.
* **Synthesis quality** — is the produced answer good? Faithfulness, completeness,
  correctness, and presentation. A wrong answer built from correct sources is a
  *synthesis* problem — fixable by changing the generation model.

Every built-in scorer is tagged with the dimension it measures, so RunAgain can report
the two separately.

## Which scorers land where

| Dimension     | Scorers                                                                                                                                                                               |
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Retrieval** | `hit_rate`, `mrr`, `precision_at_k`, `recall_at_k`, `ndcg`, `average_precision`, `context_relevance`, `context_recall`, `source_diversity`, `source_quality`                          |
| **Synthesis** | everything else — `faithfulness`, `faithfulness_claims`, `completeness`, `correctness`, `response_quality`, `answer_relevancy`, `bertscore_*`, the text-overlap and safety scorers, … |

## Weighted composite

Different teams weight quality differently — a healthcare app leans on faithfulness, a
news app on freshness. On **Experiments → Compare**, the **Weighted composite** panel
lets you assign a weight to each scorer and see the overall and per-dimension composite
recompute **instantly** — no re-running the eval, because it works from the cached
per-scorer means. Set a weight to 0 to drop a scorer entirely.

The composite is a weighted mean of the scorer values; the retrieval and synthesis
composites are computed over their own scorers so you always keep the two views side by
side.
