5. How does the ranking calculation work?
First, all scores are normalised to 100, so it doesn't matter you play til 10 or til 15, you can receive the same amount of points.
= ( 1 / +1 ) * ( 0  1 ) * ( 0  1 ) * ( 0  50 )
Ranking = winlosefactor * diffopponentfactor * diffrankingfactor * diffscorefactor
A) winlosefactor: winner gets +1 , loser gets 1

If you win you gain points, if you lose, you lose points.
WLF = player = winner ? +1 : 1
B) diffopponentfactor ( 0  1 ):

If you play against the same person to often, you can get less points playing against this player.
DOF = gamecount < 10 ? 1 otherwise ( 1  minmax( 0 , opponentCount / games1  0.1 , 0.5 ) * 2 );
C) diffrankingfactor: ( 0  1 ):

Win from higher ranked players > more points
Win from lower ranked players > less points
Lose from higher ranked players > less points
Lose from lower ranked playerS > more points
MAX_DIFF = 250 ( = verschil in ranking > 250 ? DRF precies 0 of precies 1)
DRF = (MAX_DIFF  maxmin( MAX_DIFF , rW  rL , +MAX_DIFF ) ) / (2 * MAX_DIFF)
D) diffscorefactor:

Get more points when you wipe your but with your opponent.
DSF = maxmin( 0 , abs( score1  score2 ) , 100 );
