The term Horse Racing System (or Selection System) is a complex statement that refers to the whole set of rules that define the criteria for selecting the markets and runners to place bets on. The goal of a selection system is to filter the daily markets and runners and to provide the final list of selections that meet the user’s betting strategy.
The horse racing selection systems act as the foundation for profitable betting. No matter what staking plan or strategy you use, you need appropriate selections in the long run.
If you want to place back bets, then a selection system should provide you underestimated runners that are more likely to win than their price indicates, or if you want to place lay bets, then a system should fetch overrated runners, and so on.
The Selection Systems tool has the following key features that will ultimately lead you to an optimized strategy for identifying the appropriate set of rules to pick markets and selections:
- System editor – inside this tool, you can define the filter’s criteria in an easy-to-use manner. Rules for filtering the markets and selections are built using more than 500 parameters. You can organize a complex set of rules in a flexible and user-friendly hierarchical view.
- Testing environment – once systems are built, this tool will provide all the necessary features to test the defined systems, over an accurate race database. Consistent stats will analyze the performance of the tested systems, for both back and lay bets. The key feature of this tool is the Breakdown tool, which is a must when tweaking and optimizing your systems. The breakdown is done on all 500+ parameters, thus offering the best guidance in fine-tuning the criteria, with a very friendly interface and efficient analyzing tools.
Building selection systems
Click Edit Systems in the Main Menu Selection Systems tab to open the Selection Systems Editor.
The editor has the following windows:
- System list viewer
- System builder
System list viewer
This window shows all the systems defined by the user. The following features are available:
- Search – type in the search box to filter the system list. Systems are filtered by name and tags.
- Add a new system – click the “+” button to create a new system. Select the sport and press OK.
- Clone system – click the “clone” icon over the system name in the list to duplicate the system.
- Delete system – click the “delete” icon over the system name in the list to delete the system. Confirmation will be required.
- Edit system – click on the system name in the list to open it in the system viewer pane.
For each horse racing system, the following information is required:
Step 1 – Fill in the name, tags, and description of the system.
Step 2 – Choose the option regarding the qualified selections list. According to the filtering criteria, in a market there can be one or more qualified selections. This option describes what to do in this situation:
- First qualified selection – in a market, the first qualified runner will be kept. Choose the sorting parameter and order (check/uncheck Descending).
Example: In each market, the qualified runners will be sorted by their age, ascending. First qualified selection would be the youngest runner.
- Random chosen selection – in a market, a random selection from the qualified runners list will be kept.
- All qualified selections – all qualified runners in a market will be kept. In this situation, multiple bets will be placed in that market.
Step 3 – Choose the options regarding the list of the qualified markets:
- Ignore markets with more than X selections qualified – this will eliminate from the qualified markets list the ones with their qualified runners count exceeding the defined limit. This way, you can limit the bets in each market.
- Allow minimum X minutes between the races – when checked, if a market is less than X minutes away from the previous one, it will be ignored for betting. This option simulates a real betting scenario when one needs to wait for the market to be settled in orde
This is the foundation of a horse racing system, the place where the main system parameters (filter criteria) for markets, horses, jockeys and trainers are defined. From the whole race database, only the races and runners that meet the defined criteria will be selected for betting.
The filtering tool is organized in a hierarchical manner. It is composed of the following elements:
A Filter Group has the following elements:
- A list of conditions – multiple filtering conditions are combined together in a group.
- A list of subgroups – a group may have multiple subgroups as child elements. This leads to a highly flexible filtering architecture.
- A logic operator – the logic operator that is applied between the filtering conditions and subgroups. The available operators are AND, OR, NOT AND, NOT OR.
- Command list (click the “+” sign to display them) – Add/Duplicate/Remove group, Add condition.
Example: You create a group with logic operator AND together with a list of 2 conditions – Condition A and Condition B. Therefore, the resulting filtering criteria will impose that the markets and selections fulfil “Condition A AND Condition B”.
Filter Conditions has the following elements:
An entity to which it is applied – the available entities for horse racing are: Markets, Selections, Jockeys, Trainers.
- The evaluation parameter – for each entity there is a specific list of parameters to choose from.
- The comparator – the value of the selected parameter is compared with a value/range using the specified comparator.
- The value/range of the selected parameter.
- Command list – Enable/Disable, Duplicate, Delete.
Example: Condition – Selection Rank Equals 1, where Selection is the entity, Rank is the parameter, Equals is the comparator and “1” is the value. Applying this condition implies that first favourite in a market will be selected for betting.
Note: The hierarchical filter tree will be evaluated from the bottom up, following the visual hierarchy.
Tips & Tricks: You must start at the beginning with a few conditions in order to have more qualified markets and selections. Then, by using the Breakdown tool, new profitable conditions are identified that can be added in the filtering tree to narrow down the right selections.
Testing selection systems
After you have finished building your selection systems, the next step is to start testing. The following instructions will lead to proper testing and optimization of your systems.
Configure & Perform test
In order to configure the test, the following setup needs to be done in the commands section of the Selection Systems tab:
Step 1 – Choose the selection system to test. The dropdown selector will display all the available selection systems.
Step 2 – Choose the time interval of the races. This interval follows the minimum and maximum time limits of the races database.
Step 3 – Press Run and wait for the test results.
Step 4 – Analyze test results. At the end of the simulation, the basic stats are displayed. You can evaluate the performance of the selection system by reading the available stats.
Note: Test is performed for both back and lay bets, with £1 level stake. The test duration depends on how strict the selection system is. If many runners are qualified, this will increase the duration. Nevertheless, you must take into consideration that years of races are simulated in a matter of seconds.
The Breakdown tool is the most efficient tool for continuously improving the selection systems. Basically, it’s like a “what if” investigator that adds, one at a time, all the possible conditions to the existing ones and performs the test, taking the new configuration into consideration. Thus, you can see all in one place what the system performance would be when any of the possible conditions are added.
This Breakdown tool does this automatically for all the 500+ parameters, saving you all the work of doing this investigation manually. If a new filter condition line looks profitable, you would then add it to the existing filtering criteria in the selection system and repeat the process over and over again until it reaches the desired performance.
Follow the next steps to perform a breakdown task:
Step 1 – Press Breakdown in the selection systems tab and click the entity for which the breakdown is done. The breakdown task will start.
Note: An increase in breakdown execution is expected when the selection system provides many qualified runners. As a complete simulation is done for every possible new selection parameter, hundreds of full tests are therefore executed in order to provide complete breakdown stats.
Step 2 – Analyze the breakdown stats for all the parameters and identify the profitable filtering conditions to add.
In the picture above, an example of breakdown on runner parameters is shown. The breakdown list consists of all the 200+ selection (runner) parameters with their potential values and the system performance computed as if that condition would have been added in the filtering criteria list.
Several tools are available to efficiently narrow down the new conditions that need to be added in order to increase the overall performance of the selection system:
The colour code
Each breakdown row is colour-coded (Green, Orange or Red). Computing the colour code takes into account the following statistical parameters: ROI (Return of investment), Archie score, Actual/Expected Wins, Expected Wins. The meaning of each colour code is the following:
- Green – the condition line is profitable. If this condition were added to the existing list, the corresponding system performance in the breakdown line would be achieved.
Example: If Condition A – Selection’s Total Wins [Entire Career] [This Race Type] with values between 3 and 5 has a green colour, then it can be added in the system’s existing filtering criteria as: – AND [Selection] [Total Wins] [Entire Career] [This Race Type] [Is Between] [3 and 5]
- Red – the condition is not profitable. This condition can be added with negation in the filtering conditions list in order to eliminate the bad performance.
Example: If Condition B – Selection’s Age with values between 5 and 7 has a red colour, then it can be negated in the system’s existing filtering criteria as:
– AND [Selection] [Age] [Is Not Between] [5 and 7]
- Orange – the condition is inconclusive and it should be neglected at this point. This might be due to several reasons: low Archie score, positive but low ROI, or too small data sample size.
The breakdown table has the following functions defined in the toolbar:
- Bet type selector – the breakdown is done automatically for both back and lay bets. Switch between the stats for each bet type using the selector.
- Search parameter – specific parameters can be searched by typing the corresponding name in the box.
- Column chooser – manage the displayed stats column by using the Column Chooser tool.
- Clear sorting – clears the sorting applied to the breakdown rows.
- Clear filtering – clears the filters applied to the breakdown rows.
Filtering enables narrowing down the profitable breakdown rows by searching rows that have specific stats values. This way, a considerable increase in efficiency is reached, surfing through thousands of breakdown rows in the most efficient way.
The filtering row is located just under the stats header. For each stats column, the comparator and value can be selected.
Example: To search for the breakdown rows with high ROI, the value threshold and the comparator [Greater Than] must be typed in the filtering cell under the ROI column. The result will be all the breakdown rows with high ROI, thus preventing the user from needing to manually search through thousands of rows.
Sorting is performed by clicking the stats column header. Toggling the header switches between ascending and descending sorting. In the image below, the rows are sorted ascending by Profit/Loss.
Note: The Breakdown tool is useful only when the selection system is set to keep All Qualified Selections. If the selection system keeps the First Qualified Selection or the Random Chosen Selection (see Building selection systems), the tool becomes inefficient. The explanation is the following:
The selection system, when tested, produces a set of qualified selections over which the betting activity is simulated. The original complete list of qualified selections – LIST A – is kept when the option All Qualified Selections is selected. Bets are placed on all qualified selections in a market. The Breakdown tool takes LIST A and for each available parameter in the filtering criteria it filters the original LIST A and performs the test.
Thus 500+ sub-lists are created from the original LIST A, each with its corresponding betting performance. When you add the breakdown condition to the original filtering conditions list in the selection system, the qualified selections would be the same sub-list of the original LIST A as in the breakdown row. Thus, the system performance will be identical to the breakdown row.
If First Qualified Selection option is checked, the initial LIST A becomes LIST B, with only one selection qualified in each market. Let’s take the following example into consideration:
- In Market A there are 3 qualified runners (Runner 1, Runner 2, Runner 3).
- First Qualified Selection is set to sort by age, ascending.
Therefore, the youngest of the 3 runners is selected – in this case, Runner 2. During the test, the bet will be placed on Runner 2.
Reaching the Breakdown tool, LIST B will be sub-divided, taking all the possible parameters into consideration. Let’s say the breakdown line [Selection] [Weight] [Is Between] [100 and 110 lbs.] is profitable. This means that when bets are placed on all the runners in LIST B with that specific weight, the system is a winner.
In this situation, you go back to the selection system and add the weight condition to the filtering criteria. This action does not produce a sub-list of LIST B, it creates a whole new list – LIST C. In the case of Market A, with originally 3 qualified selections and Runner 2 the youngest, now there are 2 qualified selections (Runner 1 and Runner 3) with Runner 1 being the youngest. Therefore, in this new configuration, Runner 2 is replaced by Runner 1.
By completely changing the original LIST B, the new performance values won’t match the breakdown row. The same behaviour is encountered when using Random Chosen Selection.
The Breakdown tool is efficient as long as it is used to continuously narrow down the original list of qualified runners, in order to keep only the profitable lines. When choosing only one selection from a list in a market, by adding conditions to the filtering criteria, the new list of qualified runners won’t be a sub-list of the original one, it will always be completely new. This behaviour cancels the desired advantages of the Breakdown tool.
There is one exception to this behaviour – when the breakdown is done on market parameters. Adding a market filter in the selection system will create a sub-list of the original market list, with each remaining market keeping its original qualified selection. Therefore, a sub-list of the initial runners list is created.
By eliminating markets entirely, the main principle of narrowing down the original runners list is followed.
Conclusion – use the full Breakdown tool only in conjunction with setting All Qualified Selections in the selection system’s general settings. For the Random Chosen Selection and First Qualified Selection, use the Breakdown tool only for market parameters.