??????

You are not logged in.

- Topics: Active | Unanswered

**Cobblestone****Member**- Registered: 2015-01-28
- Posts: 211
- Website

So now that you're tracking coins won/lost for the vs contest, have you considered making some kind of persistent leaderboard for it? Maybe even just an average of coins won/lost?

Offline

**shotgun****Member**- Registered: 2015-05-11
- Posts: 22

would it also be possible to see some some of winning/losing streak list?

Offline

**jasonrohrer****Administrator**- Registered: 2014-11-20
- Posts: 802

Can you explain that in more detail?

Offline

**shotgun****Member**- Registered: 2015-05-11
- Posts: 22

oh, i dunno, just thought it might be neat, but maybe not totally illuminating, to have some sort of list of who is on or has had an unbroken series of wins or losses.

Offline

**jasonrohrer****Administrator**- Registered: 2014-11-20
- Posts: 802

There's not a field in the users table for that.

It could be computed by looking at the game ledger table, but it's pretty complicated. I don't think it can be done with a simple database query the way the other leaderboards are. I'll think about it!

One thing that might be easier would be a daily profit leaderboard. Like, who has made the most in the last 24 hours. Could even be one for who has made the most in the last hour, last week, etc.

Offline

**Dan_Dan84****Member**- Registered: 2015-02-14
- Posts: 106

shotgun wrote:

oh, i dunno, just thought it might be neat, but maybe not totally illuminating, to have some sort of list of who is on or has had an unbroken series of wins or losses.

Of course, this leads to the perennial question of what is a win, and what is a loss. Should one coin wins have the same weight in this calculation as 90 coin wins?

Offline

**joshwithguitar****Member**- Registered: 2015-01-07
- Posts: 128

Okay, I have no idea what Profit Ratio means.

According to the daily leader boards I've played two game. I just played those games and won the first $2 game taking the whole pot of $1.90. The second was for $0.45 and I took away $0.40.

My daily profit ratio after these two games is 1.184.

Where on earth does this number come from?

Offline

**jasonrohrer****Administrator**- Registered: 2014-11-20
- Posts: 802

It has a factor in it that accounts for too few games played, so the person who played just one good game isn't at the top of the list.

The factor is based on 20 games. Q = 20 / (num games played). Q gets smaller the more games you play, hitting 1 at 20 games, and approaching 0 after that.

Q is added in to both the numerator and the denominator of the profit ratio and pulls your profit ratio toward 1.

PR = (total buy-in + profit + Q) / (total buy-in + Q).

In your case, with 2 games played, Q is (20/2) = 10.

So:

(2.45 + 1.90 + .3915 + 10) / (2.45 + 10) = 1.18405622489

This was an off-the-cuff solution that could stand some improvement. For example, Q can be dwarfed by large buy-ins and way overpowers small buy-ins. Still, the point is that it gets tiny after you play enough games.

Offline

**joshwithguitar****Member**- Registered: 2015-01-07
- Posts: 128

Thanks Jason,

The Q value seems quite high when used with the daily board, especially for low stakes players.

Overall though I'm not sure if the profit ratio really means much. It puts a large amount of emphasis on how you do in high stakes games - for instance, if I joined a $500 game and then left when I was on 106 coins this would have a large negative effect on my ratio.

Offline

**..****Member**- Registered: 2014-11-21
- Posts: 259

On the other hand, that would have no effect on the win_loss_ratio board.

http://cordialminuet.com/gameServer/ser … loss_ratio

There are no daily, weekly, etc, win_loss_ratio board however. Also, it uses exactly the same Q smoothing scheme as profit_ratio (despite which university scorpion remarkably has a ratio of 7.45)

If the intent of the profit_ratio board is, well, to show profit ratio, rather than to purposefully skew towards the high stakes players and very heavily penalise low stakes players, then the current Q factor doesn't seem too good, specially for the daily board.

Why not use Q = C * total_buy_in / games_started. Suppose you win 99 coins in every game, all at the same stakes. Here's your ratio by number of games for different values of C:

```
games C=0.25 C=0.5 C=1 C=2 C=4
1 1.792 1.660 1.495 1.330 1.198
2 1.880 1.792 1.660 1.495 1.330
3 1.914 1.849 1.743 1.594 1.424
4 1.932 1.880 1.792 1.660 1.495
5 1.943 1.900 1.825 1.707 1.550
6 1.950 1.914 1.849 1.743 1.594
7 1.956 1.924 1.866 1.770 1.630
8 1.960 1.932 1.880 1.792 1.660
9 1.963 1.938 1.891 1.810 1.685
10 1.966 1.943 1.900 1.825 1.707
11 1.968 1.947 1.907 1.838 1.726
12 1.970 1.950 1.914 1.849 1.743
13 1.971 1.953 1.919 1.858 1.757
14 1.973 1.956 1.924 1.866 1.770
15 1.974 1.958 1.928 1.874 1.782
16 1.975 1.960 1.932 1.880 1.792
17 1.976 1.962 1.935 1.886 1.801
18 1.976 1.963 1.938 1.891 1.810
19 1.977 1.965 1.941 1.896 1.818
```

Looks like C close to 1 would be good for permanent board, something less than 1 for daily boards. Weekly and monthly, in between...

```
#!/usr/bin/env python
def ratio(games, C):
stakes = 10. # makes no difference
Q = float(C) * (stakes*games) / games
return (games * stakes * 1.99 + Q) / (games * stakes + Q)
print "games C=0.25 C=0.5 C=1 C=2 C=4"
for games in range(1, 20):
print "%2d %.3f %.3f %.3f %.3f %.3f" % ((games,) + tuple(ratio(games,C) for C in (0.25, 0.5, 1, 2, 4)))
```

*Last edited by .. (2015-05-30 10:09:41)*

Offline

**jasonrohrer****Administrator**- Registered: 2014-11-20
- Posts: 802

Yeah, that's a huge improvement. I'll implement it next week.

Offline

**jasonrohrer****Administrator**- Registered: 2014-11-20
- Posts: 802

Okay, the new Q factor for profit ratio (including daily, weekly, etc) and win/loss leaderboards are is in place. I'm using C=1 from dot-dot's post above.

Essentially, this new Q adds in "one average buy-in" into both the numerator and the denominator of the ratio.

Interestingly, charm fatigue's profit ratio remains unchanged after this change. Turns out they played 3 games total, with a total buy-in of $20. Thus, the new Q is the same as the old Q for them (the old Q was 20/games_played, regardless of buy-in).

But, after this change, charm fatigue is no longer the leader in profit ratio. Hardship wench jumps to the lead.

Offline

**Discordant Mind****Member**- Registered: 2015-05-05
- Posts: 14

I realize this has been discussed before, but are there any plans to add a decay element to the ELO rankings? Currently, the ELO rankings are top-heavy with inactive players.

Offline

**jasonrohrer****Administrator**- Registered: 2014-11-20
- Posts: 802

Hmm... yeah, that is weird, isn't it?

Offline

**..****Member**- Registered: 2014-11-21
- Posts: 259

I think that the constants you're using in the Elo calculation are pretty bad for CM. They might be appropriate for Chess, but an excellent CM player can't beat a poor one 100% of the time. The Elo ratings can go up and down wildly over the course of a few games, which makes them pretty bad at ranking players. The range of scores has turned out to be quite low, 300-400, so a single game being able to change your score by up to 32 is too much (actual max moment is about 28). Note that what matters is the ratio between K and the constant 400 in the equation.

I've been scrapping the Elo leaderboards and would post some graphs of Elo over time, but both computers with that data are down at the moment. I see a lot of players going up and down by over 200 points. It would be interesting to see whether the fundamental assumption of the Elo equation, that the expected chance for player 1 to win is 1. / (1 + 10 ** ((Elo2 - Elo1) / 400.)), holds out in practice. I could graph actual win rates (using Elo smoothed over time) and that way we can see whether that equation is wrong for CM.

I think that Elo decay would be bad, reducing the Elo range even more so increasing the effective variance, but what you could do instead is to display on the leaderboard Elo minus a decay term. If the player comes back and plays a game they would reset the decay timer, but they wouldn't have actually lost any Elo.

*Last edited by .. (2015-06-09 07:56:15)*

Offline

**jasonrohrer****Administrator**- Registered: 2014-11-20
- Posts: 802

Well, if it changes, it can be recomputed from the whole history like last time.... so at least we have that.

Offline