Skip to main content

Cost Analysis & Exports

The Cost Explorer lets you analyze platform cost over time and break it down by resource type, organization, user, or resource. You can download what it shows as a CSV file, get cost figures from STAN or the REST API, and receive budget alerts by email.

FinOps does not produce scheduled report files. To share cost figures, export them from the Cost Explorer as CSV, or retrieve them through the REST API.

Where the figures come from​

Every cost figure in FinOps comes from one hourly cost record, the same record that budgets and credits are charged from. The Dashboard, the Cost Explorer, budgets, and the REST API therefore always agree.

CostWhat it covers
Workload costWhat each app, add-on, workflow, workspace, model, job, and other resource costs to run: CPU, RAM, GPU, storage, network, and its share of node overhead.
Idle node capacityThe unused capacity of the nodes a tenant's workloads ran on, charged to that tenant.
Shared servicesThe part of a shared platform service that scaled up above its baseline, divided among tenants by their use of it.
StorageVolumes and project file systems (EFS), container images (ECR), and object storage such as workflow run data (S3).
Platform (baseline)The platform's own running cost. It belongs to no organization and is shown to platform administrators only.

The capacity an organization's workloads caused (its idle node capacity and shared-service scale-up) appears as Platform (organization name) when you group by resource type or resource. Nothing is left unallocated.

Each hour's cost is added once the hour ends, so the current hour never appears. The most recent 48 hours are refreshed as the underlying measurements settle and can still change slightly.

Who usage belongs to​

Every workload's usage belongs to the user who deployed it, whoever uses or triggers it. A deployed workflow's runs (from its schedule, its webhook, the REST API, or another member's manual run) are the usage of the user who deployed it. A draft run belongs to the user who ran it. An agent's usage belongs to the user who started it, a job's to the user who launched or scheduled it, and an app's to its owner. Everything the workload does follows the same user: its pods' compute, its add-on and MCP calls, and its execution usage in SEU. Calls your workload makes to a model, an add-on, an MCP server or an agent that another member set up are your usage, not theirs. The FinOps user views, user budgets, and credits all use this one rule, so a member who only uses what another member deployed is never charged for it.

Who can see cost figures​

WhoWhat they see
Platform administratorsThe Dashboard, Cost Explorer, Schedules, and Executions pages under Admin > FinOps, with every cost on the platform, including the platform baseline.
Organization owners and admins (multi-tenant platforms)Their organization's costs, through STAN or the REST API. They manage their organization's budgets from Budgets in the sidebar (see Budgets).
Everyone elseThe costs of their own workloads, through STAN or the REST API, and the budgets that cover them in the Your budgets card on their dashboard.

The FinOps pages appear only when the FinOps feature is enabled on the platform.

Cost Explorer​

Open Admin > FinOps > Cost Explorer.

Filters​

Every section of the page reloads when you change a filter.

FilterOptions
Time range1H, 6H, 24H, 7D, 30D, or 90D. Ranges count whole hours back from the current hour, so 1H is the last complete hour.
Group byResource Type, Organization, User, or Resource.
Resource typeAll Types, or one of Apps, Add-ons, Workflows, Workspaces, Fine-tuning Jobs, Self-hosted Models, AutoML Jobs, Model Serving, Image Builds, Data Forge, Tools, MCP Gateways, Scheduled Jobs, Project Jobs, Platform (org scaling), or Platform (baseline).
Org ID filterOnly this organization's cost. Applies once you stop typing.
User ID filterOnly this user's cost. Applies once you stop typing.

Summary cards​

CardWhat it shows
Total CostThe cost for the time range and filters, with the change against the previous period of the same length.
Daily AverageThe total divided by the number of days in the range.
Period ChangeThe percent change against the previous period, and that period's cost.

The change shows n/a when the recorded cost data does not cover all of the previous period.

Cost Over Time​

The chart shows cost per Hourly, Daily, Weekly (weeks start on Monday), or Monthly point, all in UTC. Each point is stacked by the grouping you chose. With up to eight groups, each is drawn on its own; with more, the seven largest are drawn on their own and the rest are added together as Other.

Cost Breakdown​

The table lists each group, most expensive first:

ColumnWhat it shows
ResourceThe group's name (a resource type, organization, user, or resource).
TotalIts cost for the range.
ComputeCPU, RAM, and the node overhead shared into them.
StorageStorage cost.
NetworkNetwork cost.
TrendThe percent change against the previous period of the same length. n/a means the recorded data does not cover all of the previous period; new means the group had no cost then.
EfficiencyThe CPU and memory its pods used as a percent of what they requested. A dash means no measured pods ran for it, as with storage or a share of idle capacity.

Use the search box to filter the rows by name or ID. The table shows 25 rows per page.

To look into one area, pick a resource type and group by Resource. For example, choose Workflows and group by Resource to see what each workflow costs, then switch the chart to Daily or Hourly to see when the cost was incurred.

The refresh button reloads the figures.

Export to CSV​

  1. Open the Cost Explorer and set the time range, grouping, and filters you want.
  2. Click CSV.

The file is named cost-explorer-<time range>-<date>.csv and contains every row of the breakdown for the current filters, whatever the search box and page show. Amounts are in US dollars.

ColumnContents
GroupThe group's ID (a resource type, organization ID, user ID, or resource ID)
NameThe group's name
Total CostCost for the range
Compute CostCPU, RAM, and shared node overhead
CPU CostCPU cost
RAM CostRAM cost
GPU CostGPU cost
Storage CostStorage cost
Network CostNetwork cost
Previous Period CostCost in the previous period of the same length
Change %Percent change against the previous period
Efficiency %CPU and memory used as a percent of requested

A cell is blank when the value is not available, for example the change when the recorded data does not cover all of the previous period.

Cost forecast​

The forecast fits a straight line to the daily cost of the last 90 whole days and projects it forward, with 95% prediction bounds. Days with no recorded cost are left out rather than counted as zero, and no forecast is made from fewer than 3 days of history.

Along with the projection, the forecast gives:

  • Monthly growth rate: the line's growth over 30 days, as a share of the average day.
  • Confidence: high, medium, or low, based on how many of the 90 days have cost and how steady the daily cost was.

The Dashboard's Cost Forecast (3 Month) card shows the next 90 days as weekly totals with the growth rate and confidence. STAN and the REST API return the daily projection with its lower and upper bounds, for 3 months by default.

The forecast is a trend line. It does not account for seasonal patterns or planned changes, so compare it with actual spend in the Cost Explorer as the months go by.

Cost anomalies​

An anomaly is a resource whose cost on the last whole day moved sharply from its usual day. The platform compares that day with the resource's average daily cost over the earlier days of the lookback window (7 days by default), counting only days the resource had cost, so a resource that simply stopped is not flagged.

SensitivityFlagged when the day moved by at least
Low100%
Medium (default)50%
High25%

Each anomaly gives the day, the resource and its type, the expected and actual cost, how far it moved, whether it was a spike or a drop, and a severity: high when it moved at least twice the threshold, otherwise medium.

The Dashboard counts anomalies for the selected time range in its Alerts card (at medium sensitivity). For the list itself, ask STAN (for example, "show me cost anomalies this week") or use the REST API, where you can set the lookback days and the sensitivity. To investigate one, open the Cost Explorer, pick the resource's type, group by Resource, and look at hourly or daily cost around that day.

Rightsizing savings​

STAN and the REST API can list rightsizing savings: resources whose pods used less than 40% of the CPU and memory they requested over the last 30 days, with the potential saving (the cost of the unused share of their CPU and memory). Lower those resources' requests to match what they use. On the FinOps pages, the same signal is the Efficiency column and the Dashboard's Efficiency card.

Budget alert emails​

The emails FinOps sends are budget alerts. Each budget's Notifications section decides how its alerts are emailed: Immediate, as an Hourly, Daily, or Weekly digest, or Off, with a minimum severity. See Notifications on the Budgets page.

Platform Executions export​

Admin > FinOps > Executions (Platform Executions) shows execution usage in SEU across app and workspace sessions, workflow executions, AI gateway calls, add-on calls, MLOps, and agent runs. Its Export button downloads the monthly figures as a CSV file named executions-<date>.csv, with the columns Month, SEU, Executions, Workflow Prod, Workflow Dev, and Cost.

Cost figures from STAN and the REST API​

Everything on the Cost Explorer, and more, is available from STAN and the REST API, scoped to the person asking (see Who can see cost figures):

  • Cost per calendar month (the last 12 months by default, or a calendar year) and per day over any date range
  • Cost by resource type, or grouped by resource, organization, user, or namespace, with CPU, RAM, GPU, storage, and network parts
  • Cost over time per hour, day, week, or month
  • The most expensive resources
  • CPU and memory efficiency
  • Anomalies, the forecast, and rightsizing savings
  • The Dashboard's figures
  • Cost data collection health (platform administrators only)

See the FinOps Costs REST API reference for requests and responses.

Data freshness​

  • The Dashboard shows figures computed ahead of time and recomputed every hour; the Updated label shows when. Its refresh button recomputes the selected time range right away.
  • The Cost Explorer, STAN, and the REST API compute from the current cost data each time, so they can be slightly newer than the Dashboard.
  • If cost data collection falls more than two hours behind, the Dashboard shows a Cost data collection is behind banner. Figures stop at the last collected hour and catch up when collection resumes.

Best practices​

Review costs regularly​

  • Check the Dashboard's Top Cost Drivers and Alerts card on a regular cadence.
  • Use Period Change and each row's Trend to tell a broad rise from one driven by a few resources.
  • Group by Resource within a resource type to find the resources behind a change.

Use the forecast for planning​

  • Compare the forecast with your budgets' amounts.
  • Treat a low confidence forecast as a rough guide, and check it against actual spend.

Follow up on anomalies​

  • Look into anomalies promptly: check for recent deployments, scaling, or new workloads around the flagged day.
  • Put alert thresholds on the budgets for areas that spike often.

Share figures​

  • Export the Cost Explorer breakdown as CSV with the filters your audience needs, for example one organization over 30D grouped by Resource.
  • Use a budget's Digest email to send a regular summary of that budget's alerts to its recipients.
tip

To see what one team or project costs, put its resources in a resource group and give the group a budget (see Budgets). The budget's usage bar then tracks that spend in every period.