Add an enhanced description of game performance ? The "Opponent-Adjusted Accuracy Index"

Sort:
Avatar of krippp

Foreword: Why Use an Opponent-Adjusted Accuracy Index?

In chess, a player’s accuracy percentage is useful, but incomplete. A 94% accuracy score may look excellent on its own, yet its meaning depends heavily on the quality of opposition. Playing accurately against an opponent who also finds strong moves is usually more demanding than achieving the same accuracy in a game where the opponent makes frequent mistakes.

This is where an Opponent-Adjusted Accuracy Index becomes useful. Instead of evaluating a player’s accuracy in isolation, it rewards two things at once: the player’s own precision and the overall quality of the game. A high score should not merely mean “I played accurately”; it should also suggest “I played accurately in a game where the opponent also maintained a high standard.”

The index is especially helpful when comparing performances across games. Two players may both score 90% accuracy, but if one did so against an opponent who scored 91%, and the other against an opponent who scored 55%, those performances should not necessarily be treated as equal. The first performance likely required more consistent precision under pressure.

The formula is intentionally simple:

S(A) = A * ((A + B) / 2)
S(B) = B * ((A + B) / 2)

where:

A = Player A's accuracy
B = Player B's accuracy

Accuracy values are written as decimals, so 94% becomes 0.94, and 63.9% becomes 0.639.

The term

((A + B) / 2)

represents the average accuracy level of the game. This acts as a quality-of-opposition and quality-of-game adjustment. Player A’s own accuracy is then multiplied by that shared game-quality factor.

For example, if Player A has 94% accuracy and Player B has 63.9% accuracy:

S(A) = 0.94 * ((0.94 + 0.639) / 2)
S(A) = 0.94 * 0.7895
S(A) ≈ approx 0.7421

S(B) = 0.639 * ((0.94 + 0.639) / 2)
S(B) = 0.639 * 0.7895
S(B) ≈ approx 0.5045

Converted back to a percentage-like score:

S(A) ≈ 74.21 %
S(B) ≈ 50.45 %

This index has several useful properties. A player’s score rises when their own accuracy rises. It also rises when the opponent’s accuracy rises, reflecting the greater difficulty of maintaining precision against stronger play. At the same time, the more accurate player still receives the higher score, because their own accuracy remains the leading factor.

The maximum possible result occurs when both players achieve perfect accuracy:

S(A) = 100 * ((1.00 + 1.00) / 2) = 100 %

So a perfect 100% versus 100% game gives the maximum index value of 100. Lower but still strong performances are rewarded in proportion to both individual precision and the strength of the game as a whole.

In short, the Opponent-Adjusted Accuracy Index offers a more balanced way to evaluate chess performance than raw accuracy alone. It preserves the clarity of a percentage-based measure while adding an important contextual layer: how well the player performed relative to the accuracy standard set by both sides.

Avatar of justbefair

Another way to gauge your play relative to your opponents is to play rated games.

Why don't you play rated games?

Avatar of justbefair

Avatar of krippp

The equation helps in comparing one's own games with each other, as well as comparing between players.

The equation differentiates between e.g. "high accuracy games that were mainly overruns", and "high accuracy games that were tough struggles". And the same for "low accuracy games".

With the equation, we can better estimate the "overall quality" of each game, for easier selection and focus, and better feedback on "individual games" than a rating or graph or "single player accuracy". It's simply a more accurate number for comparing individual games.

Avatar of krippp
justbefair wrote:

Why don't you play rated games?

Kinda off-topic ? but since you appear to be a moderator, I take the question as of genuine interest:

less time for chess, less interest for primitive mistakes. For challenge, I rather lose against Stockfish in the name of "chess truth", and here in recent years, mainly playing unrated with friends.

Rated against friends would seem "milking them for points", since I'm the strongest, so we play unrated, though sometimes we both miss that Rated was left on, and proceed with the game anyway. I suppose the graphical difference between "Rated" and "Unrated" challenges could be enhanced, to avoid these errors better ?

Avatar of krippp

Name it "Difficulty":

A concise name is required, akin to current info:
Players + Result + Accuracy + Moves + Date

I'd suggest: "Difficulty"

for an info-bar with:
Players + Result + Accuracy + Difficulty + Moves + Date

- - - -

I would define them like this:

Accuracy = Player's raw/personal accuracy
Difficulty = Accuracy adjusted by the opponent's accuracy

Our formula: S(A) = A * ((A + B) / 2)
could be presented simply as:
Difficulty = Accuracy * Game Accuracy Average

- - - -

Tooltip / explanation A: Difficulty estimates how demanding the player’s accuracy was by adjusting it according to both players’ accuracy.

Tooltip / explanation B: We use Accuracy for the player’s raw accuracy, and Difficulty for the same accuracy adjusted by the overall quality of the game. In other words, accuracy against accurate opposition counts as a more difficult performance than the same accuracy against inaccurate opposition.