Each metric defined below has its own specific API query. The process is simple : we fetch the data from GitHub APIs which is already streamlined for a specific metric, cut down the data further (if needed) and then assign appropriate weights to these numbers to form a score of a User or a Repo.
A total of 5 metrics have been designed to rate the user and the algorithms are designed according to the process mentioned above.
Each score is a boundless score calculated by summation of weighted sums of each of the following metric.
- Contribution Count
Motive : To get a base idea of a given user
Weight | Formula |
---|---|
3 | Number of Commits |
3 | Number of PRs |
2 | Number of Issues |
2 | Number of User Repos |
3 | Number of Repos contributed to |
- Stars - Repo Ratio
Motive : To get the value of projects created
Weight | Formula |
---|---|
1 |
- PR Acceptance Ratio:
Motive : Value of Contribution
Weight | Formula |
---|---|
3 |
- Issue Acceptance Ratio:
Motive : Value of Contribution
Weight | Formula |
---|---|
2 |
- Number of followers/following/organisations involved in. Motive : to get impact in community
Weight | Formula |
---|---|
10 | Number of Organisations |
2 | Number of Followers |
1 | Number of Following |
- Annual merged PRs Motive : to get to know how active the user is
Weight | Formula |
---|---|
3 | Number of PRs merged in an year |
- Annual raised Issues Motive : to get to know how active the user is
Weight | Formula |
---|---|
2 | Number of PRs merged in an year |
First, skill score is calculated for each topic the User is interested in :
Weight | Contribution |
---|---|
1 | Number of PRs |
1 | Number of Issues |
SKill score for a topic is finally calculated as :
- General activity and relevance of repo
Motive : To get a basic idea
Weight | Trait |
---|---|
3 | Number of watchers |
2 | Numer of stars |
5 | Number of PRs |
1.5 | Number of forks |
4 | Number of issues |
- Average Issue Resolution Time
Motive : To weigh the response time
Weight | Formula |
---|---|
8 |
Average Issue Resolution Score is calculated from the above formula based on the following conditions :
Average Issue Resolution Time ( in days ) | Score |
---|---|
less than or equal to 20 | 20 |
less than or equal to 50 | 10 |
greater than 50 | 5 |
- Weekly Contributor Count
Motive : To acount for contributor activity
(Note : A contributor,here, means anyone who has created an Issue or a PR)
Weight | Formula |
---|---|
5 |
- Weekly Contributor Change
Motive : To acount for contributor activity
Weight | Formula |
---|---|
8 |
- PR Acceptance Ratio
Motive : To account for new code submitted w.r.t old code
Weight | Formula |
---|---|
8 |
- New Contributor Count
Motive : To account for first time contributors to repo in the week
Weight | Formula |
---|---|
4 |
- Complexity of Repo
It is estimated by calcuating the Skill Points of the top 10 contributors of the repo in the topics the Repo and the Contributors both share.