Spend · Adoption vs outcome

Adoption vs outcome

Does AI adoption connect to outcomes on your team? A deterministic per-developer join over evidence RepoOps already holds: the tier-labeled AI share of each developer's merged work beside the quality bands, cost per merged PR, and review depth of that same work. No new capture, no model, and the statistics refuse to overclaim.

Where to find it

  • Localhost: /adoption-outcome.html?repo=<id> - a sub-tab of Telemetry (sidebar: Spend → Telemetry → Adoption vs outcome)
  • Hosted: the Adoption vs outcome section on /team/leadership, joined from the AI-share and spend-outcome snapshots your desktop already publishes
  • API: GET /api/adoption-outcome (optional repo, windowDays 1 to 365)
  • Keyboard: K then adoption

What it joins

Adoption.Each developer's AI share of merged work from the AI-share fold, every slice labeled by evidence tier (attested, co-authored, classified), plus vendor-API usage evidence (Cursor, GitHub Copilot) attached as labels where an identity matches exactly. A vendor row never moves a number.
Outcomes.The same developer's merged PRs, median quality band, cost per merged PR (from the existing cost attribution join), lessons produced, and the 0-100 review-depth score of reviews on their merged PRs, weighted by scored reviews.
The readout.Adoption thirds (low, mid, high) with the median of each outcome metric per bucket, and a Spearman rank correlation per outcome metric over the joined developers.

The honesty gates

  • Fewer than 5 joined developers for a metric reads "insufficient data for a correlation", never a number.
  • A constant variable (every developer at the same cost, say) also reads insufficient: a constant cannot rank-correlate.
  • |rho| under 0.2 reads "no clear association", with the rho still shown.
  • The unattributed bucket stays visible, rendered last, and never enters buckets or the correlation.
  • A developer missing one side keeps their row with honest nulls on that side; vendor identities matching no git author are counted and disclosed, never guessed.

What this is not

It is an association, not causation, and it says so on every surface. High adopters may also take different work; the join cannot separate that, so it never claims to. It ranks what moved together in your window; deciding why is your job, with the evidence in front of you.

Read more