AI Usage by Person, App and Model: Who Spent It?

Five pivots of one month's AI spend, each totalling the same amount: what the No user and No app rows mean, how filters narrow it, and why the table trails the balance.

Max Ma
Max Ma
Sep 29, 2026

Insulin’s Usage panel, on Settings → Billing, shows AI usage by person, app and model. It pivots one month of consumption five ways, and every pivot totals the same amount, because consumption with nothing to attribute gets a named row instead of being dropped.


Sooner or later, whoever owns the AI budget asks two questions. Which person, app or model is driving the bill? And why doesn’t the usage table match the balance?

Insulin answers both on one page. The Usage panel on Settings → Billing re-pivots a month of consumption across what Fours records as it happens: who caused it, which app it ran under, which model was used and which provider served it. And the panel says, above its table, that the table can trail the balance.

The case for attributing AI spend in the first place is made in enterprise AI spend governance. This post is the reading guide: which grouping answers which question, what each unattributed row means, who can see it, how the filters behave, why the table lags, and what the panel will not do.

Where does Insulin show AI usage by person, app and model?

In the Usage panel, below the summary on Settings → Billing. You reach the page in the Fours console, or from the Settings app on the Insulin desktop. The Usage panel is the part of that page that answers one question, what is costing this much, by re-pivoting the same period across the attributes Fours records as consumption happens.

The period selector at the top of the page drives both the summary and the usage table, so the two always describe the same month. It offers the last 12 months, newest first, with the current month marked (current). Three details decide what a figure on the page means:

  • A closed month is settled. Selecting one shows that month’s usage and its settled total.
  • An open month is an estimate. The Used this month card reads Estimated — final on the invoice while the month is open and Final once the period has closed. Storage is billed on the month’s peak, which isn’t known until the month ends, and consumption from the last few minutes may not be aggregated yet.
  • The credit balance is always your balance now. Whichever month you select, the balance shown above it is not the balance at the end of that month.

The panel also draws a daily spend chart: one bar per day of the period, with the peak day highlighted and labelled above the chart. Days with no spend render as an empty slot rather than being closed up, so a quiet weekend shows as a gap instead of a slope across spending nobody can account for.

Which grouping answers which question?

Pick the grouping that names what you are asking about: Resource, User, App, Model or Provider. The tab strip re-pivots the same consumption, and every pivot totals the same amount. Where some consumption has no value for the dimension you picked, it is collected in a named row instead of being dropped.

Your questionGroup byUnattributed rowWhat that row holds
What kind of thing did the money go on: tokens, sandbox or storage?Resource—Its rows are the six metered resources: AI input tokens, AI output tokens, sandbox processor, sandbox memory, sandbox storage and object storage
Which member of the organization caused it?UserNo user — scheduled and system runsConsumption with no user behind it. A scheduled job has none
Which Insulin app did it run under?AppNo appConsumption with no app, such as a direct API call
Which model was used?ModelNo model — sandbox and storageSandbox and storage consumption. Sandbox storage has no model
Which provider served it?ProviderNo provider — sandbox and storageSandbox and storage consumption

Each row shows a quantity, the cost, and the row’s share of the period. Only the Resource grouping names a unit. Every other grouping mixes resources measured in different units, tokens with processor-seconds, so no single unit label would be right. When you compare people, apps, models or providers, compare cost and share: a quantity there can mix units.

Usage on your organization’s own provider keys (bring your own key, or BYOK) is attributed to the provider whose key was used, whenever the provider reports how many tokens the request used. A reply streamed from one of three named providers may be missing from the breakdown; the documentation’s exact wording is below.

What do the unattributed rows mean?

An unattributed row is consumption that genuinely has no value for the dimension you picked, named rather than dropped. That is why the pivots reconcile: if unattributed consumption were left out, the by-user view would quietly total less than the by-resource view, and neither would match your bill.

Read each one for what it is:

  • No user — scheduled and system runs is consumption with no user behind it. A scheduled job has no user, so what it consumes is counted here rather than under the person who set the job up. A large row points you at scheduled and system work, not at a person.
  • No app is consumption with no app to attribute it to, such as a direct API call.
  • No model — sandbox and storage and No provider — sandbox and storage hold sandbox and storage spend, which has no value in either grouping: sandbox storage, for instance, has no model. The Resource grouping breaks that kind of spend out into its own rows: sandbox processor, sandbox memory, sandbox storage and object storage.

The practical rule: never total only the attributed rows. The attributed rows plus the unattributed row make up the period.

Who can see per-person AI spend?

Every member of your organization. The billing documentation is explicit: any member of a seller, reseller or partner organization can open Settings → Billing, the page is not restricted to administrators, and there is no admin-only view within it. The User grouping names members, so per-person AI spend is visible organization-wide, to anyone who opens the panel.

That is worth settling before anyone reviews spend by person:

  • Tell the team first. Say that the view exists and what it is for, before a per-person figure first turns up in a meeting.
  • Read a row as cause, not verdict. The User grouping answers which member caused the consumption, not what the work was worth. Use it to investigate spend, never as a productivity or performance score, and read a high row next to what that person was asked to do.
  • Remember what a person’s row leaves out. A scheduled job has no user, so a member’s row does not include what the scheduled jobs they set up consumed.

How do the filters work?

A filter’s choices come from the grouping currently shown, so switch to a grouping before you filter by it. Four multi-select filters (users, apps, models and providers) sit under the tabs. Grouping and filtering answer different questions: grouping is what did we spend it on, filtering is what did this team spend it on.

RuleWhat it means in practice
The filter matching the active tab is the one with values to pickTo narrow by user, switch to the User grouping first. The Users filter then fills with the people who actually used AI this period
A selection stays applied as you switch groupingsPick people on the User tab, then switch to Model or App to see how they spent it
The list is built from the period’s own results, not from your member listNo filter ever offers someone who never used AI, so a colleague who isn’t offered has no usage in that period’s results
A filtered total is a subset of the period, not the whole billThe panel says so while any filter is applied. Clear filters returns to the full period

Worked example: what did one team spend, and on which models?

  1. Choose the month in the period selector.
  2. Switch to User. The Users filter now lists the people who used AI that month.
  3. Select the team’s members in the Users filter.
  4. Switch to Model. The selection stays applied, so the rows now show the team’s spend by model, and the total is the team’s subset of the period, not the bill.
  5. Switch to App or Resource to see the same team’s spend by app, or by kind of consumption.
  6. Select Clear filters before you read an organization-wide figure again.

One limit to keep in mind: selecting people cannot capture consumption that has no user. A scheduled job has no user, so what the scheduled jobs the team set up consumed is not under any of the people you picked.

Why doesn’t the usage table match the credit balance?

Because they refresh at different speeds. The usage breakdown is re-aggregated every couple of hours; the credit balance comes straight from the ledger and moves within about a minute of a request. So this sequence is normal:

  1. You run something expensive.
  2. The Credit balance drops within about a minute.
  3. The Usage table still shows the period without it.

The panel says as much above the table. When the two disagree, the balance is the current one: the table is catching up, and nothing has been lost or double-counted. For the same reason, an empty table means nothing has been aggregated for this period yet, which is not the same as having used nothing. Give the table a couple of hours before you read an empty or low figure as a finding.

The balance is also the figure to watch for a pause. The spend check that decides whether the next request may run is fed from the ledger within a minute, as the balance is. If requests do stop, the banner on Settings → Billing names which of the four reasons AI pauses applies.

A separate gap: streamed replies on your own keys

When you bring your own key, that provider bills you directly for the tokens, under your own contract, and Insulin still meters the token usage the provider reports. The metering documentation puts it this way:

BYOK usage still appears in your usage breakdown, attributed to the provider whose key was used, whenever the provider reports how many tokens the request used. For streamed replies, Fours does not currently ask Cloudflare Workers AI, DigitalOcean GradientAI, or Together AI for that count, so a reply streamed from one of them may be missing from the breakdown.

That is a separate reason from the refresh delay above. If your organization’s own keys are with one of those three providers, keep that sentence in mind before you read that provider’s row as the whole of its usage.

What won’t the Usage panel do?

Export or drill down. There is no CSV export and no per-request drill-down, and the finest grain available is a grouped row for the period. The daily chart shows you when a peak happened, but the grouped rows cover the whole period. If you need the underlying detail, to reconcile a specific job or a specific day, contact support@suger.io while the consumption records are still inside their 90-day retention window.

Different records are kept for different lengths of time:

RecordKept for
Individual consumption records90 days
The attributed usage breakdown you see in the console13 months
Period totalsIndefinitely

After 13 months the breakdown is collapsed rather than deleted: the attribution (which user, which app, which model) is dropped, and a daily total per resource remains. The period selector’s 12 months sit inside the window where the full attributed breakdown still exists.

Two habits follow:

  • Ask while the records exist. The individual records behind a job or a day are kept for 90 days, so read the panel monthly and raise questions while they exist, rather than saving them for a quarterly review.
  • Keep your own copy of what you report. With no export, record the grouped rows you rely on in your own files each month. After 13 months, the attribution behind them is dropped.

What should you check before you report a number?

Seven things: the month, whether it is still open, filters, the unattributed row, the refresh, streamed replies on your own keys, and units. As a checklist:

  1. The month. The period selector drives both panels. Is it the month you mean?
  2. Open or closed. While the month is open, the Used this month card reads Estimated — final on the invoice. Only a closed month’s figures are settled.
  3. Filters. If the panel says a filter is applied, the total is a subset of the period, not the bill.
  4. The unattributed row. The attributed rows plus the unattributed row make up the total. Leave it out and your figure won’t reconcile with the other pivots.
  5. The refresh. If the balance has moved and the table hasn’t, the table is catching up, and the balance is the current figure.
  6. Streamed replies on your own keys. If your organization’s keys are with Cloudflare Workers AI, DigitalOcean GradientAI or Together AI, a reply streamed from one of them may be missing from the breakdown.
  7. Units. Outside the Resource grouping, compare cost and share, not quantity.

Frequently asked questions

Can everyone in our organization see per-person AI spend?

Yes. Any member of your organization can open Settings → Billing, which has no admin-only view, and its User grouping names members. Per-person spend is visible organization-wide, so tell your team before you start reviewing it by person.

Why doesn’t the usage table match our credit balance?

The usage breakdown is re-aggregated every couple of hours, while the credit balance moves within about a minute of a request. When the two disagree, the balance is the current one: the table is catching up, and nothing has been lost or double-counted.

What does “No user — scheduled and system runs” mean?

It is consumption with no user to attribute it to: a scheduled job, for example, has no user. The row is named rather than dropped, so the User grouping totals the same amount as every other grouping.

Why can’t I find a colleague in the Users filter?

The list is built from the period’s own results, not from your member list, so it never offers someone who didn’t use AI in that period. A filter’s choices also come from the grouping shown, so switch to the User grouping first.

Can we export usage or see individual requests?

Not from the Usage panel. It has no CSV export and no per-request drill-down; its finest grain is a grouped row for the period. For a specific job or day, contact Fours support while the records are inside their 90-day retention window.

Is BYOK usage always in the usage breakdown?

Not always. It appears whenever the provider reports how many tokens the request used. For streamed replies, Fours does not currently ask Cloudflare Workers AI, DigitalOcean GradientAI, or Together AI for that count, so a reply streamed from one of them may be missing from the breakdown.

Takeaways

  • The Usage panel on Settings → Billing pivots one month five ways (Resource, User, App, Model and Provider), and every pivot totals the same amount.
  • The unattributed rows (No user — scheduled and system runs, No app, No model — sandbox and storage, No provider — sandbox and storage) are part of the total, not missing data.
  • Every member of your organization can open the page, and the User grouping names members: per-person spend is visible organization-wide.
  • A filter’s choices come from the active grouping, a selection stays applied across groupings, and a filtered total is a subset of the period.
  • The table is re-aggregated every couple of hours and the balance moves within about a minute. When they disagree, the balance is the current one.
  • There is no CSV export and no per-request drill-down. For a specific job or day, ask support inside the 90-day retention window.

Usage-based pricing is only comfortable when you can see where the usage goes. Insulin’s usage-based pricing sets out what is metered and the controls around it, and the documentation on reading your usage is the reference for every rule above.

Sources

Primary sources for the platform rules cited above. Last verified September 29, 2026. Cloud providers change fees, eligibility, and program terms without notice — check the source before relying on a figure.

  • Insulin Billing: Reading Your Usage — Fours Doc — The Usage panel below the summary on Settings → Billing and the one question it answers; the period selector driving both panels, the last 12 months newest first, the current month marked (current), a closed month showing settled figures and the balance always being the balance now; the five groupings (Resource, User, App, Model, Provider), what each answers, and every pivot totalling the same amount; quantity, cost and share, with the unit named only under Resource; the four unattributed rows word for word, the examples of a scheduled job with no user, a direct API call with no app and sandbox storage with no model, and why naming them makes the pivots reconcile; the four multi-select filters, choices coming from the active grouping, the selection staying applied across groupings, the list built from the period's results rather than the member list, a filtered total being a subset, and Clear filters; the daily spend chart; re-aggregation every couple of hours against a balance that moves within about a minute, and what an empty table means; no CSV export, no per-request drill-down, the grouped row as the finest grain, and support inside the 90-day retention window
  • Insulin Billing: What Is Metered — Fours Doc — The six resources that are the rows under Resource; consumption measured with who, which app, model and provider; the spend check fed from the ledger within a minute while the usage breakdown is re-aggregated every couple of hours; BYOK tokens billed by the provider under your own contract, and the streamed-reply sentence for Cloudflare Workers AI, DigitalOcean GradientAI and Together AI, quoted as the page words it; retention of 90 days, 13 months and indefinitely, and the breakdown collapsing to a daily total per resource after 13 months
  • Insulin Billing: How Billing Works — Fours Doc — Settings → Billing in the Fours console and in the Settings app on the Insulin desktop; every member of a seller, reseller or partner organization can open it, with no admin-only view; the Used this month card reading Estimated — final on the invoice until the period closes, and why; a past month's settled total beside a balance that is always your balance now
  • Insulin Billing FAQ — Fours Doc — Settings → Billing not restricted to administrators, with no admin-only view; why the usage table can be empty when the balance went down, and that the balance is the current figure; the four reasons AI stops, named in the banner on Settings → Billing

Browse every post on the Insulin Blog

Stay Updated

New posts, product updates and marketplace strategy are shared on LinkedIn as they publish.

Follow Fours on LinkedIn