Skip to content

Latest commit

 

History

History
247 lines (145 loc) · 14.7 KB

README.MD

File metadata and controls

247 lines (145 loc) · 14.7 KB

GitLit Algorithms

Rating Algorithms

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.


User Rating

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.


General traits

  1. 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

Base Score


Creation

  1. Stars - Repo Ratio

Motive : To get the value of projects created

Weight Formula
1

Creation Score

|


Contribution

  1. PR Acceptance Ratio:

Motive : Value of Contribution

Weight Formula
3
  1. Issue Acceptance Ratio:

Motive : Value of Contribution

Weight Formula
2

Contribution Score


Community

  1. 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

Community Score


Activity

  1. Annual merged PRs Motive : to get to know how active the user is
Weight Formula
3 Number of PRs merged in an year
  1. Annual raised Issues Motive : to get to know how active the user is
Weight Formula
2 Number of PRs merged in an year

Activity Score

User Score

Skill Score

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 :


Repository Rating

General Traits

  1. 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

Base Score

Actvity

  1. 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
  1. 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
  1. Weekly Contributor Change

Motive : To acount for contributor activity

Weight Formula
8

Activity Score


Inclusivity

  1. PR Acceptance Ratio

Motive : To account for new code submitted w.r.t old code

Weight Formula
8
  1. New Contributor Count

Motive : To account for first time contributors to repo in the week

Weight Formula
4

Inclusivity Score


Merit

  1. 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.

Merit Score


Total Repo Score