Skip to main content

Community OpenRank

From For

Definition

Community OpenRank is an open-source metric proposed by Dr. Shengyu Zhao from the X-lab Open Laboratory. For detailed algorithm specifications, please refer tothis blog post

Similar to the global OpenRank metric, this algorithm constructs a network using project collaboration data such as Issues and PRs. The network model is:

Code

The Community OpenRank algorithm implementation has not yet been open-sourced in OpenDigger. However, the underlying Neo4j plugin project used for calculating general OpenRank is already open-source and ready for use.

Parameters

Community OpenRank is more complex than global OpenRank and includes several parameters:

Parameter NameValueDescriptionNotes
Default OpenRank for Developer/Repo1.0The default OpenRank value for developers and repositories in the network, such as new community members or new repositories
Default OpenRank for Issue2.0The default OpenRank value for Issue nodes in the network
Default OpenRank for Unmerged PR3.0The default OpenRank value for unmerged PR nodes in the network
Default OpenRank for Merged PR5.0The default OpenRank value for merged PR nodes in the network
Developer/Repo Inheritance Ratio0.15The proportion of a developer's/repository's OpenRank inherited from last month's historical OpenRank or initial OpenRankIn project OpenRank, a developer's value should depend more on their current month's activity
Issue/PR Inheritance Ratio0.8The proportion of an Issue's/PR's OpenRank inherited from last month's historical OpenRank or initial OpenRankThe value of Issues/PRs should remain relatively stable and depend more on their own value
OpenRank Decay Coefficient0.8The decay ratio for inactive developers/Issues/PRs in the current monthNodes' OpenRank should not be immediately reset to zero after a month of inactivity
Minimum OpenRank Value0.1The threshold below which a node's OpenRank will be reset to zero
Proportion of Issue/PR OpenRank flowing to Repo along "belong" edge0.1How much of an Issue's/PR's OpenRank is transferred to its repository
Proportion of Repo OpenRank flowing to Issue/PR along "belong" edgeAverageThe repository's OpenRank is evenly distributed among all its Issues/PRs
Proportion of Issue/PR OpenRank flowing to Developer along "activity" edge0.9How much of an Issue's/PR's OpenRank is transferred to its contributing developers
Proportion of Developer OpenRank flowing to Issue/PR along "activity" edge1.0How much of a developer's OpenRank is transferred to the Issues/PRs they contribute to
"Initiate" action activity proportion0.5How much of an Issue's/PR's value is transferred to its authorThe author receives 50% of the value, with the remaining 50% distributed among other participants
Weights for "Initiate"/"Comment"/"Review"/"Close" actions2/1/1/2The weights assigned to different event types when calculating activity edge weights
Weights for 👍/❤️/🚀 reactions2/3/4The weights of reactions used to calculate the initial OpenRank of Issues/PRsThe initial OpenRank is determined by the community's reactions to the Issue/PR