Skip to lesson
Flawless Poker
Galaxy Bot AcademyTesting, Debugging, and Improving Performance
ADVANCED · 16 MIN READ · TESTING, DEBUGGING, AND IMPROVING PERFORMANCE

Measure Performance Without Inventing Results

Learning objectiveUse correct denominators and separate variance from evidence.

Understand the idea

Net chips is poker settlement gain or loss, excluding buy-ins, cash-outs, rebuys, and seasonal reset credits. BB/100 is 100×net chips/(big blind×hands) when blind size is constant; with varying blinds, normalize each hand before averaging. VPIP counts hands where a bot voluntarily invests preflop; PFR counts hands with a preflop raise. Three-bet frequency divides actual three-bets by three-bet opportunities. Aggression factor is (bets+raises)/calls, with zero calls reported as undefined rather than infinity.

WTSD counts hands reaching showdown divided by eligible hands under the chosen definition; W$SD counts showdown wins divided by showdowns. State the exact denominator. If action history is incomplete or sample size tiny, show unavailable or a wide uncertainty range. Compare season and lifetime separately.

At the poker table

A bot wins 200 chips over 100 hands at a 20-chip big blind: BB/100 = 100×200/(20×100) = 10. This sample is too small to conclude an enduring 10 BB/100 win rate.

Code and decision sketch

Pseudocode
bb_per_100 = 100 * net_chips / (big_blind * hands)
three_bet_pct = 100 * three_bets / opportunities  # only if opportunities > 0

Common mistake

Do not compute VPIP, PFR, or three-bet rates from bankroll snapshots alone.

Try it yourself

Given 50 hands, 12 voluntary preflop investments, and 8 raises, calculate VPIP and PFR; then explain why three-bet % still needs another denominator.