So this isn’t quite a GQ, but I don’t know if it is MPSIMS or not.

My project for today and this weekend and further depending on how long it takes to get the desired result is to develop a rating system for the local game store. I work there part time and am resident button man, when he has an idea, he comes to me.

So we’re brainstorming an in store Magic the gathering play league, but to do so we want a rating system. Elo is of course the obvious choice but being that this is Magic, it doesn’t quite work the way we want it to work. At least, by my understanding it doesn’t work right.

Magic is played in a best of 3 match, this allows for 8 possible outcomes assuming at least one game is played. 2-0, 2-0-1, 1-0-2, 1-0-1, 2-1, 1-0-0, 0-0-2, and 0-0-1. So I began by assigning a win 5 points to the winner and -5 points to the loser and a draw gives 2 points to both players, thus the list above is ranked in order of most points to least points for the winner. An interesting effect is that the situation which garners the most points for the winner is not a straight 2-0 victory, instead 2-0-1 nets the winner the most points.

The assignment of 5 and 2 to win and draw is not completely arbitrary. Normally it is 3 points for the win, and 1 point for a draw and 0 points for a loss.

I should note now I have no idea where this post is going, you all are the lucky recipients of my mental projectile vomit as I try to find the equations I’m looking for.

As with any mathematically driven project, I open Excel and set myself up for the least work to test equations. I begin entering values and testing the opposing situation.

The equation I have now is close to what I’m looking for but it is not quite right. When comparing a fictional match between a player of 1000 rating and a player of 1200 rating, I ran it with both players winning 2-0 and looking at the results. The 1000 beating 1200 earned himself 2.4 pts while the 1200 beating the 1000 earned 7.6 points. So obviously I am not coming at this quite right.

I have to figure out how to invert the point growth.

Here’re the equations I have:

We (Win Expectancy) = 1-(1/(K^(|(X-Y)|/400)+1))

K = Arbitrary value for the tournament or match played, I’ve been using K = 10

X = ranking of player X

Y = ranking of player Y

|(X-Y)| = Absolute value of Difference

Pts earned by winner = Zw*We
Pts earned by loser = Zl*We

Zw & Zl = The Z variable are the points earned in the match, winning 2-0 is a Zw = +10, Zl = -10 (for losing 0-2).

So any ideas or questions? I feel like I’m close but then again, I could be off my rocker.