Skip to main contentPull Request Metrics
Bilanc Output Estimate (Complexity Score)
Every Pull Request receives a score (0–100) based on its complexity and effort. The score is calibrated per repository, with ~50 being typical for that codebase. Higher scores (80+) indicate larger or more complex changes, while lower scores (under 20) indicate small bug fixes or minor tweaks.
This provides a more consistent “unit of work” than just counting commits or lines of code. Best for tracking trends and relative output, not as a judgment of individual value or impact. Learn more about how we calculate the Bilanc Output Estimate here.
Pull Request Count
The total number of pull requests merged during the selected time period. This metric helps track team throughput and development activity.
Contributors Count
The number of distinct engineers who have merged pull requests during the selected time period. Useful for understanding team participation and workload distribution.
Total Lines of Code (PR Size)
The total number of lines added, deleted, and changed across all merged pull requests. This includes:
- Additions – New lines of code added
- Deletions – Lines of code removed
- Total Changes – Sum of additions and deletions
Rework Rate
The percentage of lines that engineers modify or delete from their own recently written code, calculated as (Total Reworked Lines / Total Changed Lines) × 100%. A reworked line is one that was originally written by the same author within the last 30 days. This metric can be analyzed at the pull request, engineer, team, or organization level to identify patterns of inefficiency or areas where requirements may be unclear.
Review Rate
The percentage of pull requests that received a code review before being merged. Calculated as (PRs with Reviews / Total PRs). A key signal of collaborative development and code quality checks.
Cycle Time
The total duration from the first commit to when a PR is merged. This reflects how long it takes for code to move from draft to production-ready. Cycle time is broken down into the following stages:
- Coding Time – Time spent actively working on the code before opening the PR
- Commit to Open – Time between the first commit and when the PR is opened
- Pickup Time – Time waiting for the first reviewer to pick up the PR
- Open to Review – Time between PR open and the first review
- Review Time – Time from first review to merge
- Review to Merge – Time between the final review and merge
- Rework Time – Time spent addressing review feedback and making changes
The duration between when a pull request is created and when the first comment is posted on it. This metric measures how quickly team members engage with new pull requests, indicating responsiveness and collaboration patterns. A shorter time to first comment typically suggests active team engagement and faster feedback cycles.
Pull Request Cost
The estimated cost associated with a pull request, useful for understanding the financial impact of development work.
Productivity Cost
The cost per unit of productivity, calculated as (50 × PR Cost / Complexity Score). This helps measure cost efficiency of engineering output.
Reviews Count
The total number of code reviews submitted during the selected time period. Tracks reviewer engagement and code review culture.
Review Interactions Count
The number of distinct pull requests that received review interactions. Measures how many PRs are being actively reviewed.
The total number of comments posted on pull requests. Indicates the level of discussion and feedback in the review process.
The number of distinct pull requests that received comments. Helps understand how widely feedback is distributed across PRs.
Commit Metrics
Commits Count
The total number of commits made across all pull requests during the selected time period.
Commit Interactions Count
The number of distinct pull requests that received commits. Tracks how work is distributed across different PRs.
Issue Metrics
Issues Count
The total number of distinct issues tracked during the selected time period.
Completed Issues Count
The number of issues that have been marked as completed. Indicates work that has been finished.
Started Issues Count
The number of issues that are currently in progress (started but not yet completed).
Backlog Issues Count
The number of issues that remain in the backlog and have not yet been started.
Issue Cycle Time
The total time from when an issue is created to when it is completed. Measures how long it takes to deliver on planned work.
Story Points
The total story points assigned to issues. Used for sprint planning and capacity estimation:
- Total Story Points – All story points across issues
- Completed Story Points – Story points for completed issues
- Started Story Points – Story points for in-progress issues
The total number of comments posted on issues. Indicates discussion and collaboration on issue tracking.
The number of distinct issues that received comments.
AI Metrics
Adoption Rate
The percentage of engineers who used AI tools (e.g., Copilot, Cursor) during the selected time period. Calculated as (Engineers with Accepted AI Lines / Total Engineers). This helps measure how widely AI is being integrated into daily workflows.
Acceptance Rate
The percentage of AI suggestions that were accepted, calculated as (Total Accepts / (Total Accepts + Total Rejects)). Indicates how useful AI suggestions are to developers.
Adopted Users
The count of engineers who are actively using AI tools (marked as active users with AI integration).
AI Total Lines of Code
The total lines of code generated with AI assistance, including both additions and deletions.
Percent AI-Generated Code
The percentage of code that was generated using AI tools, calculated as (AI-Generated Lines / Total Lines). Helps understand AI’s contribution to the codebase.
AI Complexity Score
The complexity score for work done with AI assistance. Similar to the Bilanc Output Estimate but specifically for AI-assisted development.
Accepted Lines
Lines of code from AI suggestions that were accepted:
- Accepted Lines Added – New lines accepted from AI
- Accepted Lines Deleted – Deletions accepted from AI
- Net Accepted Lines – Net change (additions minus deletions)
Suggested Lines
Total lines of code suggested by AI tools:
- Suggested Lines Added – Lines AI suggested to add
- Suggested Lines Deleted – Lines AI suggested to delete
- Net Suggested Lines – Net change in suggestions
Total Accepts
The total number of AI suggestions that were accepted by engineers.
Total Rejects
The total number of AI suggestions that were rejected by engineers.
Chat Requests
The number of AI chat interactions (e.g., asking questions in Copilot Chat or Cursor).
Composer Requests
The number of AI composer/autocomplete requests made.
Agent Requests
The number of AI agent requests (autonomous coding tasks).
Cmd-K Usages
The number of times the Cmd-K (or Ctrl-K) shortcut was used to invoke AI assistance.
Most Used Programming Language
The programming language most frequently associated with AI-assisted development during the selected period. Helps identify where AI is most leveraged across your codebase.
Release & Deployment Metrics
Releases Count
The total number of releases published during the selected time period.
Deployment Frequency
How often new changes are deployed to production. This is tracked using deployment metadata from your CI/CD pipelines.
Team Metrics
Users Count
The total number of distinct team members tracked in the system.
Salary
Salary information for team members, used for cost analysis and productivity calculations.
PR Categorization
PR Categories
Each pull request is automatically classified using an LLM into one of the following categories:
- Bug Fixes – Code changes that resolve bugs or errors.
- Tech Improvements – Refactors, performance optimizations, dependency upgrades, or infrastructure changes.
- Feature Work – Code that implements new user-facing functionality or business logic.
State
The current status of the PR: Open, Merged, or Closed.
PR Opened At
The timestamp of when the pull request was initially created.
PR Merged At
The timestamp of when the pull request was successfully merged.