GoodRun

CASH VARIANCE · MODEL PREVIEW

What swings could I see?

Explore possible results over live hours or online hands, assuming a win rate. See the range before the graph.

Free web tools · No account · No ads or tracking. Calculations stay in your browser.

Future outcomes are a different question from confidence in an observed win rate. These examples assume a true edge; they do not say how likely you are to be a winning player. Cash poker only.

Build a cash-game scenario
Zero means no future play. Live hours can be fractional.
30 is an editable assumption. Choose the pace of your table; it is not a measured hand count.
A scenario input, after rake and costs. This tool does not discover or validate your edge.
EDITABLE EXAMPLE · 120 for live NLHE, assumed and not measured. Not a universal live or PLO value.

ASSUMED · Live NLHE example · not measured

Use my estimate or another reference

The live example is a teaching scenario, not a measurement of live players.

Reference and evidence limits →
Money display
This is your entered stake in the selected currency, not a fetched exchange rate.

A range you can read without a chart.

The expected result is the model’s average over repeated runs. Your actual run can finish above or below it. The 95% band describes possible final results under the entered true win rate and SD; it is not a confidence interval for your true edge.

The examples use three seeded paths, each with 120 equal steps. They do not model individual card decisions or every fluctuation between steps. Their best and worst values are not mathematical bounds. The bounded workload runs in your browser.

What if I want to assess my observed win rate?

That uses standard error, which shrinks with more hands. Future total-result SD instead grows with the square root of hands. Open the separate observed-win-rate confidence calculator →

Model and formulas

With N hands, t = N/100, true edge w BB/100 and SD s BB/100: EV = w × t, total SD = s × √t, and the pointwise 95% band is w × t ± 1.959964 × s × √t. Chance to finish below zero is Φ(−w × √t / s) for positive SD and horizon. Live hands are hours × estimated hands/hour.

The model assumes independent, stationary increments, fixed stakes and a normal approximation. Changes in game quality, correlated play, deep-stack tails, withdrawals and uncertain inputs can change real outcomes. Tournaments, a session-to-SD estimator and Kelly sizing are outside this preview.

For the normal-distribution model and intervals: NIST’s normal distribution reference. For why a confidence interval is a different statement: NIST on confidence limits.

Comparing bankroll-based stakes?

Open the separate live cash Kelly comparison →. It assumes proportional stake rebalancing; the future-outcome model above stays at fixed stakes. Neither establishes your true edge.

Starting points, with their evidence

There is no universal “normal game” preset. Stack depth, table size, rake, player style and straddles change variance. All values below describe the SD of a 100-hand block, in big blinds. A source’s measured value is not a measurement of your play.

Live NLHE cash
ASSUMED: 120; published benchmark range 120–160 BB/100. Not a measured population estimate.
Live PLO cash
ASSUMED: 175; published benchmark range 150–200+ BB/100. Deeper play can exceed it.
Online NLHE 6-max
ASSUMED: 90; published benchmark range 75–120 BB/100. These three benchmark ranges come from PrimeDope’s variance guide, not an independently audited sample.
Online GG NL50 6-max
MEASURED BY SOURCE: 78, with a middle-half range of 71–85 BB/100. Pokalab’s own reported data: regulars with 20,000+ hands, 4–6 players, no ante, after rake. GoodRun has not independently audited those hand records. Do not generalize it to live poker or every online pool.
Online PLO 6-max
ASSUMED: 140; 120–160 BB/100 is the modeled range used in SolvePoker’s simulations. Simulated inputs are not measured player SDs.

Single-player live estimates are not presets: one published estimate was revised after regrouping sessions. Neither establishes a population benchmark. Unequal-length session rates need proper normalization; taking their ordinary SD is not a common 100-hand SD estimate.

Sources checked 31 October 2026. Editing a preset changes its label to custom. Personal measurements are preferable; these inputs do not compute SD from raw hand histories.

Live hours ↔ online hands

win rate/hour = win rate/100 × hands per hour / 100

SD/hour = SD/100 × √(hands per hour / 100)

SD scales with the square root of volume; win rate scales directly. At 30 hands/hour, an assumed 120 BB/100 corresponds to about 65.73 BB for a one-hour block. Changing hands/hour estimates volume, not the table’s playing style.

Track this automatically with GoodRun.

Keep sessions, stakes and expenses together, so your next estimate starts with your own history.

Meet GoodRun