Cost analysis
One operator with AI tooling, against a modelled conventional team, over 116 days of one real project. A bottom-up bill of materials, not a vendor pitch deck.
The curve
Two lines over the same 17 weeks. The lower one is the recorded work at flat rates, $3,576 a week. The upper one is the modelled team, $32,910 a week. Both are straight because both are rates, not invoices. What separates them is the slope.
- Recorded work, flat rates
- Modelled team, never hired
| Point | Recorded work, flat rates | Modelled team, never hired |
|---|---|---|
| 2025-W49 | $3,576 | $32,910 |
| 2025-W50 | $7,153 | $65,820 |
| 2025-W51 | $10,729 | $98,730 |
| 2025-W52 | $14,306 | $131,640 |
| 2026-W01 | $17,882 | $164,550 |
| 2026-W02 | $21,459 | $197,460 |
| 2026-W03 | $25,035 | $230,370 |
| 2026-W04 | $28,612 | $263,279 |
| 2026-W05 | $32,188 | $296,189 |
| 2026-W06 | $35,765 | $329,099 |
| 2026-W07 | $39,341 | $362,009 |
| 2026-W08 | $42,918 | $394,919 |
| 2026-W09 | $46,494 | $427,829 |
| 2026-W10 | $50,071 | $460,739 |
| 2026-W11 | $53,647 | $493,649 |
| 2026-W12 | $57,224 | $526,559 |
| 2026-W13 | $60,800 | $559,469 |
The gap at week 17 is spend to date, not a saving: in the model the team is 17 weeks into a job of about 39 and has not shipped. The solid line is $60,000 of operator time and $800 of AI plan, spread evenly over the window. The dashed line is the midpoint of the modelled cost, $1,282,500, spread evenly over the midpoint of the modelled duration.
cost-model.json, timeSeries, 17 ISO weeks, 2025-12-01 to 2026-03-26, frozen as recorded 2026-03-26
What the weeks held
A cost line at a flat rate says nothing about whether anything was built. These two do. Neither involves the model: both are counts of things that happened.
| Bucket | commits |
|---|---|
| 2025-W49, week of 2025-12-01 | 84 |
| 2025-W50, week of 2025-12-08 | 97 |
| 2025-W51, week of 2025-12-15 | 244 |
| 2025-W52, week of 2025-12-22 | 187 |
| 2026-W01, week of 2025-12-29 | 159 |
| 2026-W02, week of 2026-01-05 | 285 |
| 2026-W03, week of 2026-01-12 | 292 |
| 2026-W04, week of 2026-01-19 | 286 |
| 2026-W05, week of 2026-01-26 | 477 |
| 2026-W06, week of 2026-02-02 | 459 |
| 2026-W07, week of 2026-02-09 | 404 |
| 2026-W08, week of 2026-02-16 | 483 |
| 2026-W09, week of 2026-02-23 | 464 |
| 2026-W10, week of 2026-03-02 | 375 |
| 2026-W11, week of 2026-03-09 | 395 |
| 2026-W12, week of 2026-03-16 | 488 |
| 2026-W13, week of 2026-03-23 | 232 |
5,411 commits in 17 weeks, on 116 of the window’s 116 days. The count includes every author: other contributors, and the upstream history of forked repositories. The last bar is a 4-day week: the window closes mid-week.
cost-model.json, timeSeries.commits, all authors, 2025-12-01 to 2026-03-26, counted 2026-04-03
| Bucket | opened |
|---|---|
| 2025-W49, week of 2025-12-01 | 27 |
| 2025-W50, week of 2025-12-08 | 52 |
| 2025-W51, week of 2025-12-15 | 21 |
| 2025-W52, week of 2025-12-22 | 18 |
| 2026-W01, week of 2025-12-29 | 13 |
| 2026-W02, week of 2026-01-05 | 41 |
| 2026-W03, week of 2026-01-12 | 13 |
| 2026-W04, week of 2026-01-19 | 20 |
| 2026-W05, week of 2026-01-26 | 75 |
| 2026-W06, week of 2026-02-02 | 81 |
| 2026-W07, week of 2026-02-09 | 83 |
| 2026-W08, week of 2026-02-16 | 75 |
| 2026-W09, week of 2026-02-23 | 91 |
| 2026-W10, week of 2026-03-02 | 109 |
| 2026-W11, week of 2026-03-09 | 171 |
| 2026-W12, week of 2026-03-16 | 298 |
| 2026-W13, week of 2026-03-23 | 181 |
| Bucket | closed |
|---|---|
| 2025-W49, week of 2025-12-01 | 10 |
| 2025-W50, week of 2025-12-08 | 36 |
| 2025-W51, week of 2025-12-15 | 14 |
| 2025-W52, week of 2025-12-22 | 8 |
| 2026-W01, week of 2025-12-29 | 4 |
| 2026-W02, week of 2026-01-05 | 32 |
| 2026-W03, week of 2026-01-12 | 11 |
| 2026-W04, week of 2026-01-19 | 3 |
| 2026-W05, week of 2026-01-26 | 35 |
| 2026-W06, week of 2026-02-02 | 67 |
| 2026-W07, week of 2026-02-09 | 41 |
| 2026-W08, week of 2026-02-16 | 43 |
| 2026-W09, week of 2026-02-23 | 74 |
| 2026-W10, week of 2026-03-02 | 62 |
| 2026-W11, week of 2026-03-09 | 70 |
| 2026-W12, week of 2026-03-16 | 309 |
| 2026-W13, week of 2026-03-23 | 134 |
1,369 opened and 953 closed: closing never caught up, and the backlog grew by 416. One week closed more than it opened, 2026-W12 (309 against 298). The fetch read at most 500 issues per repository.
cost-model.json, timeSeries issues, cb* repositories, 2025-12-01 to 2026-03-26, fetched 2026-03-26
The two columns
Scope: Campaign Brain (cb*) repositories, 2025-12-01 to 2026-03-26.
The in-window commit count is not the one recorded on 2026-03-26. That version was generated before the window’s last day had ended: its commit source stopped at 2026-03-26 05:00 UTC, and it counted 5,315. The count taken on 2026-04-03, after the window closed, is 5,411. A count of the same days on 2026-10-02 gives 5,362, because one repository’s history was rewritten in between.
| Team size | 1 |
| Commits in the window, all authors | 5,411 |
| Commits, full history, all authors | 9,325 |
| cb* repositories active in the window | 64 |
| Issues opened, cb* | 1,369 |
| Issues closed, cb* | 953 |
| Operator, flat rate | $60,000 |
| AI plan, flat rate | $800 |
| Total | $60,800 |
In the window: all 88 org repositories, counted 2026-04-03. Full history: the 64 cb* repositories active in the window, from their first commits to 2026-03-26 05:00 UTC. Both commit counts include every author: other contributors, and the upstream history of forked repositories.
cost-model.json, actual and issues, 2025-12-01 to 2026-03-26, recorded 2026-03-26
| Team size, one seat at half time | 9.5 |
| Duration, months | 6 to 12 |
| Person-months | 57 to 114 |
| Rate per person-month | $15,000 |
| Cost at 6 months | $855,000 |
| Cost at 12 months | $1,710,000 |
| Midpoint | $1,282,500 |
Nobody was hired and nothing was invoiced.
cost-model.json, legacy: assumptions written into the model, not observations
The modelled team
10 people at $1,806,000 a year fully loaded. Salary figures are market rate; the 1.4x loading covers benefits, tax and overhead. That is every seat at full time; the cost model counts one of them at half time.
lower costhigher
cost-model.json, legacy.roles: market salary times 1.4, per year, as written into the model
The gap
95.3% below the modelled cost of the whole job: $60,800 recorded over the window against $1,282,500, the midpoint of a modelled $855,000 to $1,710,000 (9.5 people for 6 to 12 months at $15,000 per person-month). That assumes the work of the window was the whole job. When the window closed the modelled line stood at $559,469; against that, the gap is 89.1%. Either figure inherits the model’s assumptions entirely.
The pipeline also computed a time compression of “9 months to 34 days” and a velocity multiplier of 50.3x. Neither is a headline here. Both divide by 34 active days, the days with a recorded AI session, in a record that only begins 2026-02-09, while commits by all authors landed on 116 of the window’s 116 days. A ratio built on 34 overstates.
What the work covered
The model prices 8 job titles. This is the same ground scored from the other side: how much of each domain’s vocabulary turns up in project notes, plan files and the technologies named in session logs. It shows breadth of work touched, not depth of expertise.
cost-model.json, actual.domains, keyword coverage over recent session logs, as recorded 2026-03-26
What the research says
Published findings on AI-assisted development, for calibration against the single project above.
| Source | Finding |
|---|---|
| GitHub/Microsoft 2022 | 55% faster task completion |
| McKinsey 2023 | 20-45% productivity improvement |
| Google 2024 | 25%+ of new code AI-generated |
| BCG/Harvard 2023 | 40% higher quality output |
| Deloitte 2024 | 25-35% project cost savings |
What this is evidence for
The numbers are here. The argument they belong to is on the shift: what changed about teams, cadence, coordination and context when the tooling changed, and what one case study can and cannot show about it.
cost-model.json, frozen case study of 2025-12-01 to 2026-03-26, recorded 2026-03-26