When a solver says it has “solved” a spot, what it means is narrower: it has found a strategy that cannot lose more than some margin against a perfect opponent. That margin is exploitability, usually quoted as a percentage of the pot, and the industry habit is to stop somewhere around 0.3–0.5%. In EV terms that habit is fine — a strategy exploitable for 0.4% of the pot gives up almost nothing.

But a training tool does not show you EV. It shows you frequencies — bet 30% here with 43% of your range, check 16% — and frequencies converge on a completely different schedule than EV does. So we measured it: take one 3-bet pot (SB vs BTN, NL200, turns and rivers enumerated exactly, no abstraction anywhere), push the solve far beyond the usual stopping point, and watch the root strategy as the exploitability falls.

The frequencies settle on a cliff, not a slope

Real exploitability reached · distance of root frequencies to the fully-converged solution (mean TV, pp) · share of the most-played action · relative compute cost

exploitability reacheddistance to converged (pp)top-action sharecompute
~1.3%40.350%0.3×
0.37–0.44%12.978%a typical “0.5% target” stop
~0.27%3.787%1.2×
~0.23%2.388%1.5×our production standard
~0.21%1.889%1.55×
~0.09%090%1.9×the reference solve
Between ~1.3% and ~0.4% of the pot, almost nothing happens to the strategy’s shape — it stays heavily mixed. Then, between 0.40% and 0.27%, it collapses onto its final form: the distance to the converged solution drops from 12.9 to 3.7 points, and keeps shrinking cheaply from there. A solve stopped at the industry-standard 0.5% target lands exactly on the wrong side of that cliff.

Under-converged solves teach mixes that do not exist

The direction of the error is the important part, because it is systematic. An under-converged CFR strategy is always too mixed: leftover regret keeps dead options alive. On one of our test boards the converged solution checks 100% of the time — the 0.4%-exploitability version of the same solve checks 81% and sprays the remaining fifth of the range across three bet sizes that the finished strategy does not use at all. Across our boards, the share of range on the single best action climbs from 78% to 90% as the solve finishes. Well-converged solvers mix far less than solver outputs have taught players to believe.

For EV study none of this matters much. For frequency study — which is what a solver library is — it matters a great deal: the phantom mixes are indistinguishable, on screen, from real mixed strategies the solution actually wants.

This is not a quirk of our engine — PioSolver behaves the same way

To rule out an implementation artifact, we rebuilt the identical game in PioSolver — same tree (generated line-for-line from the same parser), same ranges, same pot and rake — and ran it to its own 0.5% target on ten boards. Pio’s output landed 10.1 points away from the converged solution; ours, at a comparable stopping point, 12.3 — a statistical tie, and the two engines sit within measurement noise (7.1 pp) of each other. The settling threshold is a property of how CFR converges, not of any one solver. Whatever tool you use, a 0.5% solve shows you a strategy that is still on its way somewhere else.

Where we draw the line

The cliff gives the answer: Pokalab’s postflop library is solved to 0.25% of the pot. That is ~1.5× the compute of a standard 0.5% solve and buys almost the entire distance to the fully-converged strategy — within ~2 points, most of which comes from a single slow-converging board profile. Pushing further, to 0.1%, costs nearly double again and moves the strategy by barely two more points. 0.25% is where the frequencies are real and the compute is still sane.

Method note. Test spot: NL200 3-bet pot, SB (3-bettor, OOP) vs BTN, pot 24bb, effective 88.5bb, 5% rake capped at 1.5bb, turns and rivers enumerated exactly (no card abstraction). “Distance to converged” is the total variation of the range-weighted root strategy against the same solve pushed to 0.1% pot, averaged over four boards chosen for different convergence profiles; measurement noise between two independent converged solves of the same board is ~5.7 pp. The PioSolver comparison uses a tree exported action-for-action from our tree builder, ten boards, both engines at their default-style targets. Exploitability figures are the values the engines actually reached, not the targets requested.