PDA

View Full Version : BRIS data files when horse doesn't finish race


banacek
10-28-2005, 03:19 PM
My homegrown program is working great except I haven't figured out how to deal with the races where a horse pulls up, loses jockey, etc. - doesn't finish the race.

When I pull the data from the BRIS single comma delimited, for some reason it gives me the leading horse's time for any call when a horse had already pulled up.
e.g.

a horse might have been 8th by 20 at the 1/4 then pulled up. The horse's time on the BRIS data are like

26.53 45.23 109.45 the first time was his, the other two the leader.

I hope I explained that ok. Any suggestions how to deal with that?

Thanks

xfile
10-28-2005, 03:22 PM
My homegrown program is working great except I haven't figured out how to deal with the races where a horse pulls up, loses jockey, etc. - doesn't finish the race.

When I pull the data from the BRIS single comma delimited, for some reason it gives me the leading horse's time for any call when a horse had already pulled up.
e.g.

a horse might have been 8th by 20 at the 1/4 then pulled up. The horse's time on the BRIS data are like

26.53 45.23 109.45 the first time was his, the other two the leader.

I hope I explained that ok. Any suggestions how to deal with that?

Thanks

In what programming language is your homegrown written in? If Visual Basic you should be able to write something that wipes that line right out. I assume that's what you want to do??

cj
10-28-2005, 03:24 PM
I do not believe BRIS gives the horse's time for any calls, only that of the leader. They give the leader's times, and the BLs, and you are supposed to figure out the rest.

DJofSD
10-28-2005, 03:29 PM
What shows up in fields 745-755 (finish -- beaten lengths only)?

DJofSD

Jeff P
10-28-2005, 03:36 PM
Bris lists the fractional times of the race leader at each point of call not each individual horse. You'll need to use the leader's time and the position and beaten lengths of of each individual horse to calculate the fractional and final times for each individual horse.

After doing that, the case of the horse that fails to finish a race still needs to be dealt with.

Take a look at the numeric finish position of the horse that failed to finish. Bris designates a horse that fails to finish with a "92" as the finish position. From there you can place an assertion in your code to deal with/override the fractional times for any horse that failed to finish a race. Place the assertion before the code block that handles final time/fractional splits. Something along the lines of the following (I'm using VB code to illustrate) should fo the trick:

'``````````````````````````````````````````
'Assertion: Did the horse finish the race?
'If not, override the fractional times.
'``````````````````````````````````````````
If FinishPosition = 92 Then

'This horse failed to finish its race.
'Override final time/fractional splits
FinalTime="na"
SecondCallTime="na"
FirstCallTime="na"

Else

'This horse finished its race.
'Handle fractional times/splits in the usual manner.

End If

-jp
.

Jeff P
10-28-2005, 04:02 PM
From the Bris Data File Structures page for the DRF Single File Format:

Some running line fields that might be useful for calculating raw or adjusted split and final times for individual horses:


276- 285 Track Code
306- 315 Track Condition
316- 325 Distance (in yards)
326- 335 Surface
506- 515 Weight
546- 555 Claiming Price (of horse)
556- 565 Purse
576- 585 1st Call Position(if any)
586- 595 2nd Call Position(if any)
606- 615 Stretch Position (if any)
656- 665 1st Call BtnLngths/Ldr margin
646- 655 Start Call BtnLngths only
686- 695 2nd Call BtnLngths only
726- 735 Stretch BtnLngths only
746- 755 Finish BtnLngths only
866- 875 DRF Track Variant
876- 885 2f Fraction (if any)
896- 905 4f Fraction (if any)
906- 915 5f Fraction (if any)
916- 925 6f Fraction (if any)
926- 935 7f Fraction (if any)
936- 945 8f Fraction (if any)
1036-1045 Final Time
1076-1085 Apprentice Wt allow (if any)
1086-1095 Race Type
1096-1105 Age and Sex Restrictions
1106-1115 Statebred flag
1136-1145 Front Bandages indicator
1167-1176 BRIS Speed Par for class level


-jp

.

banacek
10-28-2005, 04:34 PM
I do not believe BRIS gives the horse's time for any calls, only that of the leader. They give the leader's times, and the BLs, and you are supposed to figure out the rest.

Yes, that is my problem, I guess. I adjust the times for track variant, track to track, etc. To get the initial time for each call I take the leaders time and add an appropriate amount depending on the lengths behind. The problem is that when the horse lost its jock or whatever BRIS treats the lengths behind as 0(just leaves the thing blank I think, but then treats it as 0), so it messes up my numbers.

banacek
10-28-2005, 04:40 PM
'``````````````````````````````````````````
'Assertion: Did the horse finish the race?
'If not, override the fractional times.
'``````````````````````````````````````````
If FinishPosition = 92 Then

'This horse failed to finish its race.
'Override final time/fractional splits
FinalTime="na"
SecondCallTime="na"
FirstCallTime="na"

Else

'This horse finished its race.
'Handle fractional times/splits in the usual manner.

End If

-jp
.

thanks Jeff. I was thinking of something like that, but wondered if there was another way. One problem I have with that is that often the horse doesn't finish the race, but did run for the first and 2nd calls. I want to know what the splits are for the first two splits to assess his early speed. But if I kick the race out completely I can't or am I missing something? I could make it a more elaborate (if - then) set up perhaps.

Seems like BRIS just leaves the lengths behind blank when the horse isn't running at that call. That seems lazy to me (how about a 999 code or something), but maybe that's all they can do.

banacek
10-28-2005, 04:45 PM
In what programming language is your homegrown written in? If Visual Basic you should be able to write something that wipes that line right out. I assume that's what you want to do??

Nothing fancy - I'm not a great programmer! I am pulling out the columns I want using the Infotran utility and then pulling it into Excel. Then I have an elaborate (for me) macro do what I want. (does lengths, track to track adjustments, and daily variant (my own) adjustments ..notates major changes in jock, post, equip, etc>) Some day I'll learn Access, but this excel thing is working for me and I'm pretty good with Excel.

Jeff P
10-28-2005, 05:19 PM
But if I kick the race out completely I can't or am I missing something? I could make it a more elaborate (if - then) set up perhaps. I don't know if there ever was or ever will be a definitive answer that can be applied generally to the population of all horses that pull up in a race. The question is this: As a horseplayer, can I or can I not use the splits of a horse who pulled up in a race? Say a rider pulls a horse up after trailing by X Lengths behind splits run by the leader in 22.1 and 44.2? I would think you'd need to understand the circumstances involving the horse that was pulled up before you'd even want to look at splits for a horse in that race. If the rider felt something underneath him that said the horse was injured, he will pull up. In that case, how long did it take the rider to notice something was amiss? How long did it take the rider to get the horse to stop? If the horse passed a point of call and was awarded a position and beaten lengths by the chartcaller, does the split calculated under those circumstances really represent the ability of the horse? If not, any analysis of a horse under those circumstances is flawed to begin with.

My own take is to simply draw a line through races where a horse failed to finish and use other running lines when trying to get a handle on a horse's ability.

-jp

.

michiken
10-28-2005, 05:45 PM
If THAT horse that had the DNF running line was entered tonight in Mountanier's 5th Race, I would almost make it an automatic win bet! :D

The easiest way to eliminate the loser pacelines is to scan the bris speed figs. A horse with a null or zero entry can be deleted.

if [bris speed fig] = 0 then
delete
endif

or modify it to eliminate horrible pacelines

if [bris speed fig] <=50 then
delete
endif

GameTheory
10-28-2005, 05:59 PM
You could replace the 0 BL's in those lines with some arbitrary high number (like 30) so you could still use the line...

banacek
10-28-2005, 06:53 PM
You could replace the 0 BL's in those lines with some arbitrary high number (like 30) so you could still use the line...

Seems to me that's what BRIS should do - but that's me! I thought about doing that myself, but then what about the horses that really were 0 lengths behind. But I could probably work out a routine to deal with that.

Right now I just look through the form and see when it occurs and then delete them from my printout - doesn't happen too often and isn't that hard to do, but I thought it was about time to automate it a bit. Thanks for all for the suggestions - got me thinking.

banacek
10-28-2005, 06:55 PM
If THAT horse that had the DNF running line was entered tonight in Mountanier's 5th Race, I would almost make it an automatic win bet! :D

The easiest way to eliminate the loser pacelines is to scan the bris speed figs. A horse with a null or zero entry can be deleted.

if [bris speed fig] = 0 then
delete
endif

or modify it to eliminate horrible pacelines

if [bris speed fig] <=50 then
delete
endif

That's a good thought, but only problem is I don't import the BRIS speed figures! I make my own from their data. I could add them to my import file though.

GameTheory
10-28-2005, 07:43 PM
Seems to me that's what BRIS should do - but that's me! I thought about doing that myself, but then what about the horses that really were 0 lengths behind. But I could probably work out a routine to deal with that. Well, you've got to compare the position fields with the BL fields so you know if the horse is in the lead or out of the race...

HTRFGuy
11-04-2005, 11:30 AM
My homegrown program is working great except I haven't figured out how to deal with the races where a horse pulls up, loses jockey, etc. - doesn't finish the race.

When I pull the data from the BRIS single comma delimited, for some reason it gives me the leading horse's time for any call when a horse had already pulled up.
e.g.

a horse might have been 8th by 20 at the 1/4 then pulled up. The horse's time on the BRIS data are like

26.53 45.23 109.45 the first time was his, the other two the leader.

I hope I explained that ok. Any suggestions how to deal with that?

Thanks


You are looking in the wrong fields. You might consider using field 616-625

616- 625 Finish Position CHARACTER 2

A- bled
B- bolted
C- broke down
D- distanced
E- dwelt F- eased
G- fell H- lame
I- left at post
etc.

Horses that do not finsh get a coded entry in this 2-character field. For example, a horse that is distanced would get a ' D' in this field. Use an intrinsic function to test the value in this character field based upon the ASCII coding sequence. If the second character in this 2-character field is greater than '9' then the character is not numeric and the horse did not finish the race.