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
- Navigate to Licensing > Attribution > Business Units.
- Click Create Business Unit.
- Fill in the business unit details:
| Field | Required | Description |
|---|---|---|
| Name | Yes | Human-readable name for the business unit |
| Description | No | Description of the business unit's purpose |
| Contact Email | No | Contact email for the business unit owner |
| Soft Quota (units) | No | Advisory quota in license units (not enforced) |
- 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.
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:
| Filter | Description |
|---|---|
| Start Date / End Date | Restrict to a date range (default: last 30 days) |
| Extension | Show records from a specific extension only |
| Account | Show records from a specific account only |
| Attribution Status | Toggle between All, Unattributed, or Attributed records |
Assigning Records
- Select a Business Unit from the dropdown in the toolbar.
- 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.
- 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:
| Field | Description |
|---|---|
| Extension Pattern | An extension prefix to match, or * for any extension |
| Account Pattern | An account public key to match, or * for any account |
| Business Unit | The business unit to assign when the rule matches |
| Priority | Tiebreaker when multiple rules have the same specificity (higher wins) |
| Description | Optional 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 Pattern | Account Pattern | Specificity Score |
|---|---|---|
| Exact match | Exact match | 3 (highest) |
| Exact match | * (any) | 2 |
* (any) | Exact match | 1 |
* (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.
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
- Navigate to Licensing > Attribution > Rules.
- Click Create Rule. A drawer opens on the right.
- Select the Extension Pattern—choose a specific extension from the dropdown, or leave as
*for any. - Enter the Account Pattern—a specific account public key, or
*for any. - Select the target Business Unit.
- Set the Priority (default: 10).
- Optionally add a Description.
- Click Preview to see how many existing records match this pattern before saving.
- 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.
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:
- Click Re-apply Rules on the Rules tab.
- Choose whether to apply to unattributed records only (default) or to all records including those already attributed.
- Click Apply Rules.
- The result shows how many records were evaluated, attributed, and changed.
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 Pattern | Account Pattern | Business Unit | Use Case |
|---|---|---|---|
iceflow | * | Data Engineering | All Iceberg replication usage goes to Data Engineering |
* | ABCD1234... | Research Team | All usage from a specific account goes to Research |
iceflow | ABCD1234... | Research Data Eng | Specific extension + account combination |
* | * | General Pool | Catch-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:
| Column | Description |
|---|---|
| Extension | The extension that generated the usage (if grouped by extension) |
| Business Unit | The business unit name or "Unattributed" (if grouped by business unit) |
| Time Period | The time bucket (if grouped by time period) |
| Records | Number of individual usage records in this group |
| Dimensions | Aggregated raw dimensions for the group |
| Units | Total units consumed |
| % of Total | Percentage 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
- Usage Tracking—Usage monitoring and signed reports
- Licensing—License management and unit rates