Skip to main content

Metrics

Twelve Totals and Five Quality Labels: What the Dashboard Measures

Ranges, timezone boundaries, previous-period comparison, unavailable versus zero, and the rules that make a cost estimate refuse.

By Novus Stream Solutions Editorial Team. Published 2026-07-31. Last reviewed 2026-07-31. 4 min read.

A dashboard is a set of claims. Every tile asserts that some number is true for some period, for some subset of your work.

Most analytics products leave those three things vague. This one writes them down, and the rules are worth reading before you read the numbers.

The period is resolved in your timezone

Eight ranges exist: today, this week, rolling 7, 30, and 90 days, year to date, all time, and a custom range.

All of them are resolved against your configured timezone and your configured first day of the week, not against the server's clock. A day boundary is a local midnight. An unrecognised range falls back to this week, and a custom range with a missing or reversed date does the same rather than guessing.

The active range, providers, projects, and a model filter all live in the URL, so a view you are looking at is a view you can send to yourself.

The comparison is the window immediately before

The percentage under each tile compares the current window with a window of exactly the same length ending where the current one starts. Thirty rolling days are compared with the thirty before them.

All time has no such window. It reports no comparable prior-period value instead of inventing a baseline, which is the correct answer and an unusual one to ship.

Twelve totals, and what each one depends on

The tiles are sessions, AI active time, estimated user active time, waiting time, prompts, responses, tool calls, agents launched, tokens, API-equivalent cost, providers used, and active projects.

They do not all come from the same place, and the tile says so in one line underneath. Sessions are counted. Prompts and responses are exact or adapter-derived. Tool calls and agents are source-reported, which means a source that never emits a subagent event contributes nothing rather than zero. Waiting time appears only when the source reports it.

A blank tile and a zero tile are different claims, and the dashboard never confuses them.Generated motif, seeded from this article’s slug. It is decorative and encodes no measurements.

Unavailable is not zero

This is the rule that shapes everything else.

When a source does not report a value, the record stores null, and the tile reads Not available. It is never quietly replaced with a zero that would then be summed, averaged, and compared against last month.

Each metric carries one of five labels:

  • Exact: explicitly defined by the source.
  • Source reported: supplied by the provider, using the provider's definition.
  • Derived: calculated from source timestamps.
  • Estimated: produced by a documented heuristic.
  • Unavailable: not present in the source.

The tokens tile shows a number when either input or output tokens are known and nothing when both are missing, which is the same rule applied to a sum.

Read the coverage panel first

The dashboard has a metric coverage panel that reports, per metric, how many of the sessions in view actually carried it — for example 41 of 120 sessions, or 34 percent.

That panel is the honest header for everything above it. A tool-call total drawn from a third of your sessions is a real number about a third of your work, and a coverage figure is the only thing that tells you which.

The cost estimate is allowed to refuse

API-equivalent cost is the tile most likely to be misread, so it has the strictest rules. It is calculated from a dated rate table — the current text-token snapshot was reviewed on 2026-07-29 — and it returns nothing at all in three cases:

  1. Either token count is missing.
  2. Any model in the session is not in the rate table.
  3. The session used two models with different prices, because token attribution between them would be ambiguous.

A rate row is also fenced to its vendor, so a ChatGPT session can never be priced with a Claude rate. Most calculators would average, or silently pick the first model. This one declines and labels the metric unavailable.

Even when it does produce a number, the number ships with its limitations attached: it is an API-equivalent estimate, not your subscription charge, and it excludes taxes, discounts, tools, long-context premiums, and unreported cache categories. See metrics, provenance, and quality for the full list.

What the totals still cannot tell you

They cannot tell you whether the work was good. Session counts, prompt counts, and hours are context, not a score, and comparing two people on them compares their tools and export formats as much as their work.

They also describe only what you imported. A provider you have not imported is absent, not zero, and the coverage panel is where that shows up.

The point of writing the rules down is not modesty. It is that a number you can interrogate is worth more than a number you have to trust — and reading your dashboard honestly is a skill the product should teach rather than assume.

Was this page helpful?

Your answer stays in this browser. It is not sent anywhere, and no account or cookie is involved.