The goals of TriRating are as follows:
- rate the performances of triathletes (expressed as an “expected”, course independent finishing time)
- rate the difficulty of a race (i.e. compare races in different years but on the same course)
- rate the difficulty of a course (i.e. compare different courses)
- make predictions for upcoming races
I’d love to hear how you think I can improve my analysis and predictions – please send me an email!
Description of the Rating Procedure
When processing a race, the first thing that is calculated is the race adjustment.
The race adjustment is the average difference between the expected finishing time (based on the athlete and course ratings) and the actual finishing time.
Race adjustments > 0 mean that the race was faster than expected, <0 that the race was slow.
In order to avoid big swings by athletes performing really well or really big explosions, currently all differences larger than one hour are discarded in the calculation. (It’ll probably be better to discard the top and bottom 10% or something similar, but that will require some more complex coding that I wanted to avoid for the first version.)
Once we have the adjustment for a given race, we can then calculate the new course rating:
The course rating is the average of all race adjustments for a given course.
A course rating >0 means that the course is fast, <0 that the course is slow.
This makes it possible to compare different courses and results from different courses.
Also, with the race adjustment, we can adjust an athlete’s finishing time to account for “fast” and “slow” races:
The adjusted result is the sum of an athlete’s actual finishing time and the race adjustment.
This makes it possible to accurately compare results from different years and on different courses.
With the adjusted results, we can then calculate an athlete’s rating:
An athlete’s rating is the weighted average of all his adjusted results. The weighting favors newer races over older races.
The weighting is done as by assigning each result a weight based on how long ago the race was. In short, for each year that goes by the weight is reduced by a factor of 0.85. (I’m still playing around with different factors, but for now the impact is pretty small.)
The weighting tries to get a better feeling for an athlete’s current capability. For example, the slower times of a few years ago for a developing athlete shouldn’t have a large weight – or the other way around the faster times for an athlete who had his peak a few years ago.