{
  "id": 193,
  "title": "3rd place: Chessmetrics - Variant",
  "content": "<p><span id=\"post_text_content_1230\"><div dir=\"ltr\" align=\"left\">Dear all,</div></span></p><div dir=\"ltr\" align=\"left\"></div><br>it was a great competition, thanks a lot. <br><div dir=\"ltr\" align=\"left\"><br>Here some notes regarding my approach.</div><div dir=\"ltr\" align=\"left\"></div>\r\n<p><br></p><div dir=\"ltr\" align=\"left\">methodology:</div>\r\n<div dir=\"ltr\" align=\"left\">&nbsp;</div>\r\n<div dir=\"ltr\" align=\"left\">- all coding was \r\ndone using&nbsp;perl</div>\r\n<div dir=\"ltr\" align=\"left\">-&nbsp;I&nbsp;tested some established basics like elo and chessmetrics \r\nusing the training data</div>\r\n<div dir=\"ltr\" align=\"left\">- I found chessmetrics a very promising approach - regarding \r\nthe parameters&nbsp;performance, opposition quality,&nbsp;activity, weighting, self \r\nconsistant rating&nbsp;over a time period</div>\r\n<div dir=\"ltr\" align=\"left\"><br><br>- I varied the rating formula depending on the \r\nparameters above</div><br><div dir=\"ltr\" align=\"left\"><br>my best submission materialized in \r\nusing:</div>\r\n<div dir=\"ltr\" align=\"left\">&nbsp;</div>\r\n<div dir=\"ltr\" align=\"left\">- the complete training data from week 1 to 100, and \r\nnot a subset of these data</div>\r\n<div dir=\"ltr\" align=\"left\">&nbsp;</div><br>- using the iterative rating \r\nformula:\r\n<div dir=\"ltr\" align=\"left\">&nbsp; <br></div>rating = (weighed_performance + weighed_opponent_rating \r\n+ weighed_tie_to_defined_rating_level + extra_points) / (sum(game_weight) + \r\nweight_opponent_rating + weight_tie_to defined_rating_level)\r\n<div dir=\"ltr\" align=\"left\"> </div><p><br></p><p>weight_tie_to&nbsp;defined_rating_level&nbsp;= \r\n2.5</p><div dir=\"ltr\" align=\"left\"></div><p><br></p><div dir=\"ltr\" align=\"left\">game_weight&nbsp; = (1 / (1 + ( 100 - month ) / 48 ) )**2</div>\r\n<div dir=\"ltr\" align=\"left\">&nbsp;</div>\r\n<div dir=\"ltr\" align=\"left\">white_advantage = 27.5</div>\r\n<div dir=\"ltr\" align=\"left\">&nbsp;</div>\r\n<div dir=\"ltr\" align=\"left\">extention = 850</div>\r\n<div>&nbsp;</div>\r\n<div dir=\"ltr\" align=\"left\">&nbsp;weighed_performance = sum ( (opponent_rating +- \r\nwhite_advantage&nbsp;+ extention * \r\n(result-0.5)&nbsp;) * game_weight \r\n)</div>\r\n<div dir=\"ltr\" align=\"left\">&nbsp;</div>\r\n\r\n<div dir=\"ltr\" align=\"left\">weight_opponent_rating = \r\n12.5</div>\r\n<div>&nbsp;</div>\r\n<div>weighed_opponent_ra ting =&nbsp;weight_opponent_rating * sum( (opponent_rating +- \r\nwhite_adavantage) * (game_weight) ) / \r\nsum(game_weight)</div>\r\n<div dir=\"ltr\" align=\"left\">&nbsp;</div>\r\n<div dir=\"ltr\" align=\"left\">defined_rating_level = \r\n2300</div>\r\n<div>&nbsp;</div>\r\n<div>weighed_tie_to_defi ned_rating_level =&nbsp;weight_tie_to&nbsp;defined_rating_level&nbsp;* \r\ndefined_rating_level</div>\r\n<div dir=\"ltr\" align=\"left\">\r\n</div><div dir=\"ltr\" align=\"left\">\r\n<div dir=\"ltr\" align=\"left\">&nbsp;</div></div>\r\n<div dir=\"ltr\" align=\"left\">extra_points=24.5</div>\r\n<p><br></p><p><br></p><div dir=\"ltr\" align=\"left\">- using the prediction \r\nformula:</div>\r\n<div dir=\"ltr\" align=\"left\">&nbsp;</div>\r\n<div dir=\"ltr\" align=\"left\">probability(win_player_white) = ((rating_player_white + \r\nwhite_advantage) - (rating_player_black - white_advantage)) / extention&nbsp;&nbsp;+ 0.5 ; limited to \r\n{0..1}<br><br><br></div>\r\n<a target=\"_blank\" title=\"sub_23\" mce_href=\"http://www.ratatoek.de/elo_comp_23_test_pl.txt\" href=\"http://www.ratatoek.de/elo_comp_23_test_pl.txt\">Perl source of submission 23.</a><br><br><br>Meanwhile I also updated my profile on Kaggle \r\n...<br><br><p><br></p><div dir=\"ltr\" align=\"left\">Cheers</div><p><br></p><p><span id=\"post_text_content_1230\"><span class=\"468234720-18112010\"><span style=\"font-family: Arial;\" mce_style=\"font-family: Arial;\"><span style=\"font-size: x-small;\" mce_style=\"font-size: x-small;\"><span style=\"color: rgb(0, 0, 255);\" mce_style=\"color: #0000ff;\"><span class=\"468234720-18112010\"><span style=\"font-family: Arial;\" mce_style=\"font-family: Arial;\"><span style=\"font-size: x-small;\" mce_style=\"font-size: x-small;\"><span style=\"color: rgb(0, 0, 255);\" mce_style=\"color: #0000ff;\"><span class=\"468234720-18112010\"><span style=\"font-family: Arial;\" mce_style=\"font-family: Arial;\"><span style=\"font-size: x-small;\" mce_style=\"font-size: x-small;\"><span style=\"color: rgb(0, 0, 255);\" mce_style=\"color: #0000ff;\"><span class=\"468234720-18112010\"><div dir=\"ltr\" align=\"left\">Martin</div></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>",
  "comments": [
    {
      "id": 1255,
      "author_name": "Martin Reichert",
      "author_url": "",
      "post_date": "2010-11-20T11:27:17",
      "content": "<result_in><test_in><test_in><br mce_bogus=\"1\"></test_in></test_in></result_in>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1256,
      "author_name": "Martin Reichert",
      "author_url": "",
      "post_date": "2010-11-20T11:27:17",
      "content": "Would somebody please correct the header of the thread?<br><br>It should read<br><br><h3 class=\"proxima topic-title\">3rd place: Chessmetrics - Variant<br></h3><br><br><br><br>... and don't find a measure to do it myself.<br><br>Thanks a lot<br>Martin<br mce_bogus=\"1\">",
      "votes": 0,
      "replies": []
    }
  ],
  "comment_count": 2,
  "messages": [
    {
      "id": 1254,
      "postDate": "2010-11-20T11:27:17Z",
      "content": "<p><span id=\"post_text_content_1230\"><div dir=\"ltr\" align=\"left\">Dear all,</div></span></p><div dir=\"ltr\" align=\"left\"></div><br>it was a great competition, thanks a lot. <br><div dir=\"ltr\" align=\"left\"><br>Here some notes regarding my approach.</div><div dir=\"ltr\" align=\"left\"></div>\r\n<p><br></p><div dir=\"ltr\" align=\"left\">methodology:</div>\r\n<div dir=\"ltr\" align=\"left\">&nbsp;</div>\r\n<div dir=\"ltr\" align=\"left\">- all coding was \r\ndone using&nbsp;perl</div>\r\n<div dir=\"ltr\" align=\"left\">-&nbsp;I&nbsp;tested some established basics like elo and chessmetrics \r\nusing the training data</div>\r\n<div dir=\"ltr\" align=\"left\">- I found chessmetrics a very promising approach - regarding \r\nthe parameters&nbsp;performance, opposition quality,&nbsp;activity, weighting, self \r\nconsistant rating&nbsp;over a time period</div>\r\n<div dir=\"ltr\" align=\"left\"><br><br>- I varied the rating formula depending on the \r\nparameters above</div><br><div dir=\"ltr\" align=\"left\"><br>my best submission materialized in \r\nusing:</div>\r\n<div dir=\"ltr\" align=\"left\">&nbsp;</div>\r\n<div dir=\"ltr\" align=\"left\">- the complete training data from week 1 to 100, and \r\nnot a subset of these data</div>\r\n<div dir=\"ltr\" align=\"left\">&nbsp;</div><br>- using the iterative rating \r\nformula:\r\n<div dir=\"ltr\" align=\"left\">&nbsp; <br></div>rating = (weighed_performance + weighed_opponent_rating \r\n+ weighed_tie_to_defined_rating_level + extra_points) / (sum(game_weight) + \r\nweight_opponent_rating + weight_tie_to defined_rating_level)\r\n<div dir=\"ltr\" align=\"left\"> </div><p><br></p><p>weight_tie_to&nbsp;defined_rating_level&nbsp;= \r\n2.5</p><div dir=\"ltr\" align=\"left\"></div><p><br></p><div dir=\"ltr\" align=\"left\">game_weight&nbsp; = (1 / (1 + ( 100 - month ) / 48 ) )**2</div>\r\n<div dir=\"ltr\" align=\"left\">&nbsp;</div>\r\n<div dir=\"ltr\" align=\"left\">white_advantage = 27.5</div>\r\n<div dir=\"ltr\" align=\"left\">&nbsp;</div>\r\n<div dir=\"ltr\" align=\"left\">extention = 850</div>\r\n<div>&nbsp;</div>\r\n<div dir=\"ltr\" align=\"left\">&nbsp;weighed_performance = sum ( (opponent_rating +- \r\nwhite_advantage&nbsp;+ extention * \r\n(result-0.5)&nbsp;) * game_weight \r\n)</div>\r\n<div dir=\"ltr\" align=\"left\">&nbsp;</div>\r\n\r\n<div dir=\"ltr\" align=\"left\">weight_opponent_rating = \r\n12.5</div>\r\n<div>&nbsp;</div>\r\n<div>weighed_opponent_ra ting =&nbsp;weight_opponent_rating * sum( (opponent_rating +- \r\nwhite_adavantage) * (game_weight) ) / \r\nsum(game_weight)</div>\r\n<div dir=\"ltr\" align=\"left\">&nbsp;</div>\r\n<div dir=\"ltr\" align=\"left\">defined_rating_level = \r\n2300</div>\r\n<div>&nbsp;</div>\r\n<div>weighed_tie_to_defi ned_rating_level =&nbsp;weight_tie_to&nbsp;defined_rating_level&nbsp;* \r\ndefined_rating_level</div>\r\n<div dir=\"ltr\" align=\"left\">\r\n</div><div dir=\"ltr\" align=\"left\">\r\n<div dir=\"ltr\" align=\"left\">&nbsp;</div></div>\r\n<div dir=\"ltr\" align=\"left\">extra_points=24.5</div>\r\n<p><br></p><p><br></p><div dir=\"ltr\" align=\"left\">- using the prediction \r\nformula:</div>\r\n<div dir=\"ltr\" align=\"left\">&nbsp;</div>\r\n<div dir=\"ltr\" align=\"left\">probability(win_player_white) = ((rating_player_white + \r\nwhite_advantage) - (rating_player_black - white_advantage)) / extention&nbsp;&nbsp;+ 0.5 ; limited to \r\n{0..1}<br><br><br></div>\r\n<a target=\"_blank\" title=\"sub_23\" mce_href=\"http://www.ratatoek.de/elo_comp_23_test_pl.txt\" href=\"http://www.ratatoek.de/elo_comp_23_test_pl.txt\">Perl source of submission 23.</a><br><br><br>Meanwhile I also updated my profile on Kaggle \r\n...<br><br><p><br></p><div dir=\"ltr\" align=\"left\">Cheers</div><p><br></p><p><span id=\"post_text_content_1230\"><span class=\"468234720-18112010\"><span style=\"font-family: Arial;\" mce_style=\"font-family: Arial;\"><span style=\"font-size: x-small;\" mce_style=\"font-size: x-small;\"><span style=\"color: rgb(0, 0, 255);\" mce_style=\"color: #0000ff;\"><span class=\"468234720-18112010\"><span style=\"font-family: Arial;\" mce_style=\"font-family: Arial;\"><span style=\"font-size: x-small;\" mce_style=\"font-size: x-small;\"><span style=\"color: rgb(0, 0, 255);\" mce_style=\"color: #0000ff;\"><span class=\"468234720-18112010\"><span style=\"font-family: Arial;\" mce_style=\"font-family: Arial;\"><span style=\"font-size: x-small;\" mce_style=\"font-size: x-small;\"><span style=\"color: rgb(0, 0, 255);\" mce_style=\"color: #0000ff;\"><span class=\"468234720-18112010\"><div dir=\"ltr\" align=\"left\">Martin</div></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>"
    },
    {
      "id": 1255,
      "postDate": "2010-11-20T11:27:17Z",
      "content": "<result_in><test_in><test_in><br mce_bogus=\"1\"></test_in></test_in></result_in>"
    },
    {
      "id": 1256,
      "postDate": "2010-11-20T11:27:17Z",
      "content": "Would somebody please correct the header of the thread?<br><br>It should read<br><br><h3 class=\"proxima topic-title\">3rd place: Chessmetrics - Variant<br></h3><br><br><br><br>... and don't find a measure to do it myself.<br><br>Thanks a lot<br>Martin<br mce_bogus=\"1\">"
    }
  ],
  "complete": true,
  "source": "live",
  "fetched_at": "2026-10-20T02:26:31Z",
  "competition_id": 2447,
  "competition_slug": "chess",
  "team_id": 1179,
  "solution_url": "/competitions/chess/writeups/pug-3rd-place-chessmetrics-variant"
}