I'm having a bit of a brain melt here.
I have a set of people. They compete against each other in timed events. Each compeition yields a set of results showing everyone, ranked by their times.
From this data, I can see that (say) person A has beaten person B 73% of the time in 48 meetings. Simple.
Let's suppose I have people A B C D E F G though. For any pairing I can see who's the victor by comparing them to each other, but how do I come up with the "most accurate" OVERALL ranking?
Does it need to be some sort of iterative process? Any tips appreciated, I don't know where to start really!
(Each competition is not necessarily a complete set of all of the competitors, if that matters.)
I might like to further improve things by taking into account their relative times, not JUST "A beat B" or "B beat A". "A beat B by 6.3 seconds", etc etc. But let's keep things simple for now, I think!
Happy to give more info if needed, just tell me what!
Many thanks!
As a first step, I'd implement the elo rating system.
http://en.wikipedia.org/wiki/Elo_rating_system
It will do a decent job. You can get fancier with more complicated systems like Glicko or Trueskill, but I'd just go with Elo first and see if it is good enough for you.