THE LINUX FOUNDATION PROJECTS
Docs navigation
On this page

    3.1 Cost and Usage

    Columns: 65
    Since: 0.5

    The Cost and Usage dataset is the primary dataset for FOCUS cost and usage data.

    The specification for the Cost and Usage dataset defines a group of columns that provide qualitative values (such as dates, resource, and service provider information) categorized as "dimensions" and quantitative values (numeric values) categorized as "metrics" that can be used for performing various FinOps capabilities. Metrics are commonly used for aggregations (sum, multiplication, averaging etc.) and statistical operations within the dataset. Dimensions are commonly used to categorize, filter, and reveal details in your data when combined with metrics. The columns are presented in alphabetical order.

    Columns in this Dataset

    Column Type Level Data Type
    Allocated Method ID Dimension Conditional String
    Allocated Method Details Dimension / Metric Recommended JSON
    Allocated Resource ID Dimension Conditional String
    Allocated Resource Name Dimension Conditional String
    Allocated Tags Dimension Conditional JSON
    Availability Zone Dimension Recommended String
    Billed Cost Metric Mandatory Decimal
    Billing Account ID Dimension Mandatory String
    Billing Account Name Dimension Mandatory String
    Billing Account Type Dimension Conditional String
    Billing Currency Dimension Mandatory String
    Billing Period End Dimension Mandatory Date/Time
    Billing Period Start Dimension Mandatory Date/Time
    Capacity Reservation ID Dimension Conditional String
    Capacity Reservation Status Dimension Conditional String
    Charge Category Dimension Mandatory String
    Charge Class Dimension Mandatory String
    Charge Description Dimension Mandatory String
    Charge Frequency Dimension Recommended String
    Charge Period End Dimension Mandatory Date/Time
    Charge Period Start Dimension Mandatory Date/Time
    Commitment Discount Category Dimension Conditional String
    Commitment Discount ID Dimension Conditional String
    Commitment Discount Name Dimension Conditional String
    Commitment Discount Quantity Metric Conditional Decimal
    Commitment Discount Status Dimension Conditional String
    Commitment Discount Type Dimension Conditional String
    Commitment Discount Unit Dimension Conditional String
    Commitment Program Eligibility Details Dimension Conditional JSON
    Consumed Quantity Metric Conditional Decimal
    Consumed Unit Dimension Conditional String
    Contract Applied Dimension / Metric Conditional JSON
    Contracted Cost Metric Mandatory Decimal
    Contracted Unit Price Metric Conditional Decimal
    Effective Cost Metric Mandatory Decimal
    Host Provider Name Dimension Mandatory String
    Invoice Detail ID Dimension Conditional String
    Invoice ID Dimension Conditional String
    Invoice Issuer Name Dimension Mandatory String
    List Cost Metric Mandatory Decimal
    List Unit Price Metric Conditional Decimal
    Pricing Category Dimension Conditional String
    Pricing Currency Dimension Conditional String
    Pricing Currency Contracted Unit Price Metric Conditional Decimal
    Pricing Currency Effective Cost Metric Conditional Decimal
    Pricing Currency List Unit Price Metric Conditional Decimal
    Pricing Quantity Metric Mandatory Decimal
    Pricing Unit Dimension Mandatory String
    Region ID Dimension Conditional String
    Region Name Dimension Conditional String
    Resource ID Dimension Conditional String
    Resource Name Dimension Conditional String
    Resource Type Dimension Conditional String
    Service Provider Name Dimension Mandatory String
    Service Category Dimension Mandatory String
    Service Name Dimension Mandatory String
    Service Subcategory Dimension Recommended String
    SKU ID Dimension Conditional String
    SKU Meter Dimension Conditional String
    SKU Price Details Dimension Conditional JSON
    SKU Price ID Dimension Conditional String
    Sub Account ID Dimension Conditional String
    Sub Account Name Dimension Conditional String
    Sub Account Type Dimension Conditional String
    Tags Dimension Conditional JSON

    Relationships

    The Cost and Usage dataset can be joined to the Contract Commitment dataset through the use of the Contract Commitment ID.

    • In the Cost and Usage dataset, Contract Commitment ID is a property within a JSON object array provided in Contract Applied column.
    • In the Contract Commitment dataset, Contract Commitment ID is a column.
    Dataset A Dataset A Column Dataset B Dataset B Column
    Cost and Usage Contract Applied Contract Commitment Contract Commitment ID

    Requirements

    CostAndUsage MUST adhere to the following requirements:

    • CostAndUsage MUST be present.
    • CostAndUsage column presence MUST adhere to the following requirements:
      • CostAndUsage SHOULD include AllocatedMethodDetails when the data generator supports data generator-calculated split cost allocation.
      • CostAndUsage MUST include AllocatedMethodId when the data generator supports data generator-calculated split cost allocation.
      • CostAndUsage MUST include AllocatedResourceId when the data generator supports data generator-calculated split cost allocation.
      • CostAndUsage MUST include AllocatedResourceName when the data generator supports data generator-calculated split cost allocation.
      • CostAndUsage MUST include AllocatedTags when the data generator supports data generator-calculated split cost allocation.
      • CostAndUsage SHOULD include AvailabilityZone when the host provider supports deploying resources or services within an availability zone.
      • CostAndUsage MUST include BilledCost.
      • CostAndUsage MUST include BillingAccountId.
      • CostAndUsage MUST include BillingAccountName.
      • CostAndUsage MUST include BillingAccountType when the invoice issuer supports more than one possible BillingAccountType value.
      • CostAndUsage MUST include BillingCurrency.
      • CostAndUsage MUST include BillingPeriodEnd.
      • CostAndUsage MUST include BillingPeriodStart.
      • CostAndUsage MUST include CapacityReservationId when the service provider supports capacity reservations.
      • CostAndUsage MUST include CapacityReservationStatus when the service provider supports capacity reservations.
      • CostAndUsage MUST include ChargeCategory.
      • CostAndUsage MUST include ChargeClass.
      • CostAndUsage MUST include ChargeDescription.
      • CostAndUsage SHOULD include ChargeFrequency.
      • CostAndUsage MUST include ChargePeriodEnd.
      • CostAndUsage MUST include ChargePeriodStart.
      • CostAndUsage MUST include CommitmentDiscountCategory when the service provider supports commitment discounts.
      • CostAndUsage MUST include CommitmentDiscountId when the service provider supports commitment discounts.
      • CostAndUsage MUST include CommitmentDiscountName when the service provider supports commitment discounts.
      • CostAndUsage MUST include CommitmentDiscountQuantity when the service provider supports commitment discounts.
      • CostAndUsage MUST include CommitmentDiscountStatus when the service provider supports commitment discounts.
      • CostAndUsage MUST include CommitmentDiscountType when the service provider supports commitment discounts.
      • CostAndUsage MUST include CommitmentDiscountUnit when the service provider supports commitment discounts.
      • CostAndUsage MUST include CommitmentProgramEligibilityDetails when the service provider supports at least one commitment program.
      • CostAndUsage MUST include ConsumedQuantity when the service provider supports the measurement of usage.
      • CostAndUsage MUST include ConsumedUnit when the service provider supports the measurement of usage.
      • CostAndUsage MUST include ContractApplied when the service provider supports contract commitments.
      • CostAndUsage MUST include ContractedCost.
      • CostAndUsage MUST include ContractedUnitPrice when the service provider supports negotiated pricing concepts.
      • CostAndUsage MUST include EffectiveCost.
      • CostAndUsage MUST include HostProviderName.
      • CostAndUsage MUST include InvoiceDetailId when the invoice issuer supports payable invoices.
      • CostAndUsage MUST include InvoiceId when the invoice issuer supports payable invoices.
      • CostAndUsage MUST include InvoiceIssuerName.
      • CostAndUsage MUST include ListCost.
      • CostAndUsage MUST include ListUnitPrice when the service provider publishes unit prices exclusive of discounts.
      • CostAndUsage MUST include PricingCategory when the service provider supports more than one pricing category across all SKUs.
      • CostAndUsage MUST include PricingCurrency when the service provider supports pricing and billing in different currencies.
      • CostAndUsage MUST adhere to the following PricingCurrencyContractedUnitPrice presence requirements:
        • CostAndUsage MUST include PricingCurrencyContractedUnitPrice when the service provider supports prices in virtual currency and publishes unit prices exclusive of discounts.
        • CostAndUsage SHOULD include PricingCurrencyContractedUnitPrice when the service provider supports pricing and billing in different currencies and publishes unit prices exclusive of discounts.
        • CostAndUsage MAY include PricingCurrencyContractedUnitPrice in all other cases.
      • CostAndUsage MUST adhere to the following PricingCurrencyEffectiveCost presence requirements:
        • CostAndUsage MUST include PricingCurrencyEffectiveCost when the service provider supports prices in virtual currency and publishes unit prices exclusive of discounts.
        • CostAndUsage SHOULD include PricingCurrencyEffectiveCost when the service provider supports pricing and billing in different currencies and publishes unit prices exclusive of discounts.
        • CostAndUsage MAY include PricingCurrencyEffectiveCost in all other cases.
      • CostAndUsage MUST adhere to the following PricingCurrencyListUnitPrice presence requirements:
        • CostAndUsage MUST include PricingCurrencyListUnitPrice when the service provider supports prices in virtual currency and publishes unit prices exclusive of discounts.
        • CostAndUsage SHOULD include PricingCurrencyListUnitPrice when the service provider supports pricing and billing in different currencies and publishes unit prices exclusive of discounts.
        • CostAndUsage MAY include PricingCurrencyListUnitPrice in all other cases.
      • CostAndUsage MUST include PricingQuantity.
      • CostAndUsage MUST include PricingUnit.
      • CostAndUsage MUST include RegionId when the host provider supports deploying resources or services within a region.
      • CostAndUsage MUST include RegionName when the host provider supports deploying resources or services within a region.
      • CostAndUsage MUST include ResourceId when the service provider supports billing based on provisioned resources.
      • CostAndUsage MUST include ResourceName when the service provider supports billing based on provisioned resources.
      • CostAndUsage MUST include ResourceType when the service provider supports billing based on provisioned resources and supports assigning types to resources.
      • CostAndUsage MUST include ServiceCategory.
      • CostAndUsage MUST include ServiceName.
      • CostAndUsage MUST include ServiceProviderName.
      • CostAndUsage SHOULD include ServiceSubcategory.
      • CostAndUsage MUST include SkuId when the service provider supports unit pricing concepts and publishes price lists, publicly or as part of contracting.
      • CostAndUsage MUST include SkuMeter when the service provider supports unit pricing concepts and publishes price lists, publicly or as part of contracting.
      • CostAndUsage MUST include SkuPriceDetails when the service provider supports unit pricing concepts and publishes price lists, publicly or as part of contracting.
      • CostAndUsage MUST include SkuPriceId when the service provider supports unit pricing concepts and publishes price lists, publicly or as part of contracting.
      • CostAndUsage MUST include SubAccountId when the service provider supports a sub account construct.
      • CostAndUsage MUST include SubAccountName when the service provider supports a sub account construct.
      • CostAndUsage MUST include SubAccountType when the service provider supports more than one possible SubAccountType value.
      • CostAndUsage MUST include Tags when the data generator supports setting user or provider-defined tags.
      • CostAndUsage SHOULD include custom columns needed to identify all applied discounts when FOCUS columns are not sufficient.
    • CostAndUsage MUST conform to CorrectionHandling requirements.
    • CostAndUsage MUST conform to DatasetCompleteness requirements.
    • CostAndUsage MUST conform to DatasetConfiguration requirements.
    • CostAndUsage MUST conform to DeliveryHandling requirements.
    • CostAndUsage MUST include charges representing unused portions of a commitment when the commitment is not fully utilized.
    • CostAndUsage MUST include separate charges representing discounted and non-discounted portions when a discount applies to only a portion of the originally incurred charge.
    • When the data generator supports data generator-calculated split cost allocation, CostAndUsage MUST adhere to the following requirements:
      • CostAndUsage MUST have its data generator-calculated split cost allocation method documented and accessible to practitioners.
      • CostAndUsage SHOULD offer data generator-calculated split cost allocation on an opt-in basis.
      • CostAndUsage MAY contain records for concepts not related to resource usage, when it aligns with the documented data generator-calculated split cost allocation method.
      • CostAndUsage MAY contain records for unused or unallocated usage from the origin charge as separate allocated charges, when it aligns with the documented data generator-calculated split cost allocation method.
      • CostAndUsage MAY contain allocated charges with apportioned costs for unused or unallocated usage, when it aligns with the documented data generator-calculated split cost allocation method.
    • CostAndUsage SHOULD reflect all applied discounts in charges they pertain to.
    • CostAndUsage SHOULD NOT represent applied discounts as separate negating or offsetting charges.
    • CostAndUsage FOCUS columns MUST conform to DataGeneratorCalculatedSplitCostAllocationHandling requirements when the data generator supports data generator-calculated split cost allocation.
    • CostAndUsage FOCUS columns MUST conform to FocusColumnHandling requirements.
    • CostAndUsage FOCUS columns MUST conform to NullHandling requirements.
    • CostAndUsage custom columns MUST conform to CustomColumnHandling requirements.

    Description

    Describes the cost and usage incurred through using or purchasing a service provider's resources or services.