Rating 8-Ball Players: FARGO RATINGS

@justinhays: Respectfully, if your hypothetical person really played that way he deserves a poor rating. After all, he played 20 games and never won. Pool is about winning not about leaving the fewest balls on the table when you lose.

If a person is constantly running up to the 8 but not getting out they have a big problem and should be working on it.

@Neil: Most handicapping systems weight each person's better scores more than average. Since better players are more consistent than weaker players, i.e., their best and worst performances tend to be much closer to their average performance, the better player usually has an advantage over a weaker player in fairly handicapped matches.

@Mike: Thanks for doing this. As usual you're doing great work. Hope you succeed at Fargo Billiards beyond your wildest dreams.
 
Neil, at around 8:40 in the video, he states there is a small advantage to the higher rated player.

My limited experience with game on the wire handicap systems is that the stronger player has an advantage. That is not a slam of this system, just my experience.
 
Not cynical, observant.

Serious pool isn't for everyone and handicapping is a way to get the other folks, the group with the big membership and lot$ of dough to spend, to participate.

BCA leagues are different, as are many in-house leagues or leagues dedicated to different games, like 14.1 or 1P.

Good luck with finding people to play that take the game as seriously as you do. Sounds like you may have to go elsewhere. It's amazing how different the culture can be from room to room.
 
English is not my first language, so I'm somewhat confused about the terminology at places.

The video mentions that you don't need to count innings which I take it to mean that if John plays Mary and wins 7-3, then John's rating is adjusted only based on the match win, not the exact (7-3) result. And the examples of the simplified formula in the PDF support this.

But then again, reading the PDF gives the impression that the exact results do count:

"As an example, suppose you are playing an unhandicapped race to 7 in a tournament against an opponent who is 50 points better than you. The expected outcome, based on your ratings, is you win 5 games and your opponent wins 7 games and wins the match. If this is what actually happens (you lose the match 5-7), your net rating change is zero. Your rating goes up for each of the five games you won, and it goes down by a slightly smaller amount per game for each of the seven games you lost. Your net rating change, once again, is zero, as is your opponent’s."

I think it could be easiest to give a concrete example. Let's say

* John is 450 player (robustness 100)
* Mary is 400 player (robustness 100)

They play a handicapped match, starting 0-1 to Mary's advantage, to five wins (first to five).

John wins 5-4. How do the ratings change?

What I'm looking for with all this is whether I can make a database of ratings based on pass results in certain handicapped tournaments.
 
... The video mentions that you don't need to count innings which I take it to mean ...

An inning is one turn at the table. A single game of eight ball or nine ball could take the winner one inning or twenty. The loser might not have an inning.

Some handicap systems count not only how many turns each player has in each game, but also what sort of shot ended each turn -- safe, miss, foul. This kind of system requires careful, accurate scorekeeping.

The Fargo Rating system requires only the match score (e.g. 7-3) which most players can handle without too much trouble.
 
Last edited:
It seems like a great system. I like how its divided up, I guess I consider myself an advanced beginner so to speak but with the way he stated it I fall in the 400 range,maybe high 400s, running racks occasionally. So that would meaning playing the top pros the Coreys and Shanes and such I'd be going to 2 against their 8. Now I do think they'd beat me way more than I'd beat them,but I would at least have a chance. Now as far as people not having incentive to get better. I would think that most, not all, but most would have pride in getting their rating higher each year by actually working at it. Now I know that there are always people out there just looking to slide by and use the system but I'd like to hope that that is the exception to the rule.
Trevor
 
Is there some meaningful way to describe how fast Fargo Rating converges?

The reason I ask is that I've been experimenting with the system with the results of our weekly tournament and I'm not sure how accurate the scores are after like 10 tournaments with each player playing 2-6 per tournament.

Edit:

Another question:

How do you "bootstrap" the system? What I mean is that when none of the players have a rating, let alone robustness, it seems that the changes are a bit too dramatic. It's not a problem when a new player enters the system and plays against established players, but when you start using this rating, none of the players have a rating and those updating procedures seem to give too dramatic changes.
 
Last edited:
... How do you "bootstrap" the system? ...
A simple way to make the present ratings match as closely as possible all the data you have so far is to run all the data through the updating system multiple times. Then you have to reset the "robustness" values to their correct values. The full optimization procedure described in the PDF document is the "correct" way to determine the most likely ratings, but it's harder to program.

I think you simply have to wait until things settle down after more events -- the system can only tell you what the data say. If you can find older events, you can put them into your database. You should make sure the events are handled in chronological order, as it's no good to enter results from 2006 into the system after 2010 results if the skills of the players are changing.

Setting the beginning ratings is the hardest part of running the system. Some things that can help with that are skill tests and knowledge of who the new player plays roughly even with.

If you are using the ratings for handicapping, you may be able to prevent complaints by only partially handicapping the matches for the first dozen or so handicapped events. For example, you could use the standard handicap tables but reduce the rating difference between the two players by 50 points before setting the match, so two players 50 points or less apart would play even. The next week, you could use a 45-point reduction. Players really hate to have given a handicap to a superior player.
 
Sorry for being so stupid and stubborn, but I want to get this right.

I think it could be easiest to give a concrete example. Let's say

* John is 450 player (robustness 100)
* Mary is 400 player (robustness 100)

They play a handicapped match, starting 0-1 to Mary's advantage, to five wins (first to five).

John wins 5-4. How do the ratings change?

So the updating formula is this:

di = 630 * [n - Pij(n + m)] * ( (Nj - (n + m) / (Nj * Nj) )

If we update John's rating it should go like this:

di = 630 * [5 - Pij(5 +3)] * ( (108 - 8 ) / ( 108 * 100 ) )
= 630 * [5 - 0.58 * 8] * ( 1 / 108 )
= 630 * [5 - 4.68] * ( 1 / 108 )
~= 1.86

And similarly for Mary. (Although we would use the ranking for John that he had during the match, of course.)
 
[...]
So the updating formula is this:

di = 630 * [n - Pij(n + m)] * ( (Nj - (n + m) / (Nj * Nj) )

If we update John's rating it should go like this:

di = 630 * [5 - Pij(5 +3)] * ( (108 - 8 ) / ( 108 * 100 ) )
= 630 * [5 - 0.58 * 8] * ( 1 / 108 )
= 630 * [5 - 4.68] * ( 1 / 108 )
~= 1.86

And similarly for Mary. (Although we would use the ranking for John that he had during the match, of course.)

That's almost right. The denominator is (Ni * Nj) rather than (Nj * Nj), and its value is (108 * 108) rather than (108 * 100). So John's rating goes up by ~1.97 points.

Also, the Ni in the denominator really determines how fast John's rating moves. We don't allow that to go below 75 even if John's robustness is below 75. So Ni becomes MAX(Ni,75). That's about two tournaments or half a league season of play. We also cap how large it can be. If we cap it at 750, then Ni becomes MIN(750,MAX(Ni,75)). This cap is about five league seasons or 20 tournaments of play.
 
OK, thanks, I think I got it now. :-)

Another question. Let's say you have a weekly handicapped tournament where the system is as follows: players are assigned a handicap from 0-3 and all matches are played so that the higher handicapped player plays to 3 game wins.

Now, assuming we have accurate Fargo Ratings on most players (and for the rest we can assign an accurate enough rating), how do we divide the players into the handicap groups? I'm not worried about getting all matches to be as fairly handicapped as possible for the weaker player, but that this system works funnily at the thresholds of handicaps. Let's say that players with 0 handicap are 550+ and 1 handicap players are 550-450. Now, in a match between 560 and 540, the weaker player in fact gets an advantage, because he gets to start from 0-1 to four games.

I'm thinking that this type of system would need finer grouping. So we would have groups like this:

A 550+
B 500-550
C 450-500
D 400-450
E 400-

And matches would be handicapped only if the difference is at least two groups. So player from A plays against player from C and the handicap would be 1 for C player. This way a player who drops from 551 to 549 in rating wouldn't suddenly be getting a handicap against 552 player.

The problem I (might) have is that if we used this system, I don't think we could handicap all individual matches based on the rating. We need to have these sort of handicap groups and too rigid boundaries on the handicaps could become a problem and result in pretty unfair handicaps.

Not a criticism for the rating system, I'm just trying to think of ways to utilize this in the weekly tournaments I've been playing in. :-)
 
Is there some meaningful way to describe how fast Fargo Rating converges?

The reason I ask is that I've been experimenting with the system with the results of our weekly tournament and I'm not sure how accurate the scores are after like 10 tournaments with each player playing 2-6 per tournament


Edit:

Another question:

How do you "bootstrap" the system? What I mean is that when none of the players have a rating, let alone robustness, it seems that the changes are a bit too dramatic. It's not a problem when a new player enters the system and plays against established players, but when you start using this rating, none of the players have a rating and those updating procedures seem to give too dramatic changes.

We've been playing around with this a bit. It seems like a minimum robustness of around 40 gives fast-but-not-too-fast convergence. Here is a chart I prepared based on yesterday's tournament.

We had only 9 players. We used "chart 12, " meaning closely-rated players play 6-6. Very far apart players play 9-3 or 9-2, etc... After the tournament and as an experiment, I set everybody's initial rating to the average rating of 432. Then I used the update procedure for the whole tournament. Here are the results.
 

Attachments

  • frchart.JPG
    frchart.JPG
    60.2 KB · Views: 332
Looking at how chess and go ratings are defined, I see both have dealt with possible inflation or deflation of ratings. The basic idea I guess is that new players "take points" from the system by entering with a low score and getting points from the rating point pool. Do you see that this could be concern in the long run and whether it should be dealt with?

It's not a major concern for me personally, but I was interested to know whether this should be dealt with.
 
I do like this method for its ease of use (implementation) and that rating adjustments always reflect the current situation. One problems though and one question.

I followed through the math and got confused with a couple of posts. When I crunch the numbers, I get a different result from what Mike said - "John's rating goes up by ~1.97 points." Where did I make my mistake?

Pij = 1 / (1 + 2^(450-400)/100)

di = 630 * (n - Pij * (n + m)) * ((Nj - (n + m)) / (Ni * Nj))

di = 630 * (5 - 0.586 * (5 + 3)) * ((108 - (5 + 3)) / (108 * 108))

di = 630 * (5 - 4.688) * (0.008573)

di = 1.69


Wouldn't there need to be an adjustment to a player's rating if they moved from one group using the Fargo ratings to another group also using them? Would it be the same as a new player, but with a better idea of where the fit?
 
I do like this method for its ease of use (implementation) and that rating adjustments always reflect the current situation. One problems though and one question.

I followed through the math and got confused with a couple of posts. When I crunch the numbers, I get a different result from what Mike said - "John's rating goes up by ~1.97 points."

Where did I make my mistake?

Your mistake was listening to Mike ;-)

I think I just multiplied his number by 108/100 rather than the correct 100/108.

Pij = 1 / (1 + 2^(450-400)/100)

di = 630 * (n - Pij * (n + m)) * ((Nj - (n + m)) / (Ni * Nj))

di = 630 * (5 - 0.586 * (5 + 3)) * ((108 - (5 + 3)) / (108 * 108))

di = 630 * (5 - 4.688) * (0.008573)

di = 1.69


Wouldn't there need to be an adjustment to a player's rating if they moved from one group using the Fargo ratings to another group also using them? Would it be the same as a new player, but with a better idea of where the fit?

Two independent or nearly independent groups can drift apart, especially if they start new players differently. Importantly, though, they will always be apart by a constant factor -like
city A's 500 plays like city B's 510
city A's 320 plays like city B's 330
city A's 670 plays like city B's 680

At any point, though, city B can reduce everybody's rating by 10 points without changing anything within the city--because it is only the rating differences that matter.

The data to make these kinds of adjustments can come from results at vegas or at learge refional tournaments where many players from both cities play against common competition.
 
To many players this may not seem to be a hot thread.Introducing mathematical formulas can seem less than glamorous,but opening discussion to a wider audience helps familiarize the audience,pool players in general,with the statistics,structure and terms that may be used in the future to define the game.One of the most beautiful and intricate games in the world deserves a much larger data base to decide pecking orders and have players think on multiple levels--texture.

This is a good thread and a good idea.Thanks to all who are progressing with this and other similar systems. JMuck
 
Last edited:
By the way Mike, are you planning to make your spreadsheet publicly available in any time soon?

I've managed to convince the director of our weekly tournaments to maybe give this system a shot and we agreed that it has to be automated through the spreadsheet that he uses for entering the results for our tournaments. There's nothing particularly difficult about doing such a spreadsheet by oneself, but I personally have no experience in spreadsheet programming and anyhow there's some work to be done that I'd like to skip doing. That, and I guess your spreadsheet is more likely to be correctly implemented. :-)
 
By the way Mike, are you planning to make your spreadsheet publicly available in any time soon?

I've managed to convince the director of our weekly tournaments to maybe give this system a shot and we agreed that it has to be automated through the spreadsheet that he uses for entering the results for our tournaments. There's nothing particularly difficult about doing such a spreadsheet by oneself, but I personally have no experience in spreadsheet programming and anyhow there's some work to be done that I'd like to skip doing. That, and I guess your spreadsheet is more likely to be correctly implemented. :-)

I'm also very keen to implement your rating system in my local tournament. Will you be revealing the spreadsheet soon?
 
Back
Top