Analysis and classification based on data points I'm not sure if this is the correct stack exchange or correct tags, but my question is as follows: 

I am working on a sort-of ratings system for players in a particular game. After allowing the ratings to develop for many games, I have set up a "database" (not sure if this is the correct term) for matches: a point in the database would consist of the score difference between the players (i.e if it's >0 player 1 won) and the rating discrepancy between the two players before this match.

The idea is to use this database in order to predict the score difference of a match that has not yet occurred: I measure the rating discrepancy between the 2 players, and lookup in my database for the score differences in games of a "similar" rating discrepancy, and based on these games I am able to predict, say, a rough probability of each score difference occurring in this match that has not yet happened.

I actually have two questions: 

1) what is a good approach to using the database to predict the probability of each score difference, i.e what qualifies as a "similar" rating discrepancy, how do I deal with extreme cases where the rating discrepancy is very large and I have few data examples of such matches (should I relax my definition of "similar"?), etc. A bit of googling shows that maybe I am looking for something relating to data clusters.

2)how would I go about implementing an algorithm as above? are there good standard implementations of such classification algorithms? I am writing in C# if it makes a difference.
One option is to use the Elo rating system.  It is based upon some mathematical theory of the sort you are mentioning.

The Bradley-Terry model is another mathematical approach that may also interest you.  It assumes that each player has an (unknown) strength, which can be quantified as a real number, and the probability that Alice beats Bob is determined by some smooth function of the difference of their strengths.  Then, given the pairwise win/loss records, it estimates the strength of each player.

See also:


https://stats.stackexchange.com/q/6379/2921
https://stats.stackexchange.com/q/30976/2921
https://stats.stackexchange.com/q/15776/2921