Reference

Commit quality metric definitions

Gitstat only mirrors raw git log history — it has no PR, CI, or issue-tracker integration. The four metrics below approximate metrics from LinearB's 2026 Software Engineering Benchmarks Report using commit data only, and are graded against LinearB's published "All Organizations" bands. Everything else on this page is a gitstat-specific heuristic, not from that report, and is not benchmarked.

Benchmarked against LinearB 2026

Elite / Good / Fair / Needs focus bands are LinearB's published "All Organizations" thresholds.

Merge Frequency
Commits per active author per week. Stands in for LinearB's PR-based Merge Frequency, since gitstat has no PR data — every commit is treated as a unit of merged work.
Elite: > 2.0 | Good: 1.2 – 2.0 | Fair: 0.66 – 1.2 | Needs focus: < 0.66
PR Size (commit size)
Average lines changed (insertions + deletions) per commit. Stands in for LinearB's PR Size, since gitstat has no PR data. Smaller, more focused commits are easier to review.
Elite: ≤ 100 lines | Good: 100 lines – 155 lines | Fair: 155 lines – 228 lines | Needs focus: > 228 lines
Rework Rate
Share of changed lines that touched a file last modified less than 21 days earlier (churn). Approximated from commit history, since gitstat has no PR data: for each changed file, we look at the most recent earlier commit that touched the same path.
Elite: ≤ 3% | Good: 3% – 5% | Fair: 5% – 8% | Needs focus: > 8%
Refactor Rate
Share of changed lines that touched a file last modified 21+ days earlier (legacy code). Approximated the same way as Rework Rate, from commit history rather than PR data.
Elite: ≤ 11% | Good: 11% – 16% | Fair: 16% – 22% | Needs focus: > 22%

Additional gitstat heuristics

Not from LinearB's report and not benchmarked — shown for context on commit hygiene.

Avg. files changed
Average number of files touched per commit. A gitstat-specific heuristic, not a LinearB metric — not benchmarked.
Large commits
Share of commits changing more than 300 lines. A gitstat-specific heuristic, not a LinearB metric — not benchmarked.
Short messages
Share of commits with a message under 10 characters (e.g. "fix", "wip"). A gitstat-specific heuristic, not a LinearB metric — not benchmarked.

Work-life balance

Gitstat-specific, not benchmarked. "Core Hours" is defined as weekdays 9:00–15:00. Uses each commit's stored timestamp as-is; gitstat does not track individual authors’ timezones.

Core hours
Share of all commits made on weekdays within the strict Core Hours window (9:00–15:00). A gitstat-specific heuristic, not a LinearB metric — not benchmarked.
Near core hours
Share of all commits made on weekdays within the wider Core Hours + buffer window (7:00–17:00). Includes core hours as a subset, so this is always >= Core hours. A gitstat-specific heuristic, not a LinearB metric — not benchmarked.
Outside 7-17, workdays
Share of all commits made on weekdays before 7:00 or after 17:00 — early/late work on an otherwise normal working day. A gitstat-specific heuristic, not a LinearB metric — not benchmarked.
Overall outside 7-17
Share of all commits made outside the 7:00–17:00 window, whether on a workday or a weekend. Equal to "Outside 7-17, workdays" plus "Weekend work" — the complement of "Near core hours". A gitstat-specific heuristic, not a LinearB metric — not benchmarked.
Weekend work
Share of all commits made on Saturday or Sunday, at any time. A gitstat-specific heuristic, not a LinearB metric — not benchmarked.