Scoring
🏆 NITRR OSS Leaderboard Scoring System
Welcome to the NITRR OSS Leaderboard! To ensure fairness, encourage high-quality contributions, and reward consistency, our leaderboard uses a dynamic, multiplier-based scoring system.
The leaderboard can be accessed here
This document explains exactly how points are calculated for your Pull Requests and Code Reviews.
🧮 The Scoring Formula
Every contribution's score is calculated using the following formula:
Raw Score = Base Score × Difficulty Multiplier × Impact Multiplier × Exceptional Multiplier
Total Points = Raw Score + Streak Bonus
(All final scores are rounded to the nearest whole number).
1. Base Scores
The base score depends on the type of contribution you make:
| Contribution Type | Base Score | Description |
|---|---|---|
| Code PR | 20 pts | Standard code contributions (Features, Bugs, Fixes). |
| Design PR | 15 pts | UI/UX contributions, Figma designs, etc. |
| Documentation PR | 12 pts | README updates, wikis, and guides. |
| Code Review | 10 pts | Reviewing someone else's PR (Must be APPROVED or CHANGES REQUESTED). |
2. Difficulty Multipliers (difficulty:)
Maintainers assign a difficulty label to PRs. Harder tasks yield exponentially higher rewards.
| Label | Multiplier | Description |
|---|---|---|
difficulty:easy | 0.8x | Simple typos, one-liners, very basic fixes. |
| (None / Default) | 1.0x | Standard effort. (If no label is present, it defaults to medium). |
difficulty:medium | 1.0x | Standard feature implementation or bug fix. |
difficulty:hard | 1.5x | Complex logic, large refactors, difficult bugs. |
difficulty:critical | 2.5x | Urgent architecture changes, critical system failures. |
3. Impact / Type Multipliers (type:)
The impact of your PR also influences the score.
| Label | Multiplier | Description |
|---|---|---|
type:docs | 1.0x | Documentation only. |
type:feature | 1.2x | Adding new functionality to the project. |
type:bug | 1.2x | Fixing broken code. |
type:infra | 1.5x | DevOps, CI/CD pipelines, Docker, deployments. |
type:security | 2.0x | Patching vulnerabilities and security flaws. |
4. The Exceptional Bonus
Did you go above and beyond? Write incredibly clean code? Solve a nearly impossible problem?
Maintainers can manually add the exceptional label to your PR.
- Exceptional Multiplier: 1.5x
5. Streak Bonuses 🔥
Consistency is key in open source! If you contribute regularly, you earn a streak bonus.
To maintain a streak, you must make a Meaningful Contribution (a contribution that scores 20 points or higher after multipliers) every week.
If your contribution qualifies, you receive a percentage bonus on top of your score based on your current streak:
| Streak Length | Bonus |
|---|---|
| 2+ Weeks | + 5% extra points |
| 4+ Weeks | + 10% extra points |
| 12+ Weeks | + 25% extra points |
💡 Example Calculations
Example 1: A standard feature
- Type: Code PR (20 pts)
- Labels:
type:feature(1.2x),difficulty:medium(1.0x) - Score: 20 × 1.2 × 1.0 = 24 points
Example 2: A highly complex security patch
- Type: Code PR (20 pts)
- Labels:
type:security(2.0x),difficulty:hard(1.5x),exceptional(1.5x) - Score: 20 × 2.0 × 1.5 × 1.5 = 90 points
Example 3: Standard feature with a 5-week streak!
- Type: Code PR (20 pts)
- Labels:
type:feature(1.2x) - Raw Score: 20 × 1.2 = 24 points
- Streak Bonus (4+ weeks): +10% of 24 = 2.4 points
- Total: 24 + 2.4 = 26.4 ➔ Rounded to 26 points
⚠️ Important Rules
- Multiple Impact Types: If a PR has multiple
type:labels (e.g.,type:featureandtype:docs), the system will only process the first one it finds. Maintainers should stick to ONEtype:label per PR for fair scoring. - Review Scoring: You only get points for Code Reviews if you actually submit a review marked as
APPROVEDorCHANGES REQUESTED. Just leaving a comment does not count! - Core Team: Maintainers and Core Team members are tracked on a separate "Core Team" tab and do not compete on the main community leaderboard.