How We Compute the Odds
The trainer and hand calculator use one deterministic probability engine for their modeled win percentages and action values. It does not simulate millions of hands and report a sample average. It starts with the actual remaining-shoe composition and evaluates the available actions analytically, using the documented approximations below.
Current model version: 2026.08.1 · Browser probability model · Released August 9, 2026
We derive a dealer-outcome distribution from the current shoe proportions (conditioned on the US peek rule), then evaluate standing, hitting, doubling, and splitting against that model. The process is deterministic—not Monte Carlo—but it is not a full card-removal recursion for every future draw.
The dealer's outcome distribution
The heart of the engine is a distribution for the dealer finishing at 17, 18, 19, 20, 21, or busting given the up-card. We compute it with memoized recursion over the dealer's hand state—total and whether it is soft. Draw weights start from the actual composition of the remaining shoe, with the unseen hole card added back, so the model responds to cards that have already left the shoe. Within that calculation, future draws use the starting proportions rather than decrementing the composition after every hypothetical card.
Crucially, the distribution is conditioned on the US peek rule: when the up-card is an ace or a ten, the dealer has already checked the hole card for blackjack, so we exclude the blackjack case and renormalize. The measured benchmark below distinguishes agreement under matching infinite-deck assumptions from finite-shoe approximation error.
Your expected value for each play
With the dealer distribution in hand, we evaluate every legal action as an expected value per dollar of your original bet:
- Stand — your total compared against the dealer distribution: win, push, or lose.
- Hit — draw one card from the shoe composition, then play the resulting hand optimally (the engine recursively chooses the better of hitting again or standing), so hit's value reflects correct continuation, not a single draw.
- Double — exactly one card, forced stand, at twice the stake (the EV is stated per original bet, which is why doubling can differ from hitting even at the same win rate).
- Split — valued as two independent post-split hands, with double-after-split allowed and split aces receiving one card each.
The live panel shows the modeled value of each action. Coaching uses a fresh-shoe baseline for the selected deck count and soft-17 rule, so a depleted shoe can occasionally make the live model prefer a different play. When that happens, the interface states the distinction instead of pretending the two concepts are identical.
The default game
Unless you change the settings, the trainer uses a common US shoe game: 6 decks, dealer hits soft 17, blackjack pays 3:2, double on any two cards, double after split, split to four hands, split aces get one card, no surrender. Settings change the shoe size, dealer behavior, payout, and probability inputs. The reference chart is the standard multi-deck H17/S17 card; rule-sensitive coaching is calculated separately from a fresh-shoe baseline.
The approximations — stated plainly
Two simplifications keep the model responsive enough to run in a browser:
- Fixed-proportion future draws. Within one EV calculation, future draw probabilities use the current shoe proportions without removing each hypothetical card. The approximation is usually small in a six-deck shoe but becomes more visible in short or heavily depleted shoes.
- Split valuation. A split is valued as two times one optimally played post-split hand, with double-after-split, but without a full tree of correlated hands and re-splits. Pair-hand values can therefore differ from a full rules-complete simulator.
Mathematical benchmark report
Run: September 27, 2026. This is a reproducible check of the shipped browser engine, not an independent certification. It tests specific assumptions; it does not establish exact results for every blackjack game.
36 of 36 action-EV comparisons passed at a tolerance of $0.00000051 per $1 originally bet. The best action agreed in all 12 selected hands. All 20 dealer-distribution comparisons passed against a separately written infinite-deck enumerator at a probability tolerance of 10−12.
Download complete results (JSON) · Download the Node.js benchmark · Download the tested engine
Action values: matched infinite-deck rules
The external reference is Michael Shackleford’s Wizard of Odds infinite-deck action table, accessed September 27. These cases use S17, a US peek with no dealer blackjack, no surrender, and rank weights of 1 each except ten-valued cards at 4. Visible cards are deliberately not removed. Each row compares stand, hit and double; EV is net return per original dollar. The tolerance allows rounding in the six-decimal reference.
| Hand | Best action | Largest absolute EV error | 3 comparisons |
|---|---|---|---|
| Hard 11 vs 2 | Double | 0.000000273 | Pass |
| Hard 11 vs 6 | Double | 0.000000095 | Pass |
| Hard 11 vs T | Double | 0.000000334 | Pass |
| Hard 11 vs A | Hit | 0.000000282 | Pass |
| Hard 16 vs 2 | Stand | 0.000000273 | Pass |
| Hard 16 vs 6 | Stand | 0.000000497 | Pass |
| Hard 16 vs T | Hit | 0.000000346 | Pass |
| Hard 16 vs A | Hit | 0.000000347 | Pass |
| Soft 18 vs 2 | Stand | 0.000000437 | Pass |
| Soft 18 vs 6 | Double | 0.000000482 | Pass |
| Soft 18 vs T | Hit | 0.000000234 | Pass |
| Soft 18 vs A | Hit | 0.000000492 | Pass |
Finite-shoe dealer error: measured, not hidden
A separate dealer enumerator removes every hypothetical card. We compare it with the browser model for every up-card, H17 and S17, in fresh one- and six-deck shoes. Only the dealer up-card has been removed; player cards are unknown. Ten and ace cases are conditioned on the dealer having no blackjack. The table reports the largest difference across the six outcomes (17–21 and bust).
| Decks | Distributions tested | Maximum absolute difference |
|---|---|---|
| 1 | 20 | 0.412163 pp |
| 6 | 20 | 0.065020 pp |
“pp” means percentage points. These are errors for this finite set of fresh-shoe cases, not an upper error bound for player EV or depleted shoes. The enumerator uses a different hand representation (all aces start at 1), but was written for this site; it is not an external audit.
Split cases and the resplitting limitation
| Pair / up-card | Model EV | Reference EV | Model minus reference |
|---|---|---|---|
| A,A vs 6 | 0.667380 | 0.667380 | +0.000000 |
| A,A vs T | 0.179689 | 0.179689 | -0.000000 |
| 8,8 vs 6 | 0.325533 | 0.409329 | -0.083796 |
| 8,8 vs T | -0.489488 | -0.480686 | -0.008802 |
The two ace cases match within the stated rounding tolerance: both models deal one card to each split ace and do not resplit aces. The two 8,8 cases are diagnostics with different rules, not passed accuracy tests: the published reference allows up to four hands, while our valuation stops at two. Against a 6, that difference is about 8.38 cents per original dollar. Do not use the split estimate as an exact resplitting value.
Reproduce this report
Save the runner as data/benchmark-runner.js and the engine as js/odds.js in the same parent folder. With Node.js installed, run node data/benchmark-runner.js --write. No packages or network access are required. The command writes data/benchmark-results.json and exits unsuccessfully if a matched-rule assertion fails. Diagnostic differences are reported separately.
Tested engine SHA-256: afb1d832177fc96c3cd43984841d24e7c07109b4ebdfc61ce65f4b2fad04c972
Additional arithmetic check: insurance returns −1/13 per insurance dollar when ten-valued cards have probability 4/13. Still outside this report: exact finite-deck player EV, depleted shoes, full-game house edge, surrender, natural-blackjack payout settlement and resplitting. The house-edge comparison remains a separate rounded estimate. Send reproducible discrepancies through the contact page.
Model changelog
- September 27, 2026: published executable benchmarks and measured finite-shoe and split diagnostics. The engine itself is unchanged.
- 2026.08.1 — August 9, 2026: documented fixed-proportion future draws and approximate split valuation; separated live depleted-shoe estimates from fresh-shoe strategy coaching; added named validation checkpoints.
- 2026.06.1 — June 17, 2026: initial published browser model and methodology for dealer outcomes and action EV.
References and validation sources
- Wizard of Odds — Blackjack, including rule effects, strategy calculators, and appendices.
- Don Schlesinger, Blackjack Attack: Playing the Pros' Way, 3rd edition.
- Peter A. Griffin, The Theory of Blackjack, 6th edition.
- Edward O. Thorp, Beat the Dealer.
- G. Van Brummelen, “Finding Blackjack's Optimal Strategy in Real-time and Player's Expected Win”, an exact finite-deck dynamic-programming treatment.
References are used as validation targets and background. Figures labeled as ours are outputs of our model under the stated rules, not copied tables — and those outputs are published in full as free, machine-readable open datasets (CSV and JSON, CC BY 4.0) so anyone can check or reuse them.