GOTM global ranking/hall of fame

Matrix

CFC Dinosaur
Retired Moderator
Joined
Oct 28, 2000
Messages
5,521
Location
Tampere, Finland
<FONT size="2">O no, I'm on the jazz again...</FONT s>

I've stated before that I'll keep up a hall of fame, where the top 3 winners of each GOTM will be in (only I called it the global ranking there). In addition I also want to make a global ranking, where <u>every</u> participator will be in.

For the Hall of Fame I want to give people medals: each winner of a GOTM gets a gold medal, the #2 gets silver, #3 bronze.

For the global ranking I want to use a weighted average of the last six GOTM's of every player, where the last GOTM's have more value than the previous ones. When you haven't played a GOTM, the points for that month is zero.

In effect: anyone who comes in the hall of fame will be there forever. And that's the whole idea of a hall of fame, isn't it?
smile.gif

But the ranking keeps changing every month.

More competitive? Only for the best guys around.

How about it?

------------------
<FONT size="1">Chemistry is: having fun, drinking beer, having more fun, drinking more beer, hang above the toilet and have a good night sleep!</FONT s>
 
I had considerable professional experience of designing software which implemented moving averages (for stocks/shares portfolio tracking) and want to make some suggestions...

If you do a six month moving average (weighted to most recent) you give yourself a big problem and that is data storage. You have to keep the last six months results for each player. Maintaining and recalculating is a pain

Solution: use exponential moving averages. This is extremely easy to implement. It requires no storage expect each player's current moving average. You have to decide on a smoothing coefficient (called Lambda), a number between 0 and 1 which is the same for everyone.
NewAverage = Lambda x OldAverage + (1-Lambda) x NewScore
A big Lambda (like 0.9) puts most emphasis on past scores and new scores don't have much immediate effect. A small Lambda (like 0.3) means great emphasis on the latest scores. Play with them and see!

One problem that will occur with any moving averages, whether you use your originally suggested system or my exponential system. The problem is normalization - or lack of it. Averaging systems only work if you're comparing like with like. For example, suppose I'm in second place having played some big scoring King games on large map. I'm very close behind the number 1 player. Then we play a Deity game on a medium map and I win very easily, getting twice the score of anyone else. It should be enough to make me top of the averages, but it won't because the score is much lower than in the King game. To cope with this problem you have to make sure that each game score is normalized before you add it into the average. To do this you divide everyone's score by the score of the highest score for that month and then x by some number like 100. This will ensure the top player always scores 100 and then you can incorporate these new numbers in the averages.

------------------
"Life shrinks or expands in proportion to one's courage" - Anais Nin
 
Originally posted by stormerne:
You really think I'm gonna quote all that??
Aha. I really need someone like you: a professional! I've had statistics for mathematics at school, but only use it now as a hobby.

I will use your exponentional moving average to begin with. That's just the thing I've been looking for! I think a lambda of 0.7 whould be nice
smile.gif
. But as you say, I have to experiment with that.

And I know what normalization is, but I wouldn't have thought of it if you didn't came up with it.
goodwork.gif
Thanks!

(B.t.w.: Please read my PM)

------------------
<FONT size="1">Chemistry is: having fun, drinking beer, having more fun, drinking more beer, hang above the toilet and have a good night sleep!</FONT s>
 
Back
Top Bottom