Welcome Guest, you are in: Login

Assaultware Wiki



Search the wiki


Composite definitions are currently available on PokerStars and full tilt poker. Expressions using definitions that "filter by hole cards and/or board cards" will not work on live PokerStars and Full Tilt poker tables

Introduced in version 2.4, composite definitions significantly expand NoteCaddy's ability to make custom stats. The most important piece of a composite definition is its mathematical "expression" which allows any notes and/or HM2 stats to be combined to create a single value. When built, a composite definition is also available in color definitions which allows you to use it for badges, color coding, and player type filtering within note definitions. Composite definitions are processed in real time (when notes are populated for a player) so they won't make pending tasks and are available immediately, without reprocessing of notes

Composite stats are only available in the HM2-App version of NoteCaddy

Expressions and Sample Expressions

The goal of both expressions is to have a number as a result. For example, if you want to make a stat that shows the difference between a player's VPIP and PFR you would enter something similar to

HEM."TOT VPIP" - HEM."TOT PFR" which would give you a single number. Sample sizes are often important in determining the quality of data. However, with composite definitions, sample sizes are not as straightforward. Since you can use multiple stats in conjunction with mathematical operators, there is no way for NoteCaddy to determine what the sample size should be. By default, it is 100. However, you can write an expression just for the sample size so you have better data. Both expression types (expressions and sample expressions) work identically in that their end result is a single value. For the above example of VPIP - PFR, we may have entered HEM."Total Hands" or something similar to get a better sample size indication than just the default of 100.

Nearly any mathematical operator is available for expressions. This includes + - * / ( ) as well as sin cos tan. You can also use constants in expressions.

Boolean expressions are also available: > < == !=

They return 1 when true and 0 when false.

These can be used to create complex if-then-else statements. For example, the expression: 10*(1>0)+5*(0>1) evaluates to 10. You can use an expression like this to return a value of one stat if it meets a certain threshold and another if not.

All stats and definition names are case sensitive. NoteCaddy won't let you save the definition if there is an error in the expression. Errors are communicated in some detail as to assist in trouble shooting. Also, for HEM stats, spaces need to be replaced by underscores _ so the expression can be appropriately parsed.

Note definition names and stats that contain non alpha-numeric characters need to be put in quotes when used in expressions. For example:
  • NC."Note-Definition"
  • HEM."4Bet is Premium (AA,KK,QQ,AK) Hand"

For NoteCaddy notes, you can choose several options, depending on how the definition is constructed. You can see these options by typing a period after the definition name. For example, NC."Note-Definition". will show some or all of the following:

  • Instances - this is the total amount of times a player has performed this action
  • Opportunities - this is how many times the action could have been performed. See 'Opportunities' in NoteCaddy for more details
  • Percentage - This is (Instances * 100) / Opportunities. It is the percentage of the time a player performs this action
  • AverageStrength - This is only available if one of the following variables was used: $cardrange, $flophandrange, $turnhandrange, $riverhandrange. It will show the average General Strength a player had when performing this action.
  • BigBlindsPerHand - This will show the average amount of big blinds won/lost per hand where this note was taken.
  • PopulationAveragePercentage - Shows the instances/opportunities percent average for the whole player pool
  • PopulationAverageStrength - Shows the average strength for the entire player pool


A simple example

To create a composite definition, click file->new->composite definition. You will see that there are few fields compared to note definitions and color definitions. Of special note is the description field: For composite definitions, variables currently do not work. Generally, composite definitions are designed to be used as HUD stats but if you choose to "show in the notes popup" then the description is text that will appear next to the value. The example shown in the below screen shot is to create a stat that shows the difference between someone's VPIP and PFR


An easy way to find the list of the HEM stats is to navigate into any color definition and look at the "HM2 stats" panel. for HEM stats, spaces need to be replaced by underscores _ so the expression can be appropriately parsed.

This expression will be computed in real time. Some rounding occurs so it is possible that the result will be off by 1 in some cases. The resulting note is simplified in that the result is always a single number and the "opportunities" is always considered 100. So for the above stat, if a player has VPIP 23 and PFR of 19 the result is obviously 4. It is important to understand that in the note itself the "instances" are 4 and the "opportunities" are 100 - even if these are not the correct values it is just to make the percentage right. For HM2 stats, currently it is not filtered by game size or game type. If you have a player who plays Omaha heads up and limit holdem 9 max, all his stats will be considered together. This could be improved in the future but please keep it in mind as a limitation currently. Furthermore, the values returned will be those that follow your current HM2 HUD filters. It is typical that a player's report stats differ from HUD stats for the same reason. For example, by default HM2 limits HUD stats to hands played in the last 12 months. In some cases no stats will be returned from HM2 depending on what options are set in HM2's HUD options

Using NoteCaddy notes in expressions

This works similarly to using HEM stats but not identically. If you want to use a note definition called "ThreeBarrelsInPosition" you would put NC.ThreeBarrelsInPosition and it will replace it with a value in realtime. If your note definition specifies "define opportunities by range/opportunities/SNGWiz" then the value is the success percent (just like a stat). However, if you specify "do not take notes for missed opportunities", then it will return the total instances. This behavior can be manipulated to make much more complex stats. For example, a stat "won when 3 barreled" would be made by creating two note definitions and one composite definition. The first note definition, WonWhenThreeBarreled would specify a three barrel (see Filtering player actions) as well as "won hand" but not "lost hand" in the general tab. This would give you a count of all the wins. Next you change the name of the definition to "ThreeBarreled" and click file->save new. Just make the change to include also include "lost hand" (thereby not filtering by a win/loss at all) to get a total count of three barreled hands. Finally, you make a composite definition and for the expression put:

(NC.WonWhenThreeBarreled * 100) / NC.ThreeBarreled

This gives you the percent just as you expected.

ScrewTurn Wiki version Some of the icons created by FamFamFam.