Back to drawing board

I ran a system test for my bayesian system at Race Advisor forums for a few months and few thousand selections. It became clear that even though I was profitable it depended too much on the luck factor.

My system still seems to favor one selection too much which means that my odds line is not accurate as on many occasions my top ranked is at odds of close to 1.0 and then rest are way overboard. It is not uncommon to see odds of few thousand for the lower ranked runners.

Thus, I am going to rebuild and rethink my likelyhoodratios and in addition add a couple new ones as well. I am also in the process of redoing my good run neural network and that means that I am going to recalculate all of the ratings that depend on that. Meaning most of the  Suitability Score-ratings of which I have added quite a few.

I also plan to add better view, maybe chart of some sort to visualize which likelyhood ratios are the ones that make certain horse top ranked selection.

Trainer consistency per lay off range

So far I have been using days since last run on per horse basis. But for a while now I have wanted to explore that further. Article in old Smartsig sparked an idea (again!). In issue 9.08 from August 2002 (page 30) there was an article about quick return trainers, ie. trainers who have been succesful with horses that return to action within 7 days.

But I didn’t want to look only quick returners but all different day ranges. Ofcourse there are hundreds different number of days that horse can return after so I needed to group them somehow. To get some kind of idea how the runs are grouped I took data from 2012-2014  and divided them evenly to 6 groups. This lead to some interlap between certain dates and grouping was also a bit counterintuitive. For that reason I ended up with almost but not quite even grouping as follows.

Days sinceGroup
No data-1
00
1 - 71
8 - 142
15 - 213
22 - 284
28 - 505
51 - 2006
200+7

After determining group for each run in my database I calculated two values for each run by comparing trainers success with that Days since-group. First, Suitability Score by comparing ratio of good and bad runs and second strikerate for that trainer in that Days since-group.

Hypothesis was that higher the suitability score or strikerate in a group then higher the strikerate these horses would have. And this was true to certain extent. Two charts below from 2013 and 2014 show strike rates on a range -100 to 100 for suitability score and 0 to 100 for strike rate.

Interestingly strikerate drops as as we get to top end of the range as was the case with trainer form as well. This might partially be due to smaller number of samples.

 

Trainer form

I started thinking about how to measure if trainer is in form or not. As I already determine if a run was a good or not, why not use this for all of trainers horses and not only per individual horse.

So, I calculated two different measures in similar way as suitability score. One with score since the beginning of my dataset (2012) called Tform and one for 20 previous starts of trainers horses, Tform20. Idea was that if Tform20 was higher than all time Tform then trainer would be considered to be in form and if it was lower trainer would be considered to be out of form. Tform rating has range from -100 to +100.

Below is a chart showing strike rate based on Tfrom and for different rating ranges. Included is line for all, only those considered in form and those considered to be out of form.

Interestingly there is pretty steep drop at top end of the scale while for most of the time strike rate increases rather linearilly as Tform rating increases. And as planned, in form trainers have slightly higher strike rate almost throughout the range.

Let’s see if situation changes when we use Tform20 as the base rating.

Interesting. In form trainers don’t differ that much from average strike rate for given rating range and out of form trainers perform really erratically.

One reason could be that I have only two years worth of data here, 2013 and 2014. I need to see how this develops.

In last chart let’s look at how many runs there were in each rating range for both of the ratings.

First view on Suitability Score results

Finally managed to do some analysis on effect of Suitability Score to strikerate. Below is chart where data from 1st Nov 2013 to 31st October 2014 is charted base on different Suitability scores. Scores mobe throughout the range og -100 to 100.

Different scores are:

  • Weight: +/- 5% from the current days weight carried
  • Class: Same purse class (my own class division based on purse of winner)
  • Going: On same going
  • Distance: Rounded to full furlongs
  • Type: Same type of race, Flat, AW, etc.
  • CGDT: Same (Purse)Class, Going, Distance and Type as today

Progress in my hunt for a good run

Now that I finally found  a way to calculate if a race was good, bad or merely OK. I took all races run between 1.10.2012 – 30.9.2014 and looked at last run each runner had had and determined if it was good bad or ok.

Now I was able to calculate if my method was up to anything, reasoning is that if last run was a good one then that should improve the odds of winning for that horse. And it actully did, from the table below you can see how performance in previous race affected strike rate.

LTOSR%ROI%
Poor6.33%-13.90%
Ok9.62%-5.44%
Good15.34%-5.69%

None of the the above made any profits but at this point I am more interested in ways that let me forecast the winner and I am happy with anything that has a better strikerate than choosing randomly. And in races in question betting randomly one would have achieved strikerate of approximately 10%. My good runs last time out perform better than that and as importantly, races deemed bad perform worse.

I didn’t expect to find profits by using only one indicator so I was surprised that Hunter Chases and NH Flats combined made almost 600 points of profit over two years using just this one indicator. And that is over almost thousand races with roughly 450 winners. Not too shabby I’d say.

1 2