I Analyzed All 960 Freestyle chess Starting Positions with Stockfish 17 and Leela Chess Zero
For years, Chess960 has been promoted as the ultimate antidote to opening memorization. By randomizing the back-rank setup while preserving the core rules of chess, the variant forces players to rely on creativity and calculation instead of theory.
But one question kept bothering me:
Are all 960 starting positions actually equally fair?
So I decided to test it.
Using Stockfish and Leela Chess Zero, I analyzed every single legal Chess960 starting position to see how balanced they really are.
The results were fascinating.
The Experiment
I evaluated all 960 starting positions using:
Stockfish 17 NNUE
Depth 20
Deterministic single-thread analysis
Chess960 mode enabled
I also used Leela Chess Zero (Lc0) as a secondary engine to compare overall evaluation trends and verify that the results were not simply artifacts of Stockfish’s search style.
The goal was simple:
Find the most balanced positions
Find the sharpest positions
Measure White’s average first-move advantage
Determine whether some structures are objectively more volatile than others
The Big Result
After analyzing all 960 positions, the average evaluation came out to:
+0.36 pawns for White
That’s remarkably close to classical chess.
Overall statistics:
Metric Value
Mean evaluation +36.7 cp
Median +31 cp
Standard deviation 18.4 cp
Minimum +2 cp
Maximum +83 cp
What surprised me most was not the average — but the spread.
Some Chess960 setups are significantly sharper than others.
The Most Balanced Positions
These positions produced evaluations closest to equality:
Rank SP Evaluation
1 SP 498 0.00
2 SP 318 +0.01
3 SP 647 +0.01
4 SP 222 +0.02
5 SP 606 −0.02
Even at depth 20, several positions remained almost perfectly equal.
The Sharpest Positions
At the other extreme:
Rank SP Evaluation
1 SP 783 +0.83
2 SP 15 +0.82
3 SP 176 +0.82
4 SP 477 +0.80
5 SP 880 +0.77
These positions consistently gave White a noticeably larger initiative right from move one.
Pawn Structure Matters More Than I Expected
I divided the dataset into structural categories.
Fully-Defended (FD)
Every pawn is defended by a back-rank piece.
360 positions have been found!
Uncovered (UC)
At least one pawn begins undefended.
600 positions have been found!
The difference was dramatic.
Subset Mean Eval
Fully-Defended +29.9 cp
Uncovered +41.2 cp
Uncovered positions were substantially sharper and more volatile.
In other words:
initial pawn support strongly affects opening stability.
This was one of the clearest patterns in the entire dataset.
A Small Structural Metric
To quantify opening irregularity, I created a simple metric called the Structural Complexity Index (SCI):
SCI = U + (1 − K)
Where:
U = number of uncovered pawns
K = 1 if the king starts on the e-file
Higher SCI values generally correlated with more chaotic and imbalanced positions.
It’s not a predictive formula yet, but it turned out to be surprisingly descriptive.
What About Leela?
One thing I really wanted to avoid was relying on only one engine philosophy.
Stockfish and Lc0 evaluate chess very differently:
Stockfish emphasizes deep search efficiency
Lc0 relies more heavily on neural positional understanding
Interestingly, both engines converged toward similar large-scale trends as analysis depth increased.
That gave me confidence that the patterns I was seeing were not random engine artifacts.
So… Is Chess960 Actually Fair?
My conclusion is:
Chess960 is statistically fair overall,
but not uniformly fair.
Most positions fall within a relatively compact range of evaluations.
However, some randomized setups clearly produce sharper and more asymmetric opening conditions than others.
Randomization reduces memorization — but it does not eliminate structural imbalance.
Why This Matters
Modern chess engines allow us to study opening fairness quantitatively for the first time.
Instead of arguing abstractly about whether a setup “looks balanced,” we can now measure:
volatility,
initiative,
structural stability,
and practical sharpness.
Chess960 may still be the best attempt at solving the opening-theory problem — but the data suggests that not all randomized starts are created equal.
Future Plans
Next, I’d like to explore:
engine self-play on all 960 positions,
practical win-rate statistics,
neural clustering of position types,
opening-tree complexity,
and human performance differences across setups.
Because I suspect we’ve only scratched the surface of what Chess960 can reveal about chess itself.
Dimitris Panagakos
FIDE school instructor.
Freestyle chess Starting Positions
Moderator: Ras
-
Dimitris Panagakos
- Posts: 3
- Joined: Fri May 22, 2026 12:50 pm
- Full name: Dimitris Panagakos
-
MOBMAT
- Posts: 416
- Joined: Sat Feb 04, 2017 11:57 pm
- Location: USA
Re: Freestyle chess Starting Positions
Interesting analysis, but is 20 ply enough? starting from an opening position it takes awhile before there are enough captures to find deep traps, etc.
Since you are only analyzing 960 positions, set the search depth deeper and you'll still have results in less than a day.
What were your Stockfish settings? How many threads, memory? EGTB probably won't matter from the starting position.
Also, there was much progress between SF17 and SF18, you might want to rerun with the latter.
V
Since you are only analyzing 960 positions, set the search depth deeper and you'll still have results in less than a day.
What were your Stockfish settings? How many threads, memory? EGTB probably won't matter from the starting position.
Also, there was much progress between SF17 and SF18, you might want to rerun with the latter.
V
i7-6700K @ 4.00Ghz 32Gb, Win 10 Home, EGTBs on PCI SSD
Benchmark: Stockfish15.1 NNUE x64 bmi2 (nps): 1277K
Benchmark: Stockfish15.1 NNUE x64 bmi2 (nps): 1277K
-
Nordlandia
- Posts: 2845
- Joined: Fri Sep 25, 2015 9:38 pm
- Location: Sortland, Norway
Re: Freestyle chess Starting Positions
Out of the positions in FRC. 360 turn out to have all pawns defended. In Chess324 that number is 9. Now, if 9^2 x 16 permutational castling rights, ought to be 1,296 positions.
[d]rbbnkqnr/pppppppp/8/8/8/8/PPPPPPPP/RNQNKBBR w Qkq - 0 1
[d]rbbnkqnr/pppppppp/8/8/8/8/PPPPPPPP/RNQNKBBR w Qkq - 0 1
-
Jouni
- Posts: 3907
- Joined: Wed Mar 08, 2006 8:15 pm
- Full name: Jouni Uski
Re: Freestyle chess Starting Positions
I just played 800 games match between Stockfish and Reckless. Time control 60 + 0.6.
So draw rate 91%.
Code: Select all
1 Stockfish +38/=729/-33 50.31% 402.5/800
2 Reckless010 +33/=729/-38 49.69% 397.5/800
Jouni