AI adoption metrics: two numbers, and why they don't always agree

AI Adoption tracks two independently measured numbers per week or month: the share of pull requests opened with an AI-assist signal, and the share of commits with the same signal. They're joined so a quiet period on one side still shows up with the other — but they're built to disagree sometimes, and the disagreement is usually the more useful reading than either number alone.

deckgauge · Board · Intelligence
PeriodAI PR %AI Commit %PRsCommits
2026-0518%22%64210
2026-0624%29%71198
2026-0731%35%68224

AI PR% and commit% climbing together over three months.

What it measures, and where the data comes from

Two rates, computed completely separately, for every week or month in the window:

  • AI PR% — of every pull request opened in the period, the share carrying a known AI-assist signal (a Co-Authored-By trailer for a known AI tool, a "Generated with…" marker, or similar) anywhere in its commits or description.
  • AI Commit% — of every non-merge commit made in the period, the share carrying that same kind of signal in its own message.

Both legs come from GitHub, GitLab, and Azure DevOps. The two results are then full-outer-joined on period — if a given week has PR activity but no raw commit activity in scope (or the reverse), that week still appears, with the missing side's percentage and total zeroed instead of the whole row vanishing.

Absence isn't zeroDetection here is trailer- and marker-based, not a ground-truth log of which tool touched which line. A PR or commit with no detected signal might genuinely be hand-written — or it might be AI-assisted work where the marker got stripped, squashed away, or never added in the first place. Read a low percentage as "no signal found," not "confirmed human."

How to read it

Look at the two columns side by side before you look at either one in isolation. When PR% and commit% move together, you're seeing one real trend from two angles — trust it. When they split, that's the more informative row: something in your pipeline is treating AI-assisted work differently depending on whether you're looking at the PR level or the raw commit level.

Keep an eye on the totals columns too. A period with 4 PRs and one of them AI-flagged reads as "25%," and that number will jump around wildly week to week purely from small-sample noise — it's not telling you adoption doubled or halved.

What it tells you over time

A steady climb across several consecutive periods, on both columns, is the shape of real adoption — more people picking up the habit, more of the codebase touched by it. A one-period spike that vanishes the next period is usually one contributor on one project, not a team-wide shift. Don't write the spike into a slide deck until it repeats.

Example situations

1. AI PR% and AI commit% pulling apart

deckgauge · AI Adoption
PeriodAI PR %AI Commit %PRsCommits
2026-0520%24%58190
2026-0619%41%62205
2026-0717%52%65211

Commit% high, PR% flat — the two legs disagree.

What you're seeing: AI commit% more than doubled over two months while AI PR% barely moved. Either people are adopting AI at the commit level while the PR-level rollup misses it, or the reverse pattern is happening somewhere else on the board — either way, the two numbers are describing different realities of the same work.

How to react: don't average the two numbers into one "AI adoption %" for a slide — that hides the exact signal you need. Check what merge strategy the repos in question use. Squash-merging collapses a PR's individual commits (and any trailer they carried) into a single merge commit; if that merge commit's message doesn't carry the trailer forward, PR-level detection can miss work that commit-level detection caught cleanly on the pre-squash commits, or vice versa depending on which side of the sync the trailer got read from.

Managerial playBefore you conclude anything about actual usage, pull two or three PRs from the gap and read the raw commit history and PR description by hand. If it's a trailer-stripping artifact, that's a data-quality fix, not a behavior problem — note it and move on. If it holds up under manual review, that's a real, interesting split (maybe a team using AI for routine commits but not opening AI-assisted PRs, or a squash-merge policy hiding real adoption) worth digging into with the team directly rather than guessing from the dashboard.

2. A percentage built on a handful of rows

deckgauge · AI Adoption
PeriodAI PR %AI Commit %PRsCommits
2026-07-0628%31%54180
2026-07-1350%100%42
2026-07-2027%30%49165

One quiet week, one AI-flagged PR, and a headline-looking number.

What you're seeing: one week reads 50% AI PR% and 100% AI commit% — dramatically higher than every neighboring week. Look at the totals: 4 PRs and 2 commits. This is a public-holiday week or a team on vacation, not a sudden surge in AI adoption.

How to react: don't let a single tiny-sample week distort a trend line, a quarterly report, or a "look how fast adoption is growing" narrative. It's one contributor's normal week reading like a headline because the denominator collapsed.

Managerial playWhen you report this widget upward, weight or filter by the totals column, not just the percentage — a rolling 4-week average smooths this out far better than any single period. If you want a number defensible in a leadership review, quote it over a full month or quarter, not week to week, and always show the sample size next to the percentage so nobody downstream mistakes a 2-commit week for a trend.

Frequently asked

What does AI adoption measure in engineering?
Two independently measured numbers per period: the share of pull requests opened with an AI-assist signal, and the share of commits carrying the same signal. They are shown together so a quiet week on one side still registers on the other.
Why do the AI PR percentage and commit percentage disagree?
They are built to disagree. A high PR share with a low commit share usually means AI is used to draft and summarise rather than to write the bulk of the code; the reverse means heavy in-editor use that never gets marked at the PR level. The gap is normally more informative than either number alone.
Does a low AI adoption number mean nobody is using AI?
No. Detection depends on an AI-assist marker being present in a commit trailer or PR marker. Teams using AI tools that do not add a trailer will read as zero. Absence of a signal is not evidence of absence of use.

Related widgets

Last updated