Throughput

Throughput

Number of merged PRs in the window, expressed per week per developer for cross-team comparison.

Family: Output & Throughput · Cadence: Window-based · Where it appears: /ai-adoption/executive, /ai-adoption/ai-tools-comparison, /ai-adoption/ai-impact

At a glance

Throughput is the raw count metric — how many PRs your team merged. It is the simpler, older sibling of Output Score. Output Score is generally a better metric for cross-team or cross-window comparison because it weights for effort. Throughput is better when you want a clean count over time for the same team (where effort distribution is roughly constant) or when you need a quick gut check.

Formula

Throughput (per active dev per week) = merged PRs / active developers / weeks in window
Throughput (team total)              = SUM(merged PRs in window)

Drafts and bot-authored PRs are excluded.

How GitKraken Insights calculates it

Step 1. Count merged PRs in the window. A PR is “in the window” if its merged_at timestamp falls within [from, to). Drafts are excluded. PRs whose author git-provider login matches a bot pattern (e.g. *[bot]) are excluded.

Step 2. For team-level views, divide by the count of active developers and by the number of weeks in the window. The result is PRs per active dev per week — the comparison-ready rate.

Step 3. Per-developer Throughput is the raw count of that developer’s merged PRs in the window. The /ai-adoption/developers cell shows it as a clickable breakdown (X opened · Y merged · Z direct); clicking opens the drill-down sheet.

Who counts as “active.” An active developer for the window has is_active = true, was not fully on PTO across the window, and contributed at least one merged PR, direct commit, or formal review.

Why it matters

Two things Throughput tells you that Output Score doesn’t:

  1. How many distinct things shipped. If your team’s count drops while Output Score stays steady, you are shipping fewer-but-bigger PRs. That can be a good thing (right-sizing) or a bad thing (PRs growing because review queues are slow). Throughput is the signal.
  2. A quick gut check. Output Score requires Effort Score to be assigned, which requires the LLM classifier to have run. Throughput is computable instantly from any window of PR data.

How to read it

Per active dev per week Read it as
≥ 4 High — typical for teams shipping many small focused PRs
2 – 3.9 Solid — typical mainstream pattern
1 – 1.9 Low — investigation worthwhile (big PRs in flight? review bottleneck? infra work?)
< 1 Minimal — probably either a stalled team or a deep-work team that is mid-feature

The “right” number depends on PR size discipline. A team shipping 0.5-effort PRs comfortably runs at 4 per dev per week. A team shipping 0.9-effort PRs may live at 1 per dev per week and be just as effective.

Where it appears

Settings that affect it

None. Throughput is a raw count — no admin knobs change it. If you want effort-weighted shipping with knobs, see Output Score.

Related metrics

Metric Relationship
Output Score The effort-weighted version of the same shipping activity.
Cycle Time The “how fast” pair to Throughput’s “how many.” Read them together.
WIP Number of currently-open PRs. Throughput is the outflow; WIP is the backlog.
Deployment Frequency DORA’s release-based sibling — same concept, counted from release events instead of merges.

How to improve it

Limitations and gotchas

FAQ

Q: Why two metrics for shipping (Throughput + Output Score)?
A: They answer different questions. Throughput is “how many?” Output Score is “how much real work?” Both are useful; neither alone is sufficient.

Q: A team has high Throughput but low Output Score. What does that mean?
A: They are shipping many small things. That is fine for some work (UI iteration, bug fixes) and a warning sign for others (a backend team should usually have substantial PRs in the mix).

Q: Does the count include PRs that were merged but reverted?
A: Yes. Reverts are tracked as a separate signal but don’t subtract from Throughput in the standard view.