How ATTRIBUT calculates value
ATTRIBUT turns each piece of AI-assisted work into a dollar value in three steps: it sizes the work in expert-hours (an estimate of how many hours an experienced engineer would have taken to produce it), scales that estimate by an outcome multiplier based on whether the work actually shipped, and then multiplies by your hourly rate. The result is reported as a range, together with a confidence percentage, rather than a single false-precise number.
Step 1 — sizing the work in expert-hours
Every session of AI-assisted coding resolves to a mix of five kinds of work. Each kind is read from the structure of the session — line counts, tokens, conversation turns, tool calls, files opened, subagent spawns — never from the actual content of your code. That structural signal is fed into a formula specific to that kind of work, and the result is a number of expert-hours.
Kind of work | What it captures | Sizing formula (plain language) |
Creation | Net-new capability — structure and behavior that did not exist before | Net-new structure sized on a creation curve |
Reduction | Deletion and simplification — often the most valuable, least visible work | Removed structure, weighted, since deletion is real work |
Repair | Debugging and iteration — making existing code correct | Iteration depth multiplied by the locality of the change |
Understanding | Reading and navigating — the work before the work | Breadth of exploration across the repo |
Orchestration | Coordinating subagents and multi-step plans | Coordination span over the work graph |
A single session is usually a mix of several of these kinds, not just one. ATTRIBUT sizes each kind separately and adds them together to get the session's total expert-hours.
Because every input is structural, the same expert-hours can come from writing new code, deleting dead code, chasing a bug across several turns, reading through a codebase, or coordinating multiple subagents — the model never scores your code's quality or content, only the shape of the work.
Step 2 — the outcome multiplier
Expert-hours describe the effort a piece of work represents, but effort that never lands is worth less than effort that ships. ATTRIBUT applies an outcome multiplier — a range from 0.6 to 1.3 — based on what happened to the work: shipped work scores higher than work that was abandoned or never merged. A cleanly merged pull request, for example, is scored at 1.0 — full credit.
Step 3 — your hourly rate
The final input is a single number you set yourself: your hourly rate. It is the price of an expert-hour of your own work, and it stays inside your workspace — it is never shared or exposed outside your account.
Putting it together
The formula is:
Value = expert-hours × outcome multiplier × your hourly rate
For example, a merged pull request might be sized at 3.2 expert-hours (a band of 2.1 to 4.6, at 78% confidence). Because it merged, the outcome multiplier is 1.0. At an hourly rate of $120, the value works out to 3.2 × 1.0 × $120 = $384. If that same session cost $184.20 in AI spend, ATTRIBUT reports that as roughly 2.08× the AI spend returned as expert work.
These example figures illustrate the mechanics only — your own sessions will show your own expert-hours, outcome multiplier, and value, based on your rate and your actual work.
Why expert-hours instead of a line count
ATTRIBUT deliberately avoids counting lines of code as a proxy for value. A raw line count rewards verbosity, is inflated by churn and copy-paste, makes deletions and refactors look like nothing when they are often the hardest work, and assumes a speed-up that the evidence does not support. Expert-hours are sized by outcome instead: deletions, debugging, and orchestration each carry their own hours, the calculation is content-free and deterministic — identical inputs always produce the identical figure — and the result is always reported as a range with a confidence, never a false single point.
