← back to site Trainer

Blackjack Lab

A from-scratch blackjack engine and research playground. You can use it to measure how much edge exists, how to take advantage of it, and what the house does to stop it. The trainer (top right) lets you practice the key aspects of advantage play: counting, playing decisions, and bet sizing.

High-level summary

The results presented here were produced using a blackjack engine built from scratch in Python. The engine accommodates different rulesets, card counting strategies, realistic casino shuffles, bankroll management, heat detection, dummy players, and a composition-exact perfect-play solver.

Every result is Monte-Carlo: they are run over many independent shoes and reported as a mean with a 95% confidence interval, so you can separate a real effect from noise. Each figure's caption notes the sample size behind it. My precomputed experiments are organized across the different tabs. You can run your own experiments by downloading the code-base from GitHub.

Strategies

  • DEALER the simplest baseline: play exactly like the dealer (always hit to 17, never double or split) and flat-bet.
  • BASIC perfect basic strategy with a flat bet. The mathematically correct hit / stand / double / split for your total versus the dealer's upcard, with no counting. The benchmark every advantage strategy is measured against (about −0.5% to the house).
  • COUNT the practical Hi-Lo card counter. Keeps a running count (+1 for 2-6, 0 for 7-9, and −1 for 10-A), divides by the decks remaining to get the true count, then both raises its bet and plays the classic Illustrious-18 index deviations when the count crosses each play's threshold.
  • COUNT0 the same Hi-Lo bet spread with no play deviations at all. Comparing it against COUNT isolates exactly what the index plays are worth.
  • COUNTX Hi-Lo betting plus index thresholds re-derived from this engine for the exact ruleset being played, instead of the decades-old textbook numbers.
  • WONG a back-counter. It plays like COUNT but only sits down when the true count is favorable, standing out of the negative shoes entirely (no bet, no cards).
  • HIOPT2 / ZEN / OMEGA2 playable level-2 counting systems. Finer per-card tags read the playing value of the deck better than Hi-Lo at the cost of a little betting accuracy; they bet and deviate on their own count, and pay off most in 1-2 deck games.
  • ORACLE the mathematically optimal linear bet count for the current ruleset. It plays identically to COUNT (to isolate the effect of bet-sizing) but weights each card by its true effect on the player's edge, derived from the engine itself.
  • CEILING not a player but a calculation: composition-exact perfect play. For the exact cards remaining it computes the best possible decision, giving an upper bound on how much edge any playing system could ever extract.
  • TRACK a shuffle tracker. A real hand shuffle doesn't fully randomize the cards, so it predicts where clumps of high cards will land in the next shoe and bets up as they arrive.

Terminologies

  • True count the running count divided by decks remaining, so it is normalized for how deep into the shoe you are.
  • Betting correlation (BC) how closely a count's per-card values track each card's true effect on your edge. 1.0 is perfect; Hi-Lo scores about 0.96, which is why a simple count bets almost as well as the theoretical best.
  • Playing efficiency (PE) the playing-side counterpart to betting correlation: how much of the available perfect-play edge a count captures when it decides whether to deviate from basic strategy. Hi-Lo scores about 0.63; heavier "level-2" counts reach ~0.78.
  • Effect of removal (EoR) how much taking one card of a given rank out of the shoe shifts your edge. These are the "true" per-card weights that betting correlation is measured against, and the ORACLE count bets on them directly.
  • Index play (deviation) a count-triggered departure from basic strategy. Each play has an index: the true count at which the alternative action becomes the better one (for example, stand on 16 vs 10 once the count is 0 or higher).
  • Illustrious 18 Don Schlesinger's famous ranked list of the eighteen most valuable Hi-Lo index plays (insurance, 16 vs 10, 15 vs 10, the 10,10 splits, and so on). Together they capture most of the value all deviations offer.
  • H17 vs S17 whether the dealer hits or stands on a soft 17 (an ace counted as 11). H17 is slightly worse for the player.
  • 3:2 vs 6:5 the blackjack payout. 6:5 pays less and costs the player about 1.3%.
  • Late surrender an option to give up half your bet and fold a hand after seeing your two cards and the dealer's upcard. Most casinos do not offer it, so the plots here assume it is off.
  • DAS (double after split) being allowed to double down on a hand formed by splitting a pair. It is player-friendly (worth about 0.14%) and is assumed on throughout, which is why pairs like 4,4 and 6,6 split against weak dealer cards here.
  • Insurance a side bet offered when the dealer shows an ace, paying 2:1 if the dealer has blackjack. It loses money on average unless the deck is rich in tens, which a counter can detect.
  • Penetration the fraction of the shoe dealt before it's reshuffled. Penetration is essential for a card counter.
  • CSM a continuous shuffle machine. Dealt cards go right back in, so a count never builds.
  • Kelly fraction how aggressively you bet relative to the growth-optimal bet. Below 1 trades growth for safety.
  • Wonging (back-counting) watching the count from behind the table and only sitting in to play when it turns favorable, skipping the bad shoes. Named after Stanford Wong.

Is Hi-Lo's bet sizing optimal?

A counter bets more when the deck is rich. Could smarter per-card weights beat the crude Hi-Lo count?

The Hi-Lo count tags every card with a clean +1, 0, or −1. The best weights — each card's true effect of removal on your edge — are real numbers, not integers. So does using the optimal weights (ORACLE) actually win more money than Hi-Lo (COUNT)?

Edge by true count for Hi-Lo vs the EoR-optimal count; the two curves overlap.
Flat-bet edge in each true-count bin (each point is the floor of the count). The two lines sit on top of each other; their betting correlations are 0.96 (Hi-Lo) and 1.00 (the EoR-optimal count). Averaged over 300 trials of 40,000 hands.

They sort hands by edge essentially identically. To see why, here are the actual weights, all on the same scale:

Per-card tag values for Hi-Lo, Griffin's textbook weights, and the engine-derived optimal weights.
Hi-Lo's flat staircase is a coarse rounding of the smooth optimal weights: both Griffin's classic textbook values and the ones I derived for this exact game (H17, no surrender).
Takeaway: Hi-Lo already sits at the linear betting ceiling. The generalized weights buy nothing, which is why Hi-Lo has remained the standard for 60 years.

How much edge is left on the table?

If betting is already optimal, where's the unrealized edge? In how you play the hands.

Basic strategy only knows your total and the dealer's upcard. A perfect player would use the exact remaining composition to make every hit/stand/double/surrender decision. The gap between the two is the playing ceiling, and it grows as the shoe is dealt out and the composition evolves.

Composition-perfect play vs Hi-Lo deviations, edge over basic strategy by penetration.
Composition-perfect play gains up to ~0.52%/hand deep in the shoe; the full Illustrious-18 index plays a real counter actually makes (blue) capture under 0.08%/hand even deep in the shoe, barely a seventh of it. 30,000 exactly solved states per point.
Takeaway: there's substantial playing edge available, but it requires knowing the exact remaining cards, which no human can. Hi-Lo is at the betting ceiling yet nowhere near the playing ceiling. That unreachable gap is the real story of the game.

This solver respects H17/S17 and deck count and matches the no-surrender game shown here. It does not model splits, so it is the no-split playing ceiling.

What if you combine the two ceilings?

ORACLE is the best possible betting and CEILING is the best possible playing. An ideal player would do both at once: bet the optimal spread and play every hand composition-perfectly. How much is that worth, and where? It turns on how many decks are in play.

Edge over flat-bet basic by deck count for betting only, playing only, and both combined.
Edge over flat-bet basic by deck count (1–12 spread, 75% penetration). The combined player (green) bets like ORACLE and plays like CEILING, and beats either piece alone at every deck count. Its playing gain is bigger than the flat playing ceiling (purple) because it bets biggest in the skewed shoes where perfect play helps most. Single deck reaches +3.2%/hand; betting is the larger share in every game, climbing toward 80% of the edge in multi-deck shoes. Betting points average 18 trials of 100,000 hands each.
Takeaway: betting carries most of the edge in every game, but perfect play adds a real slice that grows as the decks shrink. The combined ceiling peaks in single deck, which is one more reason casinos almost never deal it.

What are the index plays worth?

Counters memorize the Illustrious 18. How much do those deviations actually earn, and do the decades-old thresholds still fit today's rules?

An index play is a count-triggered exception to basic strategy: stand on 16 vs 10 once the true count reaches 0, take insurance at +3, and so on. To measure what the whole set is worth, three counters with identical Hi-Lo bet spreads sat at the same table on the same shoes: COUNT0 plays no deviations, COUNT plays the textbook Illustrious 18, and COUNTX plays thresholds re-derived from this engine for the exact ruleset. Here is what each one earns over the house:

Absolute edge over the house for a no-deviation, textbook-deviation, and engine-deviation counter at 1 and 6 decks.
Edge over the house with the same 1–12 spread, playing no deviations (COUNT0), the textbook Illustrious 18 (COUNT), or the engine-derived indices (COUNTX). The deviations clearly lift the edge, by about +1%/hand in single deck and ~+0.4% in a 6-deck shoe. COUNTX then edges out COUNT by an amount that sits well inside the error bars: re-deriving the thresholds is correct, just not worth much. 180 trials of 40,000 hands per deck count.

The textbook numbers were computed decades ago, mostly for games where the dealer stood on soft 17. So every index is re-derived from the engine: for each play, compute the exact EV of both actions across thousands of sampled shoe compositions, regress the EV gap on the true count, and read off the count where it crosses zero. Where the rules agree, the engine lands on the classic values almost exactly, which is a nice validation of both. Where the rules differ, the corrections are real: in an H17 game you should double 10 vs A a full count earlier than the book says, and keep standing on 12 vs 6 much deeper into negative counts.

Each index play's threshold, textbook versus engine-derived, for a 6-deck H17 game.
Each play's threshold: textbook (gray) vs derived from this engine (blue), 6-deck H17 game. The famous values are confirmed (16 vs 10 at 0, 15 vs 10 at +4, insurance at +3); the disagreements (10 vs A, 12 vs 6, 11 vs A) come from the dealer hitting soft 17.
Takeaway: the deviations themselves are worth real money, but sharpening their thresholds is not. At an index the two actions are nearly tied in EV, so being a count off costs almost nothing. That insensitivity is why the same 18 numbers have survived for fifty years of rule changes.

The full Illustrious 18

Notation: a play like "16 v T" means your hard 16 against a dealer ten upcard (T is any ten-value card: 10, J, Q, K). The first thirteen plays trigger when the count rises high enough; the last five flip the other way, turning a basic-strategy stand into a hit when the count falls low enough.

PlayYour handDealer showsDeviationHi-Lo index
InsuranceanyAtake insurance+3 and up
16 v Thard 16Tstand instead of hit0 and up
15 v Thard 15Tstand instead of hit+4 and up
T,T v 5pair of tens5split instead of stand+5 and up
T,T v 6pair of tens6split instead of stand+4 and up
10 v Thard 10Tdouble instead of hit+4 and up
12 v 3hard 123stand instead of hit+2 and up
12 v 2hard 122stand instead of hit+3 and up
11 v Ahard 11Adouble instead of hit+1 and up
9 v 2hard 92double instead of hit+1 and up
10 v Ahard 10Adouble instead of hit+4 and up
9 v 7hard 97double instead of hit+3 and up
16 v 9hard 169stand instead of hit+5 and up
13 v 2hard 132hit instead of standbelow −1
12 v 4hard 124hit instead of standbelow 0
12 v 5hard 125hit instead of standbelow −2
12 v 6hard 126hit instead of standbelow −1
13 v 3hard 133hit instead of standbelow −2

Listed in Schlesinger's value order with the classic textbook indices, which is what COUNT plays. 11 v A is listed at +1 but is moot in an H17 game, where basic strategy already doubles it.

The Fabulous 4 — surrender deviations (not used here)

The Illustrious 18 are all hard-total, insurance, and split plays. Surrender has its own short list: Schlesinger's Fabulous 4, the four most valuable count-triggered late-surrender deviations. They only matter at tables that offer surrender — and because every figure on this page assumes no surrender (most casinos don't offer it), none of them affect any result above. They're listed below for completeness.

PlayYour handDealer showsDeviationHi-Lo index
14 v Thard 14Tsurrender instead of hit+3 and up
15 v 9hard 159surrender instead of hit+2 and up
15 v Ahard 15Asurrender instead of hit+1 and up
15 v Thard 15Tsurrender instead of hit0 and up

Textbook Hi-Lo indices. With surrender off — the assumption behind every figure here — these never trigger, so the engine's COUNT strategy plays only the Illustrious 18 above.

Level-2 and level-3 counting systems

Hi-Lo tags every card +1, 0, or −1. Serious counters use heavier systems. What do they actually get you?

Hi-Lo is a level-1 system: its tags are only ±1 and 0. Level-2 systems (Hi-Opt II, Zen, Omega II) widen the tags to ±2, and level-3 systems push to ±3, so the count can track the deck's makeup more finely. The exact tags per card:

SystemA23456789T,J,Q,KLevel
Hi-Lo−1+1+1+1+1+1000−11
Hi-Opt II0+1+1+2+2+1+100−22
Zen−1+1+1+2+2+2+100−22
Omega II0+1+1+2+2+2+10−1−22

All four are balanced: the tags sum to zero over a full deck, so the running count is divided by decks remaining to get a true count, exactly as in Hi-Lo. Hi-Opt II and Omega II ignore the ace for playing accuracy (the ace acts like a small card once you are drawing) and pay for it on the betting side.

Want to try keeping one of these counts yourself? The counting trainer deals a live shoe in any of the four systems and quizzes you on the running count.

The natural question is whether a finer count simply wins. It does not, because a count does two different jobs and no single count is best at both:

  • Betting correlation (BC) — how well the count sizes your bets. This drives the large majority of a counter's profit.
  • Playing efficiency (PE) — how well it tells you when to deviate from basic strategy. This matters most when the composition swings hard, which is exactly what happens with fewer decks.

The heavier systems are designed to raise playing efficiency, and they succeed, but they give up some betting correlation to do it. The two goals pull in opposite directions:

Betting correlation versus playing efficiency for Hi-Lo, Hi-Opt II, Zen, Omega II, and the EoR-optimal count.
Every system scored on both axes (playing efficiency measured at single deck). Hi-Opt II and Omega II reach ~0.78 playing efficiency but slip to ~0.92 betting correlation; Hi-Lo keeps strong betting correlation (0.96) with the weakest playing efficiency (0.63); Zen splits the difference. The EoR-optimal count (ORACLE) has perfect betting correlation by construction yet only middling playing efficiency, which shows no single linear count can top both axes at once. Playing efficiency is measured over 60,000 sampled decision states.
Takeaway: the heavier counts are not strictly better. They make a different trade, and their extra playing efficiency only pays off in single- and double-deck games where composition swings are large. In a 6-deck shoe, betting correlation is nearly the whole story, so Hi-Lo's simplicity wins and a level-2 count's added memory load buys very little.

Beating the shuffle itself

A real casino shuffle isn't truly random. Can you exploit what it leaves behind?

Counting throws away the order of the cards. A shuffle tracker doesn't: it learns the dealer's exact shuffle (riffles, strips, a cut) as a position-transition matrix, then predicts where clumps of high cards will land in the next shoe and bets up right before they're dealt.

Tracking edge over basic strategy across shuffle conditions.
Tracking edge by shuffle quality. Zero against a truly random shoe; positive against a weak casino shuffle, and larger the sloppier it is. The final cut is the casino's main defense.
Takeaway: a 2–3 riffle hand shuffle is genuinely trackable (worth +1–2%/hand here), but a single cut at the end, which is cheap for the casino, sharply reduces it. This is an idealized, full-knowledge tracker, so it's an upper bound on what tracking can extract.

What TRACK actually does

Step by step:

  • 1. Learn the shuffle. Before play, it simulates the dealer's exact procedure (so many riffles, a strip, a cut) a few thousand times to build a transition table: for every position in the pre-shuffle pile, the probability that the card sitting there comes out as the 1st, 2nd, 3rd, ... card of the next shoe.
  • 2. Score the pile. It watches every card played, so at the reshuffle it knows the full order of the discard pile. Each card gets its Hi-Lo tag.
  • 3. Forecast the shoe. Multiplying the tagged pile through the transition table gives a forecast of how ten-rich each upcoming stretch of the new shoe will be, before a single card is dealt.
  • 4. Bet the forecast. It runs the normal bet ramp on that forecast instead of the running count, raising its bet just before a predicted clump of high cards arrives, and plays plain basic strategy throughout.

The "full knowledge" caveat: a human tracker can only follow a slug or two of the discard pile, not all of it, so the real-world version captures a fraction of what's shown here.

What kills card counting

The counter's edge is fragile. Which rules and conditions erase it?

Start with what makes counting work at all: the true count has to actually move. You only profit by betting big when the deck is rich, so what matters is how often, and how far, the count wanders away from zero.

Distribution of the true count at bet time for 1, 2, 6, and 8 decks.
The true count at bet time, by number of decks. One deck swings hard and reaches the profitable zone (past +1) often; an 8-deck shoe mostly hugs zero. Fewer decks and deeper penetration are what give the count room to move. (A continuous shuffle machine would be a single spike at zero, off the chart.) Averaged over 10 sessions of 80,000 hands per deck count.

That movement is also the first thing a casino takes away. The counter's main edge is penetration: the deeper the dealer deals before reshuffling, the more the count can swing and the bigger the edge:

Counter edge rising with deck penetration.
Counter edge climbs steadily with penetration (300 trials per point): slightly negative at a shallow 50%, ~0.3% at the common 75%, ~0.9% at 90%.

Now the countermeasures a casino actually uses:

COUNT edge under 6:5 payouts, a continuous shuffle machine, and shallow penetration.
Each common countermeasure drags a winning count back to a loss. 6:5 payouts alone are more than enough. 90 trials of 40,000 hands per condition.
Takeaway: a counter's edge is small and easily destroyed by switching to 6:5 payouts (−1.3%), running a continuous shuffler (no count ever builds), or just cutting shallow.

Having an edge isn't surviving the variance

A positive edge still goes broke if you bet too big. How big is too big?

Bet a fraction of the growth-optimal (Kelly) amount. More aggressive means faster growth, but increases the risk of ruin.

Risk of ruin and median growth versus Kelly fraction.
Risk of going broke (red) climbs with bet size while growth (green) peaks below full Kelly and then collapses. Full Kelly is a near coin-flip on losing half your roll. 8,000 simulated trips per point.

The same story pictured a different way: 120 simulated bankrolls each on a log scale:

Simulated bankroll trajectories at half Kelly versus full Kelly.
Half Kelly: most paths grow, ~13% bust (red). Full Kelly: wild swings and ~42% bust. 120 sample paths drawn per panel; bust rates come from 8,000 simulated trips.
Takeaway: the optimal bet size is well below the growth-maximizing one. Half-Kelly keeps almost all of the growth for a fraction of the ruin risk.

How long until the edge actually shows?

Surviving the variance is only half the battle — even a well-funded bankroll waits a long time for the edge to surface. The number that captures this is N0: the count of hands at which your expected profit equals one standard deviation of your results — the point where you're first reliably (about 84%) ahead. Below it, a genuinely winning player routinely sits at a loss. It's the sample size of advantage play: expected profit grows linearly with hands while the noise grows only with the square root, so the edge always wins eventually, just slowly. And because N0 scales as variance ÷ edge2, the single biggest lever on how slowly is the game you sit at.

N0 on a log scale and win rate per 100 hands versus number of decks.
Fewer decks mean richer, more frequent high counts, so the edge (green) climbs from ~0.8% in a 6-deck shoe to ~3% at single deck — and N0 (bars, log scale) collapses from ~59,000 hands to ~4,000. Same Hi-Lo play, 1–16 spread, and 75% penetration throughout; only the deck count changes. Thin games take more hands even to measure, so the run length scales with deck count (0.3–1.5M hands).

That range is why serious players are obsessive about game selection. A 6-deck shoe with a full spread is a real grind — roughly 59,000 hands, on the order of 600 hours at a brisk pace, before the edge reliably outruns the variance. Move to the double-deck game an advantage player actually hunts for and it drops to about 9,000 hands (~90 hours); a single deck, ~4,000. Deeper penetration and back-counting (wonging) pull it down further still. So the discouraging six-deck figure isn't “how slow counting is” — it's how slow the worst common game is, and choosing a better table is the cheapest fix there is.

Takeaway: the edge is real, but how fast it shows depends enormously on the game. A counter's most consequential choice isn't the count itself — it's sitting where the edge is fat enough that variance gives up in thousands of hands, not hundreds of thousands.

The real limit: the pit

A counter is beaten not by the odds but by getting barred. How hard can you push?

Here is why the pit is the binding constraint. A counter's profit doesn't come evenly off the table; it comes almost entirely from the rare hands where the count is high and the big bets go out:

Net win per 1,000 hands and frequency of hands by true count bin.
Net win contributed by each true-count bin, per 1,000 hands dealt, for a Hi-Lo counter with a 1–12 spread (6 decks). The bins below +1 collectively lose money (you play them at the minimum bet); the few hands at +3 and above, under 8% of all hands (blue line), win enough to carry the entire result. 360 trials of 40,000 hands.

So the money lives in a handful of big bets, and a big bet that reliably appears exactly when the count is high is precisely what the casino looks for. It watches how steeply your bets track the count: spread harder and you earn more per hand, but you're spotted and backed off sooner. The quantity that matters is total profit before you're barred.

Total profit before back-off and hands survived versus bet aggressiveness.
Bet too gently and you earn little; too steeply (gray line: hands before back-off) and you're barred fast. Profit peaks at an intermediate ramp. Each point averages 8,000 resampled sessions.
Profit per session versus ramp, for different bet-spread caps.
How that optimum shifts with your spread cap: a tight 1–6 spread lets you ramp freely; a wide 1–20 keeps paying to ramp harder.
Takeaway: there's a balancing act to ramp as hard as you can while staying under the radar. It's a game between the player's profits and the pit's attention.

Do other players "ruin" the shoe?

A common fallacy: a bad player at the table burns the good cards. True?

It may feel true, but over many hands, their decisions just remove random cards, which cancels out. The same logic dispatches the related myth that the player at third base (last to act) "steals the dealer's bust card" by hitting when they shouldn't: that card is as likely to have helped the dealer as hurt them, so across many rounds it washes out. A card a stranger draws is a card you simply got to see — and since you count it, it carries exactly the same information whoever it lands in front of.

Counter edge and hands per hour versus number of other players.
Edge per hand (blue) is flat no matter how many others sit down; the only thing that falls is hands dealt per hour (red). 150 trials of 24,000 hands per condition.

The counter-intuitive part: other players help a back-counter

The flat line above is the per-hand edge, but throughput interacts with strategy in a way that flips the usual intuition. A back-counter (wonger) only sits in when the count is high and watches from the rail otherwise. Heads-up against the dealer, sitting out nearly freezes the shoe — only the dealer's two-or-three cards come out each round — so you wait through bad counts at a crawl, and the shoe reshuffles before it ever gets rich. Add a few other players and the shoe keeps draining while you sit: the cards you're waiting for arrive, and favorable counts actually materialize before the cut card. A crowded table is a back-counter's friend.

Two smaller real effects cut the other way. A full table is cover — the pit has more people to watch and you blend in — but you also can't always get a seat at the exact moment the count spikes, and a wonger who can't take an open chair captures nothing. So other players trade a little entry timing for a lot of camouflage and a shoe that actually moves.

Takeaway: for a flat counter, other players are a pure throughput tax — same per-hand edge, fewer hands per hour. But for a back-counter the sign flips: they keep the shoe moving so the good counts arrive at all, which is why our wonging simulations seat dummy players at the table rather than running heads-up.

Putting it all together

Every tab so far isolated one idea. What does a real advantage player do, and how does it actually go?

One more refinement before the full picture. A counter doesn't have to play every hand. Wonging (named after Stanford Wong) means watching the count from behind the table and only sitting down to play when it turns positive, skipping the negative shoes entirely.

Profit per 100 rounds and fraction of hands played versus the wong-out threshold.
Profit per 100 rounds at the table versus how aggressively you sit out (green bars, 95% CI), with the fraction of hands you still play (blue line). Sitting out the worst counts roughly doubles the profit per hand played; skipping too much leaves money on the table. Other players are seated, so the shoe keeps moving while you wait. 60 trials of 40,000 hands.

Now stack the whole toolkit into one player and turn the casino back on. A single Hi-Lo counter, with the full Illustrious 18 and wonging out below true count −1, bets a 1–12 spread sized as half-Kelly of a finite 300-unit bankroll, at a 6-deck table with a realistic hand shuffle, two other players, and a pit watching the bet-to-count slope and barring counters. Each line below is one simulated career, colored by how it ends:

Monte-Carlo bankroll careers of the full practical player, colored by fate.
300 simulated careers of up to 3,000 rounds, each starting from a 300-unit bankroll and betting a modest 1–8 spread. About 61% are still grinding a profit when the session ends, 21% get barred by the pit (leaving, on average, 29 units ahead), and 17% go broke first. Both the median and the average career finish at 324 units, a +24 (8%) profit: the edge is real and shows through. But a sixth of careers still bust, and the pit bars a fifth, so it stays a hard, swingy way to earn.
Takeaway: the edge is real, but thin and fragile. Variance can bust you before the edge pays off, and if you bet big enough to matter, the pit eventually notices. This is why card counting is famous and yet almost nobody actually does it for a living.

Want to try the first skill yourself? The counting trainer deals a live shoe and quizzes you on the running count.

Built in Python (NumPy + Matplotlib). Full engine, experiments, and figure-generation code on GitHub.