BlackjackPilot Blog
A reproducible 80M-hand Hi-Lo benchmark comparing BlackjackPilot against CVCX-style reference rows for I18+Fab4 and Full Index play.
I wanted a harder question than "does Full Index beat I18+Fab4 in one simulator run?"
The better question is:
Can this simulator reproduce CVCX-style benchmark results when the rules, counting method, penetration, index family, and betting behavior are matched closely enough?
This post documents that validation run.
All benchmarks below use the same base rules:
The runs were executed with an internal benchmark script so the seed matrix, row exports, and CVCX-style summary calculations could be kept reproducible. The same rule, counting, and ramp concepts are available in the simulator UI, but the 80M batch tables in this post come from the scripted benchmark harness.
The main metric is Player Advantage, matching the CVCX definition:
Player Advantage = net player win / total initial bets
This is not the same as edge over total wager after doubles and splits. The denominator matters.
Early runs looked too high versus CVCX. The engine was not the main issue. The problem was that the betting ramp was not apples-to-apples.
CVCX-style spread rows depend heavily on the hidden ramp/cover behavior behind the spread label. A 1-10 spread is not one exact thing unless you know how the bet moves between true counts and how cover movement is handled after wins, losses, pushes, and shuffles.
For this benchmark, I calibrated benchmark-only ramps against CVCX average-bet and standard-deviation targets, then reran the comparison at 80M hands per strategy.
| Scenario | Index | BlackjackPilot PA | CVCX PA | Delta |
|---|---|---|---|---|
| 1-5 spread, 4.5/6 dealt | I18+Fab4 | 0.271% | 0.300% | -0.029 pp |
| 1-5 spread, 4.5/6 dealt | Full Index | 0.273% | 0.313% | -0.040 pp |
| 1-10 spread, 4.5/6 dealt | I18+Fab4 | 0.584% | 0.587% | -0.003 pp |
| 1-10 spread, 4.5/6 dealt | Full Index | 0.594% | 0.608% | -0.014 pp |
| 1-15 spread, 5/6 dealt | I18+Fab4 | 1.049% | 1.147% | -0.098 pp |
| 1-15 spread, 5/6 dealt | Full Index | 1.101% | 1.182% | -0.081 pp |
The practical read: the 1-10 row matches CVCX very tightly. The 1-5 row is close but slightly low. The 1-15 row is directionally consistent but still low versus CVCX by about 0.08-0.10 percentage points, which suggests the benchmark ramp or another hidden CVCX assumption is not fully matched at the aggressive end.
Summary: Basic 0.143%, I18+Fab4 0.271%, Full Index 0.273%. CVCX deltas: I18+Fab4 -0.029 pp, Full Index -0.040 pp.
| Seed | Basic PA | I18+Fab4 PA | Delta I18-Basic | Full Index PA | Delta Full-I18 |
|---|---|---|---|---|---|
| 13377 | 0.168% | 0.314% | +0.146% | 0.257% | -0.057% |
| 158000 | 0.197% | 0.322% | +0.125% | 0.316% | -0.006% |
| 591845 | 0.090% | 0.177% | +0.087% | 0.194% | +0.017% |
| 16493 | 0.147% | 0.250% | +0.103% | 0.256% | +0.006% |
| 654674 | 0.296% | 0.378% | +0.082% | 0.356% | -0.022% |
| 151085 | 0.170% | 0.259% | +0.089% | 0.311% | +0.052% |
| 918273 | 0.093% | 0.222% | +0.129% | 0.256% | +0.034% |
| 777777 | 0.075% | 0.211% | +0.136% | 0.270% | +0.059% |
| 424242 | 0.187% | 0.327% | +0.140% | 0.321% | -0.006% |
| 202611 | 0.099% | 0.297% | +0.198% | 0.283% | -0.014% |
| 990001 | 0.068% | 0.145% | +0.077% | 0.150% | +0.005% |
| 120045 | 0.187% | 0.298% | +0.111% | 0.256% | -0.042% |
| 880123 | 0.061% | 0.204% | +0.143% | 0.144% | -0.060% |
| 314159 | 0.091% | 0.311% | +0.220% | 0.312% | +0.001% |
| 271828 | 0.212% | 0.302% | +0.090% | 0.304% | +0.002% |
| 505050 | 0.125% | 0.301% | +0.176% | 0.356% | +0.055% |
| 667788 | 0.095% | 0.223% | +0.128% | 0.231% | +0.008% |
| 135791 | 0.231% | 0.344% | +0.113% | 0.360% | +0.016% |
| 246802 | 0.191% | 0.315% | +0.124% | 0.318% | +0.003% |
| 999983 | 0.073% | 0.216% | +0.143% | 0.206% | -0.010% |
| Avg | 0.143% | 0.271% | 0.158% | 0.273% | 0.002% |
Summary: Basic 0.435%, I18+Fab4 0.584%, Full Index 0.594%. CVCX deltas: I18+Fab4 -0.003 pp, Full Index -0.014 pp.
| Seed | Basic PA | I18+Fab4 PA | Delta I18-Basic | Full Index PA | Delta Full-I18 |
|---|---|---|---|---|---|
| 13377 | 0.467% | 0.631% | +0.164% | 0.558% | -0.073% |
| 158000 | 0.498% | 0.634% | +0.136% | 0.634% | +0.000% |
| 591845 | 0.379% | 0.487% | +0.108% | 0.511% | +0.024% |
| 16493 | 0.422% | 0.553% | +0.131% | 0.590% | +0.037% |
| 654674 | 0.613% | 0.714% | +0.101% | 0.690% | -0.024% |
| 151085 | 0.441% | 0.525% | +0.084% | 0.598% | +0.073% |
| 918273 | 0.350% | 0.505% | +0.155% | 0.551% | +0.046% |
| 777777 | 0.337% | 0.490% | +0.153% | 0.570% | +0.080% |
| 424242 | 0.494% | 0.669% | +0.175% | 0.651% | -0.018% |
| 202611 | 0.408% | 0.632% | +0.224% | 0.630% | -0.002% |
| 990001 | 0.361% | 0.440% | +0.079% | 0.463% | +0.023% |
| 120045 | 0.508% | 0.641% | +0.133% | 0.594% | -0.047% |
| 880123 | 0.346% | 0.509% | +0.163% | 0.457% | -0.052% |
| 314159 | 0.368% | 0.605% | +0.237% | 0.602% | -0.003% |
| 271828 | 0.516% | 0.607% | +0.091% | 0.619% | +0.012% |
| 505050 | 0.399% | 0.593% | +0.194% | 0.666% | +0.073% |
| 667788 | 0.408% | 0.566% | +0.158% | 0.594% | +0.028% |
| 135791 | 0.547% | 0.716% | +0.169% | 0.731% | +0.015% |
| 246802 | 0.498% | 0.643% | +0.145% | 0.659% | +0.016% |
| 999983 | 0.345% | 0.520% | +0.175% | 0.518% | -0.002% |
| Avg | 0.435% | 0.584% | 0.225% | 0.594% | 0.015% |
Summary: Basic 0.824%, I18+Fab4 1.049%, Full Index 1.101%. CVCX deltas: I18+Fab4 -0.098 pp, Full Index -0.081 pp.
| Seed | Basic PA | I18+Fab4 PA | Delta I18-Basic | Full Index PA | Delta Full-I18 |
|---|---|---|---|---|---|
| 13377 | 0.842% | 1.062% | +0.220% | 1.095% | +0.033% |
| 158000 | 0.809% | 1.024% | +0.215% | 1.097% | +0.073% |
| 591845 | 0.781% | 0.992% | +0.211% | 1.027% | +0.035% |
| 16493 | 0.788% | 1.019% | +0.231% | 1.079% | +0.060% |
| 654674 | 0.973% | 1.175% | +0.202% | 1.195% | +0.020% |
| 151085 | 0.748% | 0.948% | +0.200% | 1.015% | +0.067% |
| 918273 | 0.788% | 0.956% | +0.168% | 1.026% | +0.070% |
| 777777 | 0.747% | 0.935% | +0.188% | 1.013% | +0.078% |
| 424242 | 0.915% | 1.117% | +0.202% | 1.119% | +0.002% |
| 202611 | 0.826% | 1.139% | +0.313% | 1.141% | +0.002% |
| 990001 | 0.744% | 0.875% | +0.131% | 0.978% | +0.103% |
| 120045 | 0.874% | 1.126% | +0.252% | 1.193% | +0.067% |
| 880123 | 0.723% | 0.983% | +0.260% | 0.888% | -0.095% |
| 314159 | 0.876% | 1.152% | +0.276% | 1.136% | -0.016% |
| 271828 | 0.855% | 0.986% | +0.131% | 1.104% | +0.118% |
| 505050 | 0.806% | 1.110% | +0.304% | 1.211% | +0.101% |
| 667788 | 0.869% | 1.076% | +0.207% | 1.152% | +0.076% |
| 135791 | 0.939% | 1.163% | +0.224% | 1.268% | +0.105% |
| 246802 | 0.881% | 1.105% | +0.224% | 1.227% | +0.122% |
| 999983 | 0.706% | 1.039% | +0.333% | 1.059% | +0.020% |
| Avg | 0.824% | 1.049% | 0.438% | 1.101% | 0.099% |
The seed-level deltas still matter. Full Index is not guaranteed to beat I18+Fab4 in every seed, but the 1-15 spread is large enough that the Full Index delta is positive in this 80M run.
| Scenario | I18+Fab4 - Basic 95% CI | Full Index - I18+Fab4 95% CI |
|---|---|---|
| 1-5 spread, 4.5/6 dealt | [0.137%, 0.178%] | [-0.015%, 0.020%] |
| 1-10 spread, 4.5/6 dealt | [0.197%, 0.253%] | [-0.012%, 0.042%] |
| 1-15 spread, 5/6 dealt | [0.393%, 0.484%] | [0.054%, 0.144%] |
I18+Fab4 clearly improves over Basic in all three spread scenarios. The Full Index advantage over I18+Fab4 is small at 1-5 and 1-10, but measurable at 1-15 in this run.
I would trust the engine-level conclusion:
BlackjackPilot tracks CVCX-style Hi-Lo benchmark rows closely in the tested 6D S17 DAS LS RSA scenarios when the betting denominator and cover-style ramp behavior are aligned.
I would not claim that this exactly clones CVCX internals. The exact CVCX ramp behind each spread label is not public from the table alone. These are calibrated benchmark ramps, not a guarantee that every hidden CVCX implementation detail is identical.
The remaining mismatch is concentrated in the aggressive 1-15 / 5 decks dealt row. That points more toward ramp/cover assumptions or another hidden reference setting than toward a basic settlement error, because the 1-10 row lands extremely close and the directionality of Basic, I18+Fab4, and Full Index remains coherent.
Use this as a repeatable validation pattern: match the reference configuration first, then compare strategy deltas.
Update: we have since confirmed this conclusion much more rigorously. An exact combinatorial analyzer validates the core engine layer by layer, and a fully independent double-deck benchmark (a different source and a different simulator) matches our average bet and standard deviation almost exactly — while the residual SCORE differences trace back to the unpublished optimal bet ramp, not the engine. See How BlackjackPilot Validates Its Accuracy.