Skip to main content

Business Units & Attribution

Cirata Symphony allows administrators to define business units and attribute usage to them for internal chargeback and cost allocation purposes. Usage can be attributed manually by selecting records, automatically using attribution rules, or a combination of both.

Creating a Business Unit

  1. Navigate to Licensing > Attribution > Business Units.
  2. Click Create Business Unit.
  3. Fill in the business unit details:
FieldRequiredDescription
NameYesHuman-readable name for the business unit
DescriptionNoDescription of the business unit's purpose
Contact EmailNoContact email for the business unit owner
Soft Quota (units)NoAdvisory quota in license units (not enforced)
  1. Click Save.

Editing and Deleting Business Units

  • To edit a business unit, click the edit icon in the table row to open the edit drawer.
  • To delete a business unit, click the delete icon and confirm in the dialog.
warning

Deleting a business unit does not remove usage records attributed to it. Those records will show as "Unattributed" in the attribution view.

Soft Quotas

The Soft Quota field is advisory only—it is not enforced by Symphony. It provides a reference point for teams to track their expected usage allocation against their actual consumption in the attribution view.

Attributing Usage

The Licensing > Attribution page has four sub-tabs: Records, Business Units, Rules, and Reports. Usage can be attributed to business units either manually through the Attribution tab or automatically using attribution rules.

Every usage record tracks how its business unit was assigned via an attribution method field: Auto for rule-based attribution, Manual for administrator-assigned attribution, or blank for unattributed records. This provides a clear audit trail.

Manual Attribution

The Records tab shows individual usage records and lets you assign them to business units.

Filtering

Use the toolbar controls to narrow the view:

FilterDescription
Start Date / End DateRestrict to a date range (default: last 30 days)
ExtensionShow records from a specific extension only
AccountShow records from a specific account only
Attribution StatusToggle between All, Unattributed, or Attributed records

Assigning Records

  1. Select a Business Unit from the dropdown in the toolbar.
  2. Either:
    • Check individual rows and click Assign Selected to attribute only the checked records, or
    • Click Assign All Visible to attribute every record currently shown in the filtered view.
  3. The records are updated and their attribution method is set to Manual.

Re-attribution

Already-attributed records can be re-assigned to a different business unit by selecting them and assigning again. The attribution method updates to Manual regardless of whether the record was previously auto-attributed or manually attributed.

Automatic Attribution with Rules

Attribution rules are persistent policies that automatically assign usage to business units as it is recorded. This eliminates the need to manually attribute recurring usage from known extensions or accounts.

Rules are managed on the Rules tab under Licensing > Attribution.

How Rules Work

Each rule defines two pattern fields and a target business unit:

FieldDescription
Extension PatternAn extension prefix to match, or * for any extension
Account PatternAn account public key to match, or * for any account
Business UnitThe business unit to assign when the rule matches
PriorityTiebreaker when multiple rules have the same specificity (higher wins)
DescriptionOptional note explaining the rule's purpose

When a new usage record is created, Symphony evaluates all rules and applies the best match. The matching algorithm uses specificity scoring—more specific patterns always take precedence:

Extension PatternAccount PatternSpecificity Score
Exact matchExact match3 (highest)
Exact match* (any)2
* (any)Exact match1
* (any)* (any)0 (lowest)

When multiple rules share the same specificity score, the rule with the highest priority value wins. If multiple matching rules have the same specificity and priority, the winner is non-deterministic—assign distinct priority values to avoid ambiguity. If a matching rule is found, the record's business unit is set automatically and the attribution method is recorded as Auto.

info

Rules are evaluated in real time as usage is recorded. There is no delay—each incoming usage record is matched against the current rule set before it is stored.

Creating a Rule

  1. Navigate to Licensing > Attribution > Rules.
  2. Click Create Rule. A drawer opens on the right.
  3. Select the Extension Pattern—choose a specific extension from the dropdown, or leave as * for any.
  4. Enter the Account Pattern—a specific account public key, or * for any.
  5. Select the target Business Unit.
  6. Set the Priority (default: 10).
  7. Optionally add a Description.
  8. Click Preview to see how many existing records match this pattern before saving.
  9. Click Create.

Editing and Deleting Rules

  • Click the edit icon on a rule row to open the edit drawer and modify any field.
  • Click the delete icon to remove a rule.
note

Deleting a rule does not remove business unit assignments from records that were previously attributed by that rule. Existing attributions are preserved.

Re-applying Rules

When you create new rules or modify existing ones, they take effect immediately for new usage records. To apply the current rule set to existing records:

  1. Click Re-apply Rules on the Rules tab.
  2. Choose whether to apply to unattributed records only (default) or to all records including those already attributed.
  3. Click Apply Rules.
  4. The result shows how many records were evaluated, attributed, and changed.
warning

Re-applying rules to all records (with "Only apply to unattributed records" unchecked) will override existing manual and automatic attributions wherever a rule matches. Use this with care.

Rule Examples

Extension PatternAccount PatternBusiness UnitUse Case
iceflow*Data EngineeringAll Iceberg replication usage goes to Data Engineering
*ABCD1234...Research TeamAll usage from a specific account goes to Research
iceflowABCD1234...Research Data EngSpecific extension + account combination
**General PoolCatch-all for any unmatched usage

With all four rules active, usage from account ABCD1234... via iceflow matches the third rule (specificity 3), while their usage of other extensions matches the second rule (specificity 1). All other iceflow usage falls to the first rule (specificity 2), and anything else is caught by the last rule (specificity 0).

Viewing Attribution Reports

The Reports tab aggregates usage records for attribution analysis and reporting.

Date Range Filters

Use the Start Date and End Date pickers at the top of the page to filter to a specific time period. The default range is the last 30 days.

Grouping

Use the Group by toggle buttons to choose how data is aggregated:

  • Extension—group by extension prefix
  • Business Unit—group by business unit (unattributed records grouped as "Unattributed")
  • Time Period—group by day, week, month, quarter, or year

Multiple groupings can be combined. For example, selecting both Extension and Business Unit shows one row per extension-BU combination.

Attribution Table

The table shows aggregated rows with the following columns:

ColumnDescription
ExtensionThe extension that generated the usage (if grouped by extension)
Business UnitThe business unit name or "Unattributed" (if grouped by business unit)
Time PeriodThe time bucket (if grouped by time period)
RecordsNumber of individual usage records in this group
DimensionsAggregated raw dimensions for the group
UnitsTotal units consumed
% of TotalPercentage of total units across all groups

A total unit count is displayed above the table.

Exporting Attribution Data

  • Click Export CSV to download the current view as a CSV file.
  • Click Export JSON to download as a JSON file.

The file is named attribution-<start-date>-<end-date>.<ext>.

See Also