Historical Racing Data - JCapper

JCapper UDMs for Two Horse Win Betting

By Jeff Platt
Date Last Modified: September 14, 2020

JCapper UDMs for Two Horse Win Betting

OVERVIEW
Someone recently asked me: "Is it possible to set up JCapper UDMs for two horse win betting?"

He went on to explain he had a Sartin background and had always been intrigued by the idea of backing a primary contender seen as +EV (positive expected value) sometimes at high odds albeit with a low win rate - and offsetting that by making a second win bet on another horse seen as having a (small) minus EV at lower odds - and therefore a higher win rate.

The idea behind this is that the higher win percent of the second horse helps to smooth out the inevitable volatility and bankroll swings that arise from betting the first type of horse alone.

I told him that's not how I use JCapper. Analysis of records from my own WagerHistory table tells me that negative roi from betting the second type of horse results in reduced overall profit compared to betting the first type of horse alone.

However, I'll be the first to admit that betting the first type of horse alone does come with quite a bit of volatility.

After giving the concept some thought I told him: "Yes, it's possible to set up JCapper UDMs for two horse win betting."

And from there I decided to write this article.

In my opinion, in order to make two horse win betting work for you:
  • Two horse win betting needs to fit your temperament. (Imo, not everyone can say this.)

  • From a strategy standpoint, you need to map things out ahead of time so that losses from betting the second type of horse doesn't erode too much of your profits from betting the first type of horse.
If you can satisfy the above two bullet points, it's possible two horse win beting can work for you.



STRATEGY
The strategy I'm going to illustrate in this article is pretty simple.

Create two UDMs:
  • The first UDM will be for the first type of horse: A primary contender seen as having +EV (positive expected value) sometimes at high odds albeit with a low win rate.

  • The second UDM will be for the second type of horse: A logical contender seen as having a (small) minus EV at lower odds - and therefore a higher win rate.
Each UDM should generate approximately the same number of plays.

Both UDMs combined should generate +EV (positive expected value.)

And towards the bottom of this article, I'll show you how to combine both UDMs into a single sql expression you can execute in the JCapper Data Window - so that you can test out this last part with actual data.



THE FIRST UDM
In my opinion, every UDM should be based on a concept you can express with a single sentence.

The first UDM is based on a simple concept:
  • Horses that rank strongly for two significant factors in races with decent field size.
Expanding on that one step further, let's define rank strongly for two significant factors to mean the following:
  • Rank equals one for the first factor.
  • Ranks very close to the top of the field for the second factor.
Expanding on that one step further, let's define ranks very close to the top of the field for the second factor as:
  • Rank for the second factor must be less than or equal to field size divided by 5 rounded to the nearest whole number.
In a 5 horse field, this works out as rank for the second factor must be less than or equal to one. In a 10 horse field, rank for the second factor must be less than or equal to two, etc.

In the sql expression below I can accomplish this by using "<= CLng(Fieldsize/5)" (without the quotes.)

This is what the sql expression for the factor pairing looks like:
SELECT * FROM STARTERHISTORY
           WHERE RANKF01=1 
           and rankf02 <= CLng(Fieldsize/5)
 
           AND [DATE] >= #01-01-2020# 
           AND [DATE] <= #09-06-2020# 
           ORDER BY [DATE], TRACK, RACE
Working through that one line at a time, "SELECT * FROM STARTERHISTORY" (without the quotes) means select all columns from the StarterHistory table in the connected to database.

Next, we have "WHERE RANKF01=1" (without the quotes) which means only where rank for the first factor "F01" (without the quotes) is equal to one.

Next, we have "and rankf02 <= CLng(Fieldsize/5)" (without the quotes) which means only if rank for the second factor "F02" (without the quotes) is less than or equal to field size divided by five rounded to the nearest whole number.

Next, we have "AND [DATE] >= #01-01-2020#" (without the quotes) and "AND [DATE] <= #09-06-2020#" (again without the quotes) which means from start date January 01, 2020 to end date September 06, 2020 inclusive.

Note that I decided to use those dates because I wanted the data to reflect calendar year 2020 year to date.

Right now as I type this it's Monday September 07, 2020 and the data in the query results below reflect every thoroughbred race at all tracks for calendar year 2020 current through yesterday using data from HDW (Handicappers Data Warehouse.)

Below is a cut and paste of the actual query results after running the above sql expression through the JCapper Data Window with the output further broken out by field size:

     query start:         9/7/2020 4:58:18 PM
     query end:           9/7/2020 4:58:32 PM
     elapsed time:        14 seconds

     Data Window Settings:
     Connected to: C:\JCapper\exe\JCapper2.mdb
     999 Divisor  Odds Cap: None
     SQL UDM Plays Report: Hide

     SQL: SELECT * FROM STARTERHISTORY
           WHERE RANKF01=1 
           and rankf02 <= CLng(Fieldsize/5)
 
           AND [DATE] >= #01-01-2020# 
           AND [DATE] <= #09-06-2020# 
           ORDER BY [DATE], TRACK, RACE


     Data Summary          Win         Place          Show
     -----------------------------------------------------
     Mutuel Totals     8938.90       8043.50       7779.30
     Bet              -8918.00      -8918.00      -8918.00
     -----------------------------------------------------
     P/L                 20.90       -874.50      -1138.70

     Wins                  969          1716          2245
     Plays                4459          4459          4459
     PCT                 .2173         .3848         .5035

     ROI                1.0023        0.9019        0.8723
     Avg Mut              9.22          4.69          3.47


     By: FieldSize

     Value      P/L        Bet        Roi    Wins   Plays     Pct     Impact     AvgMut
     ----------------------------------------------------------------------------------
      1        0.00       0.00     0.0000       0       0   .0000     0.0000       0.00  
      2        0.00       0.00     0.0000       0       0   .0000     0.0000       0.00  
      3       -8.40      30.00     0.7200       6      15   .4000     1.8407       3.60  
      4      -36.90     170.00     0.7829      28      85   .3294     1.5158       4.75  
      5     -104.20     682.00     0.8472     104     341   .3050     1.4034       5.56  
      6     -235.00    1372.00     0.8287     168     686   .2449     1.1269       6.77  

      7      170.70    1388.00     1.1230     164     694   .2363     1.0874       9.50  
      8      147.90    2178.00     1.0679     228    1089   .2094     0.9634      10.20  
      9      -27.40    1332.00     0.9794     126     666   .1892     0.8706      10.35  
     10     -147.10    1004.00     0.8535      76     502   .1514     0.6967      11.28  
     11      146.00     400.00     1.3650      37     200   .1850     0.8513      14.76  
     12      106.70     330.00     1.3233      30     165   .1818     0.8367      14.56  
     13      -21.60      28.00     0.2286       1      14   .0714     0.3287       6.40  
     14       32.20       2.00    17.1000       1       1  1.0000     4.6017      34.20  
     15       -2.00       2.00     0.0000       0       1   .0000     0.0000       0.00  
     16        0.00       0.00     0.0000       0       0   .0000     0.0000       0.00  
     17        0.00       0.00     0.0000       0       0   .0000     0.0000       0.00  
     18        0.00       0.00     0.0000       0       0   .0000     0.0000       0.00  
     19        0.00       0.00     0.0000       0       0   .0000     0.0000       0.00  


     Ending BankRoll:       $56.95
     Starting BankRoll:     $300.00
     High BankRoll:         $985.25
     Low BankRoll:          $56.95
     Longest Losing Streak: 30.00
     Bet Percentage:        0.0175
     Max Bet:               999999999.00

     
Note that the above query results for the factor pairing I used resulted in near break even play.

Note that the above query results for the factor pairing shows +EV (positive expectation) play when field size is seven or greater.

Keep in mind that horse race betting is competition that pits players against each other in parimutuel pools.

For that reason, I am not going to reveal the names of the factors in the factor pairing used in the above query results.

But I can assure you both factors are readily available to anyone using HDW data in JCapper Platinum.

Next is a cut and paste of the query results after adding a minimum field size constraint of seven and running the revised sql expression through the JCapper Data Window with the output further broken out by MLOR3 and eUPRZScoreProb:

     query start:         9/7/2020 5:02:36 PM
     query end:           9/7/2020 5:02:43 PM
     elapsed time:        7 seconds

     Data Window Settings:
     Connected to: C:\JCapper\exe\JCapper2.mdb
     999 Divisor  Odds Cap: None
     SQL UDM Plays Report: Hide

     SQL: SELECT * FROM STARTERHISTORY
           WHERE RANKF01=1 
           and rankf02 <= CLng(Fieldsize/5)

           and fieldsize >= 7
 
           AND [DATE] >= #01-01-2020# 
           AND [DATE] <= #09-06-2020# 
           ORDER BY [DATE], TRACK, RACE


     Data Summary          Win         Place          Show
     -----------------------------------------------------
     Mutuel Totals     7069.40       6145.70       5983.00
     Bet              -6664.00      -6664.00      -6664.00
     -----------------------------------------------------
     P/L                405.40       -518.30       -681.00

     Wins                  663          1173          1599
     Plays                3332          3332          3332
     PCT                 .1990         .3520         .4799

     ROI                1.0608        0.9222        0.8978
     Avg Mut             10.66          5.24          3.74


     By: MLOR3

       >=Min        < Max        P/L        Bet        Roi    Wins   Plays     Pct   Impact
     --------------------------------------------------------------------------------------
   -999.0000       0.7500    -167.50    3810.00     0.9560     324    1905   .1701   0.8548
      0.7500       0.7750     -34.00     130.00     0.7385      13      65   .2000   1.0051
      0.7750       0.8000      43.90     126.00     1.3484      18      63   .2857   1.4359
      0.8000       0.8250     -23.00     112.00     0.7946      11      56   .1964   0.9872
      0.8250       0.8500     -52.00     118.00     0.5593      10      59   .1695   0.8518

      0.8500       0.8750      57.20     114.00     1.5018      18      57   .3158   1.5870
      0.8750       0.9000      -7.60     108.00     0.9296      13      54   .2407   1.2099
      0.9000       0.9250       6.90      86.00     1.0802      12      43   .2791   1.4025
      0.9250       0.9500     -45.10     102.00     0.5578       8      51   .1569   0.7883
      0.9500       0.9750      28.70     102.00     1.2814       8      51   .1569   0.7883
      0.9750       1.0000       7.60      98.00     1.0776      10      49   .2041   1.0256
      1.0000       1.0250       4.60     108.00     1.0426      14      54   .2593   1.3029
      1.0250       1.0500      -2.80      70.00     0.9600       8      35   .2286   1.1487
      1.0500       1.0750      -8.80      80.00     0.8900      13      40   .3250   1.6333
      1.0750       1.1000     -27.30      58.00     0.5293       6      29   .2069   1.0398
      1.1000       1.1250      27.80      44.00     1.6318       4      22   .1818   0.9138
      1.1250       1.1500     -22.00      70.00     0.6857       8      35   .2286   1.1487
      1.1500       1.1750     146.40      60.00     3.4400       7      30   .2333   1.1726
      1.1750       1.2000     -33.40      70.00     0.5229       3      35   .0857   0.4308
      1.2000    9999.0000     505.80    1198.00     1.4222     155     599   .2588   1.3005



     By: eUPRZScoreProb

       >=Min        < Max        P/L        Bet        Roi    Wins   Plays     Pct   Impact
     --------------------------------------------------------------------------------------
   -999.0000       0.7500    -241.60    4310.00     0.9439     517    2155   .2399   1.2057
      0.7500       0.7750      -0.20     104.00     0.9981       8      52   .1538   0.7732
      0.7750       0.8000      -1.00      92.00     0.9891       5      46   .1087   0.5463
      0.8000       0.8250     -17.00      84.00     0.7976       7      42   .1667   0.8376
      0.8250       0.8500      35.40      82.00     1.4317       8      41   .1951   0.9806
      0.8500       0.8750     -53.60      88.00     0.3909       4      44   .0909   0.4569

      0.8750       0.9000      11.60      76.00     1.1526       7      38   .1842   0.9258
      0.9000       0.9250      22.20      72.00     1.3083       7      36   .1944   0.9772
      0.9250       0.9500       3.00      60.00     1.0500       6      30   .2000   1.0051
      0.9500       0.9750      55.30      64.00     1.8641       8      32   .2500   1.2564
      0.9750       1.0000      32.00      60.00     1.5333       6      30   .2000   1.0051
      1.0000       1.0250       4.80      58.00     1.0828       4      29   .1379   0.6932
      1.0250       1.0500     -37.60      62.00     0.3935       2      31   .0645   0.3242
      1.0500       1.0750     -31.20      56.00     0.4429       3      28   .1071   0.5385
      1.0750       1.1000      35.00      62.00     1.5645       6      31   .1935   0.9727
      1.1000       1.1250      -2.60      52.00     0.9500       2      26   .0769   0.3866
      1.1250       1.1500      -8.90      56.00     0.8411       3      28   .1071   0.5385
      1.1500       1.1750     -25.60      42.00     0.3905       2      21   .0952   0.4786
      1.1750       1.2000      34.20      36.00     1.9500       3      18   .1667   0.8376
      1.2000    9999.0000     591.20    1148.00     1.5150      55     574   .0958   0.4816


     Ending BankRoll:       $56.50
     Starting BankRoll:     $300.00
     High BankRoll:         $1,377.45
     Low BankRoll:          $56.50
     Longest Losing Streak: 23.00
     Bet Percentage:        0.0175
     Max Bet:               999999999.00

     
For me, the ability to separate likely +EV horses from likely -EV horses is central to play or pass decision making.

JCapper has a number of value ratios. There are times when a value ratio can be useful for play or pass decision making. There are also times that same value ratio is useless for play or pass decision making.

Whether or not the breakout data for an individual value ratio suggests a good cutoff for +EV play depends on the following:

• The makeup of the factor constraints in the sql expression you are testing.

• Public betting trends as they existed for the date-range of your query results.

Effective use of value ratios depends on the situation. A given value ratio may work in some situations and not in others.

The only way to know is to test. And to keep testing.

The first factor breakout table (above) shows the query results broken out by a JCapper factor called MLOR3.

MLOR3 is a value ratio based on the ratio between Morning Line Odds and a JCapper Odds Line factor called JPRMLProb.

JPRMLProb is a factor in JCapper generated by an algorithm that uses JPR (or JCapper Power Rating) and Morning Line Odds as inputs. JPRMLProb is a probability estimate that exists as a decimal value between 0 and 1.

The odds line part is based on the following formula:
JPRMLProb_OL = (1/JPRMLProb) - 1

From there, MLOR3 can be calculated using the following formula:
MLOR3 = (Morning_Line_Odds / JPRMLProb_OL)

In the above table where the query results are broken out by MLOR3, each row shows what happened for a specific range of MLOR3, and historical break even for the query results occurred at MLOR3 just above 0.85.

JPR, JPRMLProb, and MLOR3 (as delivered in the program download) are seen by all registered owners of JCapper Platinum.


• The second factor breakout table (above) shows the query results broken out by a JCapper factor called eUPRZScoreProb.

eUPRZScoreProb is an expected value calculation based on final odds divided by an odds line probability estimate in JCapper Platinum called UPRZScoreProb.

UPRZScoreProb is generated by a JCapper algorithm that uses UPR (or User Defined Power Rating) as an input.

The odds line part is based on the following formula:
UPRZScoreProb_OL = (1/UPRZScoreProb) - 1

eUPRZScoreProb is an acronym. The "e" (without the quotes) stands for expected value.

The "e" or expected value part is based on the following formula:
eUPRZScoreProb = (Odds / UPRZScoreProb_OL)

In a perfect world, theoretical break even occurs at e = 1.0

In the above table where the query results are broken out by eUPRZScoreProb, each row shows what happened for a specific range of eUPRZScoreProb, and historical break even for the query results occurred at eUPRZScoreProb just below 0.90.

UPR is an acronym that stands for User Defined Power Rating.

In JCapper Platinum, the user has the ability to create their own UPR.

Unless you share it with somebody, you are the only player who ever sees your UPR.

The JCapper user who hasn't taken the time to create their own UPR could use an MLOR3 value cuttoff suggested by the data.

The JCapper user who has taken the time to create a good UPR could use an eUPRZScoreProb cuttoff as suggested by the data.

Or alternately: a combination of value cuttoffs involving eUPRZScoreProb, eMLine, MLOR3, MLOR5, and PScore_HDW, etc.



THE SECOND UDM
The second UDM is also based on a simple concept:
  • Horses that rank strongly for two significant factors, rank reasonably well for two logical factors, and are not selected by the first UDM - in races with decent field size.
Expanding on that, let's define rank strongly for two significant factors to mean the following:
  • Rank one for a final time speed fig.
  • And rank one for a late pace fig.
Let's define rank reasonably well for two logical factors to mean the following:
  • Rank for Morning Line Odds is less than or equal to four.
  • Rank for a Prob Expression that scores Trainer Stats is less than or equal to five.

Then, let's define are not selected by the first UDM to mean the following:
  • Are not rank one for the first factor in the first UDM - and therefore cannot be selected by the first UDM.

Below is a cut and paste of the query results after running the sql expression for the second UDM through the JCapper Data Window with the data further broken out by a value ratio called PScore_HDW:

     query start:         9/7/2020 10:04:50 AM
     query end:           9/7/2020 10:04:55 AM
     elapsed time:        5 seconds

     Data Window Settings:
     Connected to: C:\JCapper\exe\JCapper2.mdb
     999 Divisor  Odds Cap: None
     SQL UDM Plays Report: Hide

     SQL: SELECT * FROM STARTERHISTORY
           WHERE RANKF17=1 
           AND RANKF23=1
 
           AND RANKMLINE <= 4 
           AND RANKF06 <= 5
 
           AND NOT RANKF01=1
 
           AND FIELDSIZE >= 7

           AND [DATE] >= #01-01-2020# 
           AND [DATE] <= #09-06-2020# 
           ORDER BY [DATE], TRACK, RACE


     Data Summary          Win         Place          Show
     -----------------------------------------------------
     Mutuel Totals     5952.00       5769.60       5899.80
     Bet              -6334.00      -6334.00      -6334.00
     -----------------------------------------------------
     P/L               -382.00       -564.40       -434.20

     Wins                  967          1622          2112
     Plays                3167          3167          3167
     PCT                 .3053         .5122         .6669

     ROI                0.9397        0.9109        0.9314
     Avg Mut              6.16          3.56          2.79


     By: PScore_HDW

       >=Min        < Max        P/L        Bet        Roi    Wins   Plays     Pct   Impact
     --------------------------------------------------------------------------------------
   -999.0000      40.0000       0.00       0.00     0.0000       0       0   .0000   0.0000
     40.0000      45.0000       0.00       0.00     0.0000       0       0   .0000   0.0000
     45.0000      50.0000    -118.20     422.00     0.7199      32     211   .1517   0.4967
     50.0000      55.0000       0.00       0.00     0.0000       0       0   .0000   0.0000
     55.0000      60.0000       0.00       0.00     0.0000       0       0   .0000   0.0000
     60.0000      65.0000       0.00       0.00     0.0000       0       0   .0000   0.0000
     65.0000      70.0000      -2.00       2.00     0.0000       0       1   .0000   0.0000
     70.0000      75.0000       7.50      94.00     1.0798      14      47   .2979   0.9756
     75.0000      80.0000     -40.20     754.00     0.9467     105     377   .2785   0.9122
     80.0000      85.0000     -44.40    2490.00     0.9822     416    1245   .3341   1.0943
     85.0000      90.0000    -168.20    1806.00     0.9069     286     903   .3167   1.0373
     90.0000      95.0000     -28.90     580.00     0.9502      81     290   .2793   0.9148
     95.0000     100.0000       1.10     148.00     1.0074      25      74   .3378   1.1064
    100.0000     105.0000       6.70      32.00     1.2094       6      16   .3750   1.2282
    105.0000     110.0000       6.60       4.00     2.6500       2       2  1.0000   3.2751
    110.0000     115.0000      -2.00       2.00     0.0000       0       1   .0000   0.0000
    115.0000     120.0000       0.00       0.00     0.0000       0       0   .0000   0.0000
    120.0000     125.0000       0.00       0.00     0.0000       0       0   .0000   0.0000
    125.0000     130.0000       0.00       0.00     0.0000       0       0   .0000   0.0000
    130.0000    9999.0000       0.00       0.00     0.0000       0       0   .0000   0.0000



    Ending BankRoll:       $56.90
    Starting BankRoll:     $300.00
    High BankRoll:         $330.40
    Low BankRoll:          $56.90
    Longest Losing Streak: 23.00
    Bet Percentage:        0.0175
    Max Bet:               999999999.00

     
PScore_HDW is based on a number of inputs created from HDW data - including speed and pace figs, Form, PSR, JPR, Field Size, Race Volatility, and the user's UPR (or User Defined Power Rating.)

For some "ideas" PScore_HDW can be really useful. For other "ideas" not so much. In my opinion, it depends largely on the factor mix of the user's UPR along with current public betting trends.

The above factor breakout for the above query results shows a significant drop for win rate and roi when PScore_HDW is below 70.

After adding a factor constraint of "AND PSCORE >= 70" (without the quotes) this is what the revised query results look like:
	

     query start:         9/7/2020 10:21:21 AM
     query end:           9/7/2020 10:21:48 AM
     elapsed time:        27 seconds

     Data Window Settings:
     Connected to: C:\JCapper\exe\JCapper2.mdb
     999 Divisor  Odds Cap: None
     SQL UDM Plays Report: Hide

     SQL: SELECT * FROM STARTERHISTORY
           WHERE RANKF17=1 
           AND RANKF23=1
 
           AND RANKMLINE <= 4 
           AND RANKF06 <= 5
 
           AND NOT RANKF01=1

           AND PSCORE >= 70
 
           AND FIELDSIZE >= 7

           AND [DATE] >= #01-01-2020# 
           AND [DATE] <= #09-06-2020# 
           ORDER BY [DATE], TRACK, RACE


     Data Summary          Win         Place          Show
     -----------------------------------------------------
     Mutuel Totals     5648.20       5434.70       5575.50
     Bet              -5910.00      -5910.00      -5910.00
     -----------------------------------------------------
     P/L               -261.80       -475.30       -334.50

     Wins                  935          1554          2015
     Plays                2955          2955          2955
     PCT                 .3164         .5259         .6819

     ROI                0.9557        0.9196        0.9434
     Avg Mut              6.04          3.50          2.77



     Ending BankRoll:       $56.80
     Starting BankRoll:     $300.00
     High BankRoll:         $330.40
     Low BankRoll:          $56.80
     Longest Losing Streak: 21.00
     Bet Percentage:        0.0175
     Max Bet:               999999999.00

    




Combining both UDMs into a single SQL Expression
Combining both UDMs into a single sql expression allows both UDMs to be tested in the JCapper Data Window.

The basic structure for combining two sql expressions (call them A and B) into a single sql expression looks like this:
SELECT * FROM STARTERHISTORY           
            WHERE ((A)

                OR (B))
Note that in the sql programming language:
  • Placement of parentheses characters (such as those in the above sql expression) is crucial.
  • You can enclose multiple lines of sql inside of parentheses characters.
  • Everything inside of parentheses characters gets evaluated as a single expression.
For further info about combining multiple ideas into a single sql expression, see the following thread on the JCapper Message Board: Combining SQL UDMs

Instructions for working the factor pairings from our two UDMs into the above sql expression:
  • Let A be equal to the factor pairing sql from the First UDM.
  • Using substitution, insert the factor pairing sql from the First UDM into the above sql expression.
  • Let B be equal to the factor pairing sql from the Second UDM.
  • Using substitution, insert the factor pairing sql from the Second UDM into the above sql expression.
After doing that for the First UDM, our new sql expression looks like this:
SELECT * FROM STARTERHISTORY           
            WHERE ((RANKF01=1 
            and rankf02 <= CLng(Fieldsize/5))

                OR (B))
And after doing that for the Second UDM, the new sql expression now looks like this:
SELECT * FROM STARTERHISTORY           
            WHERE ((RANKF01=1 
                    and rankf02 <= CLng(Fieldsize/5))

                OR (RANKF17=1 
                    AND RANKF23=1
 
                    AND RANKMLINE <= 4 
                    AND RANKF06 <= 5
 
                    AND NOT RANKF01=1

                    AND PSCORE >= 70))


To complete the new sql expression just add Field Size and Date Range constraints like this:
SELECT * FROM STARTERHISTORY           
            WHERE ((RANKF01=1 
                    and rankf02 <= CLng(Fieldsize/5))

                OR (RANKF17=1 
                    AND RANKF23=1
 
                    AND RANKMLINE <= 4 
                    AND RANKF06 <= 5
 
                    AND NOT RANKF01=1

                    AND PSCORE >= 70))


                AND FIELDSIZE >= 7

                AND [DATE] >= #01-01-2020# 
                AND [DATE] <= #09-06-2020# 
                ORDER BY [DATE], TRACK, RACE

That's it!

At this point, by executing the above sql expression in the Data Window, we can test both UDMs at the same time.

This is what the query results for both UDMs looks like with the data further broken out by MLOR3 and eUPRZScoreProb:

     query start:         9/8/2020 3:22:00 PM
     query end:           9/8/2020 3:22:03 PM
     elapsed time:        3 seconds

     Data Window Settings:
     Connected to: C:\JCapper\exe\JCapper2.mdb
     999 Divisor  Odds Cap: None
     SQL UDM Plays Report: Hide

     SQL: SELECT * FROM STARTERHISTORY           
            WHERE ((RANKF01=1 
                    and rankf02 <= CLng(Fieldsize/5))

                OR (RANKF17=1 
                    AND RANKF23=1
 
                    AND RANKMLINE <= 4 
                    AND RANKF06 <= 5
 
                    AND NOT RANKF01=1

                    AND PSCORE >= 70))


                AND FIELDSIZE >= 7

                AND [DATE] >= #01-01-2020# 
                AND [DATE] <= #09-06-2020# 
                ORDER BY [DATE], TRACK, RACE


     Data Summary          Win         Place          Show
     -----------------------------------------------------
     Mutuel Totals    12717.60      11580.40      11558.50
     Bet             -12574.00     -12574.00     -12574.00
     -----------------------------------------------------
     P/L                143.60       -993.60      -1015.50

     Wins                 1598          2727          3614
     Plays                6287          6287          6287
     PCT                 .2542         .4338         .5748

     ROI                1.0114        0.9210        0.9192
     Avg Mut              7.96          4.25          3.20


     By: MLOR3

       >=Min        < Max        P/L        Bet        Roi    Wins   Plays     Pct   Impact
     --------------------------------------------------------------------------------------
   -999.0000       0.7500    -274.70    7326.00     0.9625     852    3663   .2326   0.9151
      0.7500       0.7750     -34.90     252.00     0.8615      36     126   .2857   1.1241
      0.7750       0.8000      19.40     270.00     1.0719      44     135   .3259   1.2823
      0.8000       0.8250     -46.90     246.00     0.8093      33     123   .2683   1.0555
      0.8250       0.8500     -64.70     292.00     0.7784      41     146   .2808   1.1048
      0.8500       0.8750      61.80     254.00     1.2433      46     127   .3622   1.4250
      0.8750       0.9000     -36.40     222.00     0.8360      32     111   .2883   1.1342
      0.9000       0.9250      51.60     196.00     1.2633      36      98   .3673   1.4453
      0.9250       0.9500     -37.30     200.00     0.8135      27     100   .2700   1.0623
      0.9500       0.9750     -14.00     190.00     0.9263      19      95   .2000   0.7869
      0.9750       1.0000      41.70     184.00     1.2266      30      92   .3261   1.2829
      1.0000       1.0250      -6.60     208.00     0.9683      30     104   .2885   1.1349
      1.0250       1.0500     -32.00     120.00     0.7333      13      60   .2167   0.8524
      1.0500       1.0750     -17.80     128.00     0.8609      21      64   .3281   1.2909
      1.0750       1.1000     -71.10     154.00     0.5383      15      77   .1948   0.7664

      1.1000       1.1250      34.00      96.00     1.3542      15      48   .3125   1.2295
      1.1250       1.1500     -33.60     116.00     0.7103      15      58   .2586   1.0175
      1.1500       1.1750     163.00     114.00     2.4298      19      57   .3333   1.3114
      1.1750       1.2000      -6.60     150.00     0.9560      16      75   .2133   0.8393
      1.2000    9999.0000     448.70    1856.00     1.2418     258     928   .2780   1.0938




     By: eUPRZScoreProb

       >=Min        < Max        P/L        Bet        Roi    Wins   Plays     Pct   Impact
     --------------------------------------------------------------------------------------
   -999.0000       0.7500    -436.00    6820.00     0.9361    1060    3410   .3109   1.2230
      0.7500       0.7750      -0.10     294.00     0.9997      42     147   .2857   1.1241
      0.7750       0.8000      71.80     240.00     1.2992      35     120   .2917   1.1475
      0.8000       0.8250      -2.50     198.00     0.9874      28      99   .2828   1.1127
      0.8250       0.8500       7.20     232.00     1.0310      30     116   .2586   1.0175
      0.8500       0.8750     -62.40     198.00     0.6848      20      99   .2020   0.7948
      0.8750       0.9000     -19.20     210.00     0.9086      24     105   .2286   0.8993

      0.9000       0.9250      12.40     164.00     1.0756      19      82   .2317   0.9116
      0.9250       0.9500       7.10     180.00     1.0394      22      90   .2444   0.9617
      0.9500       0.9750      47.30     192.00     1.2464      26      96   .2708   1.0655
      0.9750       1.0000      39.00     172.00     1.2267      22      86   .2558   1.0064
      1.0000       1.0250      24.20     140.00     1.1729      16      70   .2286   0.8993
      1.0250       1.0500      -0.50     164.00     0.9970      20      82   .2439   0.9596
      1.0500       1.0750     -18.10     156.00     0.8840      17      78   .2179   0.8575
      1.0750       1.1000      42.60     146.00     1.2918      18      73   .2466   0.9701
      1.1000       1.1250     -37.00     116.00     0.6810       5      58   .0862   0.3392
      1.1250       1.1500     -46.50     122.00     0.6189       7      61   .1148   0.4515
      1.1500       1.1750     -44.40     118.00     0.6237      10      59   .1695   0.6668
      1.1750       1.2000      46.20     124.00     1.3726      16      62   .2581   1.0153
      1.2000    9999.0000     512.50    2588.00     1.1980     161    1294   .1244   0.4895




    Ending BankRoll:       $56.95
    Starting BankRoll:     $300.00
    High BankRoll:         $393.40
    Low BankRoll:          $56.95
    Longest Losing Streak: 24.00
    Bet Percentage:        0.0175
    Max Bet:               999999999.00

    




SUMMARY
Looking at the above query results I see several possibilities. In this section I'll summarize each possibility and add any thoughts that come to mind.

Betting the First UDM:

Flat win betting the First UDM without a rebate:
     Data Summary             Win
     ----------------------------
     Mutuel Totals        7069.40
     Rebate                  0.00
     ----------------------------
     Subtotal             7069.40
     Amount Wagered      -6664.00
     ----------------------------
     P/L                   405.40

     Wins                     663
     Plays                   3332
     PCT                    .1990

     ROI                   1.0608
     Avg Mut                10.66

     Longest Losing Streak: 23.00


Flat win betting the First UDM with a 5 percent rebate:
     Data Summary             Win
     ----------------------------
     Mutuel Totals        7069.40
     Rebate                333.20
     ----------------------------
     Subtotal             7402.60
     Amount Wagered      -6664.00
     ----------------------------
     P/L                   738.60

     Wins                     663
     Plays                   3332
     PCT                    .1990

     ROI                   1.1108
     Avg Mut                10.66

     Longest Losing Streak: 23.00


Win betting the First UDM without a rebate and an MLOR3 cutoff of 0.85 for play or pass decision making:
     Data Summary             Win
     ----------------------------
     Mutuel Totals        3006.00
     Rebate                  0.00
     ----------------------------
     Subtotal             3006.00
     Amount Wagered      -2368.00
     ----------------------------
     P/L                   638.00

     Wins                     287
     Plays                   1184
     PCT                    .2424

     ROI                   1.2694
     Avg Mut                10.47

     Longest Losing Streak: 21.00

Win betting the First UDM with a 5 percent rebate and an MLOR3 cutoff of 0.85 for play or pass decision making:
     Data Summary             Win
     ----------------------------
     Mutuel Totals        3006.00
     Rebate                118.40
     ----------------------------
     Subtotal             3124.40
     Amount Wagered      -2368.00
     ----------------------------
     P/L                   756.40

     Wins                     287
     Plays                   1184
     PCT                    .2424

     ROI                   1.3194
     Avg Mut                10.47

     Longest Losing Streak: 21.00

If I were betting the First UDM:
  • My choice would be doing so with a healthy rebate.
  • There is a value ratio price point in the data that maximizes total return.
  • The lower the rebate the higher the min required value ratio cutoff.
  • The higher the rebate the lower the min required value ratio cutoff.
  • I'd forward test the data and make incremental adjustments to my value ratio cutoffs as data for fresh races beomes available.
  • My objective would be to zero in on the value ratio price point that maximizes total return given the rebate.


Two Horse Win Betting - both UDMs combined:

Flat win betting both UDMs without a rebate:
     Data Summary             Win
     ----------------------------
     Mutuel Totals       12717.60
     Rebate                  0.00
     ----------------------------
     Subtotal            12717.60
     Amount Wagered     -12576.00
     ----------------------------
     P/L                   141.60

     Wins                    1598
     Plays                   6288
     PCT                    .2541

     ROI                   1.0113
     Avg Mut                 7.96

     Longest Losing Streak: 24.00

Flat win betting both UDMs with a 5 percent rebate:
     Data Summary             Win
     ----------------------------
     Mutuel Totals       12717.60
     Rebate                637.80
     ----------------------------
     Subtotal            13355.40
     Amount Wagered     -12576.00
     ----------------------------
     P/L                   779.40

     Wins                    1598
     Plays                   6288
     PCT                    .2541

     ROI                   1.0620
     Avg Mut                 7.96

     Longest Losing Streak: 24.00

Win betting both UDMs without a rebate and an MLOR3 cutoff of 1.10 for play or pass decision making:
     Data Summary             Win
     ----------------------------
     Mutuel Totals        2937.50
     Rebate                  0.00
     ----------------------------
     Subtotal             2937.50
     Amount Wagered      -2332.00
     ----------------------------
     P/L                   605.50

     Wins                     323
     Plays                   1166
     PCT                    .2770

     ROI                   1.2596
     Avg Mut                 9.09

     Longest Losing Streak: 17.00

Win betting both UDMs with a 5 percent rebate and an MLOR3 cutoff of 1.10 for play or pass decision making:
     Data Summary             Win
     ----------------------------
     Mutuel Totals        2937.50
     Rebate                116.60
     ----------------------------
     Subtotal             3054.10
     Amount Wagered      -2332.00
     ----------------------------
     P/L                   722.10

     Wins                     323
     Plays                   1166
     PCT                    .2770

     ROI                   1.3096
     Avg Mut                 9.09

     Longest Losing Streak: 17.00

If I were betting both UDMs combined:
  • My choice would be doing so with a healthy rebate.
  • There is a value ratio price point in the data that maximizes total return.
  • The lower the rebate the higher the min required value ratio cutoff.
  • The higher the rebate the lower the min required value ratio cutoff.
  • I'd forward test the data and make incremental adjustments to my value ratio cutoffs as data for fresh races beomes available.
  • My objective would be to zero in on the value ratio price point that maximizes total return given the rebate.



Notes and Final Thoughts:

The above query results were generated from a JCapper Platinum database using HDW data for every thoroughbred race that was run in the US and Canada from 01-01-2020 through 09-06-2020.

The above query results reflect what actually happened.

That said, the above query results are driven in part by public betting trends that existed between 01-01-2020 and 09-06-2020.

Keep in mind that public betting trends in thoroughbred horse racing do have a tendency to change over time.

Also keep in mind that the above query results came from a JCapper database using HDW data. I have no idea what query results from identical sql expressions and value ratio data breakouts would look like had they been generated by JCapper from Brisnet data.

The type of UDMs I used for this article will have you passing a lot of races.

The date ranges of the sql expressions in this article are from 01-01-2020 to 09-06-2020 inclusive.

There are 19,883 thoroughbred races in my database during that timespan.

The first UDM by itself produced 3,332 plays. The second UDM by itself produced 2,955 plays.

Between 01-01-2020 and 09-06-2020 both UDMs combined produced a total of 6,288 plays. That means both UDMs combined produced a potential play in just under 32 percent of the available races.

Put another way: Using the UDMs presented in this article, two thirds of the time the race in front of you will not have a potential play. In which case you should pass the race.

There will be times when the race in front of you will have a potential play generated by the first UDM only. In which case you should use a value cutoff based on your own r&d or record keeping for that situation only.

There will be times when the race in front of you will have a potential play generated by the second UDM only. In which case you should pass unless you've discovered a value cuttoff based on your own r&d or record keeping for that situation only.

There will also be times when the race in front of you will have a potential plays generated by both UDMs combined. In which case you should use a value cutoff based on your own r&d or record keeping for that situation only.

Of the possibilities recapped in the Summary section above: Flat win betting both UDMs with a 5 percent rebate generated the highest total return.

Imo, this is no accident. Of the possibilities recapped in the Summary section above: Flat win betting both UDMs with a 5 percent rebate most closely mimics the way the whale computer teams operate. They maximize total return by leveraging rebates to the fullest extent possible. Had I used a 7 percent rebate instead of five, the difference between Flat win betting both UDMs with a rebate and any other strategy would have stuck out even more.

I hope I managed to type most of that out in a way that makes sense,


-jp
.


No write up like this is complete without the following disclaimer:

No Guaranty of Future Results
Tabulations of past results are just that: reporting of past results. There can be no assurance that future positive financial results will be achieved. Actual results could differ materially from past results, forecasts, estimates and summary information presented on the JCapper website and in the JCapper Software.

Copyright 2020 JCapper Software              http://www.JCapper.com