• The issue has been fixed and hopefully you can post screen shots again
  • Hi Guest Just in case you were not aware I wanted to highlight that you can now get a free 7 day trial of Horseracebase here.
    We have a lot of members who are existing users of Horseracebase so help is always available if needed, as well as dedicated section of the fourm here.
    Best Wishes
    AR

ELO Ratings - Something New that I have been working on.....

Dave

Gelding
HP Elo. Each run moves a horse's rating by how it finished against every other runner, at level weights, compared with what the ratings expected. Beating highly rated horses counts for more than beating low-rated ones. Last run = how much the rating moved after the horse's last run. Rated runs: High 8+, Med 4–7, Low 3 or fewer (provisional). Who beat whom lists the last 12 months' meetings between today's runners at the weights carried then; true-run races (an even gallop, judged on the winner's sectionals) are the ones to trust most.
Clear top rated = a handicap where the top-rated horse is 5lb or more clear and most of the field is rated: on 2026 races these won 26% and beat their starting price (A/E 1.19, 292 runners), promising but not proven. Being top rated on its own did not beat the price, and nor did being rated higher than the betting suggests, so the ratings are a guide to the shape of the race, not a list of bets.
Dundalk runners are rated together with the UK All-Weather horses, so form crossing the Irish Sea counts; the clear top-rated angle is not flagged at Dundalk until there are enough past races to test it. Heritage dropper (UK turf handicaps) = a top-3-rated horse that ran in a turf handicap worth £40,000+ to the winner in its last three runs (within 120 days) and today meets a field at least 4lb weaker: on 2025-26 turf these beat their starting price (A/E 1.25, 231 runners), promising but not proven. Clear top rated is not flagged on turf, where it did not beat the price. Class dropper (UK turf and All-Weather handicaps) = a horse whose last run was a handicap worth £25,000+ to the winner, where it finished 3rd to 12th or was beaten 5 lengths or less and started 12/1 or shorter, and today runs in a handicap worth 30% or less of that race: on 2025-26 UK turf and All-Weather races these beat their starting price (A/E 1.22, 332 runners, about break-even at SP), promising but not proven. Checked only where today's prize money was read from the Racing TV card. Irish turf runners are rated with every horse in the databases (UK and Irish, turf and All-Weather; Irish turf data from March 2026); Irish races are graded by race type and, for handicaps, prize money, and no angle is flagged in Irish turf races. Source: Hidden Performances RaceIQ databases (UK All-Weather, Dundalk, UK turf, Irish turf). A rating, not a selection.

1794089095089.png1794089095089.png1794089095089.png1794089350542.png1794089312547.png1794089231140.png
 
Thanks for sharing this and your other articles on here Dave Dave I am always interested in putting a value to the standard of the race which I have been striving for since reading a long forgotten book Class Figures by Stuart Eaton. Moved on a long way since then but the idea is basically the same, rating the quality of the field before looking at the actual performances within that race.
 
A while back, I took a crack at trying to produce some horse racing ELO's, unsuccessfully, even with A.I. chipping in. I had managed it with Football teams, (although the Club ELO website is best), but couldn't translate it into horse racing. Might try it again at some time.

Dave Dave nice work with your HP Elo output(s)
 
Dave Dave just bought your 2nd book and signed up to your Substack . Looks to be loads of posts to read and learn about RaceIQ which i have yet to get my head around ! I enjoyed watching the racing from Hong Kong today and i like the idea of specialising in the AW and specific tracks . One question , it does seem to revolve around Lower Class racing , is this an issue do you think , with regards to Horses being more inconsistent at the lower end ?
 
Dave Dave just bought your 2nd book and signed up to your Substack . Looks to be loads of posts to read and learn about RaceIQ which i have yet to get my head around ! I enjoyed watching the racing from Hong Kong today and i like the idea of specialising in the AW and specific tracks . One question , it does seem to revolve around Lower Class racing , is this an issue do you think , with regards to Horses being more inconsistent at the lower end ?
S simon boardman
First of all, thanks for buying the second book and joining Hidden Performances. I hope you enjoy both, and don’t feel you have to rush through the posts. There’s quite a bit of material there, particularly around RaceIQ, but hopefully it will help you get a better understanding of what the numbers are telling us.


Regarding lower-class racing, it’s a fair question and one I’ve given plenty of thought to over the years.


There is no doubt that horses at the lower end can be more inconsistent, and you probably have to accept a greater degree of unpredictability. However, I don’t necessarily see that as a disadvantage. In fact, I think there can be opportunities there because the market doesn’t always fully appreciate what a horse has achieved, particularly when the bare result doesn’t tell the whole story.


My approach isn’t to concentrate solely on lower-class racing, but to specialise in UK All-Weather racing and, more importantly, understand the individual characteristics of the six courses. I look at the evidence, the sectionals, the pace, the draw and the circumstances surrounding a performance rather than simply the finishing position.


There are good horses and bad horses in every class, just as there are good and bad performances. The key is identifying when a horse has run better than its finishing position suggests and, equally importantly, recognising when a winning performance might not be as good as it first appears.


Specialising gives me the opportunity to build up a much deeper understanding of those patterns rather than trying to cover everything.


And that’s really what Hidden Performances is about: looking beyond the result and trying to find the evidence that others might overlook.


Thanks again for the support, and if you have any questions about RaceIQ as you work through the material, don’t hesitate to ask.
 
Started to take another look. GPT suggests this, along with a few other bits and bobs.

View attachment 173276
DuckandDive DuckandDive
I'd suggest switching to a Normalized Finishing Position (NFP) metric— eg.. Percentage of Rivals Beaten (%RB), rather than the weights that are in that graphic. Using a NFP metric completely side-steps the volatility of raw distance metrics (which blow up when a horse eases up at the line) and guarantees that your rating system is mathematically bounded and self-normalizing across every race.
ELO for horse racing is completely different than your standard 1v1 ELO most commonly seen used in football or tennis. Racing is a multi competitor sport and through ELO has to be treated as a series of H2H contests or a "round-robin" type tournament.
The most vital thing is "mapping" your unit currency of Ratings to an ELO point, for example if you were using "pounds" equated from beaten lengths then its vital to calibrate 1 pound to 1 ELO point otherwise you get seriously skewed situations like in Dave Dave 's ratings there where he has Masego being raised a whopping 25 lbs from running in a very weak race having been beaten 9 lengths into 2nd. True handicapping systems would have that horse running around 4-7 lbs BELOW its best ever form.
A NFP metric is bound between 1.00 and 0.00 like a probability and the mathematical "mean" is ALWAYS 0.50 in every race and over large samples of data - this makes it relatively simple to calibrate to ELO points. You can later map the values to lbs equated by beaten margins.


Calculate the Actual Outcome S𝑖
For any horse 𝑖 in a race with N runners, calculate its actual score based on its finishing position FP𝑖, where 1 is the winner
In an 11 runner race as an example a horse finishing third beats 8 rivals so (11-3)/(11-1) = (8/10) = a NFP of 0.80

ELO1.png

Calculate the Expected Outcome E𝑖
Instead of running a complex matrix of 1v1 matchups, you can approximate a horse's expected performance against the average rating of the specific field it is facing. First, calculate the average ELO of the opponents horse 𝑖 faces in this race (Ropp)

ELO3.png

Then, plug this into the standard logistic growth curve to find the expected % of rivals beaten.
You also need a scaling factor (D) and this is where you map it back to pounds similar to performance ratings. If you want 1 ELO point to equal 1 lb, you would have to look at historical data to see how many pounds of an edge a horse needs to beat 75% of its rivals instead of 50%. Typically, setting D = ~ 40 means a horse rated 20 lbs higher than the field average is expected to beat roughly 76% of its rivals.

ELO4.png

Adjust for Weight Carried
Because there is no calculating "Net" that is normally a step in the standard 1v1 ELO you should insert the handicapping variable of "weight carried" into the expectancy calculation. If a horse is carrying more weight than it's opponents (Wopp) it's expected performance must decrease. Conversely if it's carrying less weight (or receiving WFA) then it's expected performance increases which ties in with strict handicapping theory.

ELO5.png


You end up with a clean single line equation that updates on a horses ability


ELO6.png

Couple of things that could fine tune the ratings
The "Eased Up" Winner v The Clear Winner: A horse that wins by 10 lengths and a horse that wins by a nose receive the exact same value. Over thousands of races, this balances out, but in the short term it slightly undervalues dominant victories.
Field Size Weighting - You can scale your K-Factor dynamically based on field size eg - K= Base K * SQRT(FS) so that large field performances carry more weight.
 

Attachments

  • ELO2.png
    ELO2.png
    6 KB · Views: 2
Last edited:
DuckandDive DuckandDive
I'd suggest switching to a Normalized Finishing Position (NFP) metric— eg.. Percentage of Rivals Beaten (%RB), rather than the weights that are in that graphic. Using a NFP metric completely side-steps the volatility of raw distance metrics (which blow up when a horse eases up at the line) and guarantees that your rating system is mathematically bounded and self-normalizing across every race.
ELO for horse racing is completely different than your standard 1v1 ELO most commonly seen used in football or tennis. Racing is a multi competitor sport and through ELO has to be treated as a series of H2H contests or a "round-robin" type tournament.
The most vital thing is "mapping" your unit currency of Ratings to an ELO point, for example if you were using "pounds" equated from beaten lengths then its vital to calibrate 1 pound to 1 ELO point otherwise you get seriously skewed situations like in Dave Dave 's ratings there where he has Masego being raised a whopping 25 lbs from running in a very weak race having been beaten 9 lengths into 2nd. True handicapping systems would have that horse running around 4-7 lbs BELOW its best ever form.
A NFP metric is bound between 1.00 and 0.00 like a probability and the mathematical "mean" is ALWAYS 0.50 in every race and over large samples of data - this makes it relatively simple to calibrate to ELO points. You can later map the values to lbs equated by beaten margins.


Calculate the Actual Outcome S𝑖
For any horse 𝑖 in a race with N runners, calculate its actual score based on its finishing position FP𝑖, where 1 is the winner
In an 11 runner race as an example a horse finishing third beats 8 rivals so (11-3)/(11-1) = (8/10) = a NFP of 0.80

View attachment 173277

Calculate the Expected Outcome E𝑖
Instead of running a complex matrix of 1v1 matchups, you can approximate a horse's expected performance against the average rating of the specific field it is facing. First, calculate the average ELO of the opponents horse 𝑖 faces in this race (Ropp)

View attachment 173279

Then, plug this into the standard logistic growth curve to find the expected % of rivals beaten.
You also need a scaling factor (D) and this is where you map it back to pounds similar to performance ratings. If you want 1 ELO point to equal 1 lb, you would have to look at historical data to see how many pounds of an edge a horse needs to beat 75% of its rivals instead of 50%. Typically, setting D = ~ 40 means a horse rated 20 lbs higher than the field average is expected to beat roughly 76% of its rivals.

View attachment 173281

Adjust for Weight Carried
Because there is no calculating "Net" that is normally a step in the standard 1v1 ELO you should insert the handicapping variable of "weight carried" into the expectancy calculation. If a horse is carrying more weight than it's opponents (Wopp) it's expected performance must decrease. Conversely if it's carrying less weight (or receiving WFA) then it's expected performance increases which ties in with strict handicapping theory.

View attachment 173282


You end up with a clean single line equation that updates on a horses ability


View attachment 173283

Couple of things that could fine tune the ratings
The "Eased Up" Winner v The Clear Winner: A horse that wins by 10 lengths and a horse that wins by a nose receive the exact same value. Over thousands of races, this balances out, but in the short term it slightly undervalues dominant victories.
Field Size Weighting - You can scale your K-Factor dynamically based on field size eg - K= Base K * SQRT(FS) so that large field performances carry more weight.
Forgive me if this has been stated, I only have time today to skim read. Consider the tracks, the average pdsBtn varies from track to track probably because of course confirmation and surface. Lingfield for eg has a lower average pdsBtn over say 8f than Kempton which when you look at the track makes sense
 
DuckandDive DuckandDive
I'd suggest switching to a Normalized Finishing Position (NFP) metric— eg.. Percentage of Rivals Beaten (%RB), rather than the weights that are in that graphic. Using a NFP metric completely side-steps the volatility of raw distance metrics (which blow up when a horse eases up at the line) and guarantees that your rating system is mathematically bounded and self-normalizing across every race.
ELO for horse racing is completely different than your standard 1v1 ELO most commonly seen used in football or tennis. Racing is a multi competitor sport and through ELO has to be treated as a series of H2H contests or a "round-robin" type tournament.
The most vital thing is "mapping" your unit currency of Ratings to an ELO point, for example if you were using "pounds" equated from beaten lengths then its vital to calibrate 1 pound to 1 ELO point otherwise you get seriously skewed situations like in Dave Dave 's ratings there where he has Masego being raised a whopping 25 lbs from running in a very weak race having been beaten 9 lengths into 2nd. True handicapping systems would have that horse running around 4-7 lbs BELOW its best ever form.
A NFP metric is bound between 1.00 and 0.00 like a probability and the mathematical "mean" is ALWAYS 0.50 in every race and over large samples of data - this makes it relatively simple to calibrate to ELO points. You can later map the values to lbs equated by beaten margins.


Calculate the Actual Outcome S𝑖
For any horse 𝑖 in a race with N runners, calculate its actual score based on its finishing position FP𝑖, where 1 is the winner
In an 11 runner race as an example a horse finishing third beats 8 rivals so (11-3)/(11-1) = (8/10) = a NFP of 0.80

View attachment 173277

Calculate the Expected Outcome E𝑖
Instead of running a complex matrix of 1v1 matchups, you can approximate a horse's expected performance against the average rating of the specific field it is facing. First, calculate the average ELO of the opponents horse 𝑖 faces in this race (Ropp)

View attachment 173279

Then, plug this into the standard logistic growth curve to find the expected % of rivals beaten.
You also need a scaling factor (D) and this is where you map it back to pounds similar to performance ratings. If you want 1 ELO point to equal 1 lb, you would have to look at historical data to see how many pounds of an edge a horse needs to beat 75% of its rivals instead of 50%. Typically, setting D = ~ 40 means a horse rated 20 lbs higher than the field average is expected to beat roughly 76% of its rivals.

View attachment 173281

Adjust for Weight Carried
Because there is no calculating "Net" that is normally a step in the standard 1v1 ELO you should insert the handicapping variable of "weight carried" into the expectancy calculation. If a horse is carrying more weight than it's opponents (Wopp) it's expected performance must decrease. Conversely if it's carrying less weight (or receiving WFA) then it's expected performance increases which ties in with strict handicapping theory.

View attachment 173282


You end up with a clean single line equation that updates on a horses ability


View attachment 173283

Couple of things that could fine tune the ratings
The "Eased Up" Winner v The Clear Winner: A horse that wins by 10 lengths and a horse that wins by a nose receive the exact same value. Over thousands of races, this balances out, but in the short term it slightly undervalues dominant victories.
Field Size Weighting - You can scale your K-Factor dynamically based on field size eg - K= Base K * SQRT(FS) so that large field performances carry more weight.

Thanks for the outline.

A while back, when I first looked at ELO for horse racing, I quickly realised there would be more nuance to the process.

GPT also suggests going the PRB route, rewarding form in larger fields..etc

1794235687689.png
---

The NFP metric could be added together to produce a rating too.

----
 
Last edited:
The little bit i can understand of this conversation got me thinking about improving horses whether that be 3 & 4yr olds in hdc or whatever.
If a horse wins from the front you can make a judgement of how much it had in hand from the manner or distance it won by but imo there is a more complicated area of a horse held up and produced to win, maybe at the furlong marker and ridden out to perhaps a length.
My thought process if there is one believes that a horse held up against inferior opposition is likely being forced to travel at a pace that doesn't truly reflect it's ability & superiority and is very often hiding it's real worth.
Every chance i won't be able to explain what i mean with this but imo we regularly see horses that appear to run beyond their capabilities because they are comfortable with the stronger pace, conversely a horse can't show it's best because the pace isn't strong enough and means it has to rely more on the final furlong or so to demonstrate the difference in that ability.
Another factor regarding reading the form is ( distance a horse is beaten ), quite simply care has to be taken not to be too trusting when say a horse is headed or dropping out of contention late on because very often the jockey will ease off and distort any true measure when it comes to pounds and lengths etc, handicapping horses is what we have but does the basics make real sense ?.....Difficult question.
 
Back
Top