I use an algorithm similar to Microsoft's TrueSkill, as this is generally agreed to be better than ELO for team games.
Your MMR rating shows your skill level compared to other players. As this reflects skill, playing more games will not raise your MMR by itself. If you want to raise your MMR, you'll need to get better :)
After each game, your MMR is updated based on the result of the game, as well as the current average MMR of each team.
If you were matched against a team with MMR higher than your team, and you win, your MMR will be raised more than normal. Similarly, if you are matched against a team of lesser skill, and lose to them, your MMR will drop more than normal.
With MMR fluctuating like this, after playing for awhile, you should end up with a pretty accurate MMR, and a win rate pretty close to 50%.
I've put together different 'leagues,' which essentially breaks up the leaderboard. I want players of all levels to find value in this site, and with one leaderboard it is kind of overwhelming to start at the very bottom. Having leagues gives you some milestones to work towards.
Different leagues also means I can have different requirements for each league. As time goes on and more replays are uploaded, I will likely make more games required in order to be listed on the top leagues. I'll always keep the entry requirement into the bottom leagues lower, so newer players can hopefully see themselves on the list pretty quick.
Leagues are just splitting up players by MMR into groups. After excluding players with less than 10 games played, Master League is the top 1%, Diamond is the next 9%, Platinum / Gold / Silver are each 20%, and Bronze is the final 30% of players.
Can't find yourself on the leaderboard? Your MMR may place you in a higher league, but you don't have the required number of games to be eligible. The MMR markers for each league are calculated before checking if players have the required number of games.
When you play your first game, the system does not know how good you are, so you start with a default MMR. Your earlier games are weighed more heavily in order to speed up the process of finding the best place for you, and as you play more games, they will have less and less of an impact on your MMR.
This means that your wins and losses early on will change your MMR significantly in both directions.
This is common for games with matchmaking, and usually helps in quickly getting you matched against players of your skill level.
This does not mean you are 'stuck' after you've played a few hundred games - it just means your MMR doesn't shift as drastically as it does in your first few games.
Losing Streaks in 'Placement Matches'
Some players have contacted me, asking to remove certain games, or give them 'fresh starts' because they did not know their early games were their 'placement' matches.
Starting with a losing streak is unfortunate, but so is starting with a winning streak. For example, I won all 5 of my first placement matches in Starcraft 2, and got placed in Gold league. I was so excited, I bragged to my friends who were placed in Bronze or Silver. I knew I had some lucky games, but the end result is what matters. And then I lost 13 games in a row and was dropped to Bronze. I shouldn't have been placed in Gold league to begin with, and as time went on and I played more games, Blizzard's matchmaking became more confident and accurate, and I started winning 50% of my games.
The reverse is true here: If you had a losing streak in your 'placement matches' on HOTS Logs, then you will start with a pretty low MMR. If this is inaccurate, and your MMR truly should be higher, Blizzard will be placing you against teams with higher MMR. If you win 50% of your games against players with MMR higher than you, your MMR will slowly climb up to theirs.
Unfortunately, if your MMR has indeed been inaccurately affected by a losing streak in your placement matches, the solution is to just play more games. It may take more games than if you had won some of your placement matches, but your MMR will end up where it should be eventually. The solution here is not to delete the replay, though; this would remove the replay from the other 9 players in the match as well, and we need more replays uploaded in order to be confident in MMR calculations.
Some players have contacted me about MMR accuracy, believing they should be higher on the leaderboard.
Firstly, make sure you have played a good amount of games. When you start out, your MMR is unknown to me, and the system has to guess at your skill. Don't spend too much time thinking about MMR if you haven't uploaded at least 100 replays, and preferably more.
If you have a lot of replays uploaded, how can you determine if the MMR I calculate is accurate? Look at the individual players' MMR in your matches, and each team's average MMR. Generally, each team's average MMR should be pretty similar.
There are times where MMR isn't accurate. In cases where established players have only uploaded a few replays, their true MMR is unknown to me, while Blizzard probably has a pretty good idea of it. If a player's change in MMR after a match is significant (a change greater than ~50), that player's skill is still somewhat unknown to me, and I have to make guesses on what their MMR actually should be.
The best way to improve the accuracy of my calculated MMR is to upload more games :) Ask your friends to upload theirs; the more replays I can look through, the more confident I can be about skill levels.
On a related note, it is encouraging to see many of the more famous pro-gamers in the top 100 of the leaderboard, as well as in matches against eachother :)