Weighted PRs/Week

Last updated: October 27, 2026

Weighted PRs / week is the number of pull requests (PRs) a typical active contributor merges per week, where each PR counts for its size and complexity instead of counting as 1. It answers "how much substantive code delivery is the team completing?"

Why it matters

  • Harder to game: a raw PR count rewards splitting work into many tiny PRs. Weighting means 20 one-line fixes don't outscore one substantial change.

  • Honest throughput: if PR volume rises only because PRs got smaller, the weighted value stays flat.

  • A fixed scale: every PR is scored on the same 0–2 scale with the same size curve, so values compare across teams and over time.

How it works

PR weight          = complexity + size                      (0 to 2)
complexity         = AI complexity score (1–10) ÷ 10        (0.1 to 1.0; 0.5 until scored)
size               = min(1, ln(lines changed) ÷ ln(1000))   (0 for a PR with 0 lines)
Weighted PRs / week = sum of PR weights on active days ÷ active contributor-days × 7
  1. Size: lines changed come from the PR's diff after your ignored file patterns, counting added, removed, and modified lines (a line edited in place counts once). The log curve means a PR of about 32 lines scores 0.5 and a PR of 1,000 lines or more scores the maximum, 1.0. Span picked 32 lines because it was the typical (geometric mean) PR size across Span's data.

  2. Complexity: an AI model reads the PR's title, description, a summary, and the diff, and scores complexity from 1 to 10 based on functionality, impact, and the depth of understanding required. It's told to ignore size, since size is scored separately. New PRs carry 0.5 until they're scored.

  3. Numerator: the sum of weights for merged PRs authored by people marked Contributor, excluding PRs merged on the author's out-of-office (OOO) day. Reverted PRs don't count.

  4. Denominator: active contributor-days, the same as PRs merged / week. A person counts for a day when they're marked Contributor, weren't OOO, and had code activity (commit, merged PR, review, or PR comment) that day or in the prior 30 days. Weekends count. With a calendar source, a weekday is OOO only when out-of-office events cover more than 4 hours between 8am and 6pm; with an HRIS source, every weekday inside an absence is OOO.

  5. Span divides the totals and multiplies by 7.

Example PR

Lines

Size

Complexity

Weight

Config tweak

3

0.16

0.1

0.26

Typical feature

32

0.50

0.5

1.00

Large migration

2,400

1.00 (capped)

0.8

1.80

Where to find it: Insights > Productivity > Velocity > Delivery, second in the metric grid. It's also in team and person Metrics tabs, custom reports, and custom dashboards.

Setup

  1. The metric is on by default. An admin can turn it off with Weighted PRs Metric under Settings > Metrics; it then disappears from Delivery.

  2. Add generated files, lockfiles, and vendored code to PR Lines of Code Metrics: Ignore Files so they don't add size.

  3. Mark people who don't write code as Non-contributor in Settings > People management.

Things to know

  • Worked example. A developer has 5 active days in a week and merges 8 PRs with a total weight of 6.4. Weighted PRs / week = 6.4 ÷ 5 × 7 = 9.0. A colleague with 4 active days merges 2 complex PRs weighing 3.8 in total: 3.8 ÷ 4 × 7 = 6.7. Someone with 2 active days (3 days OOO) and 4.2 weight shows 4.2 ÷ 2 × 7 = 14.7, because OOO days leave the denominator.

  • Size stops growing at 1,000 lines. A 5,000-line PR scores the same size as a 1,000-line PR, so generated code and mass renames can't dominate.

  • Very large PRs: a PR that touches more than 1,000 files has no diff in Span and gets a size of 0.

  • Values can shift slightly. New PRs use 0.5 complexity until scored, and a score can change if Span re-scores a PR.

  • Ignored files are left out of complexity too. Span removes them from the diff before the AI model scores it, so they add no size and don't sway the complexity score.

  • Compared with PRs merged / week: the two sit close together when PRs average about 32 lines and medium complexity. A higher weighted value means bigger or harder PRs on average.

  • Benchmarks: the Benchmark menu offers your own organization (optionally narrowed by job level, job title, or team) and, when Span has turned it on for your organization, Industry. See Benchmarking in Span.

  • Use it for trends and teams, not performance reviews. Pair it with PR cycle time and quality metrics.

Related articles

PRs Merged / Week

How to read Span's "/ week" metrics

Benchmarking in Span

PR Size (p75)

Need help?

Contact your Span account team or reach out to support@span.app.