Let's say I've developed a rating for a series of horses in a race and I want to convert those ratings to a win probability. What techniques/approaches can be used to do so?

Horse 1 - 67.6
Horse 2 - 56.3
Horse 3 - 78.3

I have sufficient data to test the system on unseen data... but just looking for a little kick-start to help me approach this the right way.



Conversion from rating to win probability is strictly connected to rating algorithm that produces ranking score. For example, in most known Elo system (that works for chess or other one-on-one games/sports), if Player A has a rating of $R_A$ and Player B a rating of $R_B$, the formula for the expected score (i.e. probability of winning) of Player A is

$E_A = \frac 1 {1 + 10^{(R_B - R_A)/400}}$.

Similarly the expected score for Player B is

$E_B = \frac 1 {1 + 10^{(R_A - R_B)/400}}$.

This could also be expressed by

$E_A = \frac{Q_A}{Q_A + Q_B}$ and $E_B = \frac{Q_B}{Q_A + Q_B}$, where $Q_A = 10^{R_A/400}$ and $Q_B = 10^{R_B/400}$.

For a match played by players A and B, where $R_A=1613$ and $R_B=1477$, for example, it leads to $E_A = 0.686$ (and so $E_B = 0.314$).

Obviously, that formula doesn't work in a different rating structure for the same kind of game, saying for example that you get two point after a win, and lose one point after a loss, but even a minor change in same Elo structure (e.g. denominator) drives to different winning probability calculation.

| cite | improve this answer | |

Your Answer

