What determines amount of rank gained/lost?

Comment below rating threshold, click here to show it.




So I had assumed rank gain and loss was straight ELO... but all my games lately have been much less movement... and one game, I was playing with someone who has a higher score than me, and when we won, he got more +rank than I did, which doesn't make sense for ELO.

Can someone explain the calculation to me? Thanks.