Your awarded more SR per win and lose less SR per Loss based on however skilled the Matchmaking AI believes you to be. It was never revealed to us how exactly the game calculates your skill however what we do know is the AI will use statistics and compare you to players of the same SR range so a good guess pretty much stat farming (while ensuring not to lose of course).
In platinum and below, SR/MMR gains are adjusted up or down based on the performance of the player. This is a minor factor (2, 48). This is done based on a numerical comparison of measureable quantities such as elims, deaths, assists, damage blocks, ults cast, etc. between a given player and other players of that hero at that MMR (8). Generally it is assumed that the measured stats are those visible to the player, but that has never been confirmed by Blizzard. Most of the details of this implementation are fuzzy and not published (probably to reduce exploits). This performance measure is correlated but not identical to “on fire” calculations. “On fire” compares a player to his teammates, while SR/MMR bonuses compare a player to other players that are not in the current match, but in a similar skill bracket, and playing the same hero (8).
There are two camps, those who don’t want their SR/MMR to be so heavily influenced by those in their group, and those who worry that having a performance based system will cause people to not play the objectives / win conditions and instead go stat hunting. In addition to people who go stat hunting, people can unintentionally be at the wrong rank because their good / bad play is not reflected in their stats. In the early days, these groups were roughly equal, but lately those advocating for no performance modifier are more numerous.
Starting in season 8 (January 2018), the performance modifier was removed for diamond and above (35). Blizzard has started to realize that having a motivation other than winning causes all sorts of non-ideal behavior and effects.