This might be another dense analysis but here goes nothing. The idea I set out with was to adjust each player's rushing yards for the season based on their strength of schedule.
To start, I gathered a game-by-game data set of players, attempts, yardage, and opponents. I also copied the season long rushing stats for each player in the league and added a calculation for yards per game. To determine the strength of the opponent's rush defense in that game, the idea was to divide the player's yardage for a given game by his season yards per game. This produces a percentage of the player's yardage that his opponent allowed in that game. So if a player normally rushes for 50 yards per game but ran for 75 in a given game, the "YPG Factor" attributed to his opponent would be 1.5.
So now I have a YPG Factor for each player in each game, but I need to summarize that number for all players against each team. So instead of looking at things on the level of an individual player in an individual game, I want to look at what each defense allows relative to the league average yardage. Using Yellowknife as an example - on average they allow 60.5 combined yards per game to any rushers they face. The league average yards per game allowed is 77.75 yards per game. So to get Yellowknife's yardage factor, all that needs to be done is dividing 60.5 by 77.75 which outputs 0.772. This is expressed as a formula below.
![[Image: 4anHaKB.gif]](https://i.imgur.com/4anHaKB.gif)
So, after applying this formula for all teams in the NSFL, we have the following table of yardage factors.
![[Image: lHFCXzV.png]](https://i.imgur.com/lHFCXzV.png)
Again using Yellowknife as an example, their yardage factor is 0.772. This means that a running back who averages 80 yards per game should expect to rush for 62 (or 77.2% of 80) yards against the Wraiths. On the other hand, the same running back facing Las Vegas should expect to rush for 97 (or 121.5% of 80) yards.
Now I can apply a similar approach to get an adjusted total rushing yards based on the strength of defense on a player's schedule. This is done by averaging the yardage factor for teams he's faced (SOS) and dividing (because lower numbers indicate harder SOS and the idea is to compare runners on a similar scale) his season total yardage by that number. Below is the resulting table, including strength of schedule, and actual and adjusted yards.
![[Image: 9uIvA97.png]](https://i.imgur.com/9uIvA97.png)
Obviously there isn't a whole lot of difference between each player's actual and adjusted yardage. This is partly due to the fact that right now every team is playing sort of a round robin schedule, so no players have to had to play a team like Yellowknife multiple times or seen the benefit of playing a team like Las Vegas multiple times. I would expect this to be a little more insightful as the season goes on and it's something I hope to track every handful of weeks.
GRADED
To start, I gathered a game-by-game data set of players, attempts, yardage, and opponents. I also copied the season long rushing stats for each player in the league and added a calculation for yards per game. To determine the strength of the opponent's rush defense in that game, the idea was to divide the player's yardage for a given game by his season yards per game. This produces a percentage of the player's yardage that his opponent allowed in that game. So if a player normally rushes for 50 yards per game but ran for 75 in a given game, the "YPG Factor" attributed to his opponent would be 1.5.
So now I have a YPG Factor for each player in each game, but I need to summarize that number for all players against each team. So instead of looking at things on the level of an individual player in an individual game, I want to look at what each defense allows relative to the league average yardage. Using Yellowknife as an example - on average they allow 60.5 combined yards per game to any rushers they face. The league average yards per game allowed is 77.75 yards per game. So to get Yellowknife's yardage factor, all that needs to be done is dividing 60.5 by 77.75 which outputs 0.772. This is expressed as a formula below.
![[Image: 4anHaKB.gif]](https://i.imgur.com/4anHaKB.gif)
So, after applying this formula for all teams in the NSFL, we have the following table of yardage factors.
![[Image: lHFCXzV.png]](https://i.imgur.com/lHFCXzV.png)
Again using Yellowknife as an example, their yardage factor is 0.772. This means that a running back who averages 80 yards per game should expect to rush for 62 (or 77.2% of 80) yards against the Wraiths. On the other hand, the same running back facing Las Vegas should expect to rush for 97 (or 121.5% of 80) yards.
Now I can apply a similar approach to get an adjusted total rushing yards based on the strength of defense on a player's schedule. This is done by averaging the yardage factor for teams he's faced (SOS) and dividing (because lower numbers indicate harder SOS and the idea is to compare runners on a similar scale) his season total yardage by that number. Below is the resulting table, including strength of schedule, and actual and adjusted yards.
![[Image: 9uIvA97.png]](https://i.imgur.com/9uIvA97.png)
Obviously there isn't a whole lot of difference between each player's actual and adjusted yardage. This is partly due to the fact that right now every team is playing sort of a round robin schedule, so no players have to had to play a team like Yellowknife multiple times or seen the benefit of playing a team like Las Vegas multiple times. I would expect this to be a little more insightful as the season goes on and it's something I hope to track every handful of weeks.
GRADED
![[Image: rq0K779.png]](https://i.imgur.com/rq0K779.png)