FWIW John, I think your handicap system is working very well if you have a 49/51 ratio currently in place. I say this because I've never seen one be that close over a period of time that gave valid numbers.
How is your system computed? I'm thinking about starting a straight pool league. (perhaps joining one would be better....)
Here is a description of our SP league’s current handicapping system and why I think it works fairly well.
Everyone has a numerical rating (handicap points), between 250 and 1250, though additional ranges at the top could easily be added if players of that ability were to join. There are also 20 Skill levels, which correspond with 50 point ranges of handicap points, so Handicap points of 250-299 is a beginner, 600-649 is a “B-“, etc. We have a list of all the corresponding relationships printed on our Standings Page.
Matches are determined by using a table, we call it a Match Calculator, where we find the intersection of the lower skilled player’s horizontal row with the stronger player’s vertical column. In this cell is the lower skilled player’s target, and the higher skilled player’s target is the number at the bottom of that same column.
The target for the higher skilled player will be one of 4 numbers, 75, 100, 125 or 150, depending on his/her skill level, with the 1st 5 levels going to 75, next 5 going to 100, etc. Having everyone go to the same number doesn’t work well if the skill levels are widely divergent for two main reasons. If we use a low number, say 75, the lower skilled player isn’t required to get enough points, and if they have a couple good racks they’re nearly done. If our highest skilled player plays the lowest skilled player, the match would be 75-16. Second, the games aren’t long enough for two more highly skilled players playing each other.
After every match, the handicap points for both players are adjusted based on the results of the match. Since the winner always reaches his/her target, we use the loser’s deficit from their target as our way of measuring how one sided the match was.
One of three adjustments will be made. If the game is not won by 10 points or more, no changes to handicap points are made to either opponent. If the loser reached 75% but not 90% of his target but lost by 10 or more, the handicap points of both players are adjusted by 13 points, winner up, loser down. If the loser didn’t reach 75% of their target, but still lost by 10 or more, the adjustment is 26 up for winner and 26 down for loser.
For players new to our league, i.e., their first 6 games of their first season, we increase the adjustments to 20 and 40 points, instead of 13 and 26. This is to more quickly get them to a handicap point number that fairly represents them in the event that we have made a poor initial estimate of their skill level. This initial estimate, done by our executive steering committee of 4 people, is the only time subjectivity enters into our system, everything else from this point forward is strictly mechanical.
I wanted each skill level to represent the same sized improvement over the next lower skill level, so in our Match Calculator, every level is 11% below the higher level.
In the 1st two seasons, our players expressed some dissatisfaction with the system, because their skill levels were changing too frequently. They were used to other leagues where the levels changed, but slowly. To facilitate this we cut the size of the adjustments so that it would take 4 moderate wins to go up a level, if you were at the bottom of your existing level. If you had 2 blow-out wins in a row you would also go up a level. This has worked well and solved the stability problem.
It’s very important that a handicap system be fair, and it’s particularly useful to be able to show that it’s fair. What I do is look at all of the matches in the aggregate and see how often the weaker player wins compared to the stronger player. With many matches played this gives a very good sample and a good overall indication of overall fairness. I publish this number (on the Win Distribution tab, in the weekly status report, so that anyone interested can check it out. Right now it’s 49%/51% after 77 matches between unequal players.
Early on the differentials between levels were 10%, but over time too many matches were being won by the stronger players (~60%). I raised the level differential to 11% and that has done the trick. I don’t view this as subjective because it affected everyone equally.
Anyway, this might seem complicated but in practice it is quite simple, since I have a spreadsheet doing all the calculations. One issue is that when players want to play more than one match between weekly updates of the stats, they have to contact me to determine their new skill level for the next match. I’m retired and only run one league, so this has not been a problem, yet.
One issue that has occurred but no one has complained is when a person plays two matches in the same week but doesn’t contact me to get a new skill level but just plays on the old one. If their skill level would have changed then the new match is played with the wrong spot. I’ve reiterated to people that they need to make sure all player’s handicaps are up to date, but if they play with the old numbers I just let it stand.