JCapper Factors - These are the factors supported within JCapper. Users can see their effectiveness, either individually or in combination with each other, by using the Data Window and Profile Table Interface. Users can also apply them, based on the results of their own research, again either individually or in combination with each other, as part of a UDM Definition.
What follows is a little something about each factor- what it is, how it might be put to use as part of a UDM Definition, and whether the factor is accesible directly through the Profile Table Interface or can be found in a Preset or Dynamic Filter.
Pace:
AvgE1 -
This number represents an average derived from the E1 or F1 pace ratings generated by your data vendor (either Brisnet or HDW) found in a horse's past performance record.
(Accessible via Profile Table Interface)
BestE2 -
This number represents the single best E2 or F2 pace rating (gate to 2nd call) found in a horse's past performance record.
(Accessible via the Profile Table Interface)
ClosingRatio -
This number represents an analysis of the running positions at different points of call within a horse's past performance record. As such it is a numerical representation of a horse's running style. Horses that gun for the lead right out of the gate will have very low ClosingRatio scores. Horses that run from off the pace and pass other horses later in the race will have higher ClosingRatio scores. Hint~ ClosingRatio can sometimes be a very useful indicator of track specific speed and closing biases when they are present.
(Accessible via the Profile Table Interface)
CPace -
or Comprehensive Pace Rating. CPace is a compound number derived using an alogorithm that considers certain early and late pace elements, assigns different weights to each factor based on win rate and roi impacts of historical occurances, and then rolls all of the separately considered factors into a single number that reflects the true pace ability of a horse relative to the rest of the field.
(Accessible via the Profile Table Interface)
LatePace or L3 - or Late Pace Best 3 -
This number represents the single best Late Pace rating found in the last three running lines of a horse's past performance record. The rating is taken only from races run at a similar distance and running surface as today's race. If the horse has not run at a similar distance and running surface as today's race then the rating becomes a zero.
(Accessible via the Profile Table Interface)
PAL -
or Pace Adjusted Late. This number represents the data vendor generated Late Pace rating adjusted for Pace. It is taken from the most recent running line found in the horse's performance record regardless of surface or distance.
It is calculated as follows:
PAL = LatePaceRating - ( 2 x Lengths Behind at Second Call )
(Accessible via Dynamic Filters)
paceFig_LateInLast -
or Late Pace Number (Last Race). This number represents the data vendor generated Late Pace rating taken from the most recent running line found in the horse's performance record regardless of surface or distance.
(Accessible via Dynamic Filters)
PaceIndex -
This number represents the amount of inherent pace pressure found in a race. In the original version of JCapper Pace Index is
an average of the PctE scores present in a race. The higher the PaceIndex of a race, the more pace pressure the leader
is likely to encounter during the running of the race. The lower the PaceIndex of a race, the less pace pressure the leader of
the race is likely to encounter.
In versions of JCapper2007 released 10/01/2007 and later, Pace Index is a compound number derived using the top four CPace
numeric values found in the race and the gaps between each of them. Pace Index produced in this manner exists on a scale of 0-100
with lower numbers representing less pace pressure races and higher numbers representing more pace pressure in a race.
Analysis of large data samples indicates that this revised implementation of Pace Pressure is more accurate than the original
and makes Pace Pressure a more useable factor in UDMs.
(Accessible via the Profile Table Interface - use the Speed and Pace View. Scroll almost all the way
over to the far right to find the Pace Index fields.)
PClass -
This number represents an analysis of both the running positions at different points of call within a horse's past performance record and the class of race (using purse value)
for each running line. As such it is a numerical representation of a horse's running style. Horses with 1's and 2's in the pace calls of their running lines
and horses that have competed for more money than their competition will tend to have higher PClass numbers than horses whose records are devoid
of early speed and horses that have competed for significantly lower purse money.
PClass in JCapper is similar in nature to PCR or Performance Class Rating as introduced by the late Bill Finley in his book
Total Victory at the Track written under the pen name William L. Scott. The key difference is that in JCapper I use
differences in purse value to account for class rather than claiming price as suggested by Finley.
(Accessible via the Profile Table Interface)
PMI -
or Pace Model Index.
PMI or Pace Model Index is is a compound number and is the result of research into several thousand different situations involving the top ranked
Cpace horse. From this research, a basic Pace Model hypothesis was formed. The hypothesis is a very simple one: Not all top ranked Cpace horses are
created equal. Characteristics and advantages/disadvantages inherent in the lesser ranked Cpace horses can and do impact what happens to the top ranked
Cpace horse during the actual running of a race. The algorithm that calculates PMI evaluates CPace in the context of ranks and gaps involving a myriad of
factors not considered in CPace that can and do impact the top ranked CPace horse. Several hundred conditional If Then code statements are
evaluated during the PMI calculation. The resulting PMI number picks up where CPace leaves off. (Accessible via Preset Filters and
made available in the UDM Wizard for JCapper2007)
The best description that I can give you about PMI is this:
PMI or Pace Model Index is a compound number that represents research and intelligence applied to pace.
-jeff platt (late August, 2005)
ESPRaceShape - ESPRaceShape is the result of an algorithm that counts the number of horses having specific run styles in a race. The concept behind it is that races can be classified according to "shape" and that races with similar "shapes" have a tendency to behave in a certain way.
The algorithm produces 11 separate race shapes, each assigned an integer value between 1 and 11.
Here's a chart:
ESPRaceShape -
Number Text Description ------ ----- ----------- 1 EEE 3 or more E horses 2 EE 2 E horses 3 E 1 E horse, 0 EP horses 4 E-EP 1 E horse, 1 or more EP horses 5 EP-EP 0 E horses, 2 or more EP horses 6 EP 0 E horses, 1 EP horse, 0 P horses 7 EP-P 0 E horses, 1 EP horse, 1 or more P horses 8 P-P 0 E horses, 0 EP horses, 2 or more P horses 9 P 0 E horses, 0 EP horses, 1 P horse 10 P-S 0 E horses, 0 EP horses, 1 P horse, 1 or more S horses 11 S 0 E horses, 0 EP horses, 0 P horses, 1 or more S horses
SustainedPace = E2 + Late This number represents the single highest E2 + Late running line found in a horse's past performance record. All distances and running surfaces are considered.
(Accessible via the Profile Table Interface)
TPace -
or Total Pace. This number combines Early Pace (either E1 or E2 depending on race distance) with PAL in a unique way that can represent both current form and ability . It is taken from the most recent running line found in the horse's performance record regardless of surface or distance.
It is calculated as follows:
TPace = ((2 X EarlyPace) + PAL) / 3
(Accessible via Dynamic Filters)
TurnTime = (2 x E2) - E1 This number represents an average derived from of all of the running lines found in a horse's past performance record.
(Accessible via the Profile Table Interface)
The JCapper Compound Pace Array
One of the significant additions to JCapper2008 is the Compound Pace Array. The Compound Pace Array contains 11 new factors which are detailed below. All of the Compound Pace Array factors appear in the factors drop downs of both the UDM Wizard and the Impact Values Table Wizard. All of them are fully "grabbable" in both UDMs and UPR. I should also point out that "grabbable in UPR" means grabbable when creating any of the five new UPR UserFactors that are also part of JCapper2008.
It's very possible that you are completely satisfied with your current handicapping process and results. Maybe you don't want to look at new numbers. I know that describeds ME from time to time. Along those lines I've also added a checkbox to the System Definitions Screen. When the Display Compound Pace Array Checkbox is checked, numbers for the Compound Pace Array factors for each horse are displayed on the HTML Report.
Before diving into a detailed explanation for each of the 11 new Compound Pace Array factors I'd like to talk a little bit about how they best might be used.
The Compound Pace Array was designed to give the JCapper user a serious set of tools for the purpose of understanding (and using that understanding in your handicapping) the demands that individual surfaces and distances place on the horses you bet on.
In Understanding Track Weight I wrote about two extremes of track weight: BEL 2007 which was speed favoring and APX which was speed tiring. This past winter has seen another pair of extremes: AQU which has been so wonderfully speed favoring - and TPX where the surface has been consistently stopping speedsters in their tracks at any distance 6f and longer. Players making the effort to keep track profiles and decision models will always find themselves in a much better position to gain an edge over the crowd than those who don't do this. Perhaps that's as it should be.
The Compound Pace Array was designed as a tool set for those willing to do the work. And while factor constraints for factors found in the Compound Pace Array might benefit many of your existing UDMs, my personal opinion is that players likely to derive the most benefit from the Compound Pace Array are those whose primary use of it becomes centered around understanding the demands that individual surfaces and distances place on the horses.
All of the factors in the array are compound numbers. Each is created by a very unique algorithm that evaluates each horse's data vendor generated Pace Figures (early and late) from selected pacelines.
Here is a description of the factors in the array:
CompoundE1 - CompoundE1 is a measurement of early speed - ability from the starting gate to the first point of call - the opening quarter mile in sprint races and the opening half mile in route races. CompoundE1 is a compound number - a mini power rating based on selected E1 pace figures found in a horse's past performance record.
CompoundE2 - CompoundE2 is a measurement of early speed - ability from the starting gate to the second point of call - the opening half mile in sprint races and the opening 3/4 mile in route races. CompoundE2 is a compound number - a mini power rating based on selected E2 pace figures found in a horse's past performance record.
CompoundTT - CompoundTT is a measurement of early speed - the ability to accelerate from the first call to the second call.
CompoundTT is a compound number - a mini power rating based on selected E1 and E2 pace figures found in a horse's past performance record.
It is calculated as follows:
CompoundTT = (2 x CompoundE2) - CompoundE1)
CompoundLate - CompoundLate is a measurement of late speed - ability from the the second point of call to the finish line. CompoundLate is a compound number - a mini power rating based on selected Late pace figures found in a horse's past performance record.
CompoundLateHO - Some races (most graded stakes races for example) have several horses in the field capable of running very strong late pace numbers. Other races (Mdn claiming races for example) have very few horses capable of finishing strongly. The "HO" in CompoundLateHO means Highest Other.
What is a highest other? Within the context of looking at the current horse, CompoundLateHO is the highest CompoundLate in the race belonging to another horse. If the current horse has the top CompoundLate in the race, then the CompoundLateHO will belong to the second best CompoundLate horse in the race. If the current horse does not have the best CompoundLate in the race, then the CompoundLateHO will belong to the top CompoundLate horse in the field.
Combined with CompoundLate rank, numeric value, and gap, CompoundLateHO gives you yet another way of looking at the dynamics of the race - and writing a UDM to take advantage of that race dynamic.
CompoundPctE - CompoundPctE is a measurement of running style/energy distribution. CompoundPctE is very similar to, but differs slightly from PctE. The original PctE is arrived at by averaging pace figures taken from every running line, while CompoundPctE is arrived at using pace figures from selected running lines only.
TE = CompoundE2 + CompoundLate
CompoundPctE = (CompoundE2 x 100) / TE
CompoundPctM - CompoundPctM is a measurement of running style/energy distribution. CompoundPctM is calculated as follows:
TE = CompoundE1 + CompoundE2 + CompoundLate
CompoundPctM = ((CompoundE1 + CompoundE2 ) x 100) / TE
CompoundPctM is similar in nature to, but slightly different from CompoundPctE. CompoundPctM can give you a slightly different perspective than CompoundPctE when evaluating surface/distance requirements and track biases and when creating track profiles.
CompoundSP - CompoundSP is a measurement that combines both early and late pace. It differs from the original SP found in JCapper. The original SP is based on the horse's single strongest running line. CompoundSP is based on CompoundE2 and CompoundLate. It is calculated as follows:
CompoundSP = (CompoundE2 + CompoundLate) / 2
CompoundAP - CompoundAP is a measurement of average pace. It is based on CompoundE2, CompoundLate, and CompoundSP.
It is calculated as follows:
CompoundAP = (CompoundE2 + CompoundSP ) / 2
LateSlant - LateSlant is a last line speed figure where finishing ability is emphasized. LateSlant gives you the means to emphasize last line late speed in both UPR and UDMs. You may find it useful at certain distances, on certain turf courses, and on certain artificial surfaces.
CompoundPaceFit - CompoundPaceFit is a number (existing on a scale of 0-100) that represents favorable vs. unfavorable pace matchups within a race. The higher the number the more favorable the pace matchup is for a given horse in today's race. The lower the number the more the horse is up against it pace-wise today.
CompoundPaceFit is not a magic bullet - even though at times it may look like it should be. Sometimes riders assigned horses with pace advantages over their fields decide (or are given instructions by trainers) to ride the horse in a way that destroys the advantage. But overall, and especially after you've spent some time at the Data Window evaluating it, I think you will find CompoundPaceFit to be a VERY NICE addition to the JCapper factor set.
-- Jeff Platt 4/10/2008
Class:
ClassRating -
This number represents a class rating derived from a weighted average of the pars produced by your data vendor (either Brisnet or HDW) for each running line of the horse's past performance record.
Note: ClassRating is only possible when HDW-JCapper .JCP data files or Brisnet data files are used. (In the older TSN .PCS files the fields that contain par for the level info driving
ClassRating are left empty and contain no data. When TSN .PCS files are used all horses in each race are given a ClassRating of zero.)
(Accessible via the Profile Table Interface)
Class Shift (Using Purse Value) -
This number represents a change in class based on the difference between the purse value of a horse's most recent race and the purse value of today's race.
This can represent no change in class, a rise in class, or a drop in class. The following table shows possible values.
0
No Class Change
1
Class Riser
2
Class Dropper
(Accessible via Dynamic Filters)
Class Shift (Par vs Race Strength) -
This number represents a change in class based on the difference between the Standard Race Strength of a horse's most recent race and the data vendor generated (HDW or Brisnet) Par for the Level of today's race.
When Race Strength is higher than Par for the Level, Class Shift (Par vs Race Strength) will have a positive number and the horse will be dropping in class. When Race strength is lower
than Par for the Level, Class Shift (Par vs Race Strength) will have a negative number and the horse can be thought of as rising in class (or facing tougher competition today.)
(Accessible via Dynamic Filters)
(Alternately, this factor is accessible directly when operating JCapper in SQL Mode referencing the CLSHIFT2 field of the StarterHistory table.)
CMI -
or Class Model Index.
CMI or Class Model Index is is a compound number and is the result of hundreds of hours of research I performed during the summer of 2005
involving unique ways of determining class. From this research, a basic Class Model hypothesis was formed. The hypothesis is a very
simple one: Not all top ranked Class horses are created equal. Characteristics and advantages/disadvantages inherent in the lesser ranked
Class horses can and do impact what happens to the top ranked Class horse during the actual running of a race.
The algorithm that calculates CMI evaluates Class within the context of ranks and gaps involving a myriad of factors not considered in
in determining who the Class of the race is. These factors can and do impact the top ranked Class horse during the actual running of the race.
Several hundred conditional If Then code statements are evaluated during the CMI calculation.
The resulting CMI number picks up where Race Strength and Class Rating leave off. (Accessible via Preset Filters
and made available in the UDM Wizard for JCapper2007)
The best description that I can give you about CMI is this:
CMI or Class Model Index is a compound number that represents research and intelligence applied to inherent class.
-jeff platt May, 2006
Race Strength (Standard) -
or Standard Race Strength.
This number represents the strength of the competition faced in the most recent start found in a horse's past performance record.
All distances and running surfaces are considered. Race Strength for a running line is determined by adding the horse's earned data vendor generated
final time based Speed Figure plus 2 times the number of beaten lengths.
RS = Fig + 2 x Beaten Lengths
Horses that have faced stronger competition tend to outperform horses that have faced weaker competition.
Note~ The standard race strength is used in the Class Shift (Par vs Race Strength) calculation.
(Soon to be Accessible via Dynamic Filters ~eta 11/14/2004)
Race Strength (Fin Pos) -
or Positional Race Strength.
This number represents the average strength of the competition faced. All running lines found in a horse's past performance record
are measured. All distances and running surfaces are considered. Race Strength for a running line is determined by adding the horse's earned data vendor generated
Speed Figure plus 2 times the Finish Position. If the horse was the race winner, Race Strength is simply the horse's Bris Speed Figure
from that race.
Why use finish position instead of the more widely accepted beaten lengths? This came about in an interesting way. While coding out the algorithm
for the original standard race strength, I wanted to create an average race strength and test it against race strength derived using the last race only
to see which was stronger. By accident, I used the field in the Bris data file for finish position instead of the field for beaten lengths. A few hours later, when the error was discovered,
I switched back to the beaten lengths field, tested the results, and noticed that both the win percent and roi for race strength using finish position
was higher than race strength calculated using beaten lengths. So I kept the original calculation intact and continue to use finish position to this
day. From time to time I've gone back and re-tested, but the results have always been the same. Each time Race strength calculated using finish position
has outperformed race strength using the more standard beaten lengths.
Horse Finished 2nd or worse:
RS = Fig + (2 x Finish Position)
Horse Finished 1st:
RS = Fig
Horses that have faced stronger competition tend to outperform horses that have faced weaker competition.
Note~ Positional Race Strength is available via the Profile Table Interface and is the factor displayed as Race Strength in the Data Window Factors
drop down.
Form:
AFR - or Advanced Form Rating -
This number represents a horse's current form relative to the rest of the field. Horses with improved performances in recent races and workouts are awarded points while horses with declining performances in recent races and workouts receive point deductions. Becnhmark testing of the FormRating has revealed the following: horses ranked highly in AFR substantially outperformed horses ranked poorly in AFR, both in terms of win rate and money returned.
Note: AFR (or Advanced FormRating) is an improvement over JCapper's original FormRating. AFR uses a slightly different factor set than FormRating. AFR
is a "hard" rating that doesn't use a random element. I've included it in JCapper's factor set and made it one of the "grab-able" factors so that
those of you who wish to use it in UDMs and in the factor mix of your own User Defined Power Ratings can do so. In benchmark tests, AFR does a better
job of predicting the outcome and has a higher flat bet win roi than the program's original FormRating does.
--Jeff Platt Feb, 2007
(Accessible via the Profile Table Interface)
BF or Basic Fitness -
or BasicFitness. This is a number created by an algorithm that awards points for each of the three most recent workouts along with the most recent race,
provided that each took place within the past 30 days. A premium is placed on spacing and distance of workouts. Seven days between each
workout is considered ideal and results in max points for that workout. Gaps between workouts results in points deducted for that workout. Too
little recovery time between workouts also results in points being deducted. Bonus points are also awarded if workout time is faster than predefined
cutoffs for each distance. The algorithm awards a max of 30 points for BasicFitness.
(Accessible via Preset Filters)
Distance Cycle -
or DCYCLE - (JCapper Platinum only) - Distance Cycle allows Distance Pattern/Cycles to be set up as part of a UDM Definition. JCapper Distance Cycle analysis starts by looking at the three most recent running lines from a horse's past performance record. Each individual running line is then designated as either "SPRINT" or "ROUTE."
A running line is considered to be SPRINT if the race distance of that line is at least 4 furlongs and less than 8 furlongs.
A running line is considered to be ROUTE if the race distance of that line is at least 8 furlongs.
Anything else qualifies that running line as NA.
After categorizing each running line as either SPRINT or ROUTE, the following matrix can be formed:
LAST
2nd
3rd
Distance
START
START
START
Cycle
SPRINT
SPRINT
SPRINT
1
SPRINT
SPRINT
ROUTE
2
SPRINT
ROUTE
SPRINT
3
SPRINT
ROUTE
ROUTE
4
ROUTE
SPRINT
SPRINT
5
ROUTE
SPRINT
ROUTE
6
ROUTE
ROUTE
SPRINT
7
ROUTE
ROUTE
ROUTE
8
NA
NA
NA
9 (less than 3 useable running lines)
You will probably notice some interesting patterns the first time you do a Data Window query broken out by Distance Cycle.
You'll find Preset Filters in both the Data Window and Preset Filter Tool that allow you to set both min and max values for Distance Cycle. These Filter Codes all start with the characters DCYCLE. (JCapper Platinum only)
DriveType - (JCapper Platinum only) -
DriveType is based on some very interesting recent R&D into the types of trips horses receive in their most recent starts. I named this factor DriveType rather than TripType because it's at least partially based on when and why the rider set the horse down for the drive.
For the time being I've decided to keep hard definitions for DriveType tightly under wraps. Once you see data broken out by DriveType in the Data Window I think most of you will agree with this decision. I don't want other developers poaching my work. Doing this gives you guys a longer time horizon to exploit this factor at the windows.
For now, all anyone needs to know is that there are three distinct Drive Types visible in the Data Window:
0 - none
1 - DriveType 1
2 - DriveType 2
You'll find DriveType in the factors drop downs of both the Data Window and UDM Wizard. DriveType is also "grabbable" as a factor (numeric value and translate behavior only) for use in UserFactors and UPR within the IVTable Wizard. (JCapper Platinum only)
FastSlowFinal - (JCapper Platinum only) -
This factor is an offshoot of the same research that produced FastSlowPace. FastSlowFinal is the result of comparing the horse's final time based speed fig from its most recent race against par for the level. The theory behind this is that horses coming out of exceptionally strong races tend to end up with running lines that are distorted and ugly. Such running lines may not be representative of what the horse may be able to achieve in today's race facing different competition.
I experimented by comparing the par values used by Bris in the fields in the data file listed as "Bris Race Shape" against a proprietary JCapper par calculation that I devised. And large sample data studies clearly show that the proprietary JCapper par calculation produces a better roi than Bris race shape pars - so that's what I used.
FastSlowFinal is a fully grab-bable factor in the UDM Wizard. (JCapper Platinum only)
FastSlowPace - (JCapper Platinum only) -
This factor is the result of a little research I've been doing where pace of the most recent race is compared against par pace for the level. The theory behind this is that horses coming out of fast pace races tend to end up with running lines that are distorted and extra ugly. Such running lines may not be representative of what the horse may be able to achieve in today's race when facing different competition or a different pace match up today.
I experimented by comparing the par values used by Bris in the fields in the data file listed as "Bris Race Shape" against a proprietary JCapper par calculation that I devised. Large sample data studies clearly show that the proprietary JCapper pars produce a better roi than Bris race shape pars - so that's what I used.
FastSlowPace is a fully grabbable factor in the UDM Wizard. (JCapper Platinum only)
FormCycle -
or Form Cycle or FCYCLE - FormCycle allows Form Cycles to be set up as part of a UDM Definition. JCapper Form Cycle analysis starts by looking at the three most recent running lines from a horse's past performance record. Each individual running line is then designated as either "Good" or "Bad."
A running line is considered to be good if either of the following cases has been met:
1. The horse's finish position was 4th or better.
2. The horse's finish call beaten lengths is less than or equal to 4.
Anything else qualifies that running line as Bad.
After categorizing each running line as either Good or Bad, the following matrix can be formed:
LAST
2nd
3rd
Form
START
START
START
Cycle
GOOD
GOOD
GOOD
1
GOOD
GOOD
BAD
2
GOOD
BAD
GOOD
3
GOOD
BAD
BAD
4
BAD
GOOD
GOOD
5
BAD
GOOD
BAD
6
BAD
BAD
GOOD
7
BAD
BAD
BAD
8
NA
NA
NA
9 (first time starter)
You will probably notice some interesting patterns the first time you do a Data Window query broken out by FormCycle. Using the ALL button, the probability distribution returned shows FormCycle=1 having the highest win rate, FormCycle=2 having the second highest win rate, and so on, right down the line.
You'll find Preset Filters in both the Data Window and Preset Filter Tool that allow you to set both min and max values for FormCycle. These Filter Codes all start with the characters FCYCLE.
(Available via Preset filters)
FormRating -
This number represents a horse's current form relative to the rest of the field. Horses with improved performances in recent races and workouts are awarded points while horses with declining performances in recent races and workouts receive point deductions. Becnhmark testing of the FormRating has revealed the following: horses ranked highly in FormRating substantially outperformed horses ranked poorly in FormRating, both in terms of win rate and money returned.
Note: The original FormRating in JCapper is based in part on an element that simulates random improvement or decline. Much has been posted about this on the JCapper Message Board.
Because of the way random numbers are referenced in Visual Basic, other programs running outside of JCapper have the ability to overwrite the area in memory where random numbers
are stored. In a small percentage of cases, this casues the FormRating to be a moving target and tough to nail down when comparing the FormRating shown on the HTML Report and later
in the Data Window after a Build Database has been run. I have tried to the best of my ability to address this issue but as of this writing a true solution has
evaded me. During all of my tests, a JRating using a FormRating containing this random element always outperforms a JRating based on a FormRating without this
random element. For that reason alone I have left JCapper's original JRating and FormRating intact.
(Accessible via the Profile Table Interface)
FurlongDays or FDays -
This number represents the amount of recorded activity during a specific time period and is expressed in furlongs per day. Recorded activity can be either workouts or races or both, and the time period may vary from horse to horse, depending on patterns detected within the past performance record of the individual horse. Horses with higher FDays tend to slightly outperform horses with lower FDays.
(Accessible via the Profile Table Interface)
SpeedCycle -
or Speed Cycle or SCYCLE - SpeedCycle combines Form Cycle analysis with early speed. JCapper Speed Cycle analysis starts by looking at the three most recent running lines from a horse's past performance record. Each individual running line is then designated as either "Good" or "Bad."
A running line is considered to be good if either of the following cases has been met:
1. The horse was second or better at either the first or second call.
2. The horse was within two lengths of the leader at either the first or second call.
Anything else qualifies that running line as Bad.
After categorizing each running line as either Good or Bad, the following matrix can be formed:
LAST
2nd
3rd
Speed
START
START
START
Cycle
GOOD
GOOD
GOOD
1
GOOD
GOOD
BAD
2
GOOD
BAD
GOOD
3
GOOD
BAD
BAD
4
BAD
GOOD
GOOD
5
BAD
GOOD
BAD
6
BAD
BAD
GOOD
7
BAD
BAD
BAD
8
NA
NA
NA
9 (first time starter)
You will probably notice some interesting patterns the first time you do a Data Window query broken out by SpeedCycle. Using the ALL button, the probability distribution returned shows SpeedCycle=1 having the highest win rate, SpeedCycle=2 having the second highest win rate, and so on, right down the line.
You'll find Preset Filters in both the Data Window and Preset Filter Tool that allow you to set both min and max values for SpeedCycle. These Filter Codes all start with the characters SCYCLE.
(Available via Preset filters)
Stage Readiness - (JCapper Platinum only) -
One day about a year ago it occurred to me that some of the better trainers I was following get their horses ready to race in one of two ways:
1. Race them into condition.
2. Work them into condition.
So I spent some R&D time looking at the above two areas in terms of recent activity days last start, days last work, JCapper Basic Fitness, and a handful of other related factors. Right from the start it was apparent I was onto something useful. After some further R&D I came up with some hard definitions for each category and Stage Readiness was born.
For the time being I've decided to keep the rules for defining Stage Readiness tightly under wraps. Once you see data broken out by Stage Readiness in the Data Window I think most of you will agree with this decision. I don't want other developers poaching my work. Doing this gives you guys a longer time horizon to exploit this factor at the windows.
For now, all you need to know is that there are three basic categories (stages) of Readiness visible in the Data Window:
0 - not really ready
1 - readiness based on race(s)
2 - readiness based on work(s)
And that Stage Readiness is "grabbable" using preset filters beginning with the characters "STAGE" without the quotes. Stage Readiness is also a "grabbable" factor (numeric value and translate behavior only) for use in UserFactors and UPR within the IVTable Wizard. (JCapper Platinum only)
Understand that Stage Readiness isn't meant to be a magic bullet. But it absolutely CAN be a difference maker both in terms of win rate and roi for certain factor combinations and UDMs.
-- Jeff Platt - July, 2009
WoBrill -
or Workout Brilliance.
This number represents velocity, measured in feet per second, of a horse's fastest workout, at a distance of four furlongs or longer, in the past 30 days. If a horse has no workouts four furlongs or longer in the past 30 days, then WoBrill is zero.
(Accessible via the Profile Table Interface and Preset Filters)
WoPct -
This number represents the percentile of where a horse's most recent workout ranked in relation to the other horses that worked the same distance at the same track on that same day. Example, a horse's most recent workout was at five furlongs at Saratoga on Sept 1. The time was 59 and 2/5 seconds. If a total of 100 horses also worked five furlongs at Saratoga on that same day and the time of our horse's workout was the fifth fastest at Saratoga for that day, then WoPct = 5 (or 5/100.)
(Accessible via the Profile Table Interface)
WoScore -
or Workout Score. This number represents total furlongs worked within the past 21 days.
(Accessible via the Profile Table Interface)
WoSince - or Workout Since Last Race
This is a number (integer) used to designate whether a horse has had at least one workout since its most recent start.
For purposes of determining WoSince the number of, distance of, or time of any such workouts are not taken into account.
Horses with at lease one workout since the most recent start are designated by WoSince equal to zero. Horses without a
workout since the most recent start are designated by WoSince equal to one. First time starters, or horses whose past
performance records do not have a most recent start, are designated by WoSince equal to two. Users can set WoSince equal
to zero in a UDM Definition, and thus require a UDM to mark only those horses whose past performance records have at
least one workout since the most recent start by adding the WOSINCE Preset Filter Code to the SpecialFilters Field in
the Profile Table.
Explanation of WoSince Values:
WoSince
0 - Worked Since Last Race
1 - No Works Since Last Race
2 - Horse is Unraced
Note: The WOSINCE (work since last race) preset filter causes a UDM to select only those horses with at least one work since the last race.
The RASINCE (race since last work) preset filter causes UDMs to behave in the exact opposite manner, selecting only those horses with at
least one work since the last race.
(Accessible via Preset Filters)
Speed Figures:
Bris (Best of Last 10) -
This number represents the single highest data vendor generated (either Brisnet or HDW) final time Speed Figure found in a horse's past performance record. All surfaces and distances are considered. (Accessible via the Profile Table Interface and through Dynamic Filters)
Note: Even though this factor is labeled as "Bris (Best of Last 10)" rest assured that if you are using HDW files, this factor is being generated by the JCapper program using HDW speed figures as read from your data files.
Alternately, if you are using Brisnet files, this factor is being generated by the JCapper program using Brisnet speed figures read from your data files.
Bris (Avg of Last 10) -
This number represents an average taken of the data vendor generated final time Speed Figures from each running line of a horse's past performance record. All surfaces and distances are considered.
(Accessible via the Profile Table Interface)
Note: Even though this factor is labeled as "Bris (Avg of Last 10)" rest assured that if you are using HDW files, this factor is being generated by the JCapper program using HDW speed figures as read from your data files.
Alternately, if you are using Brisnet files, this factor is being generated by the JCapper program using Brisnet speed figures read from your data files.
Bris (Best of Last 3) -
This number represents the single highest data vendor generated (either Brisnet or HDW) final time Speed Figure found in the most recent three running lines of horse's past performance record. All surfaces and distances are considered.
(Accessible via Preset Filters)
Note: Even though this factor is labeled as "Bris (Best of Last 3)" rest assured that if you are using HDW files, this factor is being generated by the JCapper program using HDW speed figures as read from your data files.
Alternately, if you are using Brisnet files, this factor is being generated by the JCapper program using Brisnet speed figures read from your data files.
Bris (Last Race) -
This number represents the data vendor generated (either Brisnet or HDW) final time Speed Figure found in the most recent running line of horse's past performance record. All surfaces and distances are considered.
(Accessible via Preset Filters)
Note: Even though this factor is labeled as "Bris (Last Race)" rest assured that if you are using HDW files, this factor is being generated by the JCapper program using HDW speed figures as read from your data files.
Alternately, if you are using Brisnet files, this factor is being generated by the JCapper program using Brisnet speed figures read from your data files.
CFA - Competitive Figure Ability. This is a compound number produced by an algorithm I developed after analyzing historical win rates and roi impact values for selected pacelines in a horse's record. The final time based speed figures from selected lines for every horse in the field are compared to each other and weighted according to what I observed when I did the study. Example: The horse in the race with the best figure for a selected line is given an impact value based on having rank=1 for that line vs the field. The horse with the best figure for that line gets a higher impact value than the second best which gets a higher impact value than the third best, and so on, until every horse in the field has a weight for that line. This is done for each selected line. Then the impact values for each line are assigned weights based on the importance of the line selected. The most recent line has a higher weight than the second line which has a higher weight than the third line, etc. Then the impact values and weights are run through something I call a grinder algorithm which mechanically spits out scores between 0-100 based on the relative strengths that the impact values and weights have in relation to each other.
I use this same process to derive a lot of my compound numbers.
This may seem like a really long way to go when looking at speed figures. But...
When I run CFA rank through the Data Window on a large sample it generally has a higher flat win bet roi than simplistic things others do with speed figures such as rank for best last race, best of last three, or best two of last three, etc. That extra boost in roi helps when you use CFA in a UDM as opposed to Last Race Bris Fig.
CFA is also a very good elimination factor. In the Foundations of Database Handicapping Help Doc I show an example of what happens when horses with CFA less than 70.50 are tossed from consideration.
In that same Help Doc (Foundations of Database Handicapping) I also show how to use CFA >= 70.50 with QRating ranks 1-8 (QRating is a power rating I developed using factors similar to Prime Power but in large data samples it tests out stronger than Bris Prime Power) as the basis to make a simple UDM for selecting general contenders.
HorseType - (JCapper Platinum only) -
HorseType is based on an analysis of the fig history found in a horse's past performance record. The idea behind the analysis is to determine what type of race the horse has run its best performances in.
First I broke races down into the following distance categories:
1. short dash 4f-5f
2. sprint 5.5f-6.5f
3. middle distance 7f-7.5f
4. route 8f-10f
5. long route > 10f
Then I broke them out into the following surface categories:
1. dirt
2. turf
3. synthetic
From the above there are (3 x 5) + 1 or 16 horse types:
Horse
Type Description
----- ----------------------
0 NA
1 short dash dirt
2 short dash turf
3 short dash synthethic
4 sprint dirt
5 sprint turf
6 sprint synthethic
7 middle dist dirt
8 middle dist turf
9 middle dist synthethic
10 route dirt
11 route turf
12 route synthethic
13 long route dirt
14 long route turf
15 long route synthethic
-------------------------------
During Calc Races and Build Database routines a new algorithm evaluates the fig history of every horse and identifies the strongest or preferred race type for that horse. The resulting number (HorseType) is an integer between 0 and 15...
HorseType 0 is labeled as NA and is meant to be the category for horses that have yet to earn a speed figure enabling them to be classified as belonging in one of the above surface-distance categories. HorseType = 0 horses can be first time starters - most of them are, foreign horses - typically you won't find speed figs for running lines of races run outside of North America, horses that have competed in 2f baby races - 2f is well below the 4f dist cutoff for dashes, horses that have made at least one official North American start but have yet to earn a speed figure because of some mishap - eased, saddle slipped, clipped heels, etc., and the occasional oddball horse facing thoroughbreds today after having only competed against quarter horses at say 220 yds.
HorseType is color coded on the HTML Report:
Brown = dirt
Green = turf
Blue = Synthetic
Makes it easier to see at a glance that's all.
You can find HorseType in the factors drop downs of both the Data Window and the UDM Wizard. HorseType is also "grabbable" as a factor (numeric value and translate behavior only) for use in UserFactors and UPR within the IVTable Wizard. (JCapper Platinum only)
Improvement Last Race -
This number is a comparison between the data vendor generated (either Brisnet or HDW) final time Speed Figures taken from a horse's two most recent races. The speed figure from the second start back is
subtracted from the speed figure of the most recent start. Positive numbers are displayed on the HTML Report in black. Negative numbers are displayed in red. If, for whatever reason, either speed figure is missing, the horse gets a -99. (Accessible via Dynamic Filters)
PaceLine -
This number represents the single highest final time based Speed Figure found
in a recent running line taken from a horse's past performance record.
On the System Settings/System Definitions screen, the user has the ability to
define a set of rules for PaceLine selection.
The user can direct the program to use the following paramters in selecting a PaceLine:
The number of races back to be searched.
The number of days back to be searched.
Whether or not the selected PaceLine is taken from a race run at a distance similar to
the distance of today's race.
Whether or not the selected PaceLine is taken from a race run on the same racing
surface (dirt or turf) as the racing surface of today's race.
The system default for PaceLine, unless overridden by the user, is to use the
best PaceLine found within the past 45 days.
(Accessible via the Profile Table Interface)
PaceLineBrisGap -
This number represents the difference between a horse's PaceLine number and the top Bris (Best of Last 10) figure in the field. If the horse's PaceLine is equal to the top Bris (Best of Last 10) figure in the race, then PaceLineBrisGap for the horse is zero. Hint~ When used in a UDM Definition concurrently with PaceLine, PaceLineBrisGap can often help the player get a handle on the validity of a PaceLine becasue it forces the player to compare the PaceLine to the best figure any other horse in the field is capable of running.
(Accessible via the Profile Table Interface)
Note: Even though this factor is labeled as "PaceLineBrisGap" rest assured that if you are using HDW files, this factor is being generated by the JCapper program using HDW speed figures as read from your data files.
Alternately, if you are using Brisnet files, this factor is being generated by the JCapper program using Brisnet speed figures read from your data files.
Previous Top Gap -
This number is a comparison between the data vendor generated (either Brisnet or HDW) final time Speed Figure taken from a horse's most recent race and the horse's best speed figure recorded prior to the
most recent race (the previous top.) The previous top is subtracted from the speed figure of the most recent start. Positive numbers are displayed on the
HTML Report in black. Negative numbers are displayed on the report in red. If, for whatever reason, either speed figure is missing, the horse gets a -99.
(Accessible via Dynamic Filters)
WeightedFigure -
This number represents the performance of a horse's most recent running line. This is a compound number derived using a proprietary algorithm where E1, E2, and Late Pace are weighted according to the impacts of historical occurances and are combined into a single number.
(Accessible via the Profile Table Interface)
Other Ratings
AgeSexCode -
This is a 3 character code that describes Age and Sex restrictions as part of the race conditions. The first character
corresponds to an age restriction. The second character delineates that age only or that age and up. And the third charcacter
corresponds to a sex restriction. Age and Sex restrictions can be made part of a UDM Definition simply by placing one or
more three character AgeSexCode(s) in the AgeSexCode field of the Profile Table. More than one AgeSexCode may be used in a UDM
Defintion simply by separating each AgeSexCode with a - (minus or dash) character.
(Accessible via Profile Table Interface)
Explanation of Supported AgeSexCodes:
First Character:
A - 2 year olds
B - 3 year olds
C - 4 year olds
D - 5 year olds
E - 3 & 4 year olds
F - 4 & 5 year olds
G - 3, 4, and 5 year olds
H - all ages
Second Character:
O - That age Only
U - That age and Up
Third Character:
N - No Sex Restrictions
M - Mares and Fillies Only
C - Colts and/or Geldings Only
F - Fillies Only
Example: BUN - means 3 year olds and up with no sex restrictions
Beaten Lengths -
This is the number of beaten lengths measured at the finish call of the most recent race of a horse's past performance record. If a horse finished second
or worse in its most recent start, Beaten Lengths will be a positive number. If a horse won its most recent start, Beaten Lengths is converted to a
negative number.
(Accessible via Dynamic Filters)
DAM
- (JCapper Platinum Only) - This is simply the name of the Dam as listed in the Bris past performance file.
(in JCapper Platinum this factor is fully grabbable in the UDM Wizard)
Hint~ For the player willing to use the Data Window to dig up the necessary information about categories where certain bloodlines excel (or fail)
bloodline specific UDMs can be an exellent way to take advantage of a body of knowledge that the betting public often pays very little attention to.
DAMSIRE
- (JCapper Platinum Only) - This is simply the name of the Dam's sire as listed in the Bris past performance file.
(in JCapper Platinum this factor is fully grabbable in the UDM Wizard)
Hint~ For the player willing to use the Data Window to dig up the necessary information about categories where certain bloodlines excel (or fail)
bloodline specific UDMs can be an exellent way to take advantage of a body of knowledge that the betting public often pays very little attention to.
DecelFactor -
or Deceleration Factor.
This number is a ratio expressing the relationship found in a horse's most recent running line between the late pace figure and the sum of the four furlong pace figure and the late pace figure.
DecelFactor is a two part calculation, performed as follows:
1. RunningLine = 4f PaceFig + Late PaceFig
2. DecelFactor = Late PaceFig / RunningLine
The lower the DecelFactor, the earlier in the race the horse could be said to have made its run. The higher the DecelFactor, the later in the race the horse could be said to have made its run. A very high DecelFactor (above 50) can be an indicator that a horse was not really in touch with the pace at any point in its most recent race.
(Accessible via Preset Filters)
FinPos -
or Finish Position.
This is simply the finish position taken from the chart of a horse's last race.
(Accessible via the Profile Table Interface)
Finish Position (Official) - (JCapper Platinum only) -
Data Window Only - Allows you to perform R&D to handicap for 2nd... or 3rd... or horses likely to round out the bottom of a super... or find horses where almost all the starters selected by the UDM are off the board.
HorseAge -
This number simply represents a horse's age in years.
(Accessible via the Profile Table Interface and Preset Filters)
LifeTimeStarts -
This number simply represents the number of races found in a horse's lifetime past performance record.
(Accessible via the Profile Table Interface and Preset Filters)
MedicationToday -
or Medication.
This is simply a number in the data file that designates the medication listed for today's race.
(Accessible via Preset Filters)
The following table lists possible field values for Medication:
MedicationToday Field Value
Explanation
0
None
1
Lasix
2
Bute
3
Bute & Lasix
4
1st Time Lasix
5
Bute & 1st Time Lasix
9
Med Info Not Available
Month - (JCapper Platinum only) -
Now you can flag UDMs by Month. Many different uses here. For example, KEE spring meet vs KEE fall meet... MNR winterized track vs MNR normal track... use with a sire list to flag 3 yr olds of individual sires likely to mature (and improve) during certain months of the year... combined with WatchList you can do this for individual horses if you know the month they were foaled. You'll find Month as a fully grabbable factor in the factors drop down of the UDM Wizard. (JCapper Platinum only)
Quip -
or Equipment Change.
This is a number that represents equipment change for today's race.
(Accessible via Preset Filters)
Quip
Description
0
No Equipment Change Today
1
Blinkers On Today
2
Blinkers Off Today
RaBrill -
or Race Brilliance.
This number represents velocity, measured in feet per second, and is based on the single fastest raw time at the four furlong point of any running line within the past 45 days at a distance of five furlongs or longer. If a horse's past performance record shows no races of at least five furlongs in distance during the past 45 days, then RaBrill is zero.
(Accessible via the Profile Table Interface and Preset Filters)
RailPosition -
This is a number that represents the horse's drawn position in the starting gate relative to the rail. Note- a horse's saddle cloth number, often referred to as post position, is not always the same as a horse's rail position. Races with entries, and especially races where one half of an entry has scratched, will often have many horses with saddle cloth numbers different from rail position. Hint~ RailPosition can be used to identify and exploit inside and outside position biases that sometimes exist at certain tracks and distances.
(Accessible via the Profile Table Interface and Preset Filters)
RecActivity -
or Recent Activity.
This is simply the number of days since a horse's most recent activity (race or workout) whichever is less.
(Accessible via the Profile Table Interface)
Recent Activity- Days Last Start -
This is simply the number of days since a horse's last race.
(Accessible via the Profile Table Interface)
Recent Activity- Days Last Work -
This is simply the number of days since a horse's last workout.
(Accessible via the Profile Table Interface)
Recent Activity- Days Either -
This is simply the number of days since a horse's last race or days since last workout, whichever is smaller.
(Accessible via the Profile Table Interface)
Recency -
The number of days from a horse's most recent start and most recent work are looked at and a True/False (Yes/No) value
is assigned based on the individual case for the horse.
The following table illustrates how Recency Y/N is assigned:
Days Most
Recent Start
1-15
16-90
16-90
16-90
91+
Days Most
Recent Work
n/a
none listed
1-10
11+
n/a
Recency
Y
N
Y
N
N
Note~ on the HTML Report, horses with a Y for Recency have their Form Rating underlined and displayed in black. Horses with an N
for Recency have their Form Rating displayed in gray.
SIRE -
This is simply the name of the horse's sire as listed in the Bris past performance file.
(Accessible via Preset Filters in older program versions)(in JCapper Platinum this factor is fully grabbable in the UDM Wizard)
Hint~ For the player willing to use the Data Window to dig up the necessary information about categories where certain sires excel (or fail,)
sire specific UDMs can be an exellent way to take advantage of a body of knowledge that the betting public often pays very little attention to.
SIRESSIRE
- (JCapper Platinum Only) - This is simply the name of the sires's sire as listed in the Bris past performance file.
(in JCapper Platinum this factor is fully grabbable in the UDM Wizard)
Hint~ For the player willing to use the Data Window to dig up the necessary information about categories where certain bloodlines excel (or fail)
bloodline specific UDMs can be an exellent way to take advantage of a body of knowledge that the betting public often pays very little attention to.
WatchList - (JCapper Platinum only) -
Now you can write UDMs to flag horses by name of horse. Create your own "watch list" of horses you want to bet back next time out based on your own trip notes... checked, wide, blocked, galloped out strongly, etc.
It works almost exactly like SIRE and DAM do.
You'll find WatchList as one of the available factors in the UDM Wizard. (JCapper Platinum only) Key or paste the names of horses from your Watch List into the textbox, check the Test Box, and hit Save. When that horse comes up again in a loaded data file it gets marked by the UDM.
WillToWin - (JCapper Platinum only) -
WillToWin is generated by an algorithm that evaluates performance of the horse (finish position) vs. public expectancy (the odds.) WillToWin exists on a scale of from 0 to 105. Horses that frequently outrun their odds are awarded high WillToWin scores. Horses that frequently fail to run to their odds are awarded low WillToWin scores.
You'll find WillToWin in the factors drop downs of both the Data Window and UDM Wizard. WillToWin is also fully "grabbable" for use in UserFactors and UPR within the IVTable Wizard. (JCapper Platinum only)
WoDays -
This is simply the number of days since a horse's last workout.
(Accessible via the Profile Table Interface)
Comprehensive Power Ratings found in JCapper:
JRating -
Here are the program author's comments on what the JRating is and how it came to be~
I call it the JRating simply because my first name is Jeff. This JRating employs a myriad of factors. Each separate factor used in the JRating is weighted according to the true impact, both in terms of win probability and money returned, that the individual factor showed during some fairly significant testing.
Each separate factor used in the JRating calculation falls under what I've heard referred to as a school of handicapping.
Handicapping School
Factors
Pace/Early Speed
Comprehensive Pace Rating:
Avg E1
Avg E2
Best E2
Turn Time
Workout Brilliance
Percent Early/Running Style
PScore
Ability
Figure History:
JCapper Weighted Figures
Bris Speed Figures
Bris Pace Figures
Class
Compound Class Rating:
Race Strength
Par for Level Analysis
Earnings History
Form
Compound Form Rating:
JCapper Weighted Figure
Weighted Figure Improvement
Workout Brilliance
Workout Brilliance Improvement
Connections
Connections Rating:
Rider win pct meet & year
Trainer win pct meet & year
First, there's the handicapping school of pace or early speed. That school is represented by a very good compound factor called CPace.
Generally, CPace will give you a very good idea as to which horses will be on or near the lead during the actual running
of the race.
Then, there's class. That's another handicapping school. For that school there's a compound class rating that uses some very good unique numbers
to express class.
There's also overall ability. Is that the same thing as class? Maybe. But let's save that for one another discussion. Overall ability is represented
by a history of the figures taken from each line in a horse's past performance record. Figures? What figures? First, there's the JCapper Weighted
Figure (which has been shown time and again to return more money from win bets than the Bris speed figure.) Then, there's the Bris speed figure, which
is does bring some predictive utility to the computation. Then, there's the Bris E1, E2, and Late pace figures. All are used. The result is rolled
into a single number that expresses a horse's overall ability and does it very well.
Then, theres the handicapping school of form. For that, I developed the JCapper Form Rating, a very good compound number that attempts to express
a horse's current form. That's another school- and one very few others have even attempted to quantify.
Finally, there's the school of handicapping that deals the human element of the game: The horse's connections. For that school, some some very good
ratings for the jockey and trainer.
So what I did was code out an algorithm to assemble all of these separate ratings, each representing the best that I could devise for each separate school of handicapping, into an insightful single number- the JRating.
My initial goal was to create my own unique number similar in predictive strength to the Bris prime power rating. I figured that if it was unique and nobody else could see it then it might return more money from a $2.00 win bet than the Bris prime power number while still being very predictive in nature. What I hate about prime power is that you'll lose significant money if you bet $2.00 to win on every top rated prime power horse. What I like about prime power is that it does have some predictive strength.
Initial testing of my own JRating revealed that it could be every bit as predictive as prime power, but like prime power it just wasn't profitable on its own. So I began looking at different segments of horses, trying to see if by excluding them I could raise the roi. What I found was that by doing some tweaking, and elevating scores in certain areas for horses that looked bad on paper, and lowering scores in certain areas for horses that looked good on paper, that I could improve the overall roi of the JRating without cutting back on its predictive strength too much.
After some experimenting, I arrived at a place where data samples consistently reveal that the top ranked JRating horse wins about 25 percent of all dirt
races and a $2.00 win bet at most tracks on the top ranked JRating horse in all dirt races consistently comes very close to
breaking even. Using Bris data, at all tracks, surfaces, distances, and classes during calendar year 2004, a flat $2.00 win bet on the top JRating horse in every race,
with no further handicapping whatsoever, returned more than 95 cents for every dollar wagered. Presented another way, that's a 0.95 roi based on a flat $2.00 win bet. Users
of TSN data, for reasons discussed elsewhere, saw an roi of about 0.915 from the same flat $2.00 win bet during calendar year 2004.
--Jeff Platt, February, 2005
Note: Program versions released to new customers starting in March, 2007 and thereafter (JCapper 2007, JCapper 2008, and beyond) do not include the following factors: JRating, AProb, AProbOL, and PScoreOL. These factors are available to the original 100 registered program owners only. If you are one of the original 100 registered program owners you will have access to these factors when you upgrade to the latest program version.
Alchemy Rating -
This is a comprehensive rating unique to JCapper and introduced with the release of JCapper2007.
It is based primarily on a combination of class and form and is similar
in factor mix to JPRClass. However, its impact values and weights have been run through a secondary smoothing algorithm
so that it exists on a numerical scale between 0-100. Horses with higher Alchemy Ratings consistently have higher win
rates and flat win bet roi than horses with lower Alchemy Ratings do.
(Accessible via the UDM Wizard)
JPR -
This is a comprehensive rating unique to JCapper and introduced with the release of JCapper2007. It is driven by the DEFAULT GroupName
factors present in the ImpactValues table. Benchmark testing of the top ranked horse in large data samples derived using Bris data
shows that the top ranked JPR horse consistently wins approximately 29 percent of its races while returning a flat win bet roi of
approximately .90.
(Accessible via the UDM Wizard)
JPR Class -
This is a comprehensive rating unique to JCapper and introduced with the release of JCapper2007.
It is based primarily on a combination of class and form. I have never been happy applying
speed figure or time based numbers in turf races. JPR Class is a direct result of my own Data Window research into the effectiveness of class
and form on the turf. JPR Class offers predictive ability on the turf with one upside:
A surprising number of top ranked horses in JPR Class go to post as longshots (6-1 or higher.)
(Accessible via the UDM Wizard)
PRating -
This is a comprehensive rating unique to JCapper. PRating was introduced with the release of JCapper2007.
PRating uses a more comprehensive (deeper) factor mix than either Alchemy or JPRClass. Like other compound numbers in JCapper,
its impact values and weights have been run through a secondary smoothing algorithm
so that it exists on a numerical scale between 0-100. Horses with higher PRatings consistently have higher win
rates and flat win bet roi than horses with lower PRatings do.
(Accessible via the UDM Wizard)
QRating -
This is a comprehensive power rating unique to JCapper and introduced with the release of JCapper2007.
It is the result of thousands of hours of Data Wnidow Research I conducted during 2006.
My initial purpose for conducting this research was curiousity. I've always been curious about the factor mix used by BRIS in their
Prime Power Rating. The QRating starts with a factor mix similar to that found in the BRIS Prime Power Rating. But the QRating
also contains weights for several unique factors found only in JCapper. The result is that JCapper QRating is almost identical to BRIS
Prime Power in terms of predictive ability, but QRating is superior in performance to Prime Power where it really counts: win bet roi.
The top four ranked QRating horses return more money than the top four ranked Prime Power horses do. For that reason JCapper QRating makes
a much better starting point for contender selection than BRIS Prime Power.
(Accessible via the UDM Wizard)
PrimePwr -
or Prime Power Rating.
Depending on which data vendor you are using, either Brisnet or HDW, the JCapper program will read either Brisnet Prime Power or HDW PSR from field #251 of your data files and present it to you accordingly in the Data Window and on your HTML Reports.
Prime Power for Brisnet data customers
Prime Power is a proprietary number produced by Bloodstock Research and is read by JCapper for each horse directly from field #251 of your Brisnet data files. Although not profitable on its own, this number does have some predictive utility. During our benchmark testing period, the top prime power horse in each dirt race won more than 32 percent of its starts.
(Accessible via the Profile Table Interface)
PSR for HDW data customers
PSR is a proprietary factor produced by Jim Cramer of HDW and is read by JCapper for each horse directly from field #251 of your HDW-JCapper .JCP data files. Although not profitable on its own, this factor does have strong predictive utility. In my own large sample database testing, the top ranked horse in each race for PSR and Prime Power have almost identical win rates. However, the top ranked PSR horse returns a slightly better flat win bet roi than the top ranked Prime Power horse. One possible reason as to why this is so might be that horse race betting is a pari-mutuel game and that HDW speed and pace figs are seen by fewer pairs of eyes each day than their Brisnet counterparts.
(Accessible via the Profile Table Interface)
UPR - or User Defined Power Rating - JCapper Platinum is unique among commercially available thoroughbred handicapping software programs in that it provides you the user with an interface for creating your own (unique) factors. In JCapper Platinum, that interface is known as UPR Tools. Armed with the UPR Tools interface you can take factors from any area of handicapping: Early Pace, Late Pace, Speed Figs, Class, Form, Abilities of the human connections, Track Profile, etc. and combine and weight them according to the degree of importance suggested by your own R&D. From there, the Interface takes the factor constraints and weights as you defined them and uses them as inputs during number crunching to produce custom handicapping factors seen by your eyes only. The factors that you create using the UPR Tools Interface can be universal in nature – or you can make them as specific as you like using things like track, surface, distance, class level, field size, etc. (you decide.)
The idea behind UPR is to allow you the user to create a custom power rating that can be tested in the Data Window, seen on the HTML Report, and used in UDMs. Keep in mind that racing is a parimutuel game and that you are the only person on the planet who gets to see your own UPR.
See the ImpactValues Table Interface HELP DOC for fundamental get started info about creating UPR:
Read the HELP DOC - click here.
(UPR is accessible via the UDM Wizard/Profile Table Interface) and is ONLY available in the JCapper Platinum program. (UPR is not available in JCapper Silver.)
UPR UserFactors
JCapper2008 includes five new UPR Userfactors. All five are available in the factors drop down of the UDM Wizard.
Q. What are they?
A. They are UPR-like factors that YOU create.
Q. How do you create them?
A. You create them using the ImpactValues Table Wizard just like you would if you were creating UPR.
Q. What do you use for a GroupName?
A. If you are creating USERFACTOR1 you would use USERFACTOR1 as your GroupName. If you are creating USERFACTOR2 you would use USERFACTOR2 as your GroupName... and so on up to USERFACTOR5.
Q. What factors can I use when I create a USERFACTOR?
A. I've tried to make this as easy as possible. All of the valid factors appear in the IVTable Wizard's factors drop down.
There are some rules though. The Userfactors build upon each other. You can use an existing Userfactors when you create a new Userfactor. For example, when you are creating Userfactor5 you can use Userfactors 1-4. But it you are creating Userfactor1, you can not use Userfactor2 (or higher) because it doesn't exist yet. Make sense?
Q. Can I make my Userfactors visible on my HTML Report?
A. Yes. There is a box to enable this on the System Definitions Screen.
This means that if there's a factor in the program not displayed on the HTML Report (BF for example) that you'd like to have displayed - you can do so by creating a Userfactor using BF with a translate behavior - and that Userfactor simply becomes BF - and if the box on the Sys Defs Screen is checked to display Userfactos - you'll see BF displayed on your HTML Report.
That's just one possible way to use Userfactors. If you want to develop multiple compound UPRs - go to it. UPR UserFactors allow you to create your own factors. How far you take this concept is really up to you.
Running Style:
ClosingRatio -
This number represents an analysis of the running positions at different points of call within a horse's past performance record. As such it is a numerical representation of a horse's running style. Horses that gun for the lead right out of the gate will have very low ClosingRatio scores. Horses that run from off the pace and pass other horses later in the race will have higher ClosingRatio scores. Hint~ ClosingRatio can sometimes be a very useful indicator of track specific speed and closing biases when they are present.
(Accessible via the Profile Table Interface)
QSpeedPoints -
This number represents Quirin style Speed Points. Speed points exist on a scale of between 0 and 8. The higher the number, the more likely it is that a horse will try and get the lead. The lower the number, the more likely it is that a horse will not contend for the lead.
(Accessible via the Profile Table Interface)
RunningStyle -
A text descriptor describing a horse's preferred running style:
(Accessible via the Profile Table Interface)
E horses often try to get the lead right out of the gate.
EP horses are comfortable running just off the lead and often try and make their move approaching the top of the stretch.
P horses are comfortable running the early part of the race in mid-pack and will often try and close late in the race..
S horses are most comfortable running the early part of the race in the very back of the field and will try and close late in the race.
NA horses have not yet established a preferred running style.
Treatment of Running Style in JCapper:
ValidRunningStylesTest -
This is a true/false field in the Profile Table. When this field has a value of true, the ValidRunningStylesTest is activated and only horses with running styles matching those declared in the ValidStylesList field will be considered as UDM plays. When this field has a value other than true, the ValidRunningStylesTest is not activated.
(Accessible via the Profile Table Interface)
ValidStylesList -
This is a text field found in the Profile Table. When the ValidRunningStylesTest has been activated, both the Profile Marker and Data Window will compare the running style of each horse against the text value found in the Profile Table ValidStylesList field. If a match is found between running styles, the horse is accepted as a UDM play. If no match is found between running styles, the horse is rejected as a UDM play.
Hint~ multiple running styles can be declared as part of a UDM Definition using the ValidStylesList field. Simply separate each one using dashes (the "-" character.) When more than one running style is declared in the ValidStylesList field, program logic in the Profile Marker and Data Window will process each valid running style in turn.
(Accessible via the Profile Table Interface)
AvoidRunningStylesTest -
This is a true/false field in the Profile Table. When this field has a value of true, the AvoidRunningStylesTest is activated and horses with running styles that match those declared in the AvoidStylesList field will be rejected as UDM plays. When this field has a value other than true, the AvoidRunningStylesTest is not activated.
(Accessible via the Profile Table Interface)
AvoidStylesList -
This is a text field found in the Profile Table. When the AvoidRunningStylesTest has been activated, both the Profile Marker and Data Window will compare the running style of each horse against the text value found in the Profile Table AvoidStylesList field. If a match is found between running styles, the horse is rejected as a UDM play. If no match is found between running styles, the horse is accepted as a UDM play.
Hint~ multiple running styles can be declared as part of a UDM Definition in the AvoidStylesList field. Simply separate each one using dashes (the "-" character.) When more than one running style is declared in the AvoidStylesList field, program logic in the Profile Marker and Data Window will process each running style in turn.
(Accessible via the Profile Table Interface)
PctE -
or Percent Early. This number represents the percent of total energy expended by a horse during the first two thirds of a race. This number is an average taken from each of the running lines found in a horse's past performance record. The PctE number is calculated using the Bris E1, E2, Late Pace, and Final Time based Speed Figure. Each number is weighted according to the impact of historical occurances and each of the separate factors is then combined into a single number. The higher the PctE, the more likely it is that a horse will contend for the lead in today's race. The lower the PctE, the more likely it is that the horse will not contend for the lead in today's race. Hint~ PctE can often be a very useful identifier of track specific speed and closing biases when they are present.
(Accessible via the Profile Table Interface)
PctEOfCPace2Horse -
This number is the PctE or Percent Early of the second highest rated CPace horse in the race. Including this number in the program makes it possible to evaluate pace matchups between the top two CPace horses in each race. UDMs can be created to exploit patterns within the pace matchup between these two horses.
Hint~ PctEOfCPace2Horse and analysis of pace matchups between the top two CPace horses can sometimes be a very useful identifier of track specific speed and closing biases when they are present.
(Accessible via Dynamic Filters)
Wagering Decisions
AProb -
or Assigned Probability-
This is a probability generated by an algorithm that looks at the relative strengths of multiple factors found in a horse's past performance record. Each factor is examined and weighted according to the impacts of historical occurances. A probability is established for each horse to win the race. When each AProb in the race is added together, the race total will be 100.
(Accessible via the Profile Table Interface)
AProbOddsLine -
or Assigned Probability Odds Line-
This is an odds line derived from the AProb probability. Application of the Assigned Probability Odds Line as part of a UDM Definition will casue the odds line itself to be displayed inside of the brackets to the right of the horse and UDM name in the AtAPrice.txt file or Text Report. When each AProb in the race is added together, the race total will be 100. Application of the Assigned Probability Odds Line is one means of helping a player to find value in wagers placed. Horses with odds lower than that of the AProbOddsLine are not played.
(Accessible via the Profile Table Interface)
Note: In JCapper2007 JRationg, AProb, AProbOL, and PScoreOL are not part of the factor set made available to new users. Owners of the original JCapper program do still have access to these factors when they upgrade to JCapper2007.
BettingInstructions -
This is simply a text field found in the Profile Table. Whatever text is placed by the user in the BettingInstructions field of the UDM record is displayed inside the brackets to the right of the horse and UDM name in the AtAPrice.txt file or Text Report. Any sort of useful information or reminder can be placed in the BettingInstructions field. Some successful players have used designations such as W for Win Only or WP for Win Place. Other successful players have included something like .015 meaning that a wager on a horse fitting this UDM Definition would be made at 1.5 percent of bankroll.
Use of the BettingInstructions field is entirely at the discretion of the user. It is just one means of aiding a player in finding value in wagers placed.
(Accessible via the Profile Table Interface)
Divisor -
This is a number you divide the field size by in order to arrive at the minimum required odds before placing a wager on a horse. Example~ You are looking at a 9 horse field and you are using a Divisor of 1.5. Therefore: Min Req Odds = 6 to 1. (or 9 divided by 1.5) Horses that fall below the minimum required odds are not played. Application of a divisor is one means of helping a player to find value in wagers placed.
(Accessible via the Profile Table Interface)
MLine -
or Morning Line.
The Morning Line is simply an odds line that is prepared before betting on a race opens. Often the Morning Line is set by an official employed by the track and bears little or no relation to a horse's true chances of winning a race. Most often, the track official who creates the morning line does so in an attempt to entice more money into the parimutuel pools for a race than if the morning line had been based on each horse's true chances of winning the race. At some tracks, the morning line created reflects a prediction of what the final odds established by the public will be.
Hint~ Application of MLine as part of a UDM Definition sometimes can, depending on factors and ranges defined inside of a UDM, free the player for the most part of the dependency of needing to know actual toteboard odds before making play or pass decisions on potential UDM plays- the theory being that if Morning Line odds are high enough to justify a wager then actual odds will also be high enough to justify a wager.
(Accessible via the Profile Table Interface and Dynamic Filters)
Morning Line Race Low -
This is simply the morning Line Odds of the Morning Line Favorite or the horse with the lowest morning line odds in the race. The Morning Line is simply an odds line that is
prepared before betting on a race opens. Often the Morning Line is set by an official employed by the track and bears little or no relation to a horse's
true chances of winning a race. Most often, the track official who creates the morning line does so in an attempt to entice more money into the
parimutuel pools for a race than if the morning line had been based on each horse's true chances of winning the race. At some tracks, the morning line
created reflects a prediction of what the final odds established by the public will be.
Hint~ Despite this, by paying attention to Morning Line Race Low, the astute player can often use this information to separate playable races
from non playable races in advance. Races with higher morning line race lows tend to produce fewer winning favorites.
(Accessible via Dynamic Filters)
MLine Odds Ratio -
This is the ratio between odds at post time and the morning line odds. It is calculated by dividing Post Time Odds by Morning Line Odds.
Hint~ by paying attention to MLine Odds Ratio the astute player can often use this information to recognize value during play or pass decision making.
(Accessible in the Data Window from the Factors Drop Down)
MLine Odds Ratio II or MLOR2 -
This is the ratio between the Morning Line Odds and the AProbOddsLine. It is calculated by dividing Morning Line Odds by the AProbOddsLine.
Another feature of the program is MLine Odds Ratio II highlighting on the HTML Report. This feature can be turned on or turned off in the System Settings Interface/System Definitions Screen according to
individual user preferences. When turned on, if MLine Odds Ratio II is 1.30 or higher, the horse is highlighted in light yellow. When MLine Odds Ratio II is 2.0 or higher, the horse is highlighted in
very bright yellow.
Hint~ by paying attention to MLine Odds Ratio II (MLOR2) the astute player can often use this information to recognize value well in advance of post time, enabling play or pass decision making to
take place without the need to see final odds. (Accessible in the Data Window from the Factors Drop Down.)
MLOR3 - Morning Line Odds Ratio 3 - This a ratio calculated by dividing Morning Line Odds by JPRMLProbOL. In the
Finding an Edge Help Doc I talk about the value of
understanding and using hidden positives when creating UDMs and UPR. When the public bets the races they tend to mimic the Morning
Line. Or put another way: The Morning Line drives the betting. Using MLOR3 can be an excellent way of introducing a value
component into your UDMs.
(MLOR3 is accessible via the Profile Table Interface and UDM Wizard in JCapper2007)
MLOR3 Overlay Highlighting settings can also be found on the System Settings/System Definitions screen. Settings made there
will drive OR3 Overlay Highlighting on the HTML Report.
MLOR4 - Morning Line Odds Ratio 4 - This a ratio calculated by dividing Post Time Odds by JPRMLProbOL.
MLOR4 is available in the factors drop down of the Data Window so that you can perform research into whether or
not it will help during live play of your UDMs. If you decide to use MLOR4 in one or more of your UDMs, my recommendation
would be to include a note to yourself in the BettingInstructions field for that UDM... something like MLOR4 2+ would suffice
to remind you to play any selections made by the UDM in question whenever MLOR4 is 2.0 or higher.
OR3 - Odds Ratio 3 - This a ratio calculated by dividing Post Time Odds by JPRToteProbOL.
OR3 is available in the factors drop down of the Data Window so that you can perform research into whether or
not it will help during live play of your UDMs. The odds line expressed by the JPRToteProb algorithm
has been shown to be extremely accurate. Actual win rates of horses in large data samples are very close to the pre-race
predicted win rates expressed by the JPRToteProb algorithm. OR3 of 1.0 (or higher) represents a theoretical break even
point. The real world O3 break even point when betting UDM selections varies from UDM to UDM depending on the strength of the
hidden positives used in the factor mix of the individual UDM. UDMs that are really strong in terms of hidden positives
tend to have lower OR3 break even points than UDMs weaker in hidden positives.
If you decide to use OR3 in one or more of your UDMs, my recommendation
would be to include a note to yourself in the BettingInstructions field for that UDM... something like OR3 .75 would suffice
to remind you to play any selections made by the UDM in question whenever OR3 is 0.75 or higher.
OR3 Overlay Highlighting settings can also be found on the System Settings/System Definitions screen. Settings made there
will drive OR3 Overlay Highlighting on the Live Play Module.
OddsRange -
This is simply an odds range most likely determined by the user during Data Window testing of a UDM. Application of an OddsRange is one means of helping a player to find value in wagers placed. Horses with odds lower than that of the OddsRange are not played. Also, when a maximum OddsRange value has been established, horses with odds higher than the OddsRange are not played.
(Accessible via the Profile Table Interface)
Optimization Points -
Optimization Points came about as a result from things I noticed during my research of PMI. Optimization Points represents rank for PMI and Form Rating
expressed as a single number existing on a simple 12 point scale - 0 being the lowest and 12 being the highest.
(Accessible via Preset Filters)
PScore -
or Profitability Score.
Handicapping the Crowd is sometimes every bit as important as handicapping the horse. Horses that look good on paper tend to attract more money than do horses that look bad on paper. During the benchmark testing period, the authors of JCapper tested and discovered several factors that had a greater impact in terms of attracting money to a horse in the parimutuel pools than the influence these factors had on determining a horse's chances to win the race. After carefully studying the historical occurances of these factors, an algorithm was created that weighted each factor accordingly, and a single number was created- the PScore. The PScore can often be used to point out ahead of time top rated horses that will be playable. Integration of the PScore into a UDM Definition can sometimes alleviate the need for a player to become a toteboard slave. When this is acheived, the player who chooses to do so can make wagers on his UDM selections ahead of time and use the newly found free time for other endeavors of his or her own choosing.
(Accessible via the Profile Table Interface)
PScore Odds Line -
The PScore Odds Line is the AProbOddsLine adjusted for PScore. It is expressed as a range, having both Min and Max values. This odds range describes a "sweet spot" in the odds where win betting on the top JRating horses have been historically profitable.
The PScore OddsLine is only displayed when horses either match a UDM Definition or are ranked first or second in JRating. Display of the PScore Odds Line on the HTML Report in place of the AProbOddsLine is optional.
The System Settings Interface/System Definitions Screen can be used to enable/disable display of the PScore Odds Line according to individual user preferences. Some UDMs perform better using the PScore Odds Line in place of the AProbOddsLine and vice versa, depending on the factor mix of the UDM itself. Data Window testing of a UDM will reveal which is preferable.
The PScore Odds Line when enabled is displayed on the HTML Report. While the PScore Odds Line is enabled, a mouse click on it will present the AProbOddsLine to the user (and vice versa.)
Note: In JCapper2007 JRationg, AProb, AProbOL, and PScoreOL are not part of the factor set made available to new users. Owners of the original JCapper program do still have access to these factors when they upgrade to JCapper2007.
System Fields and Settings
MarkChars -
or Mark Characters.
This is simply a text field found in the Profile Table. The MarkChars field is used by the Profile Marker and HTML Report Builder to mark
horses that fit UDM Definitions. Valid characters for the MarkChars field in the original JCapper program are: // for positive
expectation UDMs and ^^ for negative expectaion UDMs. The marking functionality of the Profile Marker and HTML Report
Builder can be temporarily disabled for an individual UDM if the text in the MarkChars field is deleted or altered to an unrecognized
character. Marking functionality can be re-enabled for a UDM by placing valid mark characters back into the MarkChars field of the
UDM Record.
The UDM Wizard in JCapper2007 provides an expanded MarkChars character set set that allows for user driven CSS highlighting and coloring of UDM name
text on the HTML Report.
(Accessible via the Profile Table Interface)
Notes -
This is simply a memo field in the Profile Table. Its sole purpose to to provide a place for the user to record his or her own notes regarding the UDM being defined.
(Accessible via the Profile Table Interface)
SpecialFilterCode -
This is simply a text field in the Profile Table. The SpecialFilterCode field is available to the user as the place to declare a Filter as part of a UDM Definition. When text is present in the SpecialFilterCode field, both the Profile Marker and Data Window will look for a match between the text in the SpecialFilterCode field and the valid FilterCode of a Preset or Dynamic Filter. If a match is found, the logic for the matching filter is applied. If no match is found, the text in the SpecialFilterCode field is ignored and no filter is applied.
(Accessible via the Profile Table Interface.)
Race Definition:
RaceVolatility -
This is a numeric value often indicative of the longshot potential found in a race. It is based on field size and the PF1 and PF2 values of the top Prime Power horse in the race. Races with higher RaceVolatility scores tend to produce more longshot winners and overlay winners than do races with lower RaceVolatility scores. RaceVolatility can be helpful in pointing the player towards playable races.
(Accessible via the Profile Table Interface)
FieldSize -
FieldSize is simply a numeric count of the number of actual runners in a race. Larger fields tend to produce more longshot winners and overlay winners than do smaller fields. Field size can be helpful in pointing the player towards playable races.
(Accessible via the Profile Table Interface)
SizeOfFieldLastStart -
This is simply a numeric count of the number of actual runners from a horse's most recent start.
(Accessible via Preset Filters)
Track -
Track is simply a two or three character code, related to the way that Bris names their DRF Single Format Data Files, and related to the way track names are displayed in the Daily Racing Form, representing the name of the track where today's race will be run.
Treatment of Track Codes in JCapper:
JCapper provides the user the ability to declare track names as part of a UDM Definition. The algorithm that identifies matches between track names recognizes partial track name matches. For example, if the full Track Code is APX (Arlington Park) a track code of AP in either the RestrictTrackList or AvoidTrackList fields of the Profile Table will result in a track name match.
A word of warning to the user who abbreviates track codes- Whenever track codes are abbreviated, the user must take care that the abbreviated track code doesn't produce a name match with an unintended track. The following table shows one example that illustrates a case where an abbreviated track code can produce an unintended track name match. The table shows track codes for Santa Anita and Saratoga. An abbreviated track code of SA would produce a track code name match for both SAX and SAR. Because this is a known special case, additional logic has been created in the track code name match algorithm to handle it. Where Santa Anita and Saratoga are concerned, Santa Anita is always recognized using either SA or SAX while Saratoga must be defined using SAR.
Special Handling of SAX and SAR Track Codes
Track
Code
Bris
FileName
SA or SAX
SAX0104.DRF
SAR only
SAR00825.DRF
ThisTrackTest -
This is a true/false field in the Profile Table. When the value of this field is true, the ThisTrackTest is is activated. If the value of this field is not true, then the ThisTrackTest is not activated.
RestrictTrackList -
This is a text field in the Profile Table used to restrict play to races carded at individually named tracks. When the ThisTrackTest is activated, both the Profile Marker and Data Window will check for a match between the track code for today's track and the text value of the RestrictTrackList field in the Profile Table. When a track code match is found, the horse is accepted as a UDM play. When a track code match is not found, the horse is rejected as a UDM play.
Hint~ Multiple track codes may be declared in the RestrictTrackList field. Simply separate your track codes with dashes (the "-" character.)
AvoidTrackList -
This is a text field in the Profile Table used to prevent play of races carded at individually named tracks. When the ThisTrackTest is activated, both the Profile Marker and Data Window will check for a match between the track code for today's track and the text value of the AvoidTrackList field in the Profile Table. When a track code match is found, the horse is rejected as a UDM play. When a track code match is not found, the horse is accepted as a UDM play.
Hint~ Multiple track codes may be declared in the AvoidTrackList field. Simply separate your track codes with dashes (the "-" character.)
(Accessible via the Profile Table Interface)
SurfaceReq -
or Required Surface.
This is simply a text field found in the Profile Table. The value of this field is used to declare a required running surface as part of the UDM Definition.
(Accessible via the Profile Table Interface)
Here are the valid and recognized values for this field:
* -
Asterisk or Wildcard character. Causes recognition of any surface.
D* -
All dirt courses, both inner and outer. Includes races taken off the turf.
D -
Main or Outer dirt course only. Does not include races taken off the turf.
d -
Inner dirt course only. Does not include races taken off the turf.
O -
Designates a race taken off the turf. Note: This is the letter O from the
alphabet and not a numeric zero character. Having a separate indicator for
races taken off the turf provides a way for users to create UDMs specific to
races taken off the turf.
T* -
All Turf courses, both inner and outer.
T -
Main or outer Turf course only.
t -
Inner Turf course only.
SurfaceShift -
SurfaceShift is a number that represents the shift (or change) in running surface from the running line of a horse's most recent race compared to the running surface of today's race. In general terms, most horseplayers think of a horse going turf to dirt or dirt to turf. But the reality is this just isn't that simple. At some tracks there are actually two different types of dirt courses: inner dirt and outer dirt. There are also two different types of turf courses: inner turf and outer turf.
For that reason, and for the user who wants to be very specific about defining SurfaceShift in his or her UDMs, the following matrix was developed and is recognized by all program logic within JCapper:
Surface Today's Race
Surface Previous Race
SurfaceShift
D
D
0
D
d
1
d
D
2
d
d
3
D
T
4
D
t
5
d
T
6
d
t
7
T
D
8
T
d
9
t
D
10
t
d
11
t
T
12
t
t
13
T
T
14
T
t
15
ALL
*1
17 Surface Last Race Missing
*2
ALL
18 Surface Today Missing
D represents Outer Dirt Course
d represents Inner Dirt Course
T represents Outer Turf Course
t represents Inner Turf Course
*1Note~ also indicates first time starter.
*2Note~ indicates surface for today's race is missing.
If the above table looks a little complicated, perhaps it can be simplified by
presenting SurfaceShifts in general categories more in line with the way that most horseplayers tend to think. For the player who is not really concerned with SurfaceShift in terms of inner and outer courses and who just wants to isolate turf to dirt, dirt to turf, and no change as part of his or her UDM Definitions, the following matrix may be used:
SurfaceShift
General Category
0-3
Dirt Last Race to Dirt Today
4-7
Turf Last Race to Dirt Today
8-11
Dirt Last Race to Turf Today
12-15
Turf Last Race to Turf Today
17
Missing Information, Last Start (Also indicates first time starter.)
18
Missing Information, Today's Race.
Hint~ SurfaceShift can sometimes be used when creating Trainer Specific UDMs. Some trainers have very good historical records when switching running surfaces while others do not.
(Accessible via Dynamic Filters)
Note~ For purposes of calculating Surface Shift, races taken off the turf indicated by the letter O are treated
exactly the same as races run on a main dirt course. Example: Today's race is off the turf and indicated by the letter O while
the previous race was run on the main turf course indicated by the letter T. In this case, surface shift would be 4, which is exactly
the same value had today's race originally been carded for the main dirt course. Becasue the
race came off the turf, the horse is changing surfaces and would now be considered as going from Turf to Dirt.
DtShift -
or Distance Shift. DtShift is a number that represents the shift (or change) in furlongs from the distance shown in the running line of a horse's most recent race compared to the distance in the stated conditions for today's race.
Hints~ DtShift can sometimes be used by the astute player when creating trainer specific UDMs. Some trainers excel when stretching horses out or shortening them up. Other trainers have no success whatsoever when their runners switch distances.
~ DtShift can also be used by the astute player when creating UDMs where it is desired that a horse being considered as a contender ran a distance in its last race very close to the distance of today's race. This can be done to prevent, for example, inclusion of milers or sprinters as a contenders if today's race just happens to be one of those marathon mile and a half events.
(Accessible via the Profile Table Interface)
Shipper -
A Shipper is a horse (shipping in) whose most recent start was run at a different track than today's track.
(Accessible via Preset Filters)
Non-Shipper -
A Non-Shipper is a horse (not shipping in) whose most recent start was run at today's track.
(Accessible via Preset Filters)
Weight Shift -
Weight Shift is simply the difference (or change) between weight carried in the horse's most recent start and the assigned weight for today's race.
Example: Weight last start: 122 lbs less assigned weight for today's start: 118 lbs. Weight Shift = 122 - 118 or Weight Shift = 4.
Believe it or not, this can make a real difference, but not in the way you might at first think it would. Weight shift can also represent CLASS as
it relates to the stated race conditions as written by the racing secretary. Horses moving up in class get weight off while horses moving down in
class get weight added on. Hint~ This can prove very interesting in certain types of races or in certain situations. The astute player can use the
Data Window to discover those situations and exploit them by including Weight Shift in UDM Definitions.
(Accessible via Dynamic Filters)
DistReq -
or Required Distance.
This is simply a text field found in the Profile Table. The value of this field is used to declare a required distance category as part of the UDM Definition.
(Accessible via the Profile Table Interface)
Here are the valid and recognized values for this field:
* -
Asterisk or Wildcard character. Causes recognition of any distance.
S -
Sprint Races (less than 8 furlongs)
R -
Route Races (8 furlongs and longer)
Numeric Value -
(in furlongs) A numeric value in furlongs will cause recognition of an exact distance. Example: 5.5 results in a distance definition of five and one half furlongs.
ClassDescriptor -
ClassDescriptor is a text field found in the Profile Table. The value of this field is used to declare a required Class of Race as part of the UDM Definition. When a value in this field is present, the Data Window and Profile Marker will require a match between the Profile Table ClassDescriptor field value and the Bris Class Code for today's race when determining whether or not a horse fits a UDM Definition.
Hint~ Multiple ClassDescriptors can be declared as part of the UDM Definition. Simply separate each individual ClassDescriptor with a dash or "-" character. Logic in the Data Window and Profile Marker will evaluate each separate ClassDescriptor in turn.
(Accessible via the Profile Table Interface)
Valid ClassDescriptor field values are as follows:
ALL -
ALL Bris Class Codes are treated as matches.
C -
Claiming Races are treated as matches. If today's race is not a Claiming Race, no horses from it are considered as potential plays for the UDM being evaluated.
M -
Maiden Claiming Races are treated as matches. If today's race is not a Maiden Claiming Race, no horses from it are considered as potential plays for the UDM being evaluated.
S -
Maiden Special Weight or Straight Maiden Races are treated as matches. If today's race is not a Maiden Special Weight or Straight Maiden Race, no horses from it are considered as potential plays for the UDM being evaluated.
A -
Allowance Races are treated as matches. If today's race is not an Allowance Race, no horses from it are considered as potential plays for the UDM being evaluated.
CO -
Claiming Optional Races are treated as matches. If today's race is not a Claiming Optional Race, no horses from it are considered as potential plays for the UDM being evaluated.
ACO -
Allowance Claiming Optional Races are treated as matches. If today's race is not an Allowance Claiming Optional Race, no horses from it are considered as potential plays for the UDM being evaluated.
N -
Listed or Non Graded Stakes Races are treated as matches. If today's race is not a Listed or Non Graded Stakes Race, no horses from it are considered as potential plays for the UDM being evaluated.
G -
Graded Stakes Races are treated as matches. If today's race is not a Graded Stakes Race, no horses from it are considered as potential plays for the UDM being evaluated.
R -
Starter Allowance Races are treated as matches. If today's race is not a Starter Allowance Race, no horses from it are considered as potential plays for the UDM being evaluated.
T -
Starter Handicap Races are treated as matches. If today's race is not a Starter Handicap Race, no horses from it are considered as potential plays for the UDM being evaluated.
AvoidClassDescriptor -
AvoidClassDescriptor is a text field found in the Profile Table. The value of this field is used to declare Bris Race Designations to be excluded from a UDM Definition. When a value in this field is present, the Data Window and Profile Marker will look for a match between the Profile Table AvoidClassDescriptor field value and the Bris Class Code for today's race when determining whether or not a horse fits a UDM Definition.
Hint~ Multiple AvoidClassDescriptors can be declared as part of the UDM Definition. Simply separate each individual AvoidClassDescriptor with a dash or "-" character. Logic in the Data Window and Profile Marker will evaluate each separate AvoidClassDescriptor in turn.
(Accessible via the Profile Table Interface)
Valid AvoidClassDescriptor field values are as follows:
C -
Claiming Races are treated as matches. If today's race is a Claiming Race, no horses from it are considered as potential plays for the UDM being evaluated.
M -
Maiden Claiming Races are treated as matches. If today's race is a Maiden Claiming Race, no horses from it are considered as potential plays for the UDM being evaluated.
S -
Maiden Special Weight or Straight Maiden Races are treated as matches. If today's race is a Maiden Special Weight or Straight Maiden Race, no horses from it are considered as potential plays for the UDM being evaluated.
A -
Allowance Races are treated as matches. If today's race is an Allowance Race, no horses from it are considered as potential plays for the UDM being evaluated.
CO -
Claiming Optional Races are treated as matches. If today's race is a Claiming Optional Race, no horses from it are considered as potential plays for the UDM being evaluated.
ACO -
Allowance Claiming Optional Races are treated as matches. If today's race is an Allowance Claiming Optional Race, no horses from it are considered as potential plays for the UDM being evaluated.
N -
Listed or Non Graded Stakes Races are treated as matches. If today's race is a Listed or Non Graded Stakes Race, no horses from it are considered as potential plays for the UDM being evaluated.
G -
Graded Stakes Races are treated as matches. If today's race is a Graded Stakes Race, no horses from it are considered as potential plays for the UDM being evaluated.
R -
Starter Allowance Races are treated as matches. If today's race is a Starter Allowance Race, no horses from it are considered as potential plays for the UDM being evaluated.
T -
Starter Handicap Races are treated as matches. If today's race is a Starter Handicap Race, no horses from it are considered as potential plays for the UDM being evaluated.
Connections:
CXN Rating - Connections Rating or CScore -
This is a compound number existing on a scale of 0-100. CXN Rating represents the relative strength that the combined record of the
rider and trainer of every horse in each field have in relation to each other. Higher numbers represent more talent and ability.
Lower CXN numbers represent less talent and ability.
(Accessible via the Profile Table Interface and the CScore Preset Filters)
ClaimDays -
This is the number in days, representing the most recent running line looking backwards through a horse's past performance record, where the line for that start shows that a horse was claimed out of that race. Some examples: If none of the running lines in a horse's past performance record show that the horse was claimed then ClaimDays is equal to zero. If a horse was claimed out of its most recent start, and that start was 29 days ago, then ClaimDays is equal to 29. If a horse was claimed in both its second race back (45 days ago) and its fourth race back (111 days ago) then ClaimDays is equal 45. When more than one running line shows a claim, ClaimDays is taken from the most recent race showing a claim. The idea is to identify the how many days ago a horse was claimed by its current trainer. Hint~ This information can be useful when creating Trainer Specific UDMs. Some trainers really excel with horses making their first start for the new barn within X days of the claim, while others have dismal historical records with their recently claimed horses.
(Accessible via the Profile Table Interface)
ClaimRacesBack -
This is a number that represents the most recent running line looking backwards through a horse's past performance record that shows a horse was claimed out of that race. Some examples: If none of the running lines in a horse's past performance record show that the horse was claimed then ClaimRacesBack is equal to zero. If a horse was claimed out of its most recent start then ClaimRacesBack is equal to one. If a horse was claimed in both its second race back and its fourth race back, then ClaimRacesBack is equal to two. The idea is to identify the how many races back a horse was claimed by its current trainer. Hint~ This information can be useful when creating Trainer Specific UDMs. Some trainers really excel with horses first or second off the claim, while others have dismal historical records with their recently claimed horses.
(Accessible via the Profile Table Interface)
JkYWinPct -
or Jockey Win Percent This is simply the Jockey's Win Percent, current meet.
(Accessible via Dynamic Filters)
OwnerName -
This is a text field found in the Profile Table and represents the Name of the Owner. When the OwnerName test is activated as part of a UDM Definition, both the Data Window and Profile Marker will look for a match between the owner name listed in the Bris DRF Data file and the owner name listed in the OwnerName field of the Profile Table. When a match is found, the horse passes the OwnerName test and will be accepted as a potential UDM play- providing, of course, that it fits all other UDM Definitions as a potential play. If a match is not found between the two names, then the horse fails the test and is rejected as a potential UDM play.
(Accessible via the Profile Table Interface)
RiderName -
This is a text field found in the Profile Table and represents the Name of the Rider. When the RiderName test is activated as part of a UDM Definition, both the Data Window and Profile Marker will look for a match between the rider name listed in the Bris DRF Data file and the rider name listed in the RiderName field of the Profile Table. When a match is found, the horse passes the RiderName test and will be accepted as a potential UDM play- providing, of course, that it fits all other UDM Definitions as a potential play. If a match is not found between the two names, then the horse fails the test and is rejected as a potential UDM play.
(Accessible via the Profile Table Interface)
TrainerName -
This is a text field found in the Profile Table and represents the Name of the Trainer. When the TrainerName test is activated as part of a UDM Definition, both the Data Window and Profile Marker will look for a match between the trainer name listed in the Bris DRF Data file and the trainer name listed in the TrainerName field of the Profile Table. When a match is found, the horse passes the TrainerName test and will be accepted as a potential UDM play- providing, of course, that it fits all other UDM Definitions as a potential play. If a match is not found between the two names, then the horse fails the test and is rejected as a potential UDM play.
(Accessible via the Profile Table Interface)
Notes about JCapper name matching~ The algorithm that detects name matches for trainers, jockeys, and owners has been coded so that it will recognize partial name matches. This algorithm is not case sensitive. Example: Todd Pletcher is a well known trainer on the NYRA circuit. His name is listed in the Bris database as PLETCHER TODD. A text value of Pletcher T in the TrainerName field would result in a name match as would Pletcher and Pletch. However, text in the TrainerName field must, even when abbreviated, still match the name listed in the Bris database. A text value of Pletcher, Todd in the TrainerName field would not result in a name match because there is no comma character listed in the Bris database for PLETCHER TODD.
TnrWinPct -
or Trainer Win Percent This is simply the Trainer's Win Percent, current meet.
(Accessible via Dynamic Filters)
SprintsUnderBeltAfterLayoff -
This number is simply a count of the number of Sprint races a horse has run since its most recent layoff. If a horse has no layoff in its
past performance record, then is zero.
(Accessible via Preset Filters)
RoutesUnderBeltAfterLayoff -
This number is simply a count of the number of Route races a horse has run since its most recent layoff. If a horse has no layoff in its
past performance record, then is zero.
(Accessible via Preset Filters)
XthRaceOffOfLayoff -
This is a number that puts today's race in the context of being the Xth race for a horse off a layoff greater than 45 days. Each race in a horse's past
performance record is examined, starting with the most recent race, tracing backwards line by line through the past performance record, searching for
a 45 day gap between races (a layoff) until one is found. Only the most recent 45 day layoff found in a horse's past performance record is used.
If a horse shows no 45 day layoffs in its past performance record, then is zero.
Hint: The program's default for a layoff is 45 days. Users who wish to redefine a layoff to a different number of days can do so using the System Settings Interface/System Definitions Screen.
(Accessible via Preset Filters)
Some examples:
If a horse's most recent start was more than 45 days ago, then
is counted as one. Today's race finds the horse making its first
start off of the layoff.
If the most recent layoff in a horse's past performance record is between the second start back and the most recent race, then
is counted as two. Today's race finds the horse making its second start off of the layoff.
If the most recent layoff in a horse's past performance record is between the third start back and the second start back, then
is counted as three. Today's race finds the horse making its third start off of the layoff.
xthStartForTrainer -
This is a number that puts today's race in the context of being the Xth race for a horse for the current trainer. Each race in a horse's past
performance record is examined, starting with the most recent race, tracing backwards line by line through the past performance record, searching for
a race where the horse raced for a trainer different than today's trainer until one is found. Only the most recent race from a horse's past performance
record showing a trainer different than today's trainer is used. If all races from a horse's past performance record were run for today's trainer, then
is the number of races counted plus one. For purposes of counting xthStartForTrainer, the
reason a horse is racing for a new trainer does not matter. A horse can find itself in a new barn for many different reasons: a claim, a private sale,
or perhaps the owner simply deciding on giving the horse over to a new trainer.
(Accessible via Dynamic Filters)
Some examples:
If a horse's most recent start was for a trainer different than today's trainer, then
is counted as one. Today's race finds the horse making its first start for the current trainer.
If the most recent start in a horse's past performance record was run for today's trainer and the second start back was run at for different trainer,
then is counted as two. Today's race finds the horse making its second start for the
current trainer.
xthStartOfCurrentMeet -
This is a number that puts today's race in the context of being the Xth race for a horse at the current meet. Each race in a horse's past
performance record is examined, starting with the most recent race, tracing backwards line by line through the past performance record, searching for
a race at a track different from today's track until one is found. Only the most recent race from a horse's past performance record showing a track different than
today's track is used. If all races from a horse's past performance record were run at today's track, then
is zero.
(Accessible via Preset Filters)
Some examples:
If a horse's most recent start was at a different track than today's track, then
is counted as one. Today's race finds the horse making its first start at the current meet.
If the most recent start in a horse's past performance record was run at today's track and the second start back was run at a different track,
then is counted as two. Today's race finds the horse making its second start at the
current meet.
xthStartOnLasix -
This is a number that puts today's race in the context of being the Xth race for a horse after being treated with lasix. Each race in a horse's past
performance record is examined, starting with the most recent race, tracing backwards line by line through the past performance record, searching for
the first race where the horse ran while being treated with lasix. Only the most recent race from a horse's past performance record showing lasix
is used. If all races from a horse's past performance record show that the horse ran while being treated with lasix, then the oldest race in the
horse's record is used. Of course, a horse must be listed as getting lasix for today's race, otherwise is counted as zero.
(Accessible via Preset Filters)
Some examples:
If a horse is listed as not being treated with lasix for today's race, then is counted as
zero, no matter what the horse's prior race record shows for running with lasix.
If a horse is listed as getting lasix for today's race, and the most recent start shows no lasix, then is counted as one. Today's race finds the horse making its first start while being treated with lasix.
If a horse is listed as getting lasix for today's race, and the most recent start shows the horse was treated with lasix, but the second start
back shows no lasix, then is counted as two. Today's race finds the horse making its
second start after being treated with lasix.
Note~ is quite different than first time lasix. First time lasix indicates that a
horse has never had lasix before getting lasix for today's race. A value of one for
merely indicates that the horse is getting lasix today after an absence of lasix in its previous race.