How to find your brilliant moves on chess.com
TLDR:⌗
Chess.com has a game review feature that lets you know just how horrible you are at chess. It uses the stockfish chess engine combined with a proprietary expected points algorithm to evaluate the move quality and classify them into six different categories: Best, Excellent, Good, Inaccuracy, Mistake and Blunder. There is also three different special move classifications: Great Move, Miss and Brilliant. The special move classifications are determined in a different way than expected points and the Brilliant move classification is the most rare one to be given. chess.com defines a Brilliant move as “when you find a good piece sacrifice” with some other caveats. There is a general agreement int the chess.com community that brilliant moves are more of a novelty than an indication of skill, however due to their rarity they are often sought after as a badge of honor.
How rare are they?
This obviously depends on the player and how many games they play, higher
skilled players will be better at finding good sacrifices however they generally
play more games. However even 2000 level players fail to break more than
0.1%
brilliant moves and grand master Magnus Carlsen sits at 0.4%
with
4,356 blitz games played.
In order to see if you played a brilliant move you need to run a game review with the a platinum chess.com account, however to see what percentage of your moves were brilliant you need a diamond membership which comes with the insights feature. Unfortunately even with the diamond membership there is no way to find the exact games you played the brilliant moves. I have figured out two methods to find your brilliant games, one of them can be done manually with the chess.com website. The other one is with a python script I wrote and will drastically reduce time you need to spend clicking around, it also works with accounts that no longer have an active diamond membership.
Method 1 - python script⌗
If you are not comfortable with running a basic python script skip to method 2
https://github.com/NotJoeMartinez/chess.com-brilliant-move-finder
Detailed instructions on how to install and run this script are in the README.md the github repository in the link above above. I would read them first because I often update the directions on the README and forget to update blog posts.
Run the following shell commands to clone the git repo, create a virtual environment and install the dependencies:
git clone https://github.com/NotJoeMartinez/chess.com-brilliant-move-finder
cd chess.com-brilliant-move-finder
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
After that run the script like this:
python3 brilliant_move_finder.py <username> <time_class>
Where <username>
is your chess.com username and <time_class>
is either rapid, blitz, bullet, daily. <time_class>
is not required but is set to rapid by default.
This will genarate a csv file in the current directory with the format <username>_potential_<time_class>_games.csv
The csv file will contain the following columns:
brilliant
url
date
openent_username
user_rating
opponent_rating
result
user_accuracy
opponent_accuracy
The brilliant
column is left empty for you to quickly check the url of the game in the browser and mark it as brilliant or not.
Manual review of games (suggested)
Unfortunately, the chess.com API does not provide a way to directly fetch games with brilliant moves. It does however provide the dates of when the brilliant moves were played. This script is a workaround which fetches all the games played by a user on the given dates where a brilliant move was played. While it still requires you to manually check the games in the browser, it will drastically reduce the amount of games you need to check and it’s guaranteed to include all the games with brilliant moves in the output csv.
Automated review of games (use at your own risk)
The browser_automation.py
script will automate the process of checking the csv
output by brilliant_move_finder.py
however it requires you have the FireFox
browser installed and runs the risk of your account being banned for botting. If you
don’t want to risk that I recommend using a burner account.
To use this create a new .env
file like the one in .env_example
with the path to your default firefox profile. You can find this directory by going to about:profiles
in the firefox url bar.
Make sure you are not running a FireFox browser at the same time you run this script. Pass the csv file output by brilliant_move_finder.py
as the first argument.
python3 browser_automation.py username_potential_rapid_games.csv
This should spawn your firefox browser with all the bookmarks and cookies, it will try to begin iterating through the game analysis of every game in the csv file. If you encounter a login screen, login to your account and navigate back to your terminal and press enter, you should see ‘Press Enter once you’re logged in…’ in the terminal.
Suggestions:
Try clicking around randomly as the browser goes through the games, this might reduce the chance of you encountering captchas.
Use this script on a throw away premium account, or try not to use this too much on an account you care about. chess.com is notorious about banning bots.
Method 2 - chess.com website⌗
I’m going to use the gothamchess insights for this example because his insights page is public, but this method should work all accounts insights generated.
gothamchess has played 17,631 blitz games throughout his entire account history.
If you navigate to the move quality section you can see this table that shows that
he’s made 2,144
brilliant moves, roughly 0.3%
of his overall moves.
Just below that table you will see this graph called “Move quality over time”, hovering your mouse over this graph you will notice that it will show you precisely how many of each move classification was made each month. Hovering over September 2024 we see that he played 15 brilliant moves.
The next step is to Navigate to the your archive page and filter out, to do this for
other users just add their username to the end of the url, for gothamchess the url is
archive/gothamchess
. Once you have found this page select the dropdown on the
right side of the page that says ‘advanced’ and modify the date range to the month
you are looking for the “brilliant” moves
The next step is to go through each one of the games in the archive and run an analysis on each of them until you find the games with brilliant moves.
Unfortunently there is no way to filter out other game types on the chess.com archive page, this won’t be a problem if you only play one type of game however this can quickly become unmanageable.