I use a system I saw on the North Jersey Poker League site.
http://www.northjerseypoker.com/page/rules.htm
NJPL uses a system borrowed from Poker School Online to rank each player's position. Every quarter a new cycle starts allowing anyone to achieve top ranks. Cumulative statistics are also recorded.
The Natural Logarithm Rankings system gives no advantage to simply playing more often; it gives more weight to good results, and less weight to bad results, such that one exceptionally bad result does not kill your ranking and one exceptionally good result will not boost your ranking dramatically.
Calculation details:
Where "X" is finishing place out of "N" players, each player's individual tournament result is valued at:
ln ( (N + 1) / X )
ln = "natural" base for logarithms - a universal number known as "e" = 2.718282.
and "natural logarithms" are logarithms "to the base e" - that is, numbers expressed as powers of "e".
For example, with 300-player tournaments, a player finishing 1st, 300th, and 300th would rate 1.9046, just slightly better than a player finishing 45th every time, 1.9004.
Then these natural logarithms are converted back into percentiles. To convert the natural log score back to percentile, you need to use this formula:
(1 - exp (-L) ) * 100
The variable L is the average of all the natural log score. The "exp" means the inverse of natural log.
For example:
Log scores from 3 different tournaments: 1.5, 2.0, and 1.0.
The average of these three tournaments is 1.5.
Then plug that number into the above formula:
= (1 - exp ( -1.5 ) )* 100
= (1 - 0.22313016 ) * 100
= 77.686984
Doesnt take pot size into account though.
Good luck.
Jesse