If you're matchmaking players against equal-ranked players, then each match is just +/- 50 points, you'll get a binomial distribution which tends to normal as n gets large (assuming a large player pool so each player's results are independent). If players play players with different ratings then that will tend to push their rating back towards neutral. You certainly don't get a geometric distribution because the rating algorithm is completely symmetric.
This only happens in the rare cases where you're matching players against (exactly) equally-ranked players. You can mitigate this by always trying to match as "close as possible," but it's only a mitigation. Try simulating random matchmaking with Elo, and you'll get something like this: https://i.imgur.com/1Y08jUB.png (1000 players, 100,000 games). In my simulation, I set k (the Elo constant) = 50.
So you've patched this library somehow? Because when I run your code I get a result that's just full of 0 ratings.
But in any case I'm not at all convinced that your charts don't just show the normal distribution that we'd expect, just in some weird way. (Did you test your plotting methodology against some simpler rating system before using it to draw conclusions about Elo?). Plot a normal histogram, or a density plot if you're feeling fancy: https://towardsdatascience.com/histograms-and-density-plots-... . I'm betting the result is just the bell curve that we'd want and expect.
Author decided to do something fancy which will only work when number of players is less than 1/2 * starting Elo rating.
> But in any case I'm not at all convinced that your charts don't just show the normal distribution that we'd expect, just in some weird way.
As mentioned, you end up with a geometric distribution. I covered a similar phenomenon in a blog post I wrote last year[1]. See Theorem 3.3 in this paper: https://kconrad.math.uconn.edu/blurbs/analysis/entropypost.p... But in short, the geometric distribution has maximal entropy over (0,∞) given a known mean (in our case, the mean will always be 1000).
> As mentioned, you end up with a geometric distribution. I covered a similar phenomenon in a blog post I wrote last year[1]. See Theorem 3.3 in this paper: https://kconrad.math.uconn.edu/blurbs/analysis/entropypost.p.... But in short, the geometric distribution has maximal entropy over (0,∞) given a known mean (in our case, the mean will always be 1000).
Another reply already told you that's irrelevant to Elo, because Elo can go negative (and if it couldn't then the mean wouldn't always be 1000). It's probably going to be normal, and drawing an actual histogram of a simulation like yours comes out looking pretty much like a bell curve: https://imgur.com/YBDp4uI .
As far as I can see none of your claims about Elo stand up. Why do you think you've shown the things that you're claiming?
If you're matchmaking players against equal-ranked players, then each match is just +/- 50 points, you'll get a binomial distribution which tends to normal as n gets large (assuming a large player pool so each player's results are independent). If players play players with different ratings then that will tend to push their rating back towards neutral. You certainly don't get a geometric distribution because the rating algorithm is completely symmetric.