Understand spend
Explore
Spend grouped by any dimension, then by a second, filtered by any, with the basis of every figure.
Explore is where every figure in CostReveal can be taken apart. Find it under Explore in the sidebar.
Group, then group again
- Group by provider, account, region, service, model, team, feature, customer, user or any of the project's custom dimensions, using the tabs.
- Kubernetes cluster, namespace and workload are tabs too once the project has a Kubernetes cluster. Each shows the cluster's billed cost as it is divided among what ran on it: a workload is named
<namespace>/<kind>/<name>, such asshop/Deployment/catalog. A cluster's capacity no workload took is its own row, Idle capacity, and what it billed on days with no metrics is Billed on days with no metrics. Spend outside every cluster is Not in a Kubernetes cluster. - Account is the AWS account, Google Cloud project, Azure subscription or other account each line was billed in, shown by its name and ID. Region is where it was billed; spend billed in no region, such as an AI provider's, is its own row, No region.
- Then by a second dimension, such as a team's spend by service, an account's spend by region, or a service's spend by customer. Each row shows its parts underneath.
Every row shows the basis of its figures: direct, inferred, allocated or unknown. Spend that names no owner on the dimension is its own row, Not yet explained. It is never spread across owners to look complete.
Filter
Choose the filter button on a row to see only that row's spend. With a second dimension, CostReveal then groups that row's spend by the second dimension. Each filter appears above the table, and you can remove it there. Filters on the same dimension match any of their values; filters on different dimensions must all match. The link keeps the whole view, so you can bookmark it or share it.
Compare with another month
Compare sets the month shown beside another: the month before, the same month a year before, or any month with figures. Each row, and each of its parts, then shows its amount in both months and the change, in amount and as a percentage of the earlier month. A row only one of the months had is shown too, at zero in the other, so nothing that stopped or started spending disappears.
Both months are read at the same exchange rates, the shown month's, so a change is what spend did, not what rates did. When either month is not over, the comparison is like for like: both months are read through the same day, the last day billed in the month under way, such as October 1 to 5 against September 1 to 5. This holds for every dimension, owners included, because CostReveal keeps who each cost is for by the day it was used. CSV includes the compared month's amount and the change.
What drove the change
With a comparison on, What drove the change under the table divides the change by every other dimension at once: the provider, team, service, account, region, model, feature, customer and user, each custom dimension, and a cluster's namespaces and workloads where the project has one. Choose the dimension under Drivers by. Each lists the five values that moved spend most, up or down, and the rest together as Everything else, so its rows add up to the change exactly, read from what each day's spend is attributed to, through the same days as the table. Spend no evidence explains is its own row, Not yet explained, as everywhere.
The drivers stay within the view's filters. A filter that holds a dimension to one value leaves it out, and a filter on one owner or custom dimension leaves out the others, as a view never crosses two of them. A dimension that covers only part of spend, such as the model, says what its rows add up to.
Saved views
A saved view keeps a view's grouping, second grouping, filters and comparison under a name, shared with everyone who can see the project. Views, beside Then by, lists the project's saved views; choosing one opens it on the month and currency already chosen, so a view always shows current spend. The view opened is named there, with its description, and the link keeps it, so it can be bookmarked or shared.
To save the view shown, choose Views, then Save this view, and give it a name and, optionally, a description. Change the grouping or filters of a view opened and it is marked changed: Save changes saves them to it, and Save as a new view keeps it as it was. Rename or describe changes its name and description, and Delete view deletes it for everyone.
A budget can measure a saved view. A view a budget measures cannot be deleted until the budget is deleted or covers something else.
Owners, admins, members and billing members save, rename and delete views; viewers open them. Every change is recorded in Audit logs.
One owner at a time
A view names at most one of team, feature, customer, user, cluster, namespace, workload or a custom dimension. Each is explained on its own: tags, allocation rules, Kubernetes clusters and usage data can each name a line's customer without naming its team. Crossing two owner dimensions would state a figure CostReveal does not have, so Explore only offers combinations it can answer exactly.
A view that names the model covers spend billed per model, such as AI providers' spend.
Currency
Figures are shown in the project's display currency, set under Settings, Projects. Spend billed in other currencies is converted into it at the European Central Bank's reference rates, averaged over the month shown (to date for the current month), and each page says which rates it used. One rate is used for the whole view, so a comparison with an earlier period shows what spend did, not what exchange rates did.
The Currency control, on Home, Explore, Business and Insights, shows all spend in another currency, or only the spend billed in one currency, as billed. Nothing stored is converted: the ledger keeps every amount as it was billed. Budgets, their alerts and chargeback statements stay in the currency they are set or billed in.
Until the month's rates are read, spend in other currencies is shown on its own, and the page says so. A deployment with no outbound access can turn reading rates off with EXCHANGE_RATES=off.
Download
CSV downloads the view as it is shown: each row and its parts, with the amount on every basis and the currency.