News for hackers. Stuff that matters.

ThomasCM

This is the first large-scale analysis of Grandmaster activity across Chess.com and Lichess from 2008 to 2025, based on years of data collection and millions of games. I explored which platform top chess players prefer and how Chess.com and Lichess have evolved over the years.

All data comes from my project ChessMonitor, which maintains one of the largest chess databases in the world. Feel free to check it out! :)

Show HN: ChessMonitor – Analytics for Chess Players

https://www.chessmonitor.com/u/kcc58R9eeGY09ey5Rmoj

Hi everyone!ChessMonitor is an analytics platform for chess players that provides stats on your games. The link shows an example of Magnus Carlsen. Connecting your own Chess.com or Lichess accounts only takes a few clicks.The project has received a significant update in the past weeks, as it's now receiving the "EXIST startup grant" provided by the German Ministry for Economic Affairs and...

( Read More... | no comments | 2 points | on HN )
Re:Titled Tuesday Cheating on Monday November 27, 2023 @07:56AM (#38431754)
Chess.com Insights are similar to what my project is doing. However, Lichess has nothing similar. They do have something called "Chess Insights" but it's not really comparable IMHO.

That said, there are also some unique features like "Openings" which allows you to quickly identify your best/worst openings.

Re:Titled Tuesday Cheating on Sunday November 26, 2023 @03:06PM (#38424511)
Shameless plug: f you're looking for a similar way to compare your online rating with the FIDE rating, take a look at my project: https://www.chessmonitor.com/

Like the author, I also use regression, but extended to non-title players. More information: https://www.chessmonitor.com/blog/2023-elo-calculation

Re:ChessMonitor – Analytics for Lichess and Chess.com on Saturday September 16, 2023 @05:33AM (#37533322)
Both features are already on my TODO list. That doesn't mean they are coming soon, though... ;)
Re:ChessMonitor – Analytics for Lichess and Chess.com on Saturday September 16, 2023 @05:07AM (#37533206)
Thanks, I'll look into this!
Re:ChessMonitor – Analytics for Lichess and Chess.com on Saturday September 16, 2023 @04:57AM (#37533152)
That is where some of the inspiration came from. Years ago, I was an avid Dota player and always loved Dotabuff (and OpenDota, too).
Re:ChessMonitor – Analytics for Lichess and Chess.com on Saturday September 16, 2023 @03:05AM (#37532637)
Thanks for the feedback! Always good to hear from chess players with a FIDE rating that it's working :)

If anyone wants more info on how this works, check out this post with more details: https://www.chessmonitor.com/blog/2023-elo-calculation

Re:ChessMonitor – Analytics for Lichess and Chess.com on Saturday September 16, 2023 @03:01AM (#37532626)
I'm aware of Chess960, but this will probably never be supported on ChessMonitor for three reasons: First, Chess960 basically tries to prevent players from preparing (by having a random starting position) which does not align well with providing statistics. Second, it would require major UI and storage changes on ChessMonitor (like adding an option to select the starting position to compare games). And third, Chess960 is simply not as popular amongst non-professional chess players.
Re:ChessMonitor – Analytics for Lichess and Chess.com on Saturday September 16, 2023 @02:49AM (#37532578)
There are many similar features. Overall the UI on ChessMonitor is much more focused on statistics.

Another key feature Lichess does not have, is the Openings page. It is very powerful when used correctly. You can look at your openings and immediately see for which openings you might need to consume more theory (or which you should not play at all).

Here is an example: https://www.chessmonitor.com/u/cdPiOkUArRJ7shVNJcT3/openings...

Re:ChessMonitor – Analytics for Lichess and Chess.com on Saturday September 16, 2023 @02:39AM (#37532540)
Thanks, I just like it when all state is in the URL and you can just bookmark it. Also using the browser back/forward button should work well thanks to that. I'll check out your library!

My code for that is rather simple. I'm using Next.js and the code looks something like this (a little simplified):

  const router = useRouter(); // get the router/location object
  const information = useFetch({ position: router.query.position }); // fetch information from the server
  
  function changeChessPosition(newPosition) { // called when position changes
      router.replace({ query: { postition: newPosition } }); // replaces the state in the URL
  }
In addition, I have some caching in place so that each position is only downloaded once and the change function looks a little more complicated in my case as there are multiple values that can be change for each page.
Re:ChessMonitor – Analytics for Lichess and Chess.com on Saturday September 16, 2023 @02:29AM (#37532501)
I'm currently not doing Stockfish evaluations (everything is based on simple win/loss-rate) but I hope I'm able to integrate this in the future. Then I can show much more in-depth statistics like the one you mention.
Re:ChessMonitor – Analytics for Lichess and Chess.com on Friday September 15, 2023 @05:37PM (#37529427)
Hi everyone, author here. Please let me know if you have feedback or questions.
Yes, in contrast to storing the board (which can be a fixed size), this depends on the length of the game of course.

That said, there are some optimizations you can apply that will compress moves even further (for example the order of the moves as explained in the Lichess blog post is important). In the end it's a tradeoff between (de)serializing the game fast and reducing the size (even more).

Thanks for your feedback!

I guess OAuth is relatively fast as I don't have a middleman (like Auth0) in there. It's just Passport.js.

Yes, ignoring compression each (half-)move takes up one byte. So if you want to store a sequence of 10 (half-)moves it would take only 10 bytes.
Surprisingly, storing a game (with all moves) can take less space than encoding a single board. This is because you can effectively encode a move in a single byte (as there are less than 255 moves possible in each position). Applying compression to the resulting binary string will allow you to reduce the space even more.

Check out this great blog post of Lichess for more information: https://lichess.org/blog/Wqa7GiAAAOIpBLoY/developer-update-2...

And shameless plug: Using this encoding, I'm storing millions of games on https://www.chessmonitor.com/ There you can link your Chess.com or Lichess account and view all kind of statistics of your games.

I created a website to analyze chess games. By connecting your Chess.com/Lichess account you can access all kind of statistics related to your chess games. You can even link more than one account.
Yes, I've played Dota myself and always loved dotabuff. That's where some of the inspiration came from.
Shameless plug: In case you want to track your chess progress and see more statistics on your openings (win rates, etc.), I'm developing a website where you can link your accounts to view stats for all of your games. It's free and currently in Beta: https://www.chessmonitor.com/

Here is an example for the current world champion: https://www.chessmonitor.com/u/kcc58R9eeGY09ey5Rmoj

Re:Our lawsuit against ChessBase on Wednesday July 21, 2021 @10:15AM (#27906575)
I'm currently developing this: https://www.chessmonitor.com/

It stores your games and gives you an explorer for your games similar to what openingtree does.

Here is an example for the current world champion: https://www.chessmonitor.com/u/kcc58R9eeGY09ey5Rmoj/explorer

Re:Stockfish 14 on Monday July 05, 2021 @07:50AM (#27736969)
Thanks for the feedback. It's not really a bug. More of a communication problem... ;)

The openings page list your openings for white and black. If you click on an opening it takes you to the explorer which shows the stats for only one color (white by default). Therefore, if you play an opening for black a lot it will appear in the list of your openings. But when you click on the opening, the explorer will show your stats for white.

There is also another problem, that the detection of openings (on the openings page) respects transpositions [1] while the explorer does not.

Maybe I'll remove the link to the explorer as this seems to cause a lot of confusion...

[1] https://en.wikipedia.org/wiki/Transposition_(chess)

Re:Stockfish 14 on Monday July 05, 2021 @05:39AM (#27736099)
As you say, I currently don't. In the future I might check the correlation between chess.com/lichess (when enough users register). Then I should be able to even calculate the chess.com rating from a lichess rating and vice versa.

But there are many other features I want to implement first. I'm currently more focused on the statistics part than on the chess.com/lichess relation.

Re:Stockfish 14 on Monday July 05, 2021 @03:30AM (#27735457)
If anyone is looking for a way to merge games from lichess.org and chess.com: I'm developing a website where you can link your accounts to view stats for all of your games. It's free and currently in Beta: https://www.chessmonitor.com/

Here is an example for the current world champion: https://www.chessmonitor.com/u/kcc58R9eeGY09ey5Rmoj