I have a multiplayer (3+ players) game where each round, each player chooses another to award a single vote (making each round zero-sum).
- Playing a round is optional
- Votes are anonymous (you don't know who you're voting for) so it can't really be 'gamed'
- Round sizes vary according to who decided to play (could be 3 players, could be 15)
- Getting 9/10 possible votes in a round is more impressive than getting 2/2 possible votes
It's basically Cards Against Humanity, without having a consistent player base for each round.
I have tried two naive approaches to ranking players over several rounds, but neither is satisfactory:
- Total votes won: this usually just shows those who have played more games as being more successful
- Proportion of possible votes won: a player can join a single game with two others, and secure 2/2 of the possible votes, and is then top of the table with an unbeatable score
Example:
+--------+--------------+------------+-----------------+
| Player | Games played | Points won | Possible points |
+--------+--------------+------------+-----------------+
| A | 5 | 8 | 10 |
+--------+--------------+------------+-----------------+
| B | 10 | 10 | 100 |
+--------+--------------+------------+-----------------+
| C | 1 | 2 | 2 |
+--------+--------------+------------+-----------------+
| ... | | | |
+--------+--------------+------------+-----------------+
Here, A should be in the lead, having scored a respectable 8/10 points over 5 games. B has only scored 10/100 points over 10 games but they should still be placed above C, who did well in a single (small) game.
What formula can I use here?
Here is a possible formula that you can try and adjust. Let $w$ be the number of points won, let $p$ be the number of possible points won. Then the score $s$ is,
\begin{align} s(w,p) &= \frac{1}{1+\frac{1}{\left(\frac{w/p}{1-w/p}\right)^{\alpha}}}\times p^{\beta} \end{align}
where $\alpha \in (0,\infty)$ and $\beta \in [0,1]$ are parameters can you can change. The first term $\frac{1}{1+\frac{1}{\left(\frac{w/p}{1-w/p}\right)^{\alpha}}}$ just maps the ratio $w/p$ to a value between $0$ and $1$, https://www.wolframalpha.com/input/?i=1%2F%281%2B%28x%2F%281-x%29%29%5E%28-1.5%29%29+from+0+to+1. The larger the win percentage the larger this term will be. The second term $p^{\beta}$ scales the win percentage by the possible number of points. If $\beta$ is small then the number of possible points is not that important and if $\beta$ is closer to $1$ then the number of possible points is more important.
I use the number of possible points as a proxy to how many games played. I'm not entirely sure if having the actual number of games played is important or not. If you feel that games are more valuable than the number of possible points then you can set $p$ with the number of games played $n$.
For the example you gave above I used $\alpha = 1.5$ and $\beta = 1$ and got a score that orders the players $A > B > C$.