PR throughput

PR throughput measures the number of merged pull requests divided by the number of contributing engineers over a specific period. This report excludes bot-authored pull requests as it focuses on the productivity of your developers as opposed to bots and other forms of automation.

Additional nuances are discussed below:

What is TrueThroughput®?

TrueThroughput® uses AI to account for the complexity of pull requests, and thereby create a throughput metric that provides a truer measure of output (similar to a weighted GPA). For more information, please visit our dedicated article on TrueThroughput®.

Who is considered a developer?

DX reports normalize activity metrics into a “per developer” format, so DX must determine which users count as developers — including non-developers would artificially lower the metric.

A user counts as a developer if both are true:

  • They’ve merged at least one pull request, and
  • They’re not explicitly marked as a non-developer in DX

PR detection requires the user’s DX profile to be linked to their SCM identity — otherwise DX can’t attribute their pull requests to them. Review unlinked accounts.

A user is marked as a non-developer by answering “No” to “Do you regularly write code as part of your job?” in a DX Snapshot (unanswered defaults to developer), or via the is_developer attribute. Upload a user CSV.

How are team changes handled?

Each date increment includes developers who were active members (i.e., not deleted) of your organization and given teams for at least one day during the date increment.

In cases where a developer changes teams, joins the organization, or leaves the organization in the middle of a date increment, DX adjusts the denominator (i.e., number of developers) by prorating for the number of days in which the developer was a member of your organization or a given team.

Examples:

  • James Williams, a developer, switches from Team A to Team B in the middle of January. James’ pull requests will be assigned to Team A and Team B based on the date of the team change. For January, James will count as 0.5 developers in the denominator for both Team A and Team B.

  • Isaac Noda, a developer, joins Team A in the middle of January as a new hire. For January, Isaac’s pull requests will be included under Team A, and Isaac will count as 0.5 developers in the denominator.