PR Size (p75)
Last updated: October 27, 2026
PR Size (p75) is the 75th percentile of lines changed per merged pull request (PR): 75% of PRs are at or below this size and 25% are larger. It describes your "typical large PR" without letting a few huge PRs dominate the way an average does.
Why it matters
Faster, safer reviews: smaller PRs get reviewed faster and carry less risk. A rising P75 often comes before slower reviews and more rework.
Process signal: high values point to long-running branches, batch-style work, or whole features in one PR. Low values point to incremental, trunk-based work.
Coaching: at the person level, it shows who might benefit from help scoping PRs.
How it works
PR size = lines added + lines removed + lines modified (after ignored files)
For each file in a PR, your version control system reports added, removed, and modified lines. A modified line is a removed line paired with the added line that replaced it, and Span counts it once. Example: a hunk that removes 3 lines and adds 5 counts as 3 modified + 2 added = 5 lines.
Span subtracts files that match your ignored file patterns.
Span collects the sizes of merged and reverted PRs by people marked Contributor in the period, for the selected person, team, or organization.
Span sorts them and returns the value at the 75% position. The answer is always a real PR's size.
Aggregations: P75 is the default. You can also choose P50 (median), P90, Max, or the average (labeled Trimmed Average; for PR size it's a plain mean with no cap).
Where to find it: Insights > Productivity > Velocity > Delivery, with a scatterplot of PR sizes when you click through. It's also in Targets, team and person Metrics tabs, custom dashboards, and the diff size column in Catalog > Pull Requests.
Setup
Under Settings > Metrics > PR Lines of Code Metrics: Ignore Files, add gitignore-style patterns for lockfiles, dependencies, vendored code, generated code, build artifacts, and documentation if you want it excluded. Span doesn't exclude these by default; it can add a built-in list of common generated-file patterns for your organization on request.
Optionally, ignore repositories, branches, or Git usernames under Settings > Metrics.
Add the PR Size target in Targets. The default target is a 7-day P75 of 1,000 lines or less, and the target lists large PRs. Many teams tighten it once they see their own distribution.
Things to know
Span's size is smaller than GitHub's "+X −Y". GitHub counts an edited line twice, once as a deletion and once as an addition. Span counts it once. Worked example: a PR edits 100 lines in place. GitHub shows +100 −100 (200 lines). Span shows 100.
Reverted PRs count. PR size includes merged and reverted PRs. Open and closed-unmerged PRs don't count.
Very large PRs: a PR that touches more than 1,000 files has no diff in Span and is left out.
Outlier signal: Span flags a person whose P75 PR size is well above their teammates', using median absolute deviation. It needs at least 5 merged PRs from the person and at least 3 teammates who also have 5 or more merged PRs to compare against. The signal appears in Span and the daily brief.
Average versus P75: a few huge PRs pull the average far above the P75.
Test files count unless they match an ignore pattern.
Rough reading guide: under 200 lines is small and focused; 200–500 is manageable; 500–1,000 is approaching the limit of effective review; over 1,000 is hard to review well. The right threshold depends on language, architecture, and project type. Use 30–90 day ranges for stable trends.
Related articles
Need help?
Contact your Span account team or reach out to support@span.app.