See where every dollar goes — and where every millisecond goes.
Deep-dive spend, token, and latency analytics across every model, team, key, and tag. Cost is read directly from provider headers; the dashboard updates in real time.
Spend overview
- Spend visibility
- Real-time
- Latency reporting
- p50 / p95 / p99
- Cost source
- Provider headers
- Ledger drift target
- $0.00
Within seconds of completion
Per model, per key, per tag
x-nemo-request-cost: never estimated
Daily reported-vs-ledger parity check
Dollars by model. Milliseconds by percentile.
The two charts engineering and finance both open first, live in the dashboard within seconds of every completion.
Spend by model · last 30 days
$521.00
Δ vs last month +12% · every dollar maps to one ledger row
Latency · gemini-2.5-flash · 24h
TTFT measured at first SSE event · click-through to request logs
What you see equals what you paid
Provider-priced
Cost is read, never computed — by us or by your code
The Nemo routing core owns cost calculation. We read x-nemo-request-cost from the response headers and write that exact value to the credit ledger and the analytics rollup. No second source of truth, no estimation, no rounding.
- Single source of truth: x-nemo-request-cost
- Every cost number on the dashboard maps to one ledger row
- No client-side estimation; no manual price tables
- Daily reported-vs-ledger parity check targets $0.00 drift
Reported vs ledger
Full analytics reference: dimensions, tags, tokens, exports
- Spend by model, team, key, customer
- Per-model spend with month-over-month deltas, per-key spend with budget-cap proximity, per-team spend with enforcement, per-customer spend for end-user billing.
- Spend-by-tag rollups
- Pass arbitrary tags (team, project, feature, environment) via the standard OpenAI metadata field. Multi-tag intersection in every chart; cardinality enforced server-side so dashboards stay fast.
- Latency percentiles
- p50 / p95 / p99 per model, key, tag, and time window. Time-to-first-token and total latency tracked separately, streaming-aware. Click any percentile to drill into the underlying request log.
- Time-range filtering
- Hourly, daily, weekly, monthly granularity plus a custom calendar range. Time-zone aware (your org timezone, not UTC), persistent across the Usage Explorer and Analytics Overview.
- Token breakdown
- Prompt vs completion token rollups per model, cached-input token tracking where supported, per-key token-usage charts, and avg input/output tokens per request with trend.
- CSV export: every report
- One-click export of spend breakdowns, usage rollups, token counts, and tag groups. Server-side export for large ranges; BI-tool-friendly snake_case columns; raw per-request logs via the observability API.
Common analytics questions
How real-time is the analytics data?
Every LLM request is recorded immediately on completion. Spend, token counts, and model breakdowns appear in the dashboard within seconds. No overnight batch jobs, no delayed aggregates. You see cost the moment it happens.
Can I tag requests for custom grouping?
Yes. Pass arbitrary tags (team, project, feature, customer) on each request via the metadata field. Group spend and usage reports by any tag combination in the dashboard. Works with the standard OpenAI SDK.
Can I export analytics data to a BI tool?
Yes. Every report exports to CSV with one click: spend breakdowns, usage rollups, token counts, tag groups. Pipe it into Looker, Tableau, Metabase, or archive it for compliance. Raw per-request logs are available through the observability API.
How accurate is the cost & usage tracking?
Cost is read directly from the x-nemo-request-cost header on every response. We never estimate or compute cost ourselves. The number in your dashboard matches exactly what the provider charges.
Stop reconciling spreadsheets
Real-time spend, latency, and ledger parity — on every plan
Sign up, send your first request, and the analytics dashboard fills in. No instrumentation, no schemas to define, no overnight ETL to wait for.