# 7th place - littlefish I'm a little surprised I ended up in the top-10 since I didn't spend that much time on the contest and basically just made some relatively simple modifications to the Chessmetrics system. Also, it's interesting that my best entry is an early one that did pretty badly in the public score and not exceptionally well in cross-validation either. Anyway these are my modifications to Chessmetrics: -Weighting: I calculate an individual "time constant" Tc for each player as 550 divided by the square root of the number of games by that player (for my best submission I simply used the number of games in all 100 months, although it may be slightly better to use only the number of games in the previous 48 months or so). The weighting factor for a game that has been played n months ago is then [Tc/(Tc+n)]^2. -Padding: I first calculate a weighted, but not padded performance rating. Then I use the weighted average between that performance rating (weighted with the square root of the number of weighted games) and the average opposition rating minus 50 (weighted with 3). That doesn't look very elegant because it will result in some players with very few games having high ratings, but I guess it doesn't matter much since those players aren't part of the connected pool anyway. -Monthly ratings: I'm calculating monthly ratings for all 100 months of the training data in one iterative process. That is, I first set all ratings to an initial value (e.g. 2450), then calculate ratings for months 1 to 100 using those initial values for opposition ratings in the first iteration, then use the monthly ratings calculated in the first iteration as opposition ratings in the second iteration and so on. I also include "future" results in the ratings for months earlier than 100 - so for the rating in month 50 a game played in month 55 will be included with the same weight as one played in month 45.