Documentation

Cost Allocation

Overview

Ternary Cost Allocation is accessible under the “Cost Assist” heading in the side navigation. This feature allows users to create, update, and trigger cost reallocations.

This is an important use case for organizations that look to do accurate chargeback or showback to their respective teams. It ensures that teams receive their "fully loaded" costs to run their applications, products, platforms etc. For example, if teams do not have a share of support or shared services they may not be aware of the actual cost to the business to support their application. This further enables things such as Unit Economics and a culture of "fully loaded" costs.

Ternary Cost Allocation allows users to:

  • Create rules that are to be executed immediately and rules that can be scheduled to run daily.
  • Restrict rules to a specified date range
  • Filter rules to execute against a label such as a specific application, project, team etc.
  • Choose to reallocate by fixed proportions (statically weighted) or in proportion to each target’s share (dynamically weighted)

Creating a new allocation rule

Click the Create Allocation icon to open the side panel for configuration of the Cost Allocation rule.

Creating a new cost allocation rule:

Section 1 - Initial Configuration

  • Name: Provide a descriptive name of the cost allocation rule that is easily identifiable for what the rule accomplishes. For example, Re-distributing Support Charges.
  • Source: Currently, we only support reallocating Billing data and in further iterations will look to add the ability to reallocate things such as Kubernetes costs.
  • Measure: Currently, we only support reallocating Cost data.
  • Rebuild Frequency options:
    • One-time: This will trigger a one time reallocation of costs based on your configuration.
    • Scheduled: Scheduled reallocations run daily, refreshing the current and the most recently closed invoice month on a rolling basis.

Section 2 - Cost Origin

Important Note: For each new reallocation line item, an inverse line item is credited to the origin to preserve accurate totals within your tenant. Groupings determine the baseline level of detail will be present on the reallocation line items and their inverses.

  • Start Date and End Date: You can create a date boundary for reallocation of costs. For example, you may only want to redistribute costs from 1/1/2024 - 1/31/2024.
  • Groupings: This field determines which grouping in Ternary that you want to reallocate. For example, Vendor, Service, Project ID, Project Name, etc.
  • Filters: This field determines what costs from the selected groupings you would like to reallocate. For example, you may want to reallocate costs from a specific Project ID or set of Project ID's that host shared services to the Project IDs that consume them.

Section 3 - Cost Destination

  • Type: You have two options, for the type of reallocation:
    • Statically Weighted: Reallocations always distribute costs to targets based on fixed proportions. For example, if you are redistributing a support charge to 2 projects you could apply 10% to Project ID = 123 and 90% to Project ID 456
    • Dynamically Weighted: Reallocations distribute costs in proportion to each target's share of some particular metric. For example, you may want to distribute the costs based on how much cost of Compute Engine was consumed by each Project ID.
  • Target: The destination of where you want the reallocated costs to be applied. In the example above, Project ID 123 would receive 10% of the Support costs and Project ID 456 would receive the remaining 90%. You would do this by adding 2 targets, screenshot of an example is below.

Statically Weighted Example

Dynamically Weighted Example

Selecting measures and weighting keys section


  • Measure: Costs will be reallocated to targets in proportion to each targets share of the selected Measure. If minimum share is set, targets with a negligible share of the reallocated cost will be exempted from reallocation altogether.
  • Weighting Keys: In dynamically weighted reallocations, targets are identified by unique combinations of values for the keys selected below. The reallocation line items will inherit the detail specified by these weighting keys.

Selecting targets section

  • Targets: Determines which targets should receive reallocated charges. The reallocation line items will inherit the details defined by the Origin Groupings, as well as the Weighting Keys if dynamic weighting is selected (the latter has precedence). Declaring explicit targets can enrich the reallocation line items with additional detail.