J
JamesSmith
No, I have about 30 programs on the go.
I have 2 to process the horseracebase results file each day, which produces three database files (trainers, races run, runners) which are then accessed by other programs depending on what I want to do. This could be a single program, but by spplitting it into 2 at a convenient point I can examine the figures being produced and see if I need to add anything - for example those days you'll see in my early days thread where Mike and I discuss some (usually Irish) meeting where the times or distances were clearly not accurate.
I have a program that downloads race time info from Timeform and RP, which Mike originally requested and has proved very useful on a daily basis, because it turns out that nobody reports race times that accurately and you can spot the dodgy times by comparing RP to a.n.other. I got fed up hand cranking edited times into my daily data download so I have another program that will take my list of times, once I've satisfied myself it's correct, and goes back to the HRB file and corrects the times in it. (Consequently the processing of reuslts each day is usually a case of going round the loop 2 or 3 times until I'm happy the data is correct).
I then have programs to check how the ratings performed the previous day which produces the list each evening that I include as 'yesterday' in my post, it also stores data in another csv on each runner, with lots of data about the race it ran in, weight carried, ratings... all sorts - I can then use this file to quickly check all sorts of things, for example I might want to see how the top 2 rated in 5-7f handicaps on good going and fields of 10 runners or less got on, this lets me do that easily. I also have a program checking how the filter list performs each day, that works in very similar fashion.
I have 2 programs (again it's one job with a break in the middle) for keeping tabs on the win rates of the ratings on each course each day, and another program that compiles trainer and jockey stats across 5 categories - NH Chase, NH Hurdle, NH Flat, AW, Turf.
That's the daily reasults processing done - the first bit checking the results data is correct can take anything from 10 minutes to about 45 minutes, depending on whether I need to call up race videos to hand time the race (double checking times), I also check the BHA webiste for rail movement info each day as I do the results. Once the basic results data is checked the rest is a case of running that other handful of programs, typically each one takes a few seconds to run and all I have to do is type in a results file number and the programs do the rest.
After downloading the daily card information from HRB I then run my RP card reading program to collect the RPR data etc, then I run a few card generating programs.
One is my main daily card processor, which takes about 10-15 minutes, depending on number of races, to read the HRB card in and then load in all the various database files it needs - ie the races, runners, trainers files, plus those jockey/trainer stats, course win rate stats, and so on, it then goes off and calculates all the weight adjusted ratings, works out the order of the rated runners, finds things like the highest win rating each horse has gained, and all that stuff. After it's done all that data juggling it beeps to let me know it's ready to go and I then get to type 'y' in if I want to compile a card for each meeting in turn - it takes about 15 seconds to write a card out - and I go through the meetings doing one at a time, loading each card in turn into a macro enabled Excel file that turns text codes I embed in the card info into the various coloured bands aqnd other formatting instructions - making it all look pretty. As all the data us loaded before I do the first meeting I can do all the meetings for the day one at a time like this in just a couple of minutes.
Next up I run a program that takes about 5 seconds to run, it zips through a data file my card writer outputs and produces a bunch of 'filter list' stats for my checking the next day, and I also produce another macro formatted file with more details about the 'c_ratings' etc. info.
If there's any AW racing on the next day I run a final program that zooms through the HRB card finding AW races, and does a macro formatted version of that as well, in another minute or so.
Results processing each day takes about an hour, producing the cards maybe half an hour.
As it's easy to do I also have other files generated as I make up the daily racecards, which I've put onto the Early Days thread now and again to illustrate ideas, such as a listing of race data (to speed up finding decent races to look at) and a profiling file which is pretty much like having an expanded version of the form lines that are listed on the daily cards, but in a csv that can be filtered and sorted, so I can check for things like 'how has this horse run --- at a course, at a certin distance, or range of distances, goings/range of, for a certain jockey, at/above/below a certain class or race value, and suchlike - in other words profiling the runners.
The thing is, if you look at the data you can collect, think very carefully before you decide to ignore any of it, organise it into data files sensibly, then you have almost an infinity of ways to look at it, rearrange it, or see which bits can be combined with others for fun and profit. You need to make the programs that access that data as easy to read as you can, so that they are easy to amend later on when you decide that you want to your program to do something extra as ideas develop, and obviously the better organised your program code the easier it is to make those changes without making the whole thing collapse and die on you.
Dave
(Oh, plus 5 programs that process 'scraped' AW info and splittimes and do stuff with them too, plus a bunch that let me analyse AW and compile my own standard times for AW and what have you).
SPSS - looks expensive. I find Excel does all I need.