I did some comparison, but this is old. See ThinkerJudge in my github repository.
There are scripts there that you can use to create new analysis with latest stockfish.
Features
A. Average error in centipawn (low is better) per game
B. Overall average error in centipawn (low is better)
C. Move Number with 50 to 100 cp error from a playable position (-50/50) cp, (high or None is better)
D. Move Number with 101 to 300 cp error from a playable position (-50/50) cp, (high or None is better)
E. Move Number with 301 to 500 cp error from a playable position (-50/50) cp, (high or None is better)

I ran the calsen/nepomniachtchi match with stockfish 15. See plot below.
Do not interpret this plot as comparing player's error from different years. But you can compare players from same year. For example carlsen 2021 vs nepomniachtchi 2021, or Fischer 1972 vs Spassky 1972 and others.

Feature C table.
C. Move Number with 50 to 100 cp error from a playable position (-50/50) cp, (high or None is better)
+-----------+------------------+-----------+------------------------+
| GameNum | Nepomniachtchi | Carlsen | Nepomniachtchi_score |
+===========+==================+===========+========================+
| 1 | None | 27 | 0.5 |
+-----------+------------------+-----------+------------------------+
| 2 | None | 17 | 0.5 |
+-----------+------------------+-----------+------------------------+
| 3 | None | None | 0.5 |
+-----------+------------------+-----------+------------------------+
| 4 | None | 18 | 0.5 |
+-----------+------------------+-----------+------------------------+
| 5 | None | None | 0.5 |
+-----------+------------------+-----------+------------------------+
| 6 | 52 | None | 0 |
+-----------+------------------+-----------+------------------------+
| 7 | None | None | 0.5 |
+-----------+------------------+-----------+------------------------+
| 8 | None | None | 0 |
+-----------+------------------+-----------+------------------------+
| 9 | None | None | 0 |
+-----------+------------------+-----------+------------------------+
| 10 | None | None | 0.5 |
+-----------+------------------+-----------+------------------------+
| 11 | None | None | 0 |
+-----------+------------------+-----------+------------------------+
ThinkerJudge's feature C tells us which player commits mistake first, how much error from a playable position and what move number. From the table above in game 1, Carlsen commit mistake first at move number 27. This error is in the range 50 to 100 CP, from a playable position +/- 50 CP. If it is None that means the player had not made a mistake in the range 50 to 100 CP from a playable position +/- 50 CP.
That table C is based from Stockfish 15 analysis at 5 sec per position on 4 threads using i7-2600K 3.4 Ghz 4-core processor.
Looking at the game analysis, the computer suggestion and evaluation is this.
27. Re3 { -0.24/27 } ( 27. Re3 { -0.24/27 } ) 27... Kf8 { -0.25/26 } ( 27... g6 { 0.26/30 } )
The actual move is Kf8
with an evaluation of -0.25 pawn unit. Score is from side to move
point of view or (SPOV), meaning after Kf8 black is slightly inferior. The computer suggested g6
with a positive score favoring black.
Error = 0.26 - (-0.25) or 0.51 pawn unit or 51 CP (centipawn) unit.
That result is within the condition specified in Table C feature.
C. Move Number with 50 to 100 cp error from a playable position (-50/50) cp