The attribution engine¶
Venturi is the enterprise system of record for AI consumption. The attribution engine is the part of Venturi that turns raw, fragmented AI signals — gateway logs, provider usage records, cloud billing, identity directories, code ownership — into a single, queryable answer to the question every finance and engineering leader asks:
Which team, which service, which identity, and which budget is responsible for this AI spend?
The engine answers that question without manual tagging, attaches an honest confidence score to every answer, and shows its work. This section explains how it does that, in enough depth to trust the numbers on your dashboard and act on them.
What the engine produces¶
Every unit of AI consumption that enters Venturi is resolved into an
AttributionRecord — the durable, auditable output of the engine. A record
links an invocation across the attribution graph and
carries, for every attributed edge:
- Who and what — the service, identity, project, organization, and budget responsible.
- How much — billed cost, token counts, and (where the model is in the catalog) energy and carbon.
- How sure — an operational confidence score,
coper, and a confidence band. - How it was decided — the output state, the stage that produced it, and the evidence behind it.
You consume these records through dashboards, chargeback exports, budgets and alerts, and the API. The engine is the source; every surface downstream is a view onto the same records.
How it works, end to end¶
The engine runs every signal through a three-stage pipeline called the HRE (the customer-facing attribution pipeline). Each stage does one job and hands off to the next:
graph LR
E[AI invocation event] --> A[Stage A<br/>deterministic resolution]
A --> B[Stage B<br/>RAIL inference]
B --> C[Stage C<br/>fractional allocation]
C --> R[AttributionRecord]
R --> M[Materialized index / API]
M --> D[Dashboards · exports · alerts]
-
Stage A — deterministic resolution. Venturi builds the attribution graph from facts. Join keys and rule-based matching resolve every edge that can be resolved with certainty — account-to-identity, service-to- project, identity-to-organization — using your existing source data. No machine learning is involved.
-
Stage B — RAIL inference. For the genuinely ambiguous residual that deterministic rules cannot resolve, Venturi's trained attribution-intelligence model (RAIL) infers the most likely edge and attaches a calibrated confidence. If the model is ever slow or unavailable, the engine fails open to a conservative heuristic baseline so your traffic is never blocked.
-
Stage C — fractional allocation. When a cost is genuinely shared across multiple owners — a shared API key, a shared endpoint, a shared service — Stage C splits it fractionally across the candidates so that allocations always sum to 100% of the cost.
The result is a single record that distinguishes what Venturi knows for certain, what it has inferred, and what it honestly cannot resolve — without ever collapsing those distinctions into a falsely precise number.
The principles the engine never breaks¶
These invariants hold on every deployment and shape everything else in this section.
Fail-open on your AI traffic
The engine never sits in the way of a live AI request. The decision-time interceptor on the synchronous hot path works to a 50 ms end-to-end budget and fails open on breach — your traffic flows even if attribution is momentarily degraded. Attribution catches up asynchronously.
Honest confidence, never false certainty
Operational confidence (coper) is capped at 0.95 — a deliberate,
conservative policy ceiling. Venturi never asserts that an attribution is
certain. Chargeback-eligible attributions must clear a confidence floor of
0.80. See confidence and evidence.
No prompt or completion content
The engine attributes consumption from metadata — tokens, cost, model identity, timestamps, identity and ownership signals. It never stores the content of prompts or completions. Integrations are read-only.
Unknown is a first-class answer
When the evidence genuinely does not support an attribution, the engine says so explicitly rather than guessing. Unattributed and shared spend is surfaced and exportable, never hidden inside an aggregate.
Where to go next¶
| If you want to understand… | Read |
|---|---|
| The layers Venturi links signals across | The attribution graph |
| The three stages, in detail | The HRE pipeline |
| What confidence means and how to act on it | Confidence and evidence |
| How Venturi estimates energy and carbon | Energy and carbon attribution |
| How to connect your environment | Onboarding |