Handicapping Software

Handicapping Software

Eight Ways to Elevate Your Game - JCapper.com

by: Jeff Platt
November, 2011

Handicapping Software used in the right way can affect your bottom line in a profound way.

As HANA's President and the author of JCapper I've met and spoken with some of the best and brightest players in the world.

Included in that group are players whose names you might recognize as handicapping authors, others whose names you might recognize as having won handicapping tournaments, and still others whose names you wouldn't know from Adam... but who are involved with some of the world's largest computer teams.

In talking with them I discovered that while all of them approach the game itself from a variety of different directions, they collectively share some key attributes.

Aside from discipline, the ability to execute a game plan, a willingness to roll up one's sleeves and go to work, and the ability to recognize value - every single player that I have spoken with who fits within the context of what I'm trying to convey when I use words like "best and brightest" uses handicapping software to facilitate one or more key areas of their games.

After comparing notes with these players, I identified eight key areas where today's "best and brightest" use handicapping software to elevate their games.

What follows is a description of my own evolution as a player... and how I put handicapping software to work each day to facilitate these same eight key areas of my own game.

Key Area #1: Downloading past performance data from the internet.
Every now and then some event in my day triggers a memory locked away somewhere in the back of my mind. For some reason that happened here... just as soon as I sat down to write a few paragraphs about handicapping software and downloading past performance data files from the internet.

I can see myself plain as day. The image that I see is me cutting my teeth as a horseplayer...

It's a Monday Afternoon in March, 1984. I've skipped another accounting class at A.S.U. and driven across town to be at Turf Paradise. I'm sitting at a picnic table on the grassy area to the east of the grandstand about even with the 1/16th pole. I've slid the table over about 20 yards so that it's shaded by a palm tree.

It's about an hour before post time for race one. I'm armed with a copy of the DRF, a #2 pencil, and a pocket calculator... I'm in horseplayer heaven trying to get a head start crunching my numbers for the day's card... my own class rating that merges earnings per race with average purse... and of course my own crude pace figures using internal fractions and beaten lengths to get velocity in feet per second between the 1st and 2nd calls of selected running lines.

I work quickly... and about 45 minutes later when I hear the call to post for race one I put down the pencil and watch the horses step out onto the track.

I haven't started making decisions yet... but I feel pretty good about the work I've done. There are nine races on the card and I'm already halfway through race seven.

Fast forward to today....

It's a Saturday in March, 2010. I've decided that I want to play Aqueduct, Gulfstream, Oaklawn, Hawthorne, Golden Gate, and Santa Anita.

I bring up the File Downloader in JCapper, select .JCP Data Files as my file type... and I am taken to the website for Handicapper's Data Warehouse (HDW Data)... I log in... and a few mouse clicks later I have downloaded, unzipped, and processed a past performance data file for every track in North America that is running today.

A few mouse clicks after that and I have loaded the past performance data files for Aqueduct, Gulfstream, Oaklawn, Hawthorne, Golden Gate, and Santa Anita into JCapper.

What used to take me more than an hour for each race card now takes mere seconds.

Key Area #2: Parsing the internet for scratches and changes.
I'm back at the picnic table again... It's about 30 minutes to post for race one. The voice of Turf Paradise's track announcer, the late Bob Weems, who had his ashes sprinkled in a flower bed near the finish line, comes over the P.A. system.

"Ladies and gentlemen," he cuts in, breaking my concentration. "Here are today's scratches and changes..."

I put down the calculator and pick up my track program. Trying my best to keep up, I scribble a big black "X" through the name of each horse that is scratched. And even though I don't know what the word overweight really means yet, I hurriedly write down each overweight almost as fast as Weems rattles them off.

Back to the present...

I launch a module in JCapper called Scratch Bot.

A few mouse clicks later and I have imported all of the scratches and changes... including races taken off the turf... for every track that I decided to load into JCapper today. Further, I don't have to worry about hearing a track announcer's voice should new scratches and changes be announced...

At any point in the day I'm always within a few mouse clicks of being able to import updated scratches and changes into JCapper.

Updated? That's right. I said updated. Last year I helped design one of the primary systems the industry uses to disseminate those scratches and changes... and believe it or not that system updates scratches and changes as soon as they are announced in something pretty close to real time.

Key Area #3: Generating Custom Reports with Proprietary Factors and Ratings
Very early on it occurred to me that I could increase my chances of winning money at the windows by having something to work with that the betting public couldn't see.

That day at the picnic table I had two... count 'em two... pieces of proprietary information:
  • A class rating that merged earnings per start with purse size for races in which a horse had earned money... my theory being that horses with higher "Earnings Ratios"... or simply "ER"... had seen moments of higher quality than horses with lower "ER's." The concept worked to a degree. That year I had cashed my first ever $100.00 horse... His name was Crown The Emperor. He won a local turf race, shipping in from California to be the top "ER" horse vs. his field.

  • A Pace Rating that measured velocity in feet per second between the 1st and 2nd calls of running lines that caught my eye.

    Players that read this sometimes ask if my beginnings were Sartin based. That question almost always gets a laugh out of me. You see I never had a mentor... and wouldn't read my first handicapping book (Bill Finley Sr's Total Victory At The Track) for another 10 years.

    I knew that the speed ratings published in the DRF were what everybody else was looking at, and that those were based on final time.

    I wanted to use something that measured how fast a horse could travel... but it had to be something different from what everyone else was using. So I chose speed on the turn. Simple as that.
Back then, $10.00 to win was a BIG bet for me.

Sitting at the picnic table, crunching numbers for an hour or more... and being able to use my work to find and bet three or four advantaged horses each day... and being able to walk out of the place with more money than I had when I woke up that morning...

For me it is the being able to use my work to make money aspect that makes betting horses such a magical endeavor!

Fast forward to today...

On the JCapper Main Module I click a single button labeled Calculate Races.

A few minutes later I am looking at a customized report that has my own proprietary factors on it.

The term proprietary factors itself gives me pause as I think back. Sitting at the picnic table I had two proprietary pieces of information... Today I have well over 100.

Today I can use an interface in JCapper to customize my report... where factors I want to see are picked from a list and dropped onto a report layout... and once my layout is saved the interface will display each factor exactly where I put it on the report layout.

Further, I can use another module in JCapper called UPR Tools to create my own factors.

I marvel at the report for a second... It is packed with useful information and looks nothing like the DRF with pencil marks that I used all those years ago.

I never realized it while it was happening, but looking back now I can't miss it... Evolution has taken place!

There's a column for early speed... a column for late speed... a column for Form... one for Class... ability from speed figures... another for Power Ratings... the ability of the horse's human connections... and an odds line generated by an algorithm using a very accurate probability estimate based on studies of data samples involving my own proprietary factors and the performance histories of more than 900,000 North American starters over the past two years.

All of my own numbers for every horse in each race are right there on the report... every horse ranked by each proprietary factor that I am using...

Further, in cases where individual horses have significant advantages over the rest of their fields... the numbers displayed for those factors are bolded or highlighted.

Even better, every horse in every race at every track that I have loaded into JCapper today that fits the rules for any of my active UDMs (User Defined Models or spot plays) is very clearly marked for me right on the report in colored text... along with the name of the UDM selecting the horse.

Everything is laid out for me exactly as I have chosen to see it... and it is generated at the click of a button.

My job isn't to handicap... No!

My job from here is to simply look at the report and start making decisions.

Key Area #4: Parsing the tote stream (live odds) to identify overlays/pool inefficiencies.
Back to 1984 and the picnic table again...

As post time nears for race one I stand up. The 11 horse... You DO remember 11 horse fields don't you?... has enough of an advantage in both ER and Pace that I'll consider betting him provided the odds are high enough... Somehow... I'm not really sure how... I decide that I'll take no less than 5/1.

Because I had dragged the picnic table underneath the palm tree to be in the shade... and because the only outdoor picnic tables to begin with are in the grassy area to the east of the grandstand... I can't quite see the odds on the toteboard for the 11 horse from where I am sitting. The grandstand itself is blocking out the toteboard for horses numbered seven and higher.

But for reasons I can't explain there's nowhere else I'd rather be right now.

I get up and walk about 30 yards to the west... off the grass and onto the pavement. Now I'm actually in front of the far end of the grandstand. I can see the toteboard from here. It's 3 minutes to post and the odds on the 11 horse are 9/2. Not wanting to miss a bet if the odds drift up I make my way towards the clubhouse.

Ahh, value.

Fast forward to today...

A few mouse clicks later and I am looking at quite possibly the most interesting piece of software that I've ever written (or seen.)

It's called the JCapper Live Play Module.

In front of me is a report showing just a few of my hand picked proprietary factors. But this report is far more interesting to me than any other because live odds are being parsed from the internet directly into the DOM (Document Object Model) of the web page I'm using to display the report.

The odds imported into the web page are driving the probability and expected value numbers on the report. Every time the tote refreshes and the live odds for each horse change, the numbers on the report change with the odds.

Further, I know from my own R&D... I'll talk about R&D in a later section of this article... that the probability estimates on this report are extremely accurate.

No more intuitive guesses about minimum strike price (the odds I'll take) on a horse.

However, it isn't about the technology... The algorithms driving the numbers on the Live Play Module report serve a purpose.

I created them to facilitate play or pass decision making. The numbers on the report very clearly point me to the overlays... and very clearly steer me away from the underlays.

Ahh value.

Key Area #5: Ticket Construction.
Back to 1984 and the picnic table again...

It's almost post time for race one. I've decided to bet the 11 horse. Before walking up to the window I stop to look at a TV screen. I have to wait a minute or two but eventually the exacta payoffs for the 11 horse come up.

The 11 horse is my primary play in this race. While sitting at the picnic table I had decided that the 3, 6, and 8 were contenders for the balance. I'll play the 11 to win the race, and exactas with the 11 on top of my other contenders - provided I think the individual exacta combination has value. A quick glance at the exacta matrix for the 11 horse tells me that the 11-3 and 11-6 exacta will pays ($28.00 and $24.00) are too small for the risk involved. However, the 11-8 is a juicy $75.00.

My decision is an easy one. I walk up to a window. I bet $5.00 on the 11 to win and a $2.00 11-8 exacta.

The race goes off. The 11 and the 8 both break well. The 8 goes to the lead and the 11 presses from second as they go around the turn. At the top of the lane the 11 moves up alongside the 8. They are together for a moment, and then the 11 edges clear. At the 1/8th pole the 11 is in front by at least three lengths and the 8 is clearly second. I can almost feel that extra $75.00 in exacta money in my wallet already. Then, just as I notice the 6 beginning a rally into third on the outside - the 8 begins to fade. As they pass the 1/16th pole the 8 is stopping and the 6 rolls right on by into second. He is making a nice rally and is rapidly closing on the 11... who hangs on to win by about a half length after being saved by the wire.

After the race is made official I am looking at the payoffs on the tote board. The 11 pays $12.20 to win. The 11-6 exacta pays about $23.00. I walk up to the same window where I bet the race and cash my win ticket.

I don't have a strong enough opinion in the second race to make a bet. So I just watch. When the race is made official I notice the payoffs on the tote board. The race was won by a horse that paid about $21.00. I look at the scratchings on my Form and note that there were some things to like about the horse. Had another horse in the race qualified as a single selection for me I could easily have made a strong case to use the winner underneath in an exacta.

The $2.00 daily double pays about $160.00. I think about this for a few seconds. The fact that the double pays significantly more than a win parlay for the same two horses isn't lost on me. Neither is the fact that this double was gettable for me.

But I don't play daily doubles because I haven't figured out how to constuct the tickets yet. (I'm still several years away from getting a solid handle on ticket construction when it comes to exotics.)

Fast forward to today...

I bring up a module in JCapper called BetCalc. It is a simple ticket calculator. Inside of three mouse clicks I am able to select wager type, base wager amount, and field size. From there I can start clicking individual runners from each leg. Each time I click a runner from one of the legs, the module displays the current ticket... in detail with all of the selected ticket combinations... as well as the total cost of the ticket.

This module certainly isn't rocket science.

However, simply having the module... and using it... has given me a very solid handle when it comes to effective ticket construction for each of the following exotic wager types:
  1. Exacta
  2. Trifecta
  3. Superfecta
  4. Super High 5
  5. Double
  6. Pick 3
  7. Pick 4
  8. Pick 5
  9. Pick 6
No. this module certainly isn't rocket science... But I guarantee you almost every single one of the "best and brightest" use similar modules during their ticket construction.

Key Area #6: Importing/downloading result charts data.
Back to 1984 and the picnic table again...

The last race is now official. I didn't have a play in the race but I stayed to watch it anyway. As I head to the parking lot I notice something. The ground is littered with mutuel tickets, track programs,... and Racing Forms.

My Racing Form, complete with my ER and Pace scratchings, is tucked away safely in hand. Tomorrow morning I will flip through the pages of the Sports Section of The Arizona Republic until I come to the charts for today's races. I will use a pair of scissors to cut the chart out of the newspaper and I will staple it to the inside front cover of my Racing Form. I will then add a new Racing Form to the growing collection of about 150 others... all complete with results sitting in boxes next to my desk.

At some point in my spare time I will take a handful of Racing Forms out of a box and study them... trying to conceptualize why certain horses won and why others lost.

I can't in my wildest dreams imagine why other horseplayers throw Racing Forms away... After all, how in the world can they become better players if they never study?

Fast forward to today...

I bring up JCapper's File Downloader and navigate to the website for Handicapper's Data Warehouse (HDW Data.) I log in and a few mouse clicks later I have downloaded, unzipped, and processed charts results files for every track in North America that ran races yesterday.

I then bring up another module in JCapper called the Database Builder. I point the interface at the target folder where my charts results files are saved and click a button labeled Build Database.

A few minutes later the build database routine is complete... Yesterday's results have now been added to the database.

But instead of having to dig through boxes to get to 150 paper Racing Forms... I have now something better: databases sitting on hard drives where electronic copies of almost 40,000 Racing Forms are stored.

Key Area #7: R&D... querying the database...
Back to 1984. But this time instead of the picnic table I'm sitting at my desk...

In front of me is sheet of paper. On that sheet of paper are five columns containing data about horses that either won or lost their races while qualifying according to a new set of rules that I am trying out. This is time consuming detailed work. I am working through a box of Racing Forms, manually handicapping one race at a time, and writing down the date, race number, name of horse, odds, and result for every horse that qualifies according to the rules I am testing.
	Date    Race  Horse		Odds	Result
        ------  ----  ----------------  ---- 	---------
	2/3/82     7  Traditional Man	 7-1	Won 16.40
A few hours here... a few hours there... and in a couple of weeks I will have handicapped enough races from enough Racing Forms in enough boxes to get an idea whether or not the new rules I am testing out represent an improvement over what I have been doing in the past.

Fast forward to today...

I just woke up a few minutes ago. I'm in the shower.

The light bulb goes off in my head again.

The thing is you never know ahead of time when the light bulb is going to go off. You don't know where you will be or what you will be doing. You DO, however, know that it WILL go off... and that WHEN it goes off your creative and productive energy is at a peak and that something inside is driving you to capitalize on that energy while it lasts.

I turn off the water and dry myself off. I walk over to the laptop.

I need to know right now: What happens if I combine an early speed advantage with an early run style and an inside post position at every track running races this week?

This one is easy so far as light bulb moments go. There's no rocket science involved... no reinventing of the wheel.

It's just a simple database query.

In JCapper I click a button labeled Data Window. I click the SQL button and key in the following SQL Expression:
           WHERE RANKF20 = 1 
           AND RUNSTYLE < 15 
           AND RAILPOSITION <= 4
Just so you know, F20 is where I have CPace sitting on my report layout. Hence: RANKF20 = 1. In JCapper, HDW Run Styles are numbered... with Early Run Styles all having numbers less than 15. Hence: RUNSTYLE < 15. Finally, rail position is the horse's position in the starting gate from the rail out. The above query limits data returned to horses assigned the 4 inner most positions in the starting gate.

From a drop down I select an option to break my results out BY TRACK. Then I hit the Execute button.

What happens if I combine an early speed advantage with an early run style and an inside post position at every track running races this week?

About 3 seconds later I have my answer: Data Window query results - click here -

The results enable me to see that the above combination has been potent of late.

Further, scrolling through the data broken out By Track, when I come to the ROI summary I can see that Beulah, Tampa Bay Downs, Gulfstream, and Sam Houston have been among the best performing tracks.

I can also see at a glance that Santa Anita, Oaklawn Park, Delta Downs, Golden Gate Fields, Turfway Park, and Hawthorne have been among the worst performing tracks. If I want to play the races there I had better avoid this particular combination of factors.

Back to 1984 and the picnic table one final time...

For me it has always been the being able to use my work to make money aspect that makes betting horses such a magical endeavor!

Back to the present...

R&D that takes just a few seconds... vs. R&D that used to take weeks.

Key Area #8: Record Keeping
Back to 1984... But this time instead of the picnic table or my desk, I'm flyfishing Arizona's Crescent Lake.

I'm wearing chest waders and standing waist deep in the cold mountain water. While scanning the surface in front of me for rises to cast to... my mind drifts to the just completed meet at Turf Paradise.

I think that I won somewhere in the neighborhood of $900.00 over the course of the meet... but I'm not 100% sure.

I think that the bulk of that $900.00 came from win bets... but again I'm not 100% sure.

You see the value of keeping accurate records to refer back to hasn't dawned on me yet.

Fast forward to today...

I double click a shortcut on my desktop to launch a Visual Basic Project that isn't part of JCapper... yet.

The project has a user interface displaying drop downs that enable me to select date, track, race number, bet type, base wager amount, name of primary horse, surface, and distance. The interface also has text boxes where I can paste in codes I use to describe the reason for making the bet in the first place, the odds of the primary horse, and ticket details as cut and pasted from the BetCalc module.

The interface has a Save button the lets me commit a complete description of each bet I make to an Access table.

I've designed a set of Access reports so that I can analyze the performance of my own betting history by any of the criteria described above.

For example, a review of my own wagering history by bet code will very quickly tell me where I am strong and where I am weak in terms of the reasons I make bets in the first place.

The Simple act of eliminating ill performing bet codes is a proven way used by some of the "best and brightest" to improve their bottom lines going forward.

It may take me several months until my wagering history project actually becomes part of JCapper. But I am working on it.

In closing, I hope I've managed to convey a few of the ways the "best and brightest" are using handicapping software to facilitate key areas of their games. I guarantee you that using handicapping software to do the same can make you a better player going forward.

To learn more about JCapper shoot me an email or visit:

Jeff Platt

jeff @ jcapper . com
(remove the blank spaces first)


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