How Scoring Works

Understanding the point system, leaderboard rankings, and achievement criteria that power Git Velocity.

Overview

Git Velocity calculates developer contributions by analyzing GitHub activity across configured repositories. The scoring system is designed to encourage well-rounded contributions including code commits, pull requests, code reviews, and collaboration.

Point-Based

Activities earn configurable points

Aggregated

Combined across all repositories

Achievement-Driven

Unlock badges for milestones

Point Calculations

How each activity contributes to your score

Score Formula

Total Score = Commits + Line Changes + PRs + Reviews + Comments + Issues + Response Bonus + Out of Hours

Where:
  Commits      = commit_count × 10 points
  Line Changes = (lines_added × 0.1) + (lines_deleted × 0.05) points
  PRs          = (PRs_opened × 25) + (PRs_merged × 50) points
  Reviews      = reviews_given × 30 points
  Comments     = review_comments × 5 points
  Issues       = (issues_opened × 10) + (issues_closed × 20) + (issue_comments × 5) + (issue_refs × 5) points
  Response     = bonus for fast review response (0-50 points)
  Out of Hours = commits outside 9am-5pm × 2 points

All point values are configurable in your .git-velocity.yaml file.

Default Point Values

Activity Points Description
Commit 10 Per commit pushed
Commit with Tests 15 Commit that includes test files
Lines Added 0.1 Per meaningful line added
Lines Deleted 0.05 Per meaningful line removed
PR Opened 25 Per pull request created
PR Merged 50 Per pull request merged
PR Reviewed 30 Per PR review submitted
Review Comment 5 Per comment on PR reviews
Fast Review (<1h) 50 Bonus for average response under 1 hour
Fast Review (<4h) 25 Bonus for average response under 4 hours
Fast Review (<24h) 10 Bonus for average response under 24 hours
Out of Hours 2 Per commit outside 9am-5pm
Issue Opened 10 Per issue created
Issue Closed 20 Per issue resolved/closed
Issue Comment 5 Per comment on issues
Issue Reference 5 Per commit referencing an issue (#123)

Meaningful Lines

By default, Git Velocity uses meaningful lines instead of raw line counts. This filters out noise and rewards actual code contributions:

Counted as Meaningful

  • Actual code logic
  • Function definitions
  • Variable declarations
  • Import statements

Filtered Out

  • Empty lines / whitespace
  • Single-line comments
  • Multi-line comment blocks
  • Documentation strings

Meaningful lines filtering is always enabled to accurately reflect code contributions.

Leaderboard Rankings

How positions are determined

Ranking Process

  1. 1

    Aggregate Across Repos

    Metrics from all configured repositories are combined per contributor

  2. 2

    Calculate Total Score

    Apply point values to each activity type and sum the breakdown

  3. 3

    Sort by Score

    Contributors are sorted in descending order by total score

  4. 4

    Assign Ranks & Percentiles

    Each contributor receives a rank (1st, 2nd...) and percentile position

Top Achievers

Git Velocity tracks top performers in each category:

Overall Leader

Highest total score

Top Committer

Most commits

Top Reviewer

Most reviews given

Top PR Author

Most PRs opened

Team Scoring

When teams are configured, Git Velocity calculates team metrics:

  • Total Team Score: Sum of all member scores
  • Average Score: Total score / number of members
  • Member Breakdown: Individual scores and achievements per team member

Achievement System

115 achievements across 26 categories with tiered progression

Achievement Categories

Commits

Tiers: 1, 10, 50, 100, 500, 1000

First Steps → Getting Started → Contributor → Committed → Code Machine → Code Warrior

PRs Opened

Tiers: 1, 10, 25, 50, 100, 250

PR Pioneer → PR Regular → PR Pro → Merge Master → PR Champion → PR Legend

Reviews Given

Tiers: 1, 10, 25, 50, 100, 250

First Review → Reviewer → Review Regular → Review Expert → Review Guru → Review Master

Review Comments

Tiers: 10, 50, 100, 250, 500

Commentator → Feedback Giver → Code Critic → Feedback Expert → Comment Champion

Lines Added

Tiers: 100, 1K, 5K, 10K, 50K

First Hundred → Thousand Lines → Five Thousand → Ten Thousand → Code Mountain

Lines Deleted

Tiers: 100, 500, 1K, 5K, 10K

Tidying Up → Spring Cleaning → Code Cleaner → Refactoring Hero → Deletion Master

Response Time

Tiers: <24h, <4h, <1h

Same Day Reviewer → Quick Responder → Speed Demon

Contribution Streaks

Tiers: 3, 7, 14, 30 days

Getting Rolling → Week Warrior → Two Week Streak → Month Master

Activity Patterns

Early Bird, Night Owl, Weekend Warrior

Commits at different times of day unlock special badges

Issues Opened

Tiers: 1, 5, 10, 25, 50

Issue Opener → Reporter → Bug Hunter → Issue Tracker → Issue Master

Issues Closed

Tiers: 1, 5, 10, 25, 50

Issue Closer → Problem Solver → Resolver → Issue Crusher → Closure King

Issue Comments

Tiers: 5, 10, 25, 50, 100

Issue Commenter → Discussion Starter → Feedback Provider → Issue Conversationalist → Discussion Champion

Issue References

Tiers: 5, 10, 25, 50, 100

Issue Linker → Reference Maker → Connector → Link Master → Reference Champion

How Achievements Are Earned

Each achievement has a condition type and threshold. When your metrics meet or exceed the threshold, the achievement is unlocked.

Condition Type Metric Checked Comparison
commit_count Total commits ≥ threshold
pr_opened_count PRs opened ≥ threshold
review_count Reviews given ≥ threshold
avg_review_time_hours Average review response ≤ threshold (lower is better)
longest_streak Consecutive active days ≥ threshold
perfect_prs PRs with no changes requested ≥ threshold
repo_count Repositories contributed to ≥ threshold
issues_opened Issues created ≥ threshold
issues_closed Issues resolved/closed ≥ threshold
issue_comments Comments on issues ≥ threshold
issue_references Commits referencing issues ≥ threshold

Achievement definitions are hardcoded and cannot be customized to prevent manipulation.

Tiered Progression

Most achievements have multiple tiers. As you progress, you unlock higher tiers:

Tier 1: 1 Tier 2: 10 Tier 3: 25 Tier 4: 50 Tier 5: 100 Tier 6: 250 Tier 7: 500 Tier 8+: 1000+

The leaderboard shows only the highest tier achieved per category for each contributor.

Data Sources

Where the metrics come from

GitHub API Data

Commits

  • SHA, message, timestamp
  • Author (login, name, email)
  • Additions, deletions, files changed
  • Patch/diff for line analysis

Pull Requests

  • State (open, merged, closed)
  • Author and timestamps
  • Size (additions, deletions)
  • Comments count

Reviews

  • Review state (approved, changes requested)
  • Reviewer login
  • Submission timestamp
  • Comment count

User Profiles

  • GitHub login (username)
  • Display name
  • Avatar URL
  • Public email (for deduplication)

Derived Metrics

These metrics are calculated from raw data:

Meaningful Lines

Parsed from commit diffs, filtering comments/whitespace

Average Review Time

Time between PR creation and first review

Contribution Streaks

Consecutive days with activity

Perfect PRs

PRs merged without "changes requested" reviews

Out of Hours

Commits outside 9am-5pm based on commit timestamp

Unique Reviewees

Count of distinct PR authors reviewed

Issue References

Commits containing #123 patterns (fixes, closes, resolves, refs)

Bot Filtering

By default, bot activity is excluded from metrics. The following patterns are automatically filtered:

*[bot] dependabot* renovate* github-actions* codecov* snyk* greenkeeper* imgbot* allcontributors* semantic-release*

Enable with include_bots: true or add custom patterns with additional_bot_patterns.

Ready to Track Your Velocity?

Now that you understand how scoring works, start analyzing your repositories.