# KPIs

The **KPIs** page is your deep-dive into the metrics that matter for AI spend. Eight standard KPIs ship with Finora out of the box, and you can build your own custom KPIs on top.

> **Plan requirement.** Custom KPI authoring and the KPI deep-dive page require the **Growth** plan or above. Trial accounts see the four headline KPIs on the Overview page only.

## The eight standard KPIs

| KPI                         | What it shows                              | Why it matters                     |
| --------------------------- | ------------------------------------------ | ---------------------------------- |
| **Total spend**             | Total cost for the period                  | The headline number for any review |
| **Avg daily cost**          | Total ÷ days                               | Your daily run rate                |
| **Cost per 1k tokens**      | How much you're paying per thousand tokens | Pricing efficiency signal          |
| **Top model share**         | Top model's spend ÷ total                  | How concentrated your spend is     |
| **Token throughput**        | Total tokens per hour                      | Volume measure for ops             |
| **Cost per inference**      | Total cost ÷ total request count           | Per-call efficiency                |
| **Provider share**          | Each provider's slice of total             | Multi-vendor balance               |
| **Month-over-month growth** | This month vs. last month                  | Trend at a glance                  |

Each KPI shows up as a tile with the current value, the change vs. the previous period, and a 14-day sparkline.

## Drilling into a KPI

Click any KPI tile to open its **deep-dive** view:

* A time-series chart for the selected period
* Per-provider, per-model, and per-tag breakdowns
* A "what changed" panel that highlights the biggest contributors to a movement
* One-click export to CSV or PDF

## Custom KPIs

Build your own KPIs in **KPIs → + New KPI**. A custom KPI is a formula you write — Finora plugs in your numbers and computes the result.

For example, to track *Anthropic spend as a share of total*:

```
anthropic.total_cost / (openai.total_cost + anthropic.total_cost + aws.total_cost + azure.total_cost + gcp.total_cost + cursor.total_cost) * 100
```

### What you can use in a formula

For each connected provider, these variables are available:

* `<provider>.total_cost` — the provider's total spend
* `<provider>.total_inferences` — number of requests
* `<provider>.input_tokens` and `<provider>.output_tokens` — token totals where available

Plus these globals:

* `total_cost` — across all providers
* `total_inferences` — across all providers
* `days_in_window` — number of days in the period

You can use the operators `+`, `-`, `*`, `/`, parentheses, and a few math helpers (`Math.round`, `Math.min`, `Math.max`).

### Useful examples

```
# Cost per inference
total_cost / total_inferences

# Anthropic vs. OpenAI ratio
anthropic.total_cost / openai.total_cost

# Daily run rate
total_cost / days_in_window

# Cost per engineer (assuming a team of 12)
total_cost / 12

# Cost per million output tokens
total_cost / (openai.output_tokens + anthropic.output_tokens) * 1000000
```

## Editing & deleting custom KPIs

From the KPIs index:

* Click the **gear** icon to edit
* Click the **trash** icon to delete

The eight standard KPIs can't be edited or deleted.

## Pinning a KPI to a dashboard

Open a [custom dashboard](/core-features/custom-dashboards.md) in edit mode → **+ Add widget → KPI tile** → pick any KPI from the dropdown. Standard and custom KPIs both work.

## Tips & limits

* There's no hard cap on how many custom KPIs you can have, but each one runs on every page that displays it. We suggest keeping the active set under 20.
* If your KPI shows `NaN` or `Infinity`, it's almost always a divide-by-zero. Wrap the divisor with a guard:

```
total_inferences > 0 ? total_cost / total_inferences : 0
```

* If a KPI shows "—", a required value isn't available for the chosen period — for example, no data from that provider in the window.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.finora.services/core-features/kpis.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
