Metric Definition
PR approval rate
Track from
Pull request approval rate
Pull request approval rate is the percentage of opened pull requests that are reviewed, approved, and merged within a given period. It reflects how cleanly proposed changes move through code review into the main branch. Read alongside review time, it shows whether a review process is healthy or quietly creating friction.
8 min read
What is pull request approval rate?
Pull request approval rate is the percentage of opened pull requests that are reviewed, approved, and merged within a given period. If a team opens 100 pull requests in a month and 85 are approved and merged, the approval rate is 85 percent. The remaining 15 were closed without merging, abandoned, or are still open past the window. The metric captures how reliably proposed changes make it through review into the codebase.
Approval rate matters because it sits at the junction of speed and quality in software delivery. A very high rate can mean a smooth, trusting review culture, or it can mean review is a rubber stamp that catches nothing. A low rate can mean rigorous quality control, or it can mean churn: changes opened too early, reworked repeatedly, or blocked by unclear standards. The number alone does not tell you which, so it must always be read with context.
The most useful way to read approval rate is as a flow signal. When it drifts down while the team is unchanged, something in the review pipeline is creating friction: reviewers are overloaded, standards are ambiguous, or work is arriving in chunks too large to approve. Tracked over time and paired with review wait time, it becomes an early warning that the path from written to merged is getting harder.
Approval rate should be measured against pull requests opened in the period, not against all open pull requests at a point in time. Mixing the two double-counts long-lived requests and makes the rate jump around for reasons that have nothing to do with review quality.
How to calculate pull request approval rate
The base calculation divides approved and merged pull requests by the total opened in the same window, then multiplies by 100. To make the result diagnostic rather than decorative, break the denominator and the outcomes into their component parts so you can see why requests do or do not get merged.
- 1
Approved and merged PRs
Pull requests that received the required approvals and landed on the main branch. This is the numerator and the outcome the rate is built around.
- 2
Total PRs opened
Every pull request opened in the period, regardless of final state. Using opened rather than closed requests keeps the denominator honest and tied to a fixed window.
- 3
Closed without merge
Requests that were rejected, superseded, or abandoned. A rising share here is the clearest signal that review is producing churn rather than throughput.
- 4
Review rounds per PR
How many back-and-forth review cycles a request needs before approval. A high rate achieved only after many rounds hides friction that the headline number does not show.
These inputs separate two very different situations that produce a similar approval rate. A team where most requests merge on the first review round has a fast, trusted pipeline. A team where requests eventually merge but only after four rounds of rework has the same approval rate and a much worse experience. Pairing the rate with review wait time and with cycle time shows whether approvals are happening cleanly or only after a long, costly path.
Pull request approval rate in a metric tree
A metric tree decomposes approval rate into the factors that determine whether a proposed change reaches the main branch. This turns a single percentage into a view of where review is working and where it is creating drag.
The first level splits the rate into change quality, review capacity, and standards clarity. Change quality governs whether requests arrive in a mergeable state. Review capacity governs whether there are enough reviewers with enough time to act on them. Standards clarity governs whether authors and reviewers agree on what good looks like, which is the difference between productive rejection and avoidable churn. Each branch decomposes into levers a specific owner can act on.
The tree makes a falling approval rate diagnosable. It shows whether requests are being rejected for real quality reasons, blocked by reviewer overload, or bounced because expectations were never made explicit. Each of those is a different problem with a different owner.
Metric tree insight
Pull request size is the single strongest lever on this tree. Large requests are harder to review, more likely to attract requested changes, and far more likely to be abandoned. Splitting work into smaller, focused requests lifts approval rate and shortens review time at the same time.
Pull request approval rate benchmarks
Approval rate benchmarks depend on how a team works, but most healthy engineering teams land in a recognisable band. The goal is not to maximise the rate, since a perfect 100 percent usually means review is not catching anything. The goal is a high rate achieved with few review rounds.
| Approval rate | Typical interpretation | What to check |
|---|---|---|
| Above 95 percent | Very smooth, but worth a second look | Confirm review is substantive. A near-perfect rate can mean reviewers are approving without real scrutiny, letting defects through. |
| 85 to 95 percent | Healthy for most teams | A small share of requests reworked or closed is normal and shows review is doing useful filtering. Watch review rounds stay low. |
| 70 to 85 percent | Workable but worth monitoring | A noticeable amount of churn. Check whether requests are too large, standards are unclear, or reviewers are stretched. |
| Below 70 percent | Friction signal | A large share of work is not merging. Usually points to oversized requests, ambiguous acceptance criteria, or review capacity that cannot keep up. |
Read approval rate together with review rounds per request and review wait time. A team at 90 percent approval with most requests merging in one round has a genuinely healthy pipeline. A team at 90 percent that needs three or four rounds per request has hidden friction that the headline figure conceals. The same care applies to sprint velocity: approvals that take many rounds quietly drain the iteration even when the merge eventually lands.
How to improve pull request approval rate
Improving approval rate means reducing avoidable churn, not lowering the bar. The strongest levers make requests easier to review and make expectations explicit before review even starts.
Keep pull requests small
Encourage focused, single-purpose requests. Smaller changes are reviewed faster, attract fewer requested changes, and are far less likely to be abandoned, which lifts the rate and cuts review rounds together.
Shift checks left
Run tests, linting, and formatting before a human reviews. When automated checks pass at open time, reviewers focus on design rather than mechanical issues, so fewer requests bounce on avoidable problems.
Make standards explicit
Write down what a mergeable request looks like and keep reviewer expectations consistent. Most rejection churn comes from authors and reviewers disagreeing on standards that were never stated.
Balance reviewer load
Spread review responsibility so requests are not stuck waiting on one overloaded person. Reviewer overload shows up as long wait times and a slowly falling approval rate as work goes stale.
The metric tree approach starts by finding the branch with the most room to improve. If oversized requests dominate, splitting work will move the rate more than adding reviewers. If review wait time is the constraint, rebalancing reviewer load matters most.
KPI Tree lets you model approval rate this way by connecting each branch to the part of the team that owns it. Authors own request size and pre-review checks. Reviewers own turnaround and load balance. The engineering lead owns the standards that define a mergeable change. With RACI ownership on every node and a push to the accountable owner when the rate moves, a dip in approvals becomes a specific signal to a named person rather than a chart nobody acts on.
Common mistakes when tracking pull request approval rate
- 1
Chasing 100 percent
A perfect approval rate usually means review is not filtering anything. The aim is a high rate with substantive review, not approval of everything that is opened.
- 2
Reading the rate without review rounds
Two teams with the same rate can have very different experiences. One merges in a single round, the other after four. Always pair the rate with how much rework approvals require.
- 3
Measuring against open PRs instead of opened
Calculating against everything currently open rather than requests opened in a fixed window makes the rate swing for reasons unrelated to review quality.
- 4
Turning the rate into an individual target
Tying approval rate to individuals pushes reviewers to approve faster and authors to game the metric. It is a process signal, not a personal score.
- 5
Ignoring abandoned requests
Requests that are quietly abandoned still represent wasted effort. Tracking only merged and rejected outcomes hides a real source of churn in the denominator.
Related metrics
Cycle time
Process speed
Operations MetricsMetric Definition
Cycle Time = Process End Time − Process Start Time
Cycle time measures the total elapsed time from the start to the end of a process. It is a fundamental operations metric used in manufacturing, software development, service delivery, and any context where the speed of a process directly affects throughput, cost, and customer satisfaction.
Sprint velocity
Agile planning metric
Operations MetricsMetric Definition
Sprint Velocity = Sum of Story Points Completed in a Sprint
Sprint velocity measures the amount of work a team completes during a sprint, typically expressed in story points, ideal days, or another unit of estimation. It is a planning tool that helps agile teams forecast how much work they can commit to in future sprints based on their historical completion rate. Velocity is one of the most widely used and most frequently misunderstood metrics in agile software development.
Deployment frequency
DORA metric
Operations MetricsMetric Definition
Deployment Frequency = Number of Production Deployments / Time Period
Deployment frequency measures how often an organisation successfully releases code to production. It is one of the four DORA (DevOps Research and Assessment) metrics that predict software delivery performance and organisational outcomes. Teams that deploy more frequently deliver value to users faster, reduce the risk of each individual release, and create tighter feedback loops between development and production.
Metric trees for engineering teams
Metric Definition
Pull request approval rate sits alongside the other delivery signals an engineering team tracks, so this guide shows how to place it in a wider metric tree.
How to build a metric tree
Metric Definition
This guide walks through turning pull request approval rate into a structured metric tree so you can see what drives it and act on changes.
Decompose approval rate into the friction behind it
Build an approval-rate metric tree that links change quality, review capacity, and standards clarity to named owners, so a falling rate points to a specific fix rather than a guess.