Register Now
Member Count: 484,753 - May 25, 2013  [Get Time]
Login
Dashboard > TopCoder Competitions > ... > Algorithm Support & FAQs > Algorithm Competition Rating System
TopCoder Competitions View a printable version of the current page.  
Algorithm Competition Rating System
Added by rsial2 , last edited by mystic_tc on Dec 14, 2012  (view change)
Labels: 
(None)


The following statistics are kept about each coder:

  • Rating
  • Volatility
  • Number of times previously rated

Before competing, new members ratings are provisional.

After a competition the algorithm below is applied to the competitors. First, the ratings of members who have previously competed are calculated, with new members' performances not considered. Second, new members are given a rating based on their performance relative to everyone in the competition.

A coder's handle is color-coded depending on their rating within the Competition Arena


How ratings are calculated

New ratings are calculated as follows:

After each competition, each coder who attended the competition is re-rated according to the following algorithm. For Algorithm Competitions, keep in mind that only coders who shared the same problem set are rated against one another. For Marathon Matches, a coder is considered to have attended the event is they make a submission of any kind (example or full). Only registering for the event will not cause the coder to be rated. The average rating of everyone in the competition is 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 CDF of the standard normal distribution.

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.

I suggest to make the images bigger, I can't read well some of them

Posted by fixman at Dec 13, 2007 13:36

How can you catch them...admiring you...

Posted by welling at Nov 29, 2008 09:34

It would be nice to have the formula to compute score from time and maximum score for a problem on this page.

Posted by dskloet at Feb 09, 2008 14:17

Its impossible, since you need to know the scores of other people. But, you can get something like that on http://mb.bzium.org:898/TC_Utils2/TC_Utils.exe?ofunc=5&conid=12008.

Posted by fixman at Mar 22, 2008 18:09

Not impossible. What you score on a problem only depends on the time you took to do it, the maximum score for a problem (when you submit after 0 seconds) and the length of the contest.

Posted by mishastassen at Apr 11, 2008 10:30

I have read this article carefully and I still don't know how the rating is calculated.

Could you provide some more information on that? E.g. I've got, let's say, n points of n_max, where n << n_max. Where can I find a list of factors which result in such and not other number? I suppose it's an individual matter for each problem, but some general framework would be very useful for newbies like me.

Posted by gajatko at Mar 23, 2008 09:00

Does the point obtain while submitting a problem depends upon time take to solve it?

Posted by harsh_112 at Jun 16, 2008 05:36

Yes, it does.  You can see this in section 12 here:

http://www.topcoder.com/wiki/display/tc/Competing+in+a+Rated+Algorithm+Competition\\

- mike

Posted by mike at Jun 26, 2008 14:50

So complicated.

The conclusion is that - to get a good rating,solve problems correctly as quickly as possible ......

Posted by cherwoo at Jun 17, 2009 01:57

How can i see the points for each submission?

Posted by digberth at May 04, 2010 00:09

Hi guys ,
I made a submission in topcoder, just returning the right answer for one example , example 0. I got 165 points .Later i solved the problem (correct results for all examples ), i got 100 points and a note 10% penalty for late submission. So do i earn more points by submitting something wrong early than submitting right solution late ?

Thanks.

Posted by pranaysv at Jun 22, 2010 09:33

Apparently. However, in the real competition, your code can be challenged, and would lose lots of points that way.

It would be nice in the practice room to be able to see how correct your code is independent of the time it took to write it.

-Lars

Posted by larsrc at Jun 28, 2010 14:54

You can. After submitting your problem go to Practice Options->Run System Test. If any of the tests fails it means that you would get 0 points for the problem if it was competition.

Posted by nekochan at Jul 18, 2010 05:13

I think it is better to show an example - step by step to understand clearly how rating is being calculated....

Ferrumit

Posted by ferrumit at May 29, 2011 02:23

I made a submission for a 250 points problem and it gave me only 95 points. Then I ran system test and all 50 tests have passed successfully. What could affect on that low rating?

Posted by olegpekar at Jul 07, 2011 19:01

Who can tell about volatility particularly? how is it described ?

Posted by goldenfc at Aug 23, 2011 02:34

What is the OldRating of the first-time player (TimesPlayed=0)? Is it 0 or 1200?

Posted by evgeny11 at Aug 30, 2011 16:53

Hello,

i wanted to know the exact difference between points and rating?

Posted by muneem at Jul 26, 2012 13:08

It's easier to solve all Div1 problems than compute my score.

Posted by ortiga at Oct 10, 2012 16:19

Does this mean that it gets harder to increase your rating if you have participated in many matches?

Posted by mysticoctopus77 at Feb 07, 2013 03:13

I suppose TopCoder rating system has been modelled according to some other already published/used.

 Can anyone give me some good reference to it?

Posted by psir at Apr 04, 2013 07:43