# AI analyst

The **AI analyst** sits at the top of the dashboard's Overview. Type a question in plain English and it turns it into queries on your organization's ledger, then answers in a few sentences:

- "Why did AI cost jump on Tuesday?"
- "What would moving the summarizer to gpt-5-mini save?"
- "Which research project grew most this month?"

Under the answer, **Numbers used** lists each query the analyst ran and the exact figures it got back, so you can check every number against the ledger. To reach the analyst from any page, press **Ctrl K** and pick **AI analyst**.

## What it can look up

The analyst uses the same read-only tools as the [MCP server](/docs/mcp), plus a daily view:

| Tool | Answers |
|---|---|
| `get_spend` | Totals and a breakdown by provider, model, customer, feature, user, project or environment, with filters, plus this month's run rate and forecast |
| `daily_spend` | Cost per day, to find the day spend moved |
| `explain_change` | The models, features and customers that moved most between two periods |
| `get_customer_cost`, `get_margin` | One customer's cost, and margin when Stripe revenue is connected |
| `estimate_switch` | Your real token volume re-priced on another model |
| `reconciliation_status` | Tracked spend against the provider's bill |
| `credits_expiring` | Credits that expire soon |
| `simulate_workload` | What-ifs at your own [custom prices](/docs/custom-prices) |

It can't change anything. It has no tools for budgets, settings or prices, and its queries run in a transaction that is always rolled back.

## Who can ask, and what it sees

Every member of the organization can ask, whatever their role. The analyst only sees the organization you're signed in to, because Veqen takes the organization from your session, never from the model. It sees what its tools return: totals and breakdowns by your tags. Veqen never receives your prompts or completions (see [Security](/docs/security)), so the analyst can't see them either.

Each organization can ask 30 questions an hour, of up to 500 characters each, with two at a time. The analyst is off until your Veqen administrator configures a model (the `VEQEN_AI_*` settings); without one, the box doesn't appear.

## How it works

A language model reads your question and calls the tools above, up to five rounds of queries, then writes the answer from what they returned. It's told to use only numbers from those results, and **Numbers used** shows you what those results were. Your question and the query results are sent to that model to write the answer. On veqen-app.com the model runs on Microsoft Azure (Azure OpenAI), which doesn't use the data to train models. Answers are written by a language model: check them against **Numbers used**.
