Mismatch between ratings chart and graph

Attached is a picture of my profile.
Currently, the rating chart says my overall rating is 1450 and the graph says it is 1454.
Obviously, the fact that it is only 4 points off hasn’t escaped me but it strikes me as odd that it is even possible for these numbers to differ. I thought I’d report it in case it is a small symptom of some larger problem.

Not sure if it’s relevant, but the date displayed under the graph is from yesterday. This is correct to my last completed ranked game. However, since then I have won two games due to timeout (annulled) after neither opponent responded to my opening move. It was after this that I noticed the discrepancy in the numbers.

Again, I realise that it is small and am in no way complaining. It just struck me as odd. :slight_smile:

1 Like

The graph is an abstraction and probably generated by 3rd party code that OGS has imported from a code library. I can imagine a situation where the developers have gone:

import MysteriousGraphLibrary as Graph
Graph.draw(PlayerHistory)

So the code that generates the graph will get all of the data, but now it needs to create a representation of that in graph form that fits neatly on your screen. The graph library will prioritise looking pretty and being generally useful rather than being precise. Precision is not one of the graphing library’s goals.

1 Like

Yeah but to me defining rules about when the graph is allowed to manipulate the data and by how much sounds WAY more complicated than simple “match the data”

Not really, it always has to approximate - it’s trying to render your rating history as a 2 dimensional set of lines in a limited space. “Match the data” is actually impossible in most circumstances. Instead all we’re saying is “you have this much screen-space, here’s the data, do your best with it, please.”

Some examples;

  • You have played an even number of games but are allocated an odd number of pixels on the screen.
  • You have played 1,000 games but only have 400 pixels of screen space to work with.
  • You have played 30 games and need to spread the representation out over 507 pixels.

In all three cases we want to fill the given screen space without exceeding it - in order to achieve that we have to lose some accuracy in our representation. Perhaps by averaging things, perhaps by dropping some data points. Different graphing libraries will use different techniques but the result is the same; precision is dropped so that a decent graph can be created.

2 Likes

Hmm. I suppose that makes sense. I guess I was thinking that even if the lines are estimates the numbers would still match… but if, as you say, the data just gets plugged into a super duper Graph-O-Matic plugin then it would make sense for that plugin to display its own internal estimates rather than copy what it was fed.

I like that. Very Douglas Adams. :+1:

1 Like

Hitch Hiker’s Guide to go strategy and graphing?

Indeed, so long as we’re not confusing our Electronic Sub-Etha Signaling Devices with our Sub-Etha Sens-O-Matics we should expect our Atomic vector plotter to have sufficient sources of Brownian motion to maximise the improbability of any graphing irregularities.

2 Likes

BUT! Can we fix our Chameleon Circuit by hotwiring the fragment links and superceding the binary binary binary binary