Intro
For those who follow me on Twitter, I have made a few posts about the Curlin and Jim Dandy Stakes (for those who don’t I’d appreciate a follow @john_camardo). Yesterday, I posted a fair odds table for the horses that ran in the Curlin. I can’t tout because the horse that I had as the likeliest winner did not win. What I would point out is that the algorithm I have showed the heavy favorite as likely a winner as a few other horses. I hope this post can aid your betting – not necessarily handicapping – in selecting the horses whose odds appropriately reflect their chances of winning.
A quick note
I have been working on building a horse racing database and machine learning models for just over a year now. I began last summer just trying to collect data, moved on to cleaning and analyzing the data (check out my other posts on ITM – thanks PTF and JK for giving me a platform), modeling and now automation of my process using cloud infrastructure. These models are a constant work in progress and I welcome any constructive feedback on anything I’ve written in here.
Pace: first call
Horse | PP | Projected first call |
War of Will | 6 | 24012.076 |
Global Campaign | 4 | 24195.713 |
Tax | 2 | 24240.133 |
Tacitus | 5 | 24301.912 |
Mihos | 3 | 24625.365 |
Laughing Fox | 1 | 25119.832 |
I have an algorithm that uses prior speed to first point of call to predict today’s speed to the first point of call. My algorithm predicts the above to be the order of the horses at the first point of call. Note here that War of Will breaks from the 6 post and Global Campaign the 4 – so we will see if they actually get to the lead.
Also important to note here – Laughing Fox looks to be over a second slower than the leader.
Second call
Horse | PP | Projected second call |
War of Will | 6 | 47984.867 |
Tax | 2 | 47987.02 |
Tacitus | 5 | 48102.09 |
Global Campaign | 4 | 48248.98 |
Mihos | 3 | 48716.773 |
Laughing Fox | 1 | 48895.766 |
My projections don’t show a major change in the order. Tax is projected to be much closer to War of Will, and Laughing Fox is still just about a second off of the lead.
Speed figs
Horse | Speed figs |
Tax | [95.8, 80.7, 91.8] |
Mihos | [76.0, 78.0, 90.0] |
Laughing Fox | [94.9, 95.3, 83.0] |
War of Will | [93.1, 102.5, 96.3] |
Global Campaign | [93.0, 85.0, 83.0] |
Tacitus | [100.5, 97.1, 97.9] |
My personally modeled speed figures are located on this chart. They use the Beyer methodology, but I don’t intervene and adjust anything. What the computer tells me is what you see.
War of Will’s number two backs is the biggest in the field. Tacitus holds a figure not too far behind that. After that it is virtually tied between Tax and Laughing Fox, with Global Campaign not far behind. Mihos has not run a comparable number to any of these in his last two races.
So take that for what you will. These numbers are reflections of how horses ran in their prior races, not necessarily how they are going to run today, or how much they may have improved since their last efforts.
Fair odds and win probability
Horse | PP | Morning line | Fair Odds | Win % |
Tacitus | 5 | 1.4 | 1.6 | 32% |
War of Will | 6 | 2.5 | 1.9 | 29% |
Global Campaign | 4 | 2.0 | 4.3 | 16% |
Laughing Fox | 1 | 15.0 | 5.2 | 14% |
Tax | 2 | 8.0 | 10.4 | 7% |
Mihos | 3 | 15.0 | 29.6 | 3% |
I won’t get too into the weeds about how this all works, but in a nutshell, I look at somewhere around 50 factors varying from beaten lengths in last race, to speed figs in the last four races, to the trainer’s weekly win percentage. My computer (in the cloud – love saying that) looks at all of these factors, and decides across all of the races I have data for which were most important in determining the speed that a horse ran. Once I have a formula that determines how the factors projected out a horses’ speed, I use data from the horses past performances, and race day data (ML, PP, jockey, etc.) to project each horse’s speed, and I also come up with some amount of variability associated with that prediction. I then create a simulation in which I use the predictions and variances to project all runners’ speeds simultaneously and select the fastest as the winner. After I do this 100,000 times and tally the number of times each horse won, I am able to project win probability, and use that to convert to “fair odds”.
Phew.
So now we get to the final rundown. My algorithm puts Tacitus as the most likely winner, with War of Will not too far behind that. What I find more interesting though is that prices on Global Campaign and Laughing Fox – Global Campaign being an underlay (based on ML) and Laughing Fox being an overlay. It is for this reason, that in most of my plays, I will be keying Laughing Fox in underneath positions (for vertical plays). One of my plays may be something like a Trifecta, 5,6/5,6/1 for a few dollars to try to unlock inherent value I believe to be in Laughing Fox. I say this recognizing that he will be pretty far back early in the race (with not too fast a pace nonetheless), and may potentially be compromised by his running style. I do think that playing this for maybe $10 or so could produce a pretty big payoff.
I may also play War of Will to win (depends on his price!) especially if a lot of money gets sunk into Tacitus and he stays near his morning line of 5/2. Beware here though, this guy has been through quite a bit having raced in all of the Triple Crown races – may need a freshening.