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

# Composo x Metabase

> Explore and Visualize Composo Evaluations

## Introduction

Composo provides a hosted Metabase instance where you can explore and visualize your LLM evaluation data. Query your historical evaluation runs, track quality metrics over time, and build dashboards to monitor your AI applications in development and production.

**Getting Started**: Metabase access requires onboarding. Please email [support@composo.ai](mailto:support@composo.ai) or contact your Composo rep to get set up with your evaluation database.

<img src="https://mintcdn.com/composo/Y6qpwzOc5s-mQJVI/documentation/monitoring/demo-dashboard.png?fit=max&auto=format&n=Y6qpwzOc5s-mQJVI&q=85&s=9e95d0ffb78b811f8a4b8ed6e89dbb65" alt="Composo Metabase dashboard showing evaluation metrics with multiple charts and tabs for monitoring AI application performance" width="2624" height="1824" data-path="documentation/monitoring/demo-dashboard.png" />

***

## What is Metabase?

Metabase is an open-source business intelligence tool that lets you ask questions about your data and visualize the answers. No SQL required for basic queries, though it's available when you need it.

For comprehensive Metabase documentation, see: [Metabase Documentation](https://www.metabase.com/docs/latest/)

***

## Your Data in Composo

### Your Evaluation Database

Your evaluation data is organized in a dedicated database that you can explore and query. The database contains your complete evaluation history with detailed metrics and metadata for each run.

<img src="https://mintcdn.com/composo/Y6qpwzOc5s-mQJVI/documentation/monitoring/data-view.png?fit=max&auto=format&n=Y6qpwzOc5s-mQJVI&q=85&s=a15f2e3e61f90f4467c1d5231ef3ad4a" alt="Metabase data view showing the database structure and available tables for querying evaluation data" width="2624" height="1824" data-path="documentation/monitoring/data-view.png" />

Key fields include:

* **Request ID**: Unique identifier for each evaluation request (UUID)
* **Agent Instance ID**: Identifier for the specific agent instance being evaluated (null for response/tool evaluations)
* **Eval Type**: Type of evaluation - `response` (LLM responses), `tool` (tool usage), `agent` (multi-agent traces), or `chatsession` (chat-based agent evaluations)
* **Score Type**: How the score should be interpreted - `reward` (continuous 0-1 score) or `binary` (pass/fail converted to 1.0/0.0)
* **Name**: Agent name for multi-agent evaluations (null for response/tool evaluations)
* **Criteria**: Full evaluation criteria text (starts with prefixes like "Reward responses", "Passes if", etc.)
* **Score**: Numerical result (0-1 scale, where higher is better; null if criteria not applicable)
* **Explanation**: Detailed reasoning and analysis behind the score
* **Subject**: JSON data containing what was evaluated:
  * For response/tool evaluations: `{messages, tools, system}` - the conversation and available tools
  * For agent evaluations: The specific agent instance interactions being evaluated
* **Email**: User who ran the evaluation
* **Model Class**: The evaluation model used (e.g., "align-lightning")
* **Created At**: Timestamp when the evaluation was performed

<img src="https://mintcdn.com/composo/Y6qpwzOc5s-mQJVI/documentation/monitoring/table-schema-fields.png?fit=max&auto=format&n=Y6qpwzOc5s-mQJVI&q=85&s=8fb4167713db0197bd9e7954c010e3b6" alt="Metabase table schema showing all available fields in the Evaluations table with their data types and descriptions" width="2624" height="1824" data-path="documentation/monitoring/table-schema-fields.png" />

### Viewing Individual Evaluations

Click any row in your queries to see complete evaluation details including the full explanation, criteria, and subject data. This gives you full visibility into how each evaluation was scored and the reasoning behind it.

<img src="https://mintcdn.com/composo/Y6qpwzOc5s-mQJVI/documentation/monitoring/evaluation-detail-modal.png?fit=max&auto=format&n=Y6qpwzOc5s-mQJVI&q=85&s=5c62f1330cded78a2f883b58874b1b18" alt="Evaluation detail modal showing complete information for a single evaluation including score, explanation, and metadata" width="2624" height="1824" data-path="documentation/monitoring/evaluation-detail-modal.png" />

***

### Collections

* **Your personal collection**: Private workspace for your analyses
* **Team collections**: Shared dashboards and queries (e.g., "Acme Corp Collection")

Navigate collections from the sidebar or use the search bar to find existing queries.

<img src="https://mintcdn.com/composo/Y6qpwzOc5s-mQJVI/documentation/monitoring/collection-dashboard-list.png?fit=max&auto=format&n=Y6qpwzOc5s-mQJVI&q=85&s=49ef297c6776d281b87f1996edd03507" alt="Metabase collections view showing list of dashboards and saved queries organized in team collections" width="2624" height="1824" data-path="documentation/monitoring/collection-dashboard-list.png" />

## Creating Your First Query

### Basic Query: Finding Red Flags

Let's find low-scoring evaluations that need attention.

1. Click **+ New** → **Question**
2. Select your **Evaluations** table
3. Click **Filter** → **Score** → **Less than** → enter `0.5`
4. Click **Filter** again → **Created At** → select your time range
5. Click **Visualize**

<img src="https://mintcdn.com/composo/Y6qpwzOc5s-mQJVI/documentation/monitoring/query-builder-filter.png?fit=max&auto=format&n=Y6qpwzOc5s-mQJVI&q=85&s=42ff025d0c4d9e50880e100c37ac214f" alt="Query builder with Score filter" width="2624" height="1824" data-path="documentation/monitoring/query-builder-filter.png" />

You can adjust the time range using the dropdown menu to view Today, Previous 7 days, Previous 30 days, or custom ranges.

<img src="https://mintcdn.com/composo/Y6qpwzOc5s-mQJVI/documentation/monitoring/time-filter-dropdown.png?fit=max&auto=format&n=Y6qpwzOc5s-mQJVI&q=85&s=b26ff77fb4d3a0e34d2b7bb5bc1c1534" alt="Time range dropdown menu" width="2624" height="1824" data-path="documentation/monitoring/time-filter-dropdown.png" />

***

## Visualizing Your Data

### Choosing a Visualization

After running a query, Metabase automatically suggests visualizations. Common types for evaluation data:

* **Line charts**: Track score trends over time
* **Bar charts**: Compare different agents or evaluation types
* **Tables**: See detailed row-by-row data
* **Numbers**: Display single metrics like average score or red flag rate

Click the **Visualization** button to change chart types and customize appearance.

<img src="https://mintcdn.com/composo/Y6qpwzOc5s-mQJVI/documentation/monitoring/red-flag-rate.png?fit=max&auto=format&n=Y6qpwzOc5s-mQJVI&q=85&s=372cf4a3b2d4a6b72f6651c5d3589a16" alt="Red Flag Rate line chart" width="2624" height="1824" data-path="documentation/monitoring/red-flag-rate.png" />

**[Metabase visualization guide](https://www.metabase.com/docs/latest/questions/sharing/visualizing-results)**

***

## Summarizing Data

### Aggregations and Grouping

Instead of viewing raw rows, you can summarize your data:

1. Click **Summarize**
2. Choose a metric: **Count of rows**, **Average of Score**, etc.
3. Add **Group by**: **Created At** (for time series) or **Name** (to compare evaluations)

**Common patterns:**

* **Average Score by Created At** → See quality trends over time
* **Count by Name** → Which evaluations run most frequently
* **Average Score by Agent Instance ID** → Compare agent performance

**[Metabase summarizing guide](https://www.metabase.com/docs/latest/questions/query-builder/introduction#summarizing-and-grouping-by)**

### Custom Expressions: Red Flag Rate

Create a custom metric to calculate the percentage of low-scoring evaluations:

1. Click **Summarize** → **Custom Expression**
2. Enter:

```
CountIf([Score] < 0.5) / 
  (CountIf([Score] > 0.5) + CountIf([Score] < 0.5))
```

3. Name it "red\_flag\_rate"
4. Group by **Created At: Minute** (or Hour/Day)

<img src="https://mintcdn.com/composo/Y6qpwzOc5s-mQJVI/documentation/monitoring/custom-expression-editor.png?fit=max&auto=format&n=Y6qpwzOc5s-mQJVI&q=85&s=038075a5ba9fa1653f197d035ceda4c4" alt="Custom expression editor" width="2624" height="1824" data-path="documentation/monitoring/custom-expression-editor.png" />

This creates a time-series showing what percentage of evaluations are concerning.

**[Metabase expressions guide](https://www.metabase.com/docs/latest/questions/query-builder/expressions)**

***

## Building Dashboards

### Creating a Dashboard

Save your most important queries and combine them into dashboards:

1. After creating a query, click **Save** and give it a descriptive name
2. Click **+ New** → **Dashboard**
3. Name your dashboard (e.g., "Production Quality Monitor")
4. Click **Add a saved question** and select your queries
5. Resize and arrange charts as needed

<img src="https://mintcdn.com/composo/Y6qpwzOc5s-mQJVI/documentation/monitoring/demo-dashboard.png?fit=max&auto=format&n=Y6qpwzOc5s-mQJVI&q=85&s=9e95d0ffb78b811f8a4b8ed6e89dbb65" alt="Demo Dashboard with tabs" width="2624" height="1824" data-path="documentation/monitoring/demo-dashboard.png" />

### Dashboard Features

* **Tabs**: Organize related metrics (e.g., "Quality By Agent" vs "Red Flags")
* **Dashboard filters**: Add filters that apply to multiple charts simultaneously
* **Auto-refresh**: Set dashboards to update automatically every few minutes
* **Sharing**: Click the sharing icon to share with teammates or generate public links

**[Metabase dashboard guide](https://www.metabase.com/docs/latest/dashboards/start)**

**[Dashboard filters](https://www.metabase.com/docs/latest/dashboards/filters)**

***

## Advanced Filtering

Combine multiple filters to drill down into your data:

* **Score ranges**: Score is between 0.3 and 0.7
* **Text search**: Criteria contains "hallucination"
* **Multiple time ranges**: Created At is Previous 7 days AND Created At Hour of day is between 9 and 17
* **Specific agents**: Agent Instance ID is one of \[list of IDs]

Click the **+** next to existing filters to add more conditions.

**[Metabase filtering guide](https://www.metabase.com/docs/latest/questions/query-builder/introduction#filtering)**

***

## SQL Queries (Advanced)

For complex queries, use the native SQL editor:

1. Click **+ New** → **Question** → **Native query**
2. Write your SQL against the `evaluations` table
3. Use variables with `{{variable_name}}` to make queries reusable

Example:

```sql theme={null}
SELECT 
  date_trunc('hour', created_at) as hour,
  name,
  avg(score) as avg_score,
  count(*) as eval_count
FROM "external"."evaluations"
WHERE created_at > current_date - interval '7 days'
  AND score < 0.5
GROUP BY 1, 2
ORDER BY 1 DESC
```

**[Metabase SQL guide](https://www.metabase.com/docs/latest/questions/native-editor/writing-sql)**

## Getting Help

### Metabase Resources

* **[Documentation](https://www.metabase.com/docs/latest/)**
* **[Learning Center](https://www.metabase.com/learn/)**
* **[Video Tutorials](https://www.metabase.com/learn/videos)**

### Composo Support

* **Data questions**: Contact your Composo account team
* **Technical support**: [support@composo.ai](mailto:support@composo.ai)
* **Evaluation schema**: See reference below

***
