Ranking System (ELO) I want to create a ranking system for a sports game, where more that 2 "teams/players" participate in each match. This means NOT chess, or soccer, or boxing. It could be bowling or long jump etc. For example let's say it's running 100m.
One way of doing so is that every player gets 3 points for 1st place, 2 points for 2nd place and 1 point for 3rd place. But I don't want the ranking to be accumulative. I want to gain and lose points, so that your score represent your current form.
So I thought of the ELO rating system. Assuming that every player has an ELO before the match, these are some variations i have thought so far:
1) calculate an expected time for each player. then, according to his time he either gains or loses ELO points
2) assume that every player is having a mini-match with every other player. Then we just look if a player has won or lost a mini-match, regardless of his time.
Then I though of some modifications to second case:
2a) mini-match not with every other player, but only with N number of players each time. These players will be the players whose ELO is closer to yours.
2b) discard matches where less than M players participate.


*

*Do you find any flaws to my thoughts?

*Do you have something else to propose?


Edit: Any abstract ideas are fine to be proposed. I need as many different ideas possible. I will be able to figure out then which to implement.
 A: Some ideas:


*

*Take a discounted average of past finish times. That is, suppose there is a race each month $m$, and some associated finish time $t_{im}$ for runner $i$, then the discounted average is $$DA_i=\frac{\sum_{m=0} \delta^m t_{im}}{\sum_{m=0} \delta^m},$$
where $m=0$ is the current month and then we count backwards. $0<\delta<1$ is the discount factor. In effect, a time $t$ gets less weight the farther in the past it is - this reflects current shape. (This can also be viewed as the predicted running time for a new race.)

*Use a multinomial logit model. Logit models are very popular in empirical applications. They help you predict the probabilities that some runner wins a match given some characteristics, like number of contenders.

*Use forecasts from betting or prediction markets. If you try to classify actual 100m runners, then the public has an often very accurate forecast of who is going to win, which you can find out by looking at betting odds or prediction market prices. In these markets, people stake money on their beliefs, so only people who are reasonably sure that they are right actually bet, which makes these forecasts pretty accurate (there is a lot of empirical research on this). Of course, this doesn't work for runners which are not featured on tv. 
