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

# Analytics

> Track test health and performance over time

[Analytics](https://dash.empirical.run/analytics) page provides insights into your test suite's
health, including pass rates, flaky rates, and historical trends.

<img src="https://mintcdn.com/empirical/LJ3vSWX6ebomgCgh/images/analytics/screenshot.png?fit=max&auto=format&n=LJ3vSWX6ebomgCgh&q=85&s=fd308fca43e4e46d9267ea3bda3b7a0a" alt="Analytics" style={{width: "500px", margin: "0 auto"}} width="2890" height="1703" data-path="images/analytics/screenshot.png" />

## Search Syntax

Filter test cases using the search bar with these patterns:

### Text Search

| Syntax         | Example           | Description                                  |
| -------------- | ----------------- | -------------------------------------------- |
| Term           | `login`           | Matches name or file path containing "login" |
| Multiple terms | `login auth`      | Must contain both terms (AND)                |
| Quoted phrase  | `"user login"`    | Treats multi-word text as a single term      |
| Negation       | `-admin`          | Excludes tests matching "admin"              |
| Negated phrase | `-"slow test"`    | Excludes tests matching "slow test"          |
| Combined       | `checkout -guest` | Contains "checkout", excludes "guest"        |

### Field Filters

| Syntax         | Example            | Description                             |
| -------------- | ------------------ | --------------------------------------- |
| `project:`     | `project:chromium` | Filter by Playwright project name       |
| `tag:`         | `tag:critical`     | Filter by tag (multiple tags use OR)    |
| `tag:__none__` | `tag:__none__`     | Filter tests with no tags               |
| `flaky_rate:`  | `flaky_rate:>10`   | Filter by flaky rate percentage         |
| `fail_rate:`   | `fail_rate:>=25`   | Filter by fail rate percentage          |
| `flaky_count:` | `flaky_count:>2`   | Filter by flaky count (absolute number) |
| `fail_count:`  | `fail_count:>=5`   | Filter by fail count (absolute number)  |

#### Metric Filter Operators

For `flaky_rate`, `fail_rate`, `flaky_count`, and `fail_count`, you can use `>`, `>=`, `<`, `<=`, `=`. If no operator is specified, `>=` is used by default.

### Examples

| Query                             | Description                               |
| --------------------------------- | ----------------------------------------- |
| `login flaky_rate:>10`            | Login tests with flaky rate above 10%     |
| `tag:smoke tag:critical`          | Tests with either smoke OR critical tag   |
| `tag:__none__`                    | Tests that have no tags assigned          |
| `project:firefox -skip`           | Firefox project tests, excluding "skip"   |
| `fail_rate:>=20 -tag:known-flaky` | High failure tests, excluding known flaky |

### Using Search Syntax via the API

The same search syntax can be used with the [Test Cases Analytics API](/api-reference/analytics/v2/test-cases) by passing the query as the `search` parameter. Remember to URL-encode the value.

```bash theme={null}
curl -X GET \
  "https://api.empirical.run/api/v2/analytics/test-cases?search=login%20flaky_rate%3A%3E10%20-tag%3Aknown-flaky" \
  -H "Authorization: Bearer $EMPIRICALRUN_KEY"
```

The example above is equivalent to the search query `login flaky_rate:>10 -tag:known-flaky` — login tests with a flaky rate above 10%, excluding any tagged `known-flaky`.
