You are on page 1of 20

NoteCaddy

NoteCaddy is an application that concerns itself with realtime player analysis primarily through the use of notes. As the software has matured, its focus has turned to making this information easy to absorb while playing. NoteCaddy is currently available exclusively as an HM-App for Holdem Manager 2.

Feature Overviews

CaddySpark CaddyScatter Cyborg Notes Badges List Of Supported sites How to read a NoteCaddy note Can I use NoteCaddy with hm1 How to migrate settings from one computer to another

Definition Scripting

Best practices for creating NoteCaddy definitions NoteCaddy Variables how is opportunity defined in 'opportunity by action' How to reset NoteCaddy notes Getting started with Color coding

Troubleshooting

How to make sure you have the very latest NoteCaddy build How to use an old version of NoteCaddy How to make logs and send it to support My notes or a single definition's notes aren't showing up as I expect them to! Resetting NoteCaddy to factory settings Things that look like bugs but are not License not being recognized Checking notes and hand histories for a single player

Advanced Technical

How can I check how much storage NC used? Is NC saved in database or separately? Recommended Computer Specs Note Caddy too slow

CaddySpark
CaddySpark is a technology used in NoteCaddy that will show a sparkline graph as part of a NoteCaddy note.

An example of a CaddySpark graph in a note. This player is significantly stronger than the player pool average in this situation

The purpose of a CaddySpark graph is to allow users to absorb large amount of data in a very small timeframe. The green, black, and red spikes indicate strengths that a player had in hands for which a note was taken. A higher line indicates that the player was this strong more times. The dotted blue line indicates the average strength of the player pool for this same note. The orange line indicates the average strength of the individual player again. A quick analysis of the CaddySpark above shows that this player performed the action with a range that is stronger than average. His range is heavily weighted towards stronger hands with a few thin value bets and bluffs mixed in. Given the information from this spark graph, an argument can be made that we should assume he is probably holding a strong hand when this action is observed. A spark graph can be added for any note definition as long as it uses exactly one of the following variables: $cardrange, $flophandrange, $turnhandrange, $riverhandrange. There is an option in the "HUD" panel of the definition editor that says "use spark graphs". Make sure that is checked and the graphs will appear.

Customizing Settings
The CaddySpark graph allows for the following customizations. These are found in file>settings->HUD

The blue player pool strength line can be removed The minimum amount of required spark points can be set. You would set this if you don't want a spark graph to appear for a small sample size

CaddyScatter
CaddyScatter is a technology used in NoteCaddy to help make bet size reads on opposing players. The theory is that some players will, for example, bet bigger with weaker hands and smaller with strong hands. Since NoteCaddy carefully follows all actions performed, it is able to make a scattergraph where the X axis corresponds to a bet/raise size and the Y axis corresponds to the strength of the hand. When enabled, The CaddyScatter graph will appear in the notes shown for a player when the mouse is hovered above the note icon in the HUD. If you have "click to show popups" selected in HM's HUD options, then CaddyScatter won't appear.

A CaddyScatter graph with a medium amount of data

Each time an action is observed and a player eventually shows down, a dot is drawn in the graph. The color of the dots and the size of the graph itself are configurable in NoteCaddy via File->Settings->CaddyScatter. It is possible to remove all the dots from the graph, with the exception of a particular street, quite easily. The buttons on the right of the graph will do so. Clicking the x on the bottom right will reset the graph. A point on top of the graph indicates a strong hand. A point on the right indicates a bigger bet size. As a point of reference, the dotted line is drawn which indicates what would have been a pot size bet. Given the above graph, we could conclude that the pre flop open raises (light red dots), are made bigger with stronger hands and as the hands get weaker, so does the raise size. One thing to keep in mind is that pre flop, a "bet" refers to an open raise and a "raise" refers to a re-raise

Pot Size Bet


The way a pot size bet is calculated is based on the traditional formula which can be found on this page http://www.pokerjunkie.com/calculating-the-pot-bet-in-poker Some examples are quoted here in case that page goes offline: Example 1: There's $10 in the pot. You're first to act. In this case you can bet $10. Example 2: There's $10 in the pot and a player has bet $3. To calculate your maximum bet, first pretend that you call that last bet. The total pot then contains 10 + 3 + 3 = $16. This is your maximum raise. With the $3 call, your total maximum bet would be $19. Example 3: There's $10 in the pot, one player has bet $3 and another player has raised to $10. First pretend that you call the last bet of $10. The pot then contains 10 + 3 + 10 + 10 = $33. Your pot raise is $33, and your total bet $43.

Bet Strength
Strengths are based on numbers 1-169 for pre flop and 1 to 100 post flop. The pre flop rankings are static and are very similar to what is found on this page http://www.tightpoker.com/poker_hands.html. Post flop hand strengths adjust based on how many hands they beat. A score of 100 means a hand will win versus any other hand no matter what other cards come. Particularly in Omaha, it is nearly impossible for a hand to have a score of 100 on the flop. Board texture greatly affects scores such that, for example, top pair can give a high score on some boards but a very low score on others. Any card/board combination can be tested from within NoteCaddy. Open any note definition and on the flop->hand tab on the very bottom there is a section called "test"

Cyborg Notes
Typically, notes are thought of as either manual notes or automatic notes. Cyborg notes are a hybrid of both. First, NoteCaddy uses definitions that have the "cyborg" flag set to create a note. However, it doesn't write this note directly into the database as it would normally. It holds the notes in memory waiting for the user to confirm that he wants to save this data. A user easily confirms that he wants the cyborg notes to be saved by simply opening up the note editor and clicking the hyperlink for the cyborg note which he likes best.

A note editor with cyborg notes available

In the event that your database hasn't been fully processed, cyborg notes will not appear You must be using the Caddy Report for Cyborg notes to appear As with nearly everything in NoteCaddy, Cyborg notes are completely customizable. By default, NoteCaddy ships with 4 cyborg definitions that will show a note on the last hand played in a few different ways:

CyborgFlop CyborgTurn CyborgRiver CyborgShowdown These definitions can be modified or removed and new ones can be added easily. If you do not have these definitions they can be obtained via the definition digest at this link: http://www.assaultware.com/DefinitionDigest.aspx?f0=2 Any definition can be made into a cyborg definition just by selecting "cyborg note" on the general tab in the definition editor. When creating a cyborg definition, it is logical to use a large number of variables (but not variables that end with the word range) as to best describe the player's behavior.

NoteCaddy Badges
When playing multiple tables, it can be difficult to read a player's notes quickly and effectively without slowing down the action too much. The purpose of NoteCaddy badges is to display an image directly in a player's HUD when a very important note has been taken. This way, a NoteCaddy user can be alerted to his enemies' most important idiosyncrasies without having to hover over a note icon or stat.

The view of a HUD and popup where badges are configured

It is recommended that badges be used for notes that differentiate a player from average. The popup in the image above describes why this player got the donkey badge. It is because he has shown weak hands when donk betting. A badge can be created for anything a NoteCaddy user wishes to know quickly.

How to represent a note with a badge


There are two ways to make a note appear as a badge. The first is to select a badge in the definition editor on the general screen.

If you select the same badge image for multiple definitions, then the badge will appear as long as one of the definitions is valid for a player. Valid meaning that all the conditions including sample and success filters are met. If more than one of the definitions are valid, the image will still only appear once but hovering over the image will show all the valid notes.

The second way to add a badge is through a color definition. This gives the advantage of being potentially easier. If you know some HM2 stats that you want to filter by, you don't need to make NoteCaddy note definitions for them. You can just filter by ranges in the color definition editor. If you want to filter by more than one statistic or NoteCaddy note, then using a color definition is the only way to do it.

A color definition with a badge image selected

If you filter by, for example, VPIP and PFR in the color definition editor, then both need to be correct. This means that color definitions filter using AND logic instead of the OR logic that note definitions produce. The following article gives a detailed description of the default badge definitions and how to create your own NoteCaddy Badges

How to read a NoteCaddy note

There is a large amount of information contained within default NoteCaddy notes. This article goes from left to right and explains each part.

F This means Flop. By default, each definition will have a prefix PF, F, T, R - this prefix identifies which street the note best pertains to.

misses cbet in position This is the text of the note. It is intended to give you a concise description of the behavior.

{Ace High/Two Overs, Pocket Pair Under High Card} - This is an enumeration of values generated by the $flophandrange variable. By default HM2 will stop displaying these values once a maximum threshold (default 5) is reached. The reason for this is because too many values makes notes uncluttered and unreadable. This is configurable by going to file>settings->HUD and increasing "maximum enumerated values to show in a note". If you see a number like -2 or -3 at the end of a listed item, it means the player showed this hand down twice or three times, respectively.

2/2 100% This means it happened twice (hence two enumerated values) and could have only happened twice. This part of the note turns it into a stat essentially. The meaning here is that this player misses cbets in position 100% of the time he can but he has only had two chances.

+0.8bb This option is turned off by default. You can turn it on by selecting file->settings>note settings "show net profit in notes". This shows how much money a player has won or lost in the hands where notes were taken.

+203% Means this player commits this action 203% more often than average. In this case it means 2.03x = 100 where 100 is the percent this player succeeds with this note. By default the color of the note is black. If this value is +20% it turns the note red, if it is -20%, it turns the note green. If you change the font color for the note in the "HUD Options" tab in the definition editor, the color will remain whatever you selected it. You can customize how many times a note had to have been taken before this deviation is calculated in file>settings->HUD "minimum amount of note samples before the deviation is calculated"

The spark graph is explained in detail via it's own article. (explicado)

The play button opens all the hands where this note was taken for a player.

Can I use NoteCaddy with hm1


If you own licenses to hm1, hm2, and notecaddy then you can use the standalone version of NoteCaddy. HM2 is required, no exceptions! Download the standalone version from http://www.notecaddy.com/NoteCaddy2.Setup.msi If you purchased NC from holdemmanager.com, you would enter your HM2 license as the NC license. It starts with HM2-...... If you purchased NC from assaultware, you can just enter the license you got when you purchased originally

How to migrate settings from one computer to another


Close HM2. -Make sure you are seeing all file extensions on both computers http://windows.microsoft.com/en-US/windows-vista/Show-or-hide-file-nameextensions - Enable the option to see Hidden Files and Disable Hide protected operating system files: How to see hidden files in Windows - It should look like

this: For windows 7/Vista, The files you need are located in C:\Users\YourWindowsLogin\AppData\Roaming\HoldemManager. If you are using the standalone, the path is c:\program files (x86)\notecaddy 2. You need to copy over the following files:

caddysettings.xml caddylayout.xml ColorDefinitions.xml noteDefinitionsLayout.xml colorDefinitionsLayout.xml There is also a folder named NoteCaddyDefinitions. In the standalone it is named definitions. Copy this entire folder over as it contains your NoteCaddy definitions.

Best practices for creating NoteCaddy definitions


What behavior am I trying model?
Step one is to define exactly what you want your note to tell you. Vague notes like "I want to see what someone raises on the flop with" may not give you useful results. You should try to understand the real power of NoteCaddy and define things like "I want to see how someone's raises versus TAGs' continuation bets compares to the player pool's" Try to think of specific information that makes a player different from his peers. It is this specific information that is actionable to exploit players. Seeing a list of hands requires too much real time processing by your own brain and unless it is put into context properly may cause you to react poorly.

How do I want this information presented?


To use NoteCaddy effectively you need to realize that notes are no longer long lists of text that appear when you hover your mouse over a note icon. NoteCaddy will present information to you in a number of ways:

In a note popup that appears when you hover over a HUD stat. For example, the HM2 stat, "continuation bets flop". The best practice is to put all the notes related to how someone behaves in a pot that saw a continuation bet there. For a video tutorial on how to add notes to a stat popup please watch this tutorial video http://www.assaultware.com/videos/intro_hem2.wmv As text displayed directly on the HUD. Right away you should consider that space on your HUD is very limited. Also remember that CaddySpark Graphs cannot be displayed directly on your HUD as they are far too big. In short, only notes that succinctly describe exploitable idiosyncrasies should be placed directly on your HUD. Unless you play heads up, then you have lots of space. For details please see the article NoteCaddy 2.2 that describes how to add notes directly to your HUD.

A note displayed directly in the HUD

As a badge. Similar to auto rate icons, NoteCaddy will represent a note as an image. This is an alternative to placing the entire text in the HUD. The image will give you the indication that you need and then hovering your mouse over the image will give you the details. Having a few badges for a player can quickly describe the ways in which a player is unique.

Badges shown in the bottom of the HUD and the popup created by hovering

At this point it might make sense to wonder what to do with the main note pop up. The best practice for this is to show the top 10 "highest priority" notes. For details on how priority works, please watch this video Settings. The idea is to give you the most relevant information to how the player plays even if it's only a small sample and not yet worthy of a badge. You can purposely leave a note off of the note popup. There is an option for it. You would omit a note from there when you wish to use it strictly as a HUD stat.

What to learn before starting



General tab video Pre flop general tab video Holdem hole card filtering Omaha hole card filtering video Pre flop previous actions video Pre flop action filters video Flop general tab video Flop range filtering video Flop previous actions video Flop action filters video Player types HUD options video (important!) A difficult definition constructed - example article

Step 1. Finding a hand history


Before you begin scripting, it is very important to find a hand history for initial testing. You can do this fairly easily using HM2's filters. Without a hand history, you cannot be certain that you have done the definition correctly so it is a best practice to have this ready before you start.

Step 2. Scripting
Assuming you are familiar with each of the screens, you can go to file->new->note definition and get started. Make sure to save frequently and if you're using previous actions, there is a save button that needs to be clicked for each previous action so please remember!

Step 3. Testing via the Test Environment


Once you've set all the options that you think you need, it is imperative that you test the definition using the hand that you selected prior to starting. Items from the "advanced" tab which analyze long term patterns are not looked at in the test environment so you can always test a definition using a single hand. Please watch the video Test Environment for details on how to test an individual hand history. If something is not working as expected, you will be given an exact reason as to why the definition did not apply to each player in the hand.

Step 4. Testing via Seek


Now you are certain that your definition works on the hand that you selected. However, there is a problem that is opposite of the definition not working. The problem is that maybe the definition finds hands that you did not intend. False positives are very bad because you would get bad data. Running seek is easy. You must right click on the definition in the list which is always on the top right. The menu has an option "seek". Click this and a replayer will appear that will show hand histories that match and the player for whom it matched. Look at several and make sure you have no false positives.

Step 5. Run the Pending Task


NoteCaddy creates notes from new definitions using pending tasks. This is so you don't need to reprocess the whole database. Pending tasks appear on the "start" page for newly created, modified, or imported definitions. You just click the link "process pending tasks" and wait for the process to complete. Depending on the size of your database, this could take some time. Once it does finish, you can see how many notes it added. If the number is zero, something went wrong. Try to do a seek. If hands appear there, then there is some database problem. The easiest fix is to click file->reset notes and then click "create notes..." on the start page. This happens rarely though. NoteCaddy and HM2 are both intense database programs so there will be some times when something doesn't go exactly as expected with large amounts of data.

Step 6. Test via note history


Now your notes are in your database. Do they look as you expect? You can test easily by right clicking the definition then clicking analyze. It may take some time to come up depending on the size of your database. Once it has loaded, take a look at the "recipients" tab. Here you can see a list of all the people who received the note. There is a difference between someone who has the note and someone for whom the note will actually display. For example, if you defined a value for minimum instances and someone hasn't reached it yet, then they technically have the note but it won't appear for them. The recipients tab will show you the players for whom the note will actually appear and, if not, what the reason is. Furthermore, you can look at the recipients tab for the following information:

There actually are notes there If you used "range" variables, that they combined as expected. The amounts of notes applied to some known players looks like expected. If you have a player with 10k hands and you made a note about raising under the gun, it is not reasonable that this player has only 2 instances. It would also not be reasonable that a tight player has a under the gun raise frequency of 80%. Look for obvious problems. If necessary, find more test hands as described in step 1. If your note is fairly complex and uses advanced filters (minimum instances, difference from player pool etc), you should use this opportunity to find a player who definitely would qualify. The export shows all players and does not use the advanced filters.

Step 7. Configuring HM2 to show the note


As mentioned in the introduction, there are several ways to display notes. Now it is time to leave the NoteCaddy screen and go to HM2's HUD options and do just that. The tutorial videos/articles cited at the beginning of the article have detailed instructions on how to do so. Keep in mind that you can add a note to a popup as an actual text note or as a stat. To add a note as a stat to a popup it's in the popup designer. To add the full text/graph from a note, it is under NoteCaddy Popups. As stated in step 6, you should also have a player name that would definitely have the note showing. When you finish your HUD options, select this player in HM2. Make sure your HUD is running and open a replayer with one of his hands. Is everything as expected? If so, this completes the process. If you ran into some trouble, help is available at Assaultware forums

NoteCaddy Variables
To watch a video explaining variables, please click Variables can be inserted into your note description to get more dynamic output. Variables are case sensitive. When you use a variable in your description, the actual value is inserted into where you had put the variable. Make sure to specify that the player showed down if you are trying to print ranges. VARIABLES THAT END WITH THE WORD RANGE WILL PRINT VALUES ON TO A SINGLE LINE. For example $flopboardrange could print {A73ss, K63sss}. Variables that do not end with the word range will create a different note for each value. For example, if you use $pfposition, it would create a separate note for each position.

$pfposition - This will print the position of the player (example: small blind, under the gun) $stacksize - Prints the stack size of the player (example: 1-5 bbs, 6-8 bbs) $cards - Shows the hole cards of the player. Each hole card combo will create a new note if you use this $cardrange - Displays the range of cards a player had over all the hands that were used to create the note. Unlike the $cards variable, this will keep everything on a single line. $enemycardrange - Prints the range of cards that the enemy of a player ended up showing down in the hands that were used to create the note $enemypfposition - Shows the range of positions that the enemy of a player were in during the hands that were used to create the note $pfaction - If you use this, it will create a new note for each of the different actions a player could perform pre flop. Since there are many possible pre flop actions, you may want to consider using output customization in conjunction with this to prevent too many notes $pfactionrange - This will print all pre flop actions that a player performed in the hands that were used to generate this note. $pfraiseinbigblinds - To be used only in notes were a pre flop action are required, this variable will split the note by the amount of big blinds a player open raised to. $flopboard - This will create a new note for each flop that was seen in the hands that created the note. In most cases it is recommended to use $flopboardrange as that will keep all the values in a single note $flopboardrange - All the flops seen in the hands used to create this note $flophand - One per note; the flop hand that a player had (example: top pair, flush draw) $flophandrange - Combines a player's observed range of flop hands into a single note $flopaction - The action(s) performed on the flop by a player $flopactionrange - All of the actions performed by a player in the hands used to create a note. $flopbetaspotfraction - Shows the flop bet size of a player as a fraction such as (1/2, 2/3, 3/4). This should be used in conjunction with a filter saying a player must have bet the flop $turnboard - Same as $flopboard but for the turn $turnboardrange - Same as $flopboardrange but for the turn $turnhand - Same as $flophand but for the turn $turnhandrange - Same as $flophandrange but for the turn $turnaction - Same as $flopaction but for the turn $turnactionrange - Same as $flopactionrange but for the turn $turnbetaspotfraction - Same as $flopbetaspotfraction but for the turn $riverboard - Same as $flopboard but for the river $riverboardrange - Same as $flopboardrange but for the river $riverhand - Same as $flophand but for the river $riverhandrange - Same as $flophandrange but for the river $riveraction - Same as $flopaction but for the river $riveractionrange - Same as $flopactionrange but for the river $riverbetaspotfraction - Same as $flopbetaspotfraction but for the river

$gamesize - will show if this is heads up, 6 max, or full ring $playersdealtin - shows the exact number of players dealt into a hand $effectivestack - Shows the minimum stack size of all players still in the hand when this player acted for the first time pre flop $flopeffectivestack - Shows the minimum stack size of all players who saw the flop $turneffectivestack - Shows the minimum stack size of all players who saw the turn $rivereffectivestack - Shows the minimum stack size of all players who saw the river $bigblind - Shows the size of the big blind $flopposition - Shows whether a player was in position or out of position when he saw the flop $successversusaverage - Compares a players success/opportunities to that of the whole player pool. For example, if you have a note on continuation betting and a player has the value +30%, it means he continuation bets 30% more often than average $strengthversusaverage - Compares the average strength of a player's hand versus the player pool. This variable must be used in conjunction with exactly one of the following: $cardrange, $flophandrange, $turnhandrange, $riverhandrange. For exmaple, if you make a note definition about continuation betting, a value of -30% means this player has shown cards that are 30% weaker than average. $winrateversusaverage - Compares the amount of money a player won in the hands that created a note versus the average amount won by the player pool in all the hands that were used to create this note across all players. This will show a percentage $definitionversusstat - Compares the success/opportunity percentage of this note to the % of a stat which can be chosen on the advanced tab in the note definition editor. $definitionversusdefinition - Compares the success/opportunity percentage of this note to the success/opportunity of a different definition which can be chosen on the advanced tab in the note definition editor. $winorlose - Prints a value that states whether a player won, lost, or split the pot for this note

how is opportunity defined in "opportunity by action"


Percentage is x/y where x is the number of times all the selected actions were true and y is all the times all selected actions were true except the last one.

How to reset NoteCaddy notes


For NoteCaddy Basic users, please see the article Resetting NoteCaddy to factory settings For standalone or paid HM-App users, click file->reset notes. This will remove all NoteCaddy notes, CaddyScatter data, and aggregate statistics from your database. To create notes again, find the "start" panel (usually right under where it says File) and click the top link "create notes for unprocessed hands baed on active definitions" This is usually done as a troubleshooting tactic as well as to remove large amounts of unwanted data quickly and easily

Getting started with Color coding


Make sure you have set up your notes file in NoteCaddy by going to file->settings->color settings. It is the file notes.yourScreenName.xml once thats done hit the outlined button.

You might also like