Foundations of Database Handicapping
Benchmark Testing
My purpose in writing this Help Document is to help you understand how Data Window research can help you in your handicapping. Not all horses that enter a starting gate have an equal historical probability of winning the race. Some horses have advantages over today’s field. And others have disadvantages. Understanding these advantages and disadvantages, and using that understanding in your live play, is what database handicapping is all about.
I think looking at benchmark tests of JCapper factors helps new users to shorten the learning curve. If nothing else, benchmark tests serve to give both context and meaning to the factors found in the program. In this document I’m not going to examine every factor in the program – only some of them. But after you’ve built a few databases of your own using your Bris or TSN files you’ll certainly have the ability to use the Data Window to run your own tests on as many factors as you like.
As the author of a handicapping program like JCapper, I have found one caveat to be true about database handicapping. It is far easier to create profitable UDMs when using a good starting point (as opposed to using a bad one.) It should be obvious that good starting points in your handicapping relate to high win percentages and/or high roi. Horses with historically low win percentages and/or low roi usually make terrible starting points for UDMs.
After reading this document the value of database handicapping should start to become apparent to you.
The following benchmark tests were taken from actual Data Window queries of my own calendar year 2006 database. All data samples presented in this Help Doc are based on data found in Bris $1.00 Single Format DRF Data Files.
ALL Starters in the
Database
I always think it’s a good idea to begin any discussion of historical thoroughbred racing data with a sample that includes all horses in the database. This gives you a point of reference when you begin your handicapping. If you are doing a good job in your handicapping, horses you select will substantially outperform horses selected at random. When you run a Data Window query using the ALL Button, the Data Window shows you a recap of all starters in the database. In JCapper, the ALL Button (all starters in the database) is the closest thing you have to horses selected at random. Using the ALL Button, here’s what my calendar year 2006 database looks like:
Data
Window Settings: (RUN
999 Divisor
Surface: (ALL*) Distance: (All*)
(From Index File:
D:\2007\Q1_2007\pl_Complete_History_06.txt)
Data
Mutuel Totals 309882.70 305170.00 303211.00
Bet -404684.00-404684.00-404684.00
Gain -94801.30 -99514.00-101473.00
Wins 24997 49798
73448
Plays 202342 202342 202342
PCT .1235 .2461
.3630
ROI
0.7657 0.7541
0.7493
Avg Mut
12.40 6.13 4.13
Post Time Odds vs. JPRToteProb
Post Time Odds
It has been said that the betting public makes a pretty good opponent. No, I’m not talking about each individual bettor. I’m talking about the collective intelligence of all bettors everywhere. As each race is bet, tens of thousands of bettors each weigh and apply the dozen or so (in some cases more) handicapping factors they think will shape the outcome of the race at hand. Collectively, they reach, by my rough estimate, somewhere between one and two million decision points as they handicap each race. As long as there has been modern day thoroughbred racing, post time favorites have won approximately 33 percent of all races. However, in recent years, because average field size has been shrinking, the win percentage of post time favorites has gone up slightly higher. My calendar year 2006 database shows that post time favorites (with no attempt to break ties for post time favoritism) won almost 35 percent of all races. 81.47 percent of all races were won by one of the first four choices in the betting. That should tell you quite clearly that quite a bit of collective intelligence exists in the odds.
By: Odds Rank
Rank
Gain Bet Roi
Wins Plays Pct
Impact
1
-8925.70 52064.00 0.8286
9103 26032 .3497
2.8306
2
-9449.50 49120.00 0.8076
5120 24560 .2085
1.6875
3
-9790.00 49288.00 0.8014
3705 24644 .1503
1.2170
4
-10366.90 49148.00 0.7891
2609 24574 .1062
0.8594
5
-10250.00 48728.00 0.7896
1865 24364 .0765
0.6196
6
-11820.00 45690.00 0.7413
1162 22845 .0509
0.4117
7
-10164.50 38204.00 0.7339
699 19102 .0366
0.2962
8
-8003.30 28648.00 0.7206
377 14324 .0263
0.2130
9
-4383.80 19734.00 0.7779
225 9867 .0228
0.1846
10 -6529.30
12770.00 0.4887 75
6385 .0117 0.0951
11
-2924.70 6686.00 0.5626
37 3343 .0111
0.0896
12
-1397.80 3636.00 0.6156
18 1818 .0099
0.0801
13
-564.00 640.00 0.1188
1 320 .0031
0.0253
14
-219.80 316.00 0.3044
1 158 .0063
0.0512
15
-2.00 2.00 0.0000
0 1 .0000
0.0000
16
-2.00 2.00 0.0000
0 1 .0000
0.0000
17
-2.00 2.00 0.0000
0 1 .0000
0.0000
18
-2.00 2.00 0.0000
0 1 .0000
0.0000
19
-4.00 4.00 0.0000
0 2 .0000
0.0000
JPRToteProb
JPRToteProb is the result of sending JPR (JCapper Power Rating) and post time odds into an algorithm that calculates a probability after the odds are known. This algorithm combines the collective intelligence of the betting public with JPR and produces a very accurate probability.
How accurate is this probability?
My calendar year 2006 database shows that JPRToteProb is even more accurate than the probability inherent in the odds set by the betting public. The top three ranked JPRToteProb horses each won a higher percentage of their races than the top three horses ranked by post time odds. One of the top four JPRToteProb horses won 82.25 percent of all races in the database. Further, the top four ranked JPRToteProb horses had a higher flat bet win roi than the top four horses ranked by post time odds.
By: JPRToteProb Rank
Rank
Gain Bet Roi
Wins Plays Pct
Impact
1
-7823.60 49682.00 0.8425
8755 24841 .3524
2.8529
2
-9145.30 49708.00 0.8160
5325 24854 .2143
1.7343
3
-9542.30 49636.00 0.8078
3735 24818 .1505
1.2182
4
-10626.60 49666.00 0.7860
2615 24833 .1053
0.8524
5
-10582.70 48998.00 0.7840
1877 24499 .0766
0.6202
6
-11837.80 45960.00 0.7424
1189 22980 .0517
0.4188
7
-9910.10 38426.00 0.7421
728 19213 .0379
0.3067
8
-6129.90 28704.00 0.7864
440 14352 .0307
0.2482
9
-7719.10 19816.00 0.6105
194 9908 .0196
0.1585
10
-5898.00 12806.00 0.5394
84 6403 .0131
0.1062
11
-3671.20 7076.00 0.4812
34 3538 .0096
0.0778
12
-1622.40 3388.00 0.5211
16 1694 .0094
0.0765
13
-156.50 586.00 0.7329
4 293 .0137
0.1105
14
-123.80 220.00 0.4373
1 110 .0091
0.0736
15
-2.00 2.00 0.0000
0 1 .0000
0.0000
16
-4.00 4.00 0.0000
0 2 .0000
0.0000
17
0.00 0.00 0.0000
0 0 .0000
0.0000
18
-4.00 4.00 0.0000
0 2 .0000
0.0000
19
-2.00 2.00
0.0000 0 1
.0000 0.0000
My calendar year 2006 database broken out by JPRToteProb numeric value is shown below. If nothing else this next chart should give you a clear sense of the algorithm’s accuracy. The probability range for each row is indicated by the values in the min and max columns. The actual win percentage along with number of wins, plays, and flat bet win roi is also shown. For example, the top row shows data for horses where the algorithm said the probability of winning the race was between 0 and 5 percent. The win rate achieved for the 62,157 horses in that row was actually 2.63 percent.
By: JPRToteProb
>=Min <Max Gain
Bet Roi Wins
Plays Pct Impact
-999.00
0.05 -41396.00 124314.00 0.6670
1634 62157 .0263
0.2128
0.05
0.10 -21179.40 100082.00
0.7884 3606 50041
.0721 0.5833
0.10
0.15 -10819.40 54184.00 0.8003
3346 27092 .1235
0.9997
0.15
0.20 -8354.80 45586.00
0.8167 3927 22793
.1723 1.3946
0.20
0.25 -4676.10 26008.00
0.8202 2923 13004
.2248 1.8195
0.25
0.30 -3284.80 18180.00
0.8193 2470 9090
.2717 2.1995
0.30
0.35 -2538.80 15730.00
0.8386 2504 7865
.3184 2.5771
0.35
0.40 -1054.10 8024.00
0.8686 1514 4012
.3774 3.0547
0.40
0.45 -845.00 6616.00
0.8723 1460 3308
.4414 3.5726
0.45
0.50 -471.80 4054.00
0.8836 1028 2027
.5072 4.1052
0.50
0.55 -66.60 722.00
0.9078 208 361
.5762 4.6640
0.55
0.60 -109.80 1104.00
0.9005 349 552
.6322 5.1178
0.60
0.65 -4.80 78.00 0.9385
27 39 .6923
5.6040
0.65
0.70 0.10 2.00
1.0500 1 1 1.0000
8.0947
0.70
0.75 0.00 0.00 0.0000
0 0 .0000
0.0000
0.75
0.80 0.00 0.00 0.0000
0 0 .0000
0.0000
0.80
0.85 0.00 0.00 0.0000
0 0 .0000
0.0000
0.85
0.90 0.00 0.00 0.0000
0 0 .0000
0.0000
0.90
999999.00 0.00 0.00 0.0000
0 0 .0000
0.0000
Morning Line Odds vs. JPRMLProb
Morning Line Odds
The morning line odds are set by a track employee known as the morning line oddsmaker. The morning line is not necessarily designed as an attempt to pick the winner of each race. Instead, the job of the morning line oddsmaker is often twofold: First, the morning line can be a prediction of how the public will bet the race. And second, it can be an attempt by the morning line oddsmaker to maximize betting on the race for the track. Nonetheless, many morning line oddsmakers are bright talented handicappers. My calendar year 2006 database shows that there is quite a bit of inherent predictability in the morning line odds. Nationally, the morning line favorite won approximately 31 percent of all races.
By: Morning Line Rank
Rank
Gain Bet Roi
Wins Plays Pct
Impact
1
-10705.00 51096.00 0.7905
7963 25548 .3117
2.5230
2
-9762.10 51474.00 0.8103
5140 25737 .1997
1.6166
3
-10119.20 54976.00 0.8159
4082 27488 .1485
1.2021
4
-13038.50 54920.00 0.7626
2933 27460 .1068
0.8646
5
-10115.10 50654.00 0.8003
2045 25327 .0807
0.6536
6
-11783.40 44698.00 0.7364
1247 22349 .0558
0.4517
7
-8563.30 37392.00 0.7710
828 18696 .0443
0.3585
8
-7812.10 26848.00 0.7090
435 13424 .0324
0.2623
9
-5815.80 16902.00 0.6559
203 8451 .0240
0.1944
10
-3507.60 9406.00 0.6271
84 4703 .0179
0.1446
11
-2728.60 4278.00 0.3622
25 2139 .0117
0.0946
12
-468.60 1658.00 0.7174
12 829 .0145
0.1172
13
-284.00 284.00 0.0000
0 142 .0000
0.0000
14
-86.00 86.00 0.0000
0 43 .0000
0.0000
15
-12.00 12.00 0.0000
0 6 .0000
0.0000
16
0.00 0.00 0.0000
0 0 .0000
0.0000
17
0.00 0.00 0.0000
0 0 .0000
0.0000
18
0.00 0.00 0.0000
0 0 .0000
0.0000
19
0.00 0.00 0.0000
0 0 .0000
0.0000
JPRMLProb
JPRMLProb is the result of feeding JPR (JCapper Power Rating) and the Morning Line Odds into an algorithm that calculates a probability before the odds are known. This probability has proven itself to be accurate across large data samples as evidenced by the chart below. Note that the win percent parallels that of morning line odds rank – with one important difference: The flat bet win roi for the top four ranked JPRMLProb horses taken as a whole significantly outperforms the top four ranked Morning Line Odds horses.
By: JPRMLProb Rank
Rank
Gain Bet Roi
Wins Plays Pct
Impact
1
-5510.00 49654.00 0.8890
7678 24827 .3093
2.5034
2
-6193.70 49664.00 0.8753
5000 24832 .2014
1.6299
3
-10333.50 49672.00 0.7920
3879 24836 .1562
1.2643
4
-10617.70 49582.00 0.7859
2949 24791 .1190
0.9629
5
-13282.40 48994.00 0.7289
2054 24497 .0838
0.6787
6
-10823.40 45982.00 0.7646
1504 22991 .0654
0.5295
7
-10031.00 38414.00 0.7389
933 19207 .0486
0.3932
8
-9408.70 28812.00 0.6734
520 14406 .0361
0.2922
9
-8910.30 19882.00 0.5518
247 9941 .0248
0.2011
10
-5007.70 12824.00 0.6095
141 6412 .0220
0.1780
11
-3255.70 7928.00 0.5893
66 3964 .0166
0.1348
12
-1516.10 2930.00 0.4826
21 1465 .0143
0.1160
13
96.90 338.00 1.2867
5 169 .0296
0.2395
14
-8.00 8.00 0.0000
0 4 .0000
0.0000
15
0.00 0.00 0.0000
0 0 .0000
0.0000
16
0.00 0.00 0.0000
0 0 .0000
0.0000
17
0.00 0.00 0.0000
0 0 .0000
0.0000
18
0.00 0.00 0.0000
0 0 .0000
0.0000
19 0.00
0.00
0.0000 0 0 .0000
0.0000
My calendar year 2006 database broken out by JPRMLProb numeric value is shown below. Like the tote probability chart, this next chart should give you a clear sense of the JPRMLProb algorithm’s accuracy. The probability range for each row is indicated by the values in the min and max columns. The actual win percentage along with number of wins, plays, and flat bet win roi is also shown. For example, the top row shows data for horses where the algorithm said the probability of winning the race was between 0 and 5 percent. The win rate achieved for the 55,967 horses in that row was actually 3.46 percent.
By: JPRMLProb
>=Min <Max Gain
Bet Roi Wins
Plays Pct Impact
-999.00
0.05 -38810.50 111934.00
0.6533 1936 55967
.0346 0.2800
0.05
0.10 -22963.10 92706.00 0.7523
3497 46353 .0754
0.6107
0.10
0.15 -14039.60 66112.00 0.7876
4064 33056 .1229
0.9952
0.15
0.20 -11443.20 63086.00 0.8186
5347 31543 .1695
1.3722
0.20
0.25 -2134.50 21634.00
0.9013 2437 10817
.2253 1.8237
0.25
0.30 -2509.90 20606.00
0.8782 2693 10303
.2614 2.1158
0.30
0.35 -1659.80 16286.00
0.8981 2525 8143
.3101 2.5100
0.35
0.40 -737.10 7398.00
0.9004 1413 3699
.3820 3.0921
0.40
0.45 -396.50 3308.00
0.8801 687 1654
.4154 3.3622
0.45
0.50 -58.70 1272.00
0.9539 310 636
.4874 3.9455
0.50
0.55 -39.50 284.00
0.8609 72 142
.5070 4.1043
0.55
0.60 -10.20 54.00
0.8111 14 27
.5185 4.1972
0.60
0.65 1.30 4.00
1.3250 2 2 1.0000
8.0947
0.65
0.70 0.00 0.00 0.0000
0 0 .0000
0.0000
0.70
0.75 0.00 0.00 0.0000
0 0 .0000
0.0000
0.75
0.80 0.00 0.00 0.0000
0 0 .0000
0.0000
0.80
0.85 0.00 0.00 0.0000
0 0 .0000
0.0000
0.85
0.90 0.00 0.00 0.0000
0 0 .0000
0.0000
0.90
999999.00 0.00 0.00 0.0000
0 0 .0000
0.0000
Bris Prime Power vs. QRating
Bris Prime Power
Much has been written about the Bris Prime Power Rating. It is a pretty good rating. For years it has been viewed as a sort of benchmark among software generated power ratings. In fact very few software generated comprehensive power ratings have been able to duplicate its win rate and roi. My calendar year 2006 database shows the following results when broken out by Prime Power rank:
By: Prime Power Rank
Rank
Gain Bet
Roi Wins Plays
Pct Impact
1
-6749.10 50328.00 0.8659
7912 25164 .3144
2.5451
2
-7116.40 50750.00 0.8598
5096 25375 .2008
1.6256
3
-9084.80 50850.00 0.8213
3685 25425 .1449
1.1732
4
-11296.60 51400.00 0.7802
2750 25700 .1070
0.8662
5
-10256.50 50330.00 0.7962
2122 25165 .0843
0.6826
6
-12501.50 46618.00 0.7318
1424 23309 .0611
0.4945
7
-12865.70 38040.00 0.6618
912 19020 .0479
0.3881
8
-10811.80 27792.00 0.6110
517 13896 .0372
0.3012
9
-7103.70 18462.00 0.6152
306 9231 .0331
0.2683
10
-3618.30 11330.00 0.6806
167 5665 .0295
0.2386
11
-2095.50 5438.00 0.6147
74 2719 .0272
0.2203
12
-988.30 2542.00 0.6112
22 1271 .0173
0.1401
13
-269.90 556.00 0.5146
7 278
.0252 0.2038
14
-31.20 236.00 0.8678
3 118 .0254
0.2058
15
-2.00 2.00 0.0000
0 1 .0000
0.0000
16
-2.00 2.00 0.0000
0 1 .0000
0.0000
17
-2.00 2.00 0.0000
0 1 .0000
0.0000
18
-2.00 2.00 0.0000
0 1 .0000
0.0000
19
-4.00 4.00 0.0000
0 2 .0000
0.0000
QRating
JRating and JPR aren’t the only comprehensive power ratings found in JCapper. JCapper2007 also has the QRating. Historically, each of the top four ranked QRating horses has outperformed the top four ranked Prime Power horses in both win percent and flat bet win roi. My calendar year 2006 database broken out by QRating rank looks like this:
By: QRating Rank
Rank
Gain Bet Roi
Wins Plays Pct
Impact
1
-4323.50 49656.00 0.9129
7916 24828 .3188
2.5808
2
-6343.40 49660.00 0.8723
5150 24830 .2074
1.6789
3
-8006.70 49650.00 0.8387
3680 24825 .1482
1.1999
4
-9516.00 49604.00 0.8082
2789 24802 .1125
0.9102
5
-11757.50 48990.00 0.7600
2044 24495 .0834
0.6755
6
-12223.80 45972.00 0.7341
1421 22986 .0618
0.5004
7
-13316.40 38406.00 0.6533
890 19203 .0463
0.3752
8
-10418.90 28766.00 0.6378
546 14383 .0380
0.3073
9
-7921.50 19832.00 0.6006
300 9916 .0303
0.2449
10
-5791.70 12812.00 0.5479
153 6406 .0239
0.1933
11
-2906.60 6720.00 0.5675
69 3360 .0205
0.1662
12
-1752.50 3646.00 0.5193
34 1823 .0187
0.1510
13
-276.80 648.00 0.5728
4 324 .0123
0.0999
14
-234.00 310.00 0.2452
1 155 .0065
0.0522
15
-2.00 2.00 0.0000
0 1
.0000 0.0000
16
-2.00 2.00 0.0000
0 1 .0000
0.0000
17
-2.00 2.00 0.0000
0 1 .0000
0.0000
18
-2.00 2.00 0.0000
0 1 .0000
0.0000
19
-4.00 4.00 0.0000
0 2 .0000
0.0000
JPR (JCapper Power
Rating) and Win Rate
JPR is a comprehensive power rating. Historically, the top ranked JPR horse wins less often than the top ranked Prime Power horse. But this is by design. When I created JPR I made a trade off. I traded win percent for roi. My calendar year 2006 database broken out by JPR rank looks like this:
By: JPR Rank
Rank
Gain Bet Roi
Wins Plays Pct
Impact
1
-4201.90 49656.00 0.9154
7401 24828 .2981
2.4129
2
-7015.80 49658.00 0.8587
4982 24829 .2007
1.6242
3
-8186.00 49658.00 0.8352
3676 24829 .1481
1.1984
4
-9533.10 49604.00 0.8078
2781 24802 .1121
0.9076
5
-12419.20 48986.00 0.7465
2150 24493 .0878
0.7105
6
-13247.30 45970.00 0.7118
1569 22985 .0683
0.5526
7
-12498.10 38410.00 0.6746
1078 19205 .0561
0.4544
8
-11488.90 28770.00 0.6007
641 14385 .0446
0.3607
9
-6677.70 19828.00 0.6632
372 9914 .0375
0.3037
10
-4872.70 12810.00 0.6196
212 6405 .0331
0.2679
11 -2885.10 6718.00 0.5705 86 3359 .0256 0.2072