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.

file-20241203203759105.png

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.

file-20241203204510032.png

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

file-20241203211427853.png

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.

file-20241203212013575.png

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.