Derby Profile 5

Final stage of our analysis and we need to bring together all the individual AE values for each horse on each of the four features, draw, jockey, pace and last race distance. This analysis has really been a about illustrating a method of evaluating horses. The fact that it happens to be the Derby is not particularly relevant but given it is a high profile race it probably helps to sell the lesson and of course we are all more likely to be familiar with the horses in question and the race.

To get a final AE value for each horse we need to multiply the individual AE values for each horse. In other words we need to multiply a horses

pace AE x Jockey AE x Draw AE x Last race distance AE

With these small samples some AE’s can come out zero dues to no wins which would of course render a horses final AE as zero, a rather unrealistic value. There are only one or two of these so I have used an AE of 0.8 knowing they do not artificially elevate a horse into a high ranking position.

Horse Draw Jock LastDist Pace Total
Sir Dragonet 1.02 0.72 2.04 1.69 2.531
Madhmoon 1.5 1.15 1.28 0.89 1.965
Anthony Van Dyk 1.5 0.72 2.04 0.89 1.960
Broome 1.5 1.15 0.64 1.69 1.865
Norway 1.02 0.72 2.04 0.89 1.333
Hiroshima 0.32 1.15 2.04 1.69 1.268
Bangkok 1.02 1.15 0.64 1.69 1.268
Humanitarian 1.5 1.15 0.64 0.8 0.883
Japan 1.02 0.72 0.64 1.69 0.794
Circus Maximus 1.5 0.72 0.64 0.89 0.615
Line of Duty 0.32 1.15 0.64 1.69 0.398
Telecaster 0.32 1.15 0.64 0.89 0.209
Sovereign 0.32 0.72 0.64 0.89 0.131

The interesting rating is that of Telecaster who looks to have a lot to do from his draw. If he gets lit up as he has in his last two runs he will find the draw and that hill quite taxing.

Let me know who you fancy in the comments section.


Derby Profile 4

In this penultimate Derby post I will look at a method that not only allows me to combine the various features studied so far but also take account the distinct possibility that a big priced winner may be distorting those profit and loss figures for an individual element. At the conclusion of the next blog entry we will have a rudimentary set of ratings for the Derby that will allow us to rank and hence make some selections based on the ratings.

An AE value is an actual divided by expected value. Let me illustrate how they work by examining the high,low and mid draw features. If we take all horses over the last 10 years that were drawn low and count up how many won the Derby we have a number which we will call actualWins. Now if we take the Betfair SP of each one of the low draw runners and calculate the chance of winning according to each Betfair SP (for example a BFSP of 2.0 would be a0.5 chance, a BFSP of 3.0 would be a 0.33 chance) and then add these up we have what I will call expectedWins. If we now divide actualWins by expectedWins we have our AE value for the low draw. Any AE value above 1 means more horses won than the odds suggested and any value below 1 means fewer horses won than the odds suggested. The AE value can paint a more accurate picture because it takes into account the odds unlike flat level profit and loss reporting. It also gives us an indication of whether the public is over betting or under betting a feature. In the long run this is more important to us than finding features that predict winning or losing (yes I said it).

Here is the AE calculation for a low draw

actualWins = 1
expectedWins = 3.07
AE value = 0.325

Clearly low draw horses have been winning at a far lesser rate than their odds would suggest although the small sample size we are using here means we should approach this number with some caution. It is likely however given our knowledge of the conformation of the course that the AE value is somewhere below 1

The AE values for mid and high draws are as follows

Mid draw AE = 1.5

High Draw AE = 1.02

Notice how the AE values somewhat contradict the profit and loss figures in the previous blog where high numbers produced by far the best profit, no doubt swelled by a big priced winner.

In the final blog entry before the Derby I will put all the pieces together to produce a set of ratings.

Please leave comments if you wish and do rate the article below.

Derby Profile 3

The derby mount merry go round will take shape over these final days before the race. What will Ryan Moore ride, does he have full choice over the O’brien entries after all he was not riding the current derby fav’ last time out. A couple of features I am going to look at in this post are the draw and how important is it for the jockey to have ridden the horse last time it ran, after all one would think familiarity would be an advantage.

Here is the profit and loss once again to a 1pt stake before commission at Betfair SP.

Same Jockey 51 bets PL -8.01
Different Jockey 54 Bets PL + 13.91

It certainly does not seem to matter if the jockey has not ridden the horse on its last run, if anything form a betting perspective it may be an advantage.

So what about the draw over 12f at Epsom. The dominant factor here appears to be the scramble for the inside on the first bend which comes pretty quickly after the start. The fact that a second bend in the opposite direction hits the runners after a further couple of furlongs does not seem to be the major factor when analysing the draw. For the analysis I split the draw into lower third, mid third and upper third of the draw based on number of runners.

Low draw Bets = 43 PL = -39.1
Mid draw Bets = 46 PL = -20.6
High draw Bets = 43 PL = +52.3

Not surprisingly with a high draw being advantageous for that scramble to the first bend, high draws are not fully compensated for by the market. A notorious low draw failure last year being Saxon Warrior. Interestingly hold up horses as previously discussed still improve from having a high draw. No doubt they are able to take a comfortable mid pack position from the draw whilst hold ups drawn low have no option than to surrender large amounts of ground as they are forced to drop in to the last third of the field.

The question now is what to do with this information. I will come to this in the final Derby blog before race day. As always leave a comment or click on the rate button below.

Derby Profile 2

Be under no illusion the Epsom 12f takes some getting. Unlike say the Arc de Triomphe where 10f horses can dominate you really do have to be a 12f horse if you are going to win the Derby. Part of the reason for this is the frantic pace often set. The nature of the race and the scramble for position on that first bend tends to guarantee this. The other factor is of course the track. That steep climb when no one can afford to go easy burns a lot of petrol.

With this in mind does race running style offer any clues to long term Derby profit ?. Splitting runners into one of four categories (Led, Tracked, Mid division, Held up) based on the style of their last run prior to the Derby produced an interesting set of results to blind 1pt bets

Held Up Bets 32 PL +44.8
Mid Div Bets 12 PL -12
Tracked Bets 49 PL -14.98
Led Bets 12 PL -12

The domination of profit around those horses likely to not get involved early is striking. The next obvious question is how would one fair in running. Adding 10% to the Betfair SP as a minimum ‘ask’ for an in running bet on all hold up horses, ie if its 10.0 on Betfair ask for 11.0, produced the following.

Held Up Bets 31 PL +53.5

Only one missing (unmatched) bet but an increase in profit. How far can we go ?

Asking for 20%

Bets 28 PL +55.5

Asking for 30%

Bets 28 PL +62.5

Asking for 40%

Bets 28 PL +69.4

I think you get the picture, such is the combative nature early on in the Derby you would have made decent returns asking for elevated prices in running on hold up horses. You can check out hold up horses on the day of the race via the SmarterSig pace figures where anything below 0.4 is deemed hold up.

Derby Profile 1

Less than a week to the Derby and for the first time, certainly that I can remember we have potentially the first two in the betting yet to be entered. Both colts will need supplementing into the race after connections had presumed their horses either not mature enough or perhaps not good enough. Both horses proved them wrong by winning their trials.

Where do we start when looking at past running’s of the Derby for clues about what could win this years race. Probably the most talked about feature will be whether each horse will get the trip. In plain English, will it be suited to running over 12 furlongs. It is kind of like asking whether Usain Bolt will get 400m. Some have already answered the question by running over 12 furlongs but others have not and for these horses breeding, confirmation and a bit of guess work is all we have.

Let us take a look at the previous 10 Derby’s in terms of the race distance each horse ran over in it prior race. the data is for UK races only so the odd French or Irish based raider is not accounted for unless they trialed in England. The Profit or loss by distance is to Betfair SP before commission and to 1 point stake.

Last Race dist 8f Bets = 19 PL = +8.6 VarPL = +1.19
LRD = 9f Bets 1 PL = -1 Varpl = -0.02
LRD = 10f Bets 42 PL = -31.95 VarPl = -0.98
LRD = 11f Bets = 21 PL = -21 VarPL = -0.81
LRD = 12f Bets = 22 PL = +51.25 VarPL = +1.08

The best race distance trials have been 8f and 12f although quite why the distance inbetween should be so poor is questionable. What it does show is that we should not be put off an 8f horse simply because it has not run over something approaching 12f.

What about sifting out those that did not run close in their last race?. Checking all those who ran above 4th place gave the following.

8f bets = 7 PL = -7 VarPL = -.053
10f bets = 4 PL = -4 VarPL = -0.06
11f Bets = 3 PL = -3 VarPL = -0.005
12f Bets = 1 PL = -1 VarPL = -0.008

Clearly unplaced horses have done poorly over the last 10 years and we could unless with really good reason throw these horses out of 2019 calculations.

The figures with these horses removed reads.

8f bets = 12 PL = +15.6 VarPL = +1.72
10f bets = 38 PL = -27.95 VarPL = -0.917
11f Bets = 18 PL = -18 VarPL = -0.807
12f Bets = 21 PL = +52.25 VarPL = +1.08

Is it important that the horse won last time out ?. Not particularly, only 8f horse PL held up for those that won last time out.

I will look at some other features during the week but in terms of this single distance criteria it would appear that the value lies with 8f win and placed horse or horses that ran but did not win last time over 12f.

Machine V Hugh Taylor

Can a Machine Learning algorithm outperform Hugh Taylor, lead tipster at ATR. Hugh regularly ends a year up to the tune of +30% ROI. An impressive haul but can a Machine Learning algorithm do as well if not better ?.

If you are unsure what I mean by ML then check out my earlier blog on this topic

For the last couple of weeks I have been tweeting the predictions of an ML algorithm I have devised based on the ideas of big race trends. Trend analysis involves taking a few parameter and from past runnings of the race in question and applying them to the up coming race. For example we might find that no horse has won the Grand National in the last 10 years who is aged over 10 (please dont check this I have just made it up as an example) so we then throw out all horses aged over 10 and then move onto the next parameter. This approach then whittles the runners down to a shortlist or perhaps even one runner. It is a bit brutal in that you throw horses out rather than update their likely hood of winning based on a metric. ML might be an interesting approach to evaluating past big race data mainly because the data although sparse is at least specific to the race and ML takes a more nuanced approach to evaluating the parameters. An investigation would also answer the question, does this approach actually help find profit.

My intention was to keep the tweets going until the end of the year and see what is produced. One or two big races per week can be evaluated and by the end of the year I should have around 40 or 50 races analysed to Betfair SP.

My curiosity and impatience got the better of me especially after it had just found the winner of the Bet365 Gold Cup at Sandown. I decided to take a look at how the approach had faired in 2018 using data from 2009 to 2017

The code took about 3 hours to write and debug and the selection of races means trawling through the results to find the pertinent race characteristics to grab the past data. For example 14f, greater than 100k, handicap at York in August. So far I have run the code on 13 races from 2018 and the results are as follows.

Note the code produces a short list of 5 with ratings for each

Top rated bets 13 PL before comm’ +49.87
Top two rated bets 26 PL +43.3
Top three rated bets 39 PL +82.5
Top 4 rated bets 52 PL +69.5
Top 5 rated bets 65 PL +61

Among the winners top rated was Euchlen Glen at 31.0 in the John Smiths Magnet cup

I will update this post when I have entered a few more races for 2018 but at the moment there is some promise that the key to today’s big race lies in previous years races and Machine Learning.

FOOTNOTE – Hayadh 3rd top in the Thirsk Hunt Cup wins today at BFSP 21.0 🙂

Jockey Efficiency II

In the first article on this topic I looked at a possible method for evaluating jockey merit than the good old seat of the pants media mush which I have to admit I too am guilty of. We trust our eyes when evaluating jockeys and this is a very dangerous things to do. Some time ago I wrote a piece on Jamie Spencer which suggested that he was not a poor jockey on hold up horses as many people’s eyes would lead them to believe. Only a couple of days ago one pundit was eulogizing about another wonderfully paced and timed run by James Doyle but is our view of Jockeys accurate and if it is not can a more accurate basis be found and perhaps even promote a profitable way forward. No promises here but crunching data can sometimes be fruitful in the area under investigation and other times it provides insights in other unexpected areas.

A number of questions were posed at the end of the last article and in this piece I want to address one of them first, namely is this approach of attaching a number to jockeys based on their inefficient run rate a useful metric or not. The first thing I did was to take a look at those top jockeys and see if the ‘efficient’ ones had produced a lower betting loss than the less ‘efficient’ jockeys going forward into 2019. I did not update the figures as I progressed into 2019 but this could be an option. For now I was taking the snapshot from 2017/18 as per article 1 and then testing in 2019.

De Sousa and Crowley were two ‘efficient’ jockeys and I tested them first. Between them there had been to BFSP before commission

38 Bets PL +1.38 roi +3.6% VARPL +5.23 VarROI +33.1%

If you are unfamiliar with VarPL this simply means putting a stake on to win 1 point or £1 if you like. For example to win 1 pt at 2/1 you stake 0.5 pts.

Two ‘inefficient’ jockeys James Doyle and Andrea Atzeni

Bets 79 PL -9.37 roi -11.8% VarPL +5.53 VarROI +17.8

The problem here is very small samples and certainly not enough data to get excited about. The next step I decided upon was to check the profit and loss of betting all jockeys in the sample after splitting them into two groups. The first efficient group all had inefficient run percentages that were below the rolling average. If I am losing you here reread the first article. The second inefficient group had inefficient run percentages that were above the rolling average.. The base PL results were as follows

Efficient Jockeys

Bets 4039 PL -315.48 roi -7.8%

Inefficient Jockeys

Bets 2980 PL -152.87 roi -5.12%

At first sight this looks a little disappointing, I was hoping inefficient jockeys would lose more in the pound. When I checked the more reliable variable returns however things looked a little different.

Efficient Jockeys

Bets 4039 VarPL +29.9 Varroi +4.53%

Inefficient Jockeys

Bets 2980 VarPL -28.4 Varroi -5.6%

Things now look a little more predictive. This data is at an early stage and will need tracking into 2019. Hopefully I will report back later in the year.
As always please tick the stars on how interesting or helpful you found this article and leave comments if you have queries.

Jockey Efficiency

A few years ago I wrote an article analysing the relative merits of various jockeys when it came to judging and controlling pace. Getting this right can be the difference between winning and losing a race and the whole exercise was prompted by regularly seeing the stupidity of some jockeys who when presumingly instructed to make the running, would rather engage in a cut throat contest for the lead with one or more other runners than go back into the paddock having
not fulfilled orders. The jockey who came out top when it came good to pace judgement was the visiting Australian jockey Kerin McEvoy.

We are now moving into an era where nailing down the efficiency of a race or how efficiently a horse expends its energy through a race can be more objectively measured. Sectional times, albeit form a limited number of courses, give us furlong by furlong split times and hence the measurements to judge whether a race has been run evenly. Attheraces and Simon Rowlands are to be congratulated on this front with the publication of sectional times and certainly for me ATR is the go to web site these days over the Racing Post.

My first approach to this analysis was to look at the percentage of inefficiently run races ( as defined by ATR) each jockey had run for 2017 and 2018. I can then in a follow up article look at how these jockeys have progressed in 2019 and see if a pattern is emerging with individual jockeys. I only considered jockeys who had been engaged in at least 100 non efficient rides. Here are the top and bottom 10 jockeys. Top of course meaning they have had the highest number of inefficient rides.

Jockey Ineffic’ Effic’ Ineffic’ %

James Doyle 71 155 31.4159292
J P Spencer 75 165 31.25
Andrea Atzeni 68 154 30.63063063
Harry Bentley 58 142 29
M Dwyer 71 193 26.89393939
P J McDonald 82 260 23.97660819
R Havlin 70 223 23.89078498
P Mulrennan 61 197 23.64341085
R L Moore 30 100 23.07692308
Daniel Muscutt 46 162 22.11538462

J Garritty 24 175 12.06030151
Barry McHugh 22 161 12.02185792
C Lee 15 111 11.9047619
Connor Murtagh 15 111 11.9047619
Ben Curtis 48 357 11.85
Nathan Evans 20 152 11.62790698
P Mathers 27 242 10.03717472
Nicola Currie 37 340 9.814323607
Lewis Edmunds 16 158 9.19540229
Callum 14 178 7.291666667

The first thing that struck me was the predisposition of jockeys with higher general win strike rates to have higher inefficient ride percentages. It could well be that riding more horses with winning chances forces a jockeys hand when having to make decisions about where to place and pace a horse within a race. The following graph shows the relationship between jockeys rank strike rate and
inefficiency percentage. (note the higher the number on bottom X axis the less efficient the jockey)


Let us revisit the figures but ranking the jockeys in order of jockey overall strike rate rather than ranked in order of efficiency.

The top 10 jockeys in terms of overall strike rate can now be examined in terms of their relative efficiency measure

Jockey Ineffic’ Effic’ Ineffic% W/L%
James Doyle 71 155 31.4159292 23.43612335
R L Moore 30 100 23.07692308 21.65242165
S De Sousa 76 374 16.88888889 18.93638171
Jim Crowley 40 175 18.60465116 18.49935317
Andrea Atzeni 68 154 30.63063063 18.117854
R Havlin 70 223 23.89078498 17.37142857
D Tudhope 56 247 18.48184818 16.63172607
Oisin Murphy 112 460 19.58041958 16.36455186
A Kirby 93 389 19.29460581 15.59905101
J Fanning 90 367 19.69 15.47

To my surprise James Doyle has the highest percentage of inefficient rides. I am surprised because my subjective eye has always told me that he tend to judge pace quite well. I am not saying that these figures prove otherwise but they do make me think again. Ben Curtis gets a mention as being particularly efficient or perhaps he has just been lucky enough to ride no recalcitrant horses.

A final way of looking at the numbers is to create a rolling average of jockey inefficiency percentages down the ranked table, for each jockey
create a an average of the surrounding x jockey Ineffic%. We could then check which jockeys are above or below their designated average by say 5 points with above being ‘inefficient jockeys’ and below those that have tended to run efficient races.

Those jocks with an inefficiency percentage less than -5 (inefficient) and those with a figure greater than 5 (efficient) are as follows

Jamea Doyle -8.9
S De Sousa +5.6
Andrea Atzeni – 6.5
Ben Curtis +5.9
J P Spencer -10.5
Callum Rodriguez + 11.3
Harry Bentley – 8.08
Ben Curtis +5.1
P Mulrennan -6.9
Nicola Currie +5.2
Daniel Muscot -6.6
M Dwyer -8.7
T P Quelly -5.3
P Mathers +5.8

In the next article I will take a look at 2019 and see if the trends have continued or reversed for the efficient/efficient riders. I will also
consider whether running position plays a part. Perhaps a better judge of race riding nouse is when the jockeys are on front or prominent runners.
With these horses they may have a greater part to play when it comes to getting it right. If you are riding an out and out hold up horse it could well be that you are greater hostage to fortune. Also what do these figures mean for the pound in your pocket ?.

As usual comments welcome and click the rate this buttons to show your interest/satisfaction with the content

Machine Learning Predicting Betfair Price Movement

Knowing when to bet can be invaluable tool in the bettors armory. The extra percentages that can be added to ones bottom line by solving this particular timing problem can be significant. Of course we are never going to get it right all the time but more often than not will certainly do.

Knowing if a price is going to move in or out has certainly had plenty of coverage inside and outside of betting. Momentum, weight of money, ARIMA the list go’s on but I am going to take a look at the simple relationship between Betfair 10am prices and bookmaker prices to see if there is any relationships that predict whether the Betfair 11.30am price will be shorter or longer than the 10am.

To keep things simple I will only use races in which the same number of runners existed at 11.30am as 10am in order to avoid the price deduction problem. I am also going to see if various Machine Learning algorithms perform differently with a view to seeing if one stand out as top dog.

I am going to be using Python and the Sklearn library. Here is the program

# import numpy and pandas
import numpy as np
import pandas as pd

# Read in the data file into a pandas dataframe called dataset
dataset = pd.read_csv(“ammlprices.csv”)

# Take a look at the first few rows of the dataset
print (dataset.head())

## The above produces the following output
Horse 888sport Bet 365 Bet Victor Betfred Black Type \
0 Appenzeller 0.971429 0.971429 0.971429 0.971429 0.971429
1 Perfect Refuge 1.000000 1.000000 1.000000 1.083333 1.083333
2 Foresee 1.000000 1.000000 1.133333 1.133333 1.307692
3 Il Sicario 1.100000 1.000000 1.000000 1.000000 1.000000
4 Tesorina 1.240000 1.240000 1.240000 1.240000 1.240000

Coral Ladbrokes Marathon Bet Paddy Power William Hill DriftDrop
0 1.046154 0.971429 0.971429 0.971429 1.046154 0.0
1 1.083333 1.083333 1.000000 1.000000 1.083333 0.0
2 1.307692 1.307692 1.000000 1.000000 1.133333 0.0
3 1.000000 1.222222 1.000000 1.000000 1.000000 1.0
4 1.240000 1.240000 1.127273 1.240000 1.240000 0.0
In [29]:

The above shows the book percentage ratios of different bookmaker odds to Betfair odds at 10am and the final column shows whether Betfair dropped or drifted at 11.30am. There are 28,264 rows of data before NA’s are dropped (see below)

# drop any rows that have null or missing values in them
dataset = dataset.dropna()

# Seperate the data features into X and the prediction target (DriftDrop) into y
X = dataset.iloc[:,1:-1]
y = dataset.iloc[:,-1:].values
y = y.ravel()

# Find what the baseline performance ie if we simply predicted all zero or 1
print (y.mean())

print (1 – y.mean())

So the baseline is 0.5212 or 52.12%, we need to be beating this

# Run the data through a selection of algorithms to see which performs best

import matplotlib.pyplot as plt
from sklearn import model_selection
from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeClassifier
from sklearn.neighbors import KNeighborsClassifier
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
from sklearn.naive_bayes import GaussianNB
from sklearn.svm import SVC
from sklearn.ensemble import GradientBoostingClassifier

models = []
models.append((‘LR’, LogisticRegression()))
models.append((‘LDA’, LinearDiscriminantAnalysis()))
models.append((‘KNN’, KNeighborsClassifier()))
models.append((‘CART’, DecisionTreeClassifier()))
models.append((‘NB’, GaussianNB()))
models.append((‘SVM’, SVC()))

seed = 7
results = []
names = []
scoring = ‘accuracy’
for name, model in models:
kfold = model_selection.KFold(n_splits=10, random_state=seed)
cv_results = model_selection.cross_val_score(model, X, y, cv=kfold,

# boxplot algorithm comparison
fig = plt.figure()
fig.suptitle(‘Algorithm Comparison’)
ax = fig.add_subplot(111)

The above produces the following box plot


We can see from above that the GradientBoostingClassifier has performed best with a score of 0.572 but only just ahead of LDA

A 5% gain is not too bad without too much thought about data representation.

Feature importance tells us which features had the greatest say in the predictions. For the GradientBoosting algorithm they were

[0.06603342 0.05788538 0.36951438 0.08592476 0.03415262 0.03363296
0.03779182 0.09169309 0.04229201 0.18107956]

The third and last features were the most significant ie BetVcitor and William Hill

Book ratios may or may not be the best description and if you have thoughts on this or any other aspects please feel free to comment.

Sectionals an Idiots Guide Part 1

If you have been hibernating for the last five years or perhaps you are easily distracted by the gradual overturning of Brexit or the idea that animal cruelty is the reason for Horse Racing’s decline with the betting public, then you may have overlooked the increasing prevalence of electronic sectional times. At the Races have been publishing sectionals for quite a while now on their web site and they form an integral part of their daily form reporting. It is refreshing to see a racing publication actually attempt to innovate in its provision in a manner that benefits punters, unlike other publications that appear to do exactly the opposite.

Perhaps the main informational gain from sectional times is that they can tell us how a race has been run. We have long had final times for races, for example a 5f race at Epsom may clock 60 seconds but what we have not been aware of is how fast or slow was the first furlong, the second furlong and so on. This is what we mean when we talk about sectionals.

When I was in my twenties and out running 10k road races I recall one particular summer when I was in rude health and fitness. In training I could run 8 miles at 6 minute mile pace. One particular summer Sunday I arrived at a 10k race just outside York and decided to see what it would be like to attempt to run with the elite runners from the start. I wanted to experience that opening pace and see how long I could go with it. If you had asked me before the race what I thought would happen I would have guessed staying with them for maybe half a mile at best. What actually happened shocked me, not only could I not lie up with the leaders at all, well maybe 50 yards, but the effort of trying decimated my whole race. I never attempted it again.

So how can we attempt to measure whether a horse has run an even sort of race which like me maximizes its chance of running its best overall time or perhaps the way it has run has disadvantaged it and of course that disadvantage does not have to come from a kamikaze opening section. It could be suicidal burst somewhere in the race akin to Said Ouita’s outrageous run for home from 500 metres out in the 1983 world athletic championships, handing the gold to Steve Cram.

One approach would be to calculate average times for various sections of races by race distance. In other words what is the average time (sometimes called par time) for the first 2f of say all 5f races. The problem with this is our courses are so different in conformation that the waters would be muddied by a course having a downhill opening section like Epsom compared to a flat or uphill section on another track. We need therefor to calculate average times for sections for each track. There are still problems however, what about the going. A race may appear to have a slow sectional but in fact we are comparing the race run on soft going with the par sectional that on average has been calculated from good going.

In attempt to get around this Timeform have come up with what we could call an in race method of evaluating pace so that we can evaluate whether a horse within a race or the race overall has been run fast, even or slow in terms of its early pace. Let us take a simple example with nice round numbers.

Slowcoach runs in a selling plater over 5f at Epsom, he is particularly slow and finishes the race in 100 seconds covering the final 2f in 30 seconds. We can calculate the relationship of his final 2f to his overall time with a little Math.

His overall time we will call OT
His final section time we will call fst
The distance of the final sectional we will call sd
The overall race distance we will call D.

The relationship between the sectional time and his overall time can be expressed as

(OT/fst) X (sd/D) X 100

or in Slowcoach’s case

(100/30) X (2/5) X 100 = 133.33 (race finish percentage for Slowcoach)

Now this is an extreme example after all Slowcoach is pretty darn slow. It’s also a number that may say something about how he ran his race (more on that later although a number like 133.3 might suggest he stopped for a nibble of grass after 2f) but what about how the race was run overall. I mean I ran that 10k race at an inefficient rate for me but maybe the winner ran an even race for him. We can carry out the same calculation for the winner of Slowcoaches race and hence get a number for his/her performance in terms of final sectional vs overall time. This may help us to get a picture of how the race was generally run or at least in terms of the winner.

Let us imagine the winner comes out with a race finish percentage figure of 101.5, the problem is we still do not know what that means. Let’s face it the final uphill 2f at Beverly is likely to produce bigger fst numbers in that equation than the final downhill 2f at Epsom. If you play around with that fst number above you will see that if you increase it the final number gets smaller. So a smaller final number means the horse must have gone faster early in the race hence the increase in the final section or fst time (or perhaps the last 2f is akin to Mount Everest). That is the first thing to take out, bigger race percentage numbers eg 133.33 mean slower early pace. We still do not know if 101.5 however represents fast even or slow early pace unless we have some benchmark to compare to. What we need is an average or median for races run at that track over 5f, in order to get around the Mount Everest problem. If the median comes out at 100 then we know that the 101.5 winner has run slightly slower early on than is perhaps ideal. If his final number is below 100 then he has run faster than ideal early on.

Of course different tracks and distances will have different medians for these race finish percentage numbers, they will not all be 100 but they all give a benchmark with which to compare a horses run with on that particular track.

Try calculating the race finish percentage figure for the following horse using the last 2f as the final sectional fst for this Lingfield race over 8 furlongs.

DIVINE MESSENGER 2f-1f 11.0s 1f-Finish 11.6s Finish/final time of race 97.2s

Now check out your result at by clicking on the sectional tools tab at

One final point, ATR has a race final percentage figures displayed next to the hotbar. For Divine Messengers race its 107.0. This is not the same as Divine Messengers race percentage figure which is 108.0. This is because the race percentage figure of 107.0 is calculated as follows

Take the race leader time at 2f out, Majestic Moon 74.5
Subtract it from the race winners final time of 97.2 giving 22.7
Use this as the final sectional time in the equation

This is a tricky subject so please feel free to correct any misunderstandings in the above. Please indicate how helpful this was below