This chapter covers the data every cost statement is made of: the cost and usage exports of AWS, Azure and Google Cloud, the usage data from Kubernetes and from AI providers, the import of files, the FOCUS specification that brings those sources onto one schema, and the data quality questions every export raises. Whoever wants to explain the invoice, allocate cost or prove a saving works with this data, not with the console; FinOps starts here.

What this chapter covers

The first section, Provider exports, answers the same question for each source: what does the provider deliver, where to, how often, at which granularity, and what is missing from it? For AWS that is the Cost and Usage Report, which Data Exports writes as CUR 2.0 or in FOCUS format to an S3 bucket. For Azure it is the Cost Management exports with their actual, amortized and FOCUS datasets. For Google Cloud it is the billing export to BigQuery. Added to these are the cost data from Kubernetes, where a pod only gets a price through allocation, the usage and cost exports of the AI providers, which bill by tokens rather than hours, and the file import for everything that has no export: a reseller's invoices, contracts, licences.

The second section, FOCUS, answers how three exports become one dataset. The FinOps Foundation's specification fixes column names, values and semantics, from BilledCost to ChargeClass; the section's second page shows which columns each provider actually fills and where its mapping leaves gaps.

The third section, Data quality, answers the questions that surface after the first reconciliation with the invoice. How fresh is the data, when is a month final, and why does a closed month still change? Which granularity does an analysis need, and what does it cost in volume? How far back does the history reach, and what is lost when an export is set up late? And finally: how does an export agree with the invoice, line by line, credit by credit?

The exports differ in form, not in purpose. Each holds the usage period, the service, the resource, the quantity, a rate and an amount, and each carries the key-value pairs by which cost is later assigned to a team or a product. What separates them is the when and the how: when an amount counts as final, how discounts and prepayments are spread, how credits appear, and which tags come along at all. Those differences decide whether two reports show the same number.

Key terms

  • FOCUS: the FinOps Open Cost and Usage Specification, the column schema in which the providers deliver their exports alongside the native format.
  • Effective cost: the amount after all discounts and with the share of prepayments a line consumed; in FOCUS the column EffectiveCost.
  • Amortized cost: upfront payments for reservations and Savings Plans spread over their term onto the usage they covered; the view in which teams answer for their consumption.
  • File import: the route for cost without an export, as a CSV with period, amount and allocation key.
  • Tag: the key-value pair on a resource that becomes a column in the export, on AWS only after activation as a cost allocation tag.
  • Cost report: the saved analysis over this data, whose number is only as good as the export behind it.

Neighbouring chapters

The previous chapter, How cloud billing works, explains the invoice this data has to match: billing account, invoicing, credits, currency. This chapter supplies the data with which that invoice can be followed line by line. The next chapter, Pricing models and commitments, explains why an export carries the same usage in several cost columns. The chapter Allocation and ownership uses the tags, accounts and projects from this data to assign cost to teams, and the chapter Tooling describes the consoles and tools that read these exports. The overview of all chapters is in the handbook.