If you have any questions concerning Design and Development Ratings that are not answered here, please send an email to email@example.com
After each competition, each coder who submitted a solution to the competition is re-rated according to the following algorithm. Keep in mind that software competitions consist of the last 50 scored components, excluding the coder's own previous component submissions. The ranking of each coder is then determined based on the score the coder received compared to the scores of the last 50 scored components. The rating used for the previous scores is the rating of the coder at the time the coder submitted the solution. The average rating of everyone is then calculated:
Where NumCoders is the number of coders in the competition and Rating is the rating without the volatility of the coder in the competition before the competition.
The competition factor is calculated:
Where Volatility is the volatility of the coder in the competition before the competition.
Win Probability Estimation Algorithm:
Where Rating1 & Vol1 are the rating and volatility of the coder being compared to, and Rating2 & Vol2 are the rating and volatility of the coder whose win probability is being calculated. Erf is the "error function".
The probability of the coder getting a higher score than another coder in the competition (WPi for i from 1 to NumCoders) is estimated. The expected rank of the coder is calculated:
The expected performance of the coder is calculated:
Where is the inverse of the standard normal function.
The actual performance of each coder is calculated:
Where ARank is the actual rank of the coder in the competition based on score (1 for first place, NumCoders forlast). If the coder tied with another coder, the rank is the average of the positions covered by the tied coders.
The performed as rating of the coder is calculated:
The weight of the competition for the coder is calculated:
Where TimesPlayed is the number of times the coder has been rated before.
To stabilize the higher rated members, the Weight of members whose rating is between 2000 and 2500 is decreased 10% and the Weight of members whose rating is over 2500 is decreased 20%.
A cap is calculated:
The new volatility of the coder is calculated:
The new rating of the coder is calculated:
If |NewRating - Rating| > Cap the NewRating is adjusted so it is at most Cap different than Rating.