Productivity Insights
Engineering delivery and collaboration metrics at the team and contributor level.
What Productivity Insights shows
The Productivity Insights view provides a data-driven picture of how your engineering teams are delivering software. It is designed for engineering managers who need to understand team health, identify bottlenecks, and track improvement over time.
Available metrics
Delivery throughput
The volume of work shipped to production over a selected time period. Includes:
- Pull requests merged: Total PRs merged per week across the team.
- Ship Weight: Complexity-weighted throughput in parallel with Merged PRs. Each merged GitHub PR scores 0 to 10; charts and tables sum those scores for the selected day or week. Use the Merged PRs / Ship Weight tabs on Overview, By User, By Team, and contributor or team drilldowns. Default is Merged PRs. See Ship Weight.
- Tickets completed: Jira or equivalent issues moved to done (requires Jira integration).
- Deployment frequency: How often the team ships to production, shown as deployments per day (requires CI/CD integration).
Code review participation
Signals around collaborative code review practices:
- Review coverage: What percentage of merged PRs received at least one review.
- Review turnaround: Median time from PR creation to first review.
- Approval rate: The share of reviews that resulted in approval vs. change requests.
Contribution patterns
An aggregate view of contributor activity:
- Active contributors: Number of engineers with merged activity in the period.
- Contribution distribution: How evenly work is distributed across the team (useful for identifying over-reliance on specific contributors).
Filtering the view
Use the Team and Time range filters at the top of the page to focus the data:
- Team filter: Restrict the view to a specific team or sub-team (populated from your org chart if uploaded).
- Time range: Default is 8 weeks. Adjust to see shorter or longer trends.
Weekly targets per engineer
Workspace admins can set optional weekly per-engineer targets under {workspace} settings → Productivity Insights (/workspace/productivity):
- Merged PRs — meet or exceed (floor)
- Ship Weight — meet or exceed (floor)
- CI Failures — stay at or below (ceiling);
0is a valid target
Editors and viewers can open the page but cannot save. Empty fields mean no target for that metric.
When a target is set for the metric you are viewing (Merged PRs, Ship Weight, or CI Failures), Productivity Insights shows two additional KPIs next to the existing portfolio Avg:
- Actual / eng / wk — scoped actual for the current view (overview/team filter, team drilldown, or contributor)
- Target / eng / wk — the workspace target (same number on every surface)
Trend charts stay as portfolio or team totals. For Ship Weight, the Avg KPI on team and portfolio views is mean ship weight per active engineer (people with at least one merged PR in each week or day), averaged across the selected period. Contributor drilldowns keep that person’s own average. When a target is set, a dashed Target line is drawn on the trend chart at that weekly per-engineer target scaled by the scoped headcount (divided by 7 on daily charts) so it sits on the same axis as the bars/line. CI Failures Actual/Target (and the CI chart line) appear only when GitHub Actions CI is enabled for the workspace. The settings page also shows recent workspace-wide “current” actuals as helper text; those are not auto-saved as targets.
Contributor drilldown
Click on any contributor in the team breakdown table to open their contributor detail view, which shows their individual metrics in the same categories (throughput, review participation, and contribution patterns) over the selected period. Heatmaps and the day drawer include Ship Weight totals and per-PR scores when scoring is complete; otherwise they show Backfilling.
These numbers describe team patterns and bottlenecks, not a leaderboard for individuals. Use them to fix workflow issues, not to rank people.
Data requirements
| Metric | Required integration |
|---|---|
| PR throughput, Ship Weight, review data | GitHub |
| Ticket completion | Jira |
| Deployment frequency | GitHub Actions (CI) |
| Team grouping | HR Org Chart (CSV) or Jira team labels |
GitHub delivery charts stay empty until the workspace has a GitHub App. After connect, Refresh in the Connect GitHub dialog updates this UTC week only. Older weeks wait for the background incremental sync (about every 6 hours), which covers the current UTC week and the previous one. First connect still loads about two recent weeks, then fills older history (up to about 180 days) in the background. Details: GitHub Refresh.
While numbers are still filling in
Overview, By User, By Team, and contributor or team drilldowns can show one banner while the GitHub productivity pipeline is Backfilling, Not started, still refreshing, Failed, or has stale or missing days in its window. Filters, tables, and charts stay usable. The banner stays up while that condition is true.
Backfilling includes a percent when a GitHub check has compared stored merged pull requests with GitHub over 180 days. That percent is how much of GitHub’s merged pull requests are stored. There is no clock and no estimated finish time. Not started appears before that pipeline has begun. If a refresh is in progress and no percent is available, the banner says the data is still refreshing.
Failed, stale, and missing-day states link to Data coverage for this pipeline (/workspace/data-coverage?pipeline=productivity_github). Data coverage is where pipeline status lives. A current, finished pipeline shows no banner. If this workspace has no productivity pipeline yet, or the coverage check is still loading or failed, Productivity Insights stays as it is and no banner appears. Anyone who can open these views sees the banner, including members who are not workspace admins.