# Set-mining payoff sensitivity

Created and sources accessed: 2026-09-07. Article: https://gtogecko.com/blog/set-mining-implied-odds

This is an independently authored teaching model. It tests how conditional net payments change the value of a hypothetical pocket-pair call. It is not a solver strategy, app output, population measurement or estimated win rate. Average payoff versus available stack is an established idea; the contribution here is an auditable paired example and sensitivity matrix.

## Reproduce

Download all files in this directory to one folder. Python 3.10 or newer, standard library only:

```text
python generate.py
python verify.py
python -O verify.py
```

The generator overwrites only results.json, cases.csv and thresholds.csv in its own directory. It uses exact fractions and deterministic counting. No random seed, sample size or external data is used. Decimal outputs round to six places; article tables use two. Exact fractions are included. The independent verifier does not import the generator. It exhaustively counts 19,600 three-card subsets and calculates terminal stack changes for each payoff branch, then checks four cases, nine exact zero crossings, small perturbations, CSV parity and deliberately invalid inputs/results. Passing checks establishes arithmetic and file consistency, not realistic opponent behavior.

## Card event

Standard 52-card deck, one known pocket pair, all other cards treated uniformly, no additional known removals or action/range conditioning. A hit is at least one of the two remaining cards of the pocket-pair rank on the flop:

```text
p = [C(50,3) - C(48,3)] / C(50,3)
  = 2304 / 19600 = 144 / 1225
```

The verifier partitions flops into 2,112 sets, 144 full houses containing a rank match, 48 quads of the pocket rank, 48 board-trip full houses without a rank match, and 17,248 other non-hits. Thus this probability does not count every possible five-card hand at least as strong as a set. No-hit outcomes can still be valuable.

## Chip checkpoint and equations

Constructed NLHE cash snapshot: BTN raises to 3bb, SB folds 0.5bb, Hero BB has posted 1bb and is considering 2bb more. Both active players started with 100bb. Calling closes preflop action. No ante, rake, ties or additional active opponent. Before call P=4.5bb, incremental call C=2bb, pot after call=6.5bb, remaining stacks=97bb. The card probability is deliberately a raw-deck benchmark; no BTN/SB range is supplied by this snapshot.

All net outcomes are relative to Hero's 99bb stack immediately before the call. Prior posted chips are sunk. The three branches are:

- No hit: assigned net result -C; all other continuation value excluded.
- Hit and eventual win: net result P+F, where F is the mean additional opponent contribution retained in the pot, conditional on hit AND win. Hero's returned own contributions cancel.
- Hit and eventual loss: net result -C-L, where L is Hero's mean additional retained contribution after the call, conditional on hit AND loss. Returned uncalled bets are excluded.

q is eventual win probability conditional on hit, not current flop all-in equity. F and L cover all later streets. They are hypothetical inputs; they can be correlated in real play.

```text
H = q(P+F) - (1-q)(C+L)
EV = p H - (1-p) C
H_break_even = (1-p)C/p = 1081/72 bb
F_break_even = [H_break_even + (1-q)(C+L)]/q - P, q > 0
```

Four comparison cases include A(q=.9,F=20,L=20), B(.9,20,97), C(1,0,0), D(1,20,0). The nine-row grid varies q in {1,.9,.8} and L in {0,20,97}. All future contributions in these examples fit the 97bb capacity. At q=1, L has zero weight. With general mean no-hit net result M, full accounting is pH+(1-p)M; the grid fixes M=-C. Neither sign establishes a complete real-game action value.

## Files and visual consistency

- generate.py: deterministic rational generator.
- verify.py: independent exhaustive/terminal-stack checker.
- results.json: inputs, method scope, four cases and nine thresholds.
- cases.csv, thresholds.csv: portable exact fractions and six-place decimals.
- payoff-comparison.svg: mean net hit payoff bars A19.85bb/B12.15bb and required15.013889bb line. Linear horizontal axis0–25bb, starting x60,25.6SVG units per bb. Text and article tables supply values independently of color.
- hero-source.svg: original illustrative diagram; the article's WebP is rendered from it. Its rounded +0.57bb/−0.34bb are per-call model values, not hit means.
- SHA256SUMS: hashes of the other public files, generated after final edits.

The source diagrams use SVG text/shapes and no external images, fonts, scripts or tracking. They were created for this article on 2026-09-07. Public files contain only synthetic data and original code/assets. Private research notes and product implementation evidence are excluded.

## Primary sources and limitations

- MIT OCW, How to Win at Texas Hold'em Poker (2016), lecture transcript PDF pages22–23: https://ocw.mit.edu/courses/15-s50-how-to-win-at-texas-holdem-poker-january-iap-2016/98a7f135b0794feacd5aeffdd4c8b133_uFsM8pc36QQ.pdf#page=22
- 888poker, set-mining explanation: https://www.888poker.com/magazine/strategy/advanced/set-mining
- Upswing, set-mining considerations: https://upswingpoker.com/set-mining-poker-tips/
- Current GTO Gecko US listing, verified2026-09-07: https://apps.apple.com/us/app/gto-gecko-poker-study/id6738748434

The first sources motivate payoff reasoning, not the specific synthetic inputs. No range-conditioned probability, optimal policy, actual opponent estimate, multiway/squeeze branch, rake calculation, tournament prize value, learning-effect or monetary outcome is inferred. The listed product is a broader study next step; this model is not a verified in-app feature. Store and help facts require future revalidation.
