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.
| Column | Category | Description |
|---|---|---|
| BilledCost | Cost | What you were actually invoiced. After all discounts and credits. |
| EffectiveCost | Cost | Amortised cost including commitment discount allocation. |
| ListCost | Cost | On-demand list price before any discounts. |
| ServiceName | Service | Cloud service (e.g., Amazon EC2, Azure Virtual Machines, Compute Engine). |
| ServiceCategory | Service | Standardised category (Compute, Storage, Networking, Database, etc.). |
| ResourceId | Resource | Unique identifier for the resource generating the charge. |
| ResourceName | Resource | Human-readable name of the resource. |
| ChargeCategory | Charge | Type of charge: Usage, Purchase, Tax, Credit, Adjustment. |
| ChargeFrequency | Charge | How often the charge recurs: One-Time, Recurring, Usage-Based. |
| CommitmentDiscountId | Discount | Identifier of the RI/SP/CUD applied to this charge. |
| CommitmentDiscountType | Discount | Type of commitment: RI, Savings Plan, CUD, etc. |
| Provider | Source | Cloud provider (AWS, Azure, GCP, OCI, Tencent). |
| BillingAccountId | Source | The billing account or subscription responsible for the charge. |
Provider Adoption Status
AWS
GACUR 2.0 with FOCUS columns. Export to S3, query via Athena.
Azure
GACost Management FOCUS export. Available in Cost Management portal.
GCP
GABigQuery billing export with FOCUS schema. Query with standard SQL.
Oracle Cloud (OCI)
GAFOCUS-formatted cost report available in OCI Console.
Tencent Cloud
GAFOCUS 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
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.
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.
Build Unified Dashboards
Create dashboards using FOCUS columns: BilledCost by ServiceCategory, EffectiveCost by Provider, CommitmentDiscountType utilisation. These work identically across all providers.
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.