Texas Hold'em Knowledge Hub

PioSolver Basics: Building Ranges and Nodes

Guides14 views

This article introduces the basic usage of PioSolver from scratch, focusing on how to manually build strategy ranges, set up calculation nodes, and methods to avoid common mistakes. Suitable for beginner to intermediate players who want to use tools to improve post-flop decisions.

1. What is PioSolver?

PioSolver (often abbreviated as Pio) is one of the most popular postflop range solvers currently available. It is based on the principles of Game Theory Optimal (GTO) and uses mathematical iteration to calculate the optimal action frequencies and mixed strategies for each player given a specific board, stack size, and bet sizing. Unlike simple hand equity calculations, PioSolver helps us understand deeper questions like "why a certain bet size is better" or "which hands should check-raise on a given board."

2. Why Do We Need Custom Ranges and Nodes?

Although PioSolver is powerful, its default scenarios are often overly idealized: it assumes both players use GTO strategies on every street and that ranges are infinitely wide. In actual poker, we face different opponent styles, tournament ICM pressure, and flaws in our own range construction. Custom ranges and calculation nodes allow us to simulate preflop ranges and postflop paths more realistically, yielding more targeted results.

3. Methods for Building Custom Ranges

3.1 Range File Format

PioSolver ranges are usually saved in .txt format, with one hand combination per line using standard abbreviations (e.g., AA, AKs, AKo, 76s, etc.). You can generate the list using Excel or a text editor.

Example: A common CO open-raising range (ignoring specific frequencies)

[AA](/term/aa)
[KK](/term/kk)
[QQ](/term/qq)
[JJ](/term/jj)
[TT](/term/tt)
[99](/term/99)
[88](/term/88)
[77](/term/77)
[66](/term/66)
[55](/term/55)
[44](/term/44)
[33](/term/33)
[22](/term/22)
[AKs](/term/aks)
[AKo](/term/ako)
[AQs](/term/aqs)
[AQo](/term/aqo)
[AJs](/term/ajs)
[ATs](/term/ats)
[A9s](/term/a9s)
[A8s](/term/a8s)
[A7s](/term/a7s)
[A6s](/term/a6s)
[A5s](/term/a5s)
[A4s](/term/a4s)
[A3s](/term/a3s)
[A2s](/term/a2s)
[KQs](/term/kqs)
[KQo](/term/kqo)
[KJs](/term/kjs)
[KTs](/term/kts)
[K9s](/term/k9s)
[QJs](/term/qjs)
[QTs](/term/qts)
[JTs](/term/jts)
[T9s](/term/t9s)
[98s](/term/98s)
[87s](/term/87s)
[76s](/term/76s)
[65s](/term/65s)
[54s](/term/54s)

Note: You can add weights or comments after a hand, but by default PioSolver assigns equal weight to each hand. If you need mixed frequencies, you can use percentage markers in the range, e.g., AA:50% to include only half of the combos.

3.2 Importing a Range into PioSolver

  • Open PioSolver, and in the "Tree Building" interface, locate the "Set Range" area.
  • Click the Edit button next to IP (In Position) or OOP (Out of Position).
  • Select "Load from File" and import your .txt file.
  • Ensure the total range sums to 100% (or your specified percentage); otherwise, subsequent calculations may produce logical errors.

3.3 Adding Preflop Node Constraints

Sometimes we need to simulate preflop actions more precisely, e.g., when the opponent only defends certain combos from the small blind. You can manually set fold, raise, or call ranges in the "Preflop" tab and lock the node.

4. Methods for Setting Calculation Nodes

A calculation node is a point in the decision tree where you use the "Lock Node" function to fix the strategy for that particular action round, thereby simulating the opponent's deviation. Common scenarios:

  • The opponent always bets 75% pot on the flop? Lock that node and force all combos that can bet to do so at 75% frequency.
  • The opponent never check-raises on the turn? Lock the check-raise node to 0%.

4.1 Steps to Lock a Node

  1. Build the complete decision tree (including default bet sizes, raise sizes, and fold options).
  2. Switch to the "Flop/Turn/River" tab and find the node you wish to modify.
  3. Click on that node and select "Lock Node." In the pop-up dialog, you can manually adjust the frequency of each option.
  4. For example, if you want the opponent to bet 100% on the flop, set the "Check" frequency to 0% and "Bet 75% Pot" to 100%.
  5. After confirming, the node will be marked with a lock icon.

4.2 Locking Multiple Nodes and Exporting

You can lock multiple nodes to simulate very specific opponent tendencies. Once done, run the calculation to obtain the optimal response strategy (i.e., how your range should adjust) given these locks. Note that the more nodes you lock, the slower the calculation, and the results may become overfitted.

5. Practical Example (Simplified)

Suppose you often face a button player who has a continuation bet frequency of 90% on the flop. You want to know how to defend from the big blind.

  1. Set up the preflop in PioSolver: The big blind calls a 2.5BB raise from the button.
  2. On the flop: At the button's action round, lock the node so that "Bet 75% Pot" is 90% and "Check" is 10%.
  3. Click "Solve" and wait for the calculation.
  4. The results will show the big blind's optimal defense strategy: possibly including more check-raises, turning certain bottom pairs into bluffs, etc.

Conclusion: By using custom ranges and locking nodes, you can learn how to exploit an opponent's leaks in a targeted manner.

6. Common Mistakes

Mistake 1: Adding overly wide or overly narrow ranges

Beginners often set the big blind's defense range to 100%, which leads to unrealistic strategies. In real GTO, the big blind folds many junk hands against a small raise. The range should be set reasonably according to stack depth and opponent's raise size.

Mistake 2: Not questioning assumptions after locking nodes

Locking a node forces the opponent to adopt a certain strategy, but if that strategy is far from GTO, your counter-strategy may only be effective in extreme cases. Always adjust based on the opponent's actual tendencies.

Mistake 3: Ignoring consistency between the tree and ranges

For example, if you set a preflop raising range of 20% but then allow a hand that should not exist preflop (e.g., J5o) into a node on the flop, this creates a logical contradiction. The solver may give misleading guidance.

7. Summary

The power of PioSolver lies in its allowance for custom input. Building custom ranges and calculation nodes are core skills for leveraging this capability. Once you master these two features, you no longer rely on preset scenarios; instead, you can create fine-tuned models for specific opponents and situations. It is recommended to start with simple cases (e.g., heads-up, a single flop, fixed bet sizing) and gradually increase complexity. Most importantly, any solver results must be verified at the actual table.

Remember: GTO is the map, while exploitation is off-roading. PioSolver helps you draw the map more accurately, but it is still you who must step out of your comfort zone.

FAQ

PioSolver mainly accepts plain text combo lists, one hand per line (e.g., AA, AKs). It cannot directly import proprietary formats from PokerStove or Flopzilla. But you can copy hand lists from these software and manually organize them into a plain text file. It is recommended to use Excel or a text editor to generate combos in bulk.