← Back to Overview

FOCUS Specification Guide 2026: The Standard for Multi-Cloud Billing Data

FOCUS v1.3 is the emerging standard for normalised cloud billing data. This is the practical guide: what it looks like, how to query it, what it solves, and what it does not solve yet.

What FOCUS Solves

The problem: AWS Cost and Usage Report, Azure Cost Management exports, and GCP BigQuery billing export all use different column names, different pricing units, and different metadata. Comparing costs across providers requires manual mapping of dozens of fields.

The solution: FOCUS (FinOps Open Cost and Usage Specification) provides a single schema that all providers emit. One set of column names, one set of pricing units, one data model. Write a query once, run it against any provider.

FOCUS v1.3 Key Columns

The most important columns for cost analysis.

ColumnCategoryDescription
BilledCostCostWhat you were actually invoiced. After all discounts and credits.
EffectiveCostCostAmortised cost including commitment discount allocation.
ListCostCostOn-demand list price before any discounts.
ServiceNameServiceCloud service (e.g., Amazon EC2, Azure Virtual Machines, Compute Engine).
ServiceCategoryServiceStandardised category (Compute, Storage, Networking, Database, etc.).
ResourceIdResourceUnique identifier for the resource generating the charge.
ResourceNameResourceHuman-readable name of the resource.
ChargeCategoryChargeType of charge: Usage, Purchase, Tax, Credit, Adjustment.
ChargeFrequencyChargeHow often the charge recurs: One-Time, Recurring, Usage-Based.
CommitmentDiscountIdDiscountIdentifier of the RI/SP/CUD applied to this charge.
CommitmentDiscountTypeDiscountType of commitment: RI, Savings Plan, CUD, etc.
ProviderSourceCloud provider (AWS, Azure, GCP, OCI, Tencent).
BillingAccountIdSourceThe billing account or subscription responsible for the charge.

Provider Adoption Status

AWS

GA

CUR 2.0 with FOCUS columns. Export to S3, query via Athena.

Azure

GA

Cost Management FOCUS export. Available in Cost Management portal.

GCP

GA

BigQuery billing export with FOCUS schema. Query with standard SQL.

Oracle Cloud (OCI)

GA

FOCUS-formatted cost report available in OCI Console.

Tencent Cloud

GA

FOCUS support in billing export.

Practical SQL Examples

These queries work identically across AWS (Athena), Azure (Cost Management export), and GCP (BigQuery) when using FOCUS-formatted data.

Total Spend by Service Category This Month

SELECT
  ServiceCategory,
  Provider,
  SUM(BilledCost) AS TotalCost
FROM focus_billing
WHERE BillingPeriodStart >= DATE_TRUNC('month', CURRENT_DATE)
GROUP BY ServiceCategory, Provider
ORDER BY TotalCost DESC;

Commitment Discount Utilisation

SELECT
  CommitmentDiscountType,
  Provider,
  SUM(EffectiveCost) AS DiscountedCost,
  SUM(ListCost) AS ListCost,
  ROUND(1 - SUM(EffectiveCost) / NULLIF(SUM(ListCost), 0), 3) AS DiscountRate
FROM focus_billing
WHERE CommitmentDiscountId IS NOT NULL
GROUP BY CommitmentDiscountType, Provider;

Cost by Resource Grouped by Tag

SELECT
  Tags['team'] AS Team,
  Provider,
  SUM(BilledCost) AS TotalCost
FROM focus_billing
WHERE Tags['team'] IS NOT NULL
GROUP BY Tags['team'], Provider
ORDER BY TotalCost DESC;

Month-over-Month Cost Trend

SELECT
  DATE_TRUNC('month', BillingPeriodStart) AS Month,
  Provider,
  SUM(BilledCost) AS TotalCost
FROM focus_billing
WHERE BillingPeriodStart >= CURRENT_DATE - INTERVAL '6 months'
GROUP BY Month, Provider
ORDER BY Month DESC, Provider;

What FOCUS Does Not Solve (Yet)

Resource-level utilisation

FOCUS covers billing data, not performance metrics. CPU utilisation, memory usage, and IOPS remain provider-specific.

Real-time data

FOCUS exports are typically daily. Near-real-time cost monitoring still requires provider-native tools or third-party platforms.

Kubernetes pod-level allocation

FOCUS does not break down costs below the cloud resource level. Pod and container cost allocation requires tools like Kubecost or OpenCost.

Custom pricing agreements

Negotiated enterprise rates and private pricing may not appear correctly in FOCUS exports. Verify against your contract.

How to Adopt FOCUS

1

Enable FOCUS Exports Per Provider

AWS: Enable CUR 2.0 with FOCUS columns in Billing Console. Azure: Enable FOCUS export in Cost Management. GCP: Enable FOCUS schema in BigQuery billing export.

2

Set Up a Central Data Warehouse

Choose BigQuery, Athena, or Snowflake as your central query platform. Route all FOCUS exports to a single location. This becomes your single source of truth for multi-cloud cost data.

3

Build Unified Dashboards

Create dashboards using FOCUS columns: BilledCost by ServiceCategory, EffectiveCost by Provider, CommitmentDiscountType utilisation. These work identically across all providers.

4

Map Existing Reports to FOCUS Columns

Translate your current provider-specific reports to use FOCUS column names. This is a one-time migration. All future queries use the unified schema.