# Deliverability analytics

Deliverability analytics tell you what happened to the email that you sent. You select metrics and a time window. Lettermint returns the totals, and can also return a time series and a breakdown by provider, domain, tag, or SMTP reply.

:::info
Deliverability analytics are available on the Pro plan.
:::

## Questions that analytics answer

- Which mailbox provider defers or refuses your email?
- Did the bounce rate change after your last release?
- Which replies from receiving servers cause the most bounces?
- How long does delivery take for most recipients, and for the slowest 1 percent?
- Do people open your email, or do machines?
- Which campaign tag has the most complaints?

## Ways to use analytics

| Method | Use it to | Status |
| --- | --- | --- |
| [API](/platform/analytics/query) | Build reports, alerts, and dashboards in your own systems | Available |
| [MCP server](/platform/analytics/mcp) | Ask an AI assistant a question in plain language | Available |
| Dashboard | See charts in the Lettermint dashboard | Not available yet |

The API and the MCP server run the same query on the same data. They return the same numbers.

## How Lettermint counts

These rules explain most of the numbers that you see.

### The unit is a recipient

One email to three addresses is three recipients. Each recipient has its own delivery result, so Lettermint counts recipients. The metric `messages` is the exception. It counts emails.

### An event counts at the time that it happened

Lettermint does not count an event at the time that you sent the email. An email with this history adds to three different hours:

| Time | Event | Metric that increases |
| --- | --- | --- |
| 09:58 | Lettermint accepts the email | `accepted` in the 09:00 bucket |
| 10:02 | The receiving server accepts the email | `delivered` in the 10:00 bucket |
| 14:30 | The recipient opens the email | `human_opens` in the 14:00 bucket |

This method shows you when something happened. A provider that starts to defer your email at 10:00 shows up in the 10:00 bucket, even for email that you sent the day before.

It has one side effect. In a short window, the opens can belong to email that was delivered before the window. A rate can then be higher than 1.

### The buckets of a time series add up to the summary

Each event is in one bucket only. The sum of a count over all buckets is equal to the count in the summary. This applies to counts, not to rates or percentiles.

### A recipient opens one time

`human_opens` counts a recipient one time, when the first open happens. The recipient stays counted in that bucket, and later opens do not count again. To count each open, use `human_opens_events`.

### Test email and Sandbox email are not counted

Email to the [test addresses](/platform/emails/sending-test-emails) at `@lettermint.dev` is not in analytics. Email from a [Sandbox project](/platform/projects-and-routes/sandbox-mode) is not in analytics.

### Analytics are not real time

A new event appears in analytics after a short delay. Each response includes `meta.last_ingested_at`, the time of the newest data that the query read.

## What analytics do not tell you

**Inbox placement.** `delivered` means that the receiving server accepted the email. The server can still put the email in the spam folder.

**The history of one recipient.** Analytics do not store recipient addresses. To find one email, use [Email activity](/platform/emails/activity).

**Inbound email.** Analytics cover the email that you send.

## Access

| Method | You need |
| --- | --- |
| API | A [Team API token](/platform/teams/api-tokens) with the `read:analytics` ability |
| MCP server | A [role](/platform/teams/roles) with the **View analytics** permission, in a team that allows MCP access |

Two more rules apply:

- A team member sees the analytics of the projects in their [project access](/platform/projects-and-routes/project-access) only. A Team API token sees all projects of the team.
- The dimensions `from_address` and `subject` hold personal data. The token also needs `read:messages`. A team member also needs **View messages**.

## How long Lettermint keeps analytics

A query can cover up to 90 days. The data that is available depends on the retention period. See [Data retention](/platform/emails/data-retention).

Each response includes `meta.available_since`. Lettermint has no analytics before this time.

## Next steps

<CardGroup cols={2}>
  <Card title="Query analytics with the API" icon="code" href="/platform/analytics/query">
    Send your first query and read the response.
  </Card>
  <Card title="Ask an AI assistant" icon="plug" href="/platform/analytics/mcp">
    Use the MCP server to query analytics in plain language.
  </Card>
  <Card title="Metrics" icon="chart-line" href="/platform/analytics/metrics">
    Read the definition of each metric and the formula of each rate.
  </Card>
  <Card title="Examples" icon="book" href="/platform/analytics/examples">
    Copy complete queries for common questions.
  </Card>
</CardGroup>
