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

# Metrics

Every evaluation scores an agent across **seven quality metrics** plus **Response Time**. Each quality metric returns a **score**, a plain-language **Reasoning** explaining that score, and — when the score isn't perfect — **Recommendations** for how to improve. Response Time is reported separately, in seconds.

***

## How scores work

Quality scores are shown on a **0–100 scale**, where **higher is better**. You'll only ever see these values:

| Displayed score | Color  | Meaning                                      |
| --------------- | ------ | -------------------------------------------- |
| **100**         | Green  | Highest — excellent                          |
| **90**          | Lime   | Good, minor issues                           |
| **70**          | Yellow | Mixed — noticeable gaps                      |
| **50**          | Orange | Weak                                         |
| **25**          | Red    | Poorest score                                |
| **N/A**         | —      | Not scored — skipped or couldn't be assessed |

<Note>
  VIVI displays only the buckets **100, 90, 70, 50, or 25** for scored metrics — you won't see in-between values like 80 or 63. An **N/A** is not a low score; open the [metric detail](/documentation/features/evaluations/evaluation-detail) to see whether it was skipped or errored.
</Note>

***

## The seven quality metrics

<Columns cols={2}>
  <Card title="Groundedness" icon="anchor">
    *answer vs. evidence*<br /><br /> Is every claim in the answer supported by the evidence the agent retrieved — from knowledge bases, tools, or attached files? Your main defense against **hallucinations**.<br /><br /> **Skipped when** there is no tool or retrieved evidence to check against.
  </Card>

  <Card title="Relevance" icon="bullseye">
    *reply vs. question*<br /><br /> Did each reply address what the user actually asked, staying on-topic without drifting into unrequested tangents?<br /><br /> Always scored.
  </Card>

  <Card title="Usefulness" icon="thumbs-up">
    *answer vs. need*<br /><br /> Is the answer actionable and complete enough for the user to move forward — versus vague, evasive, or padded?<br /><br /> Always scored.
  </Card>

  <Card title="Correctness" icon="circle-check">
    *answer vs. expected outcome*<br /><br /> Are the agent's factual claims accurate compared to the Expected Outcome you defined?<br /><br /> **Skipped when** no expected outcome is provided.
  </Card>

  <Card title="Instruction Following" icon="list-check">
    *behavior vs. system rules*<br /><br /> Did the agent obey the rules in its prompt throughout the conversation?<br /><br /> **Skipped when** no system prompt is available.
  </Card>

  <Card title="Task Completion" icon="flag">
    *goal achieved?*<br /><br /> By the end of the conversation, was the user's goal actually achieved end-to-end — not merely acknowledged or partly attempted?<br /><br /> Always scored.
  </Card>
</Columns>

<Card title="Tool Usage" icon="wrench" horizontal>
  *tool calls vs. task*<br /><br /> Did the agent choose the right tools, pass them good inputs, use what they returned, and recover from any tool errors?<br /><br /> **Skipped when** the conversation has no tool calls to assess.
</Card>

***

## Response Time

<Card title="Response Time" icon="timer" horizontal>
  The eighth measure — but **not** a scored metric. Shown in **seconds** (not a percentage), it's how long the agent took to answer. Agents configured to reason more deeply or run more steps may naturally be slower, so read Response Time alongside the quality metrics rather than on its own. Shows **N/A** when the value isn't available.
</Card>

***

## Reasoning & Recommendations

For every scored metric you get two explanations:

<Columns cols={2}>
  <Card title="Reasoning" icon="magnifying-glass">
    A short explanation of **why** the answer received its score, pointing to what worked or went wrong. If the metric was skipped, it says "Skipped: {reason}" instead.
  </Card>

  <Card title="Recommendations" icon="lightbulb">
    Specific, actionable suggestions for improving the agent — usually a prompt, knowledge base, or integration change. Shown whenever the score is below perfect; otherwise "No information available."
  </Card>
</Columns>

Both are available in **English and Spanish** and shown in your account's language. You can read them in the [evaluation detail](/documentation/features/evaluations/evaluation-detail) view.

***

## Why a metric shows N/A

A metric displays **N/A** when it couldn't be scored — either skipped or errored — and the other metrics are unaffected. Reasons you may see:

* **No evidence** — Groundedness had no tool/retriever evidence to check against.
* **No reference** — Correctness had no expected outcome to compare to.
* **No system prompt** — Instruction Following had no prompt to check behavior against.
* **Tool result unbound** — a tool's output wasn't connected into the answer.
* **Unparseable tool input** — the input the agent sent to a tool couldn't be understood.
* **Evidence truncated** — the evidence was too long and was cut off.
* **Judge error** or **Timeout** — the scorer couldn't complete for this conversation.

<Note>
  Expect N/A on metrics you didn't set up for — Correctness without an expected outcome, or Groundedness on a conversation with no tools. That's normal, not a failure.
</Note>

***

## Best Practices

* Don't chase a perfect 100 on every metric — focus on the ones that matter for your use case.
* Treat a low **Groundedness** score as a hallucination warning; check the agent's knowledge and integrations.
* If **Tool Usage** is low, review the tool inputs and outputs in the conversation replay.
* Always read the **Reasoning** before acting — it tells you *why* a score is low.
* Apply **high-priority Recommendations** first, then re-run to confirm the improvement.
