Every year, after the season ends, I look back at player performance (in fantasy points (FP)) adjusted by factoring in their strength of schedule (SoS). I want to strip out the effects of difficult or easy schedules in order to better predict player performance next season. I look at all the offensive fantasy positions, starting with QBs.

This method doesn't always work in spotting changes for next season, because so many factors go into a player's performance. For example, if you go back and read last year’s article, you 'll find a mixed bag of calls. Here's my summary from that article:

A few summary comments, just based on this analysis:

  • I like Aaron Rodgers to bounce back next year with a more normal SoS.
  • Russell Wilson and Cam Newton are legitimate Top 5 QBs.
  • Blake Bortles is a Top 10 guy but not a Top 5 QB (compare SOSA FP to SOSA W-L ranks).
  • Derek Carr is a decent low-end starting option but you may need to look for other options when he plays top defenses like Denver or KC.
  • Jameis Winston and Marcus Mariota benefitted from weak SoS as rookies and may struggle a bit more next year.
  • I’m avoiding Matt Ryan for sure and skeptical of Kirk Cousins.

I was right about Rodgers (he ended up #1 overall in the scoring system I use for this), and Bortles (7th overall), Carr (13th). Winston (12th) and Mariota (14th) were okay calls. I missed on Wilson (10th) and Newton (16th). And I totally blew Ryan (2nd) and Cousins (5th). So I'd say this method offers some insight, but frankly any single-factor analysis is going to have mixed results in fantasy football predictions.

To review the method, I start by calculating the fantasy points allowed (FPA) to QBs by each team. I divide those FPAs by the league average FPA to get adjustment factors for each team which reflect how good their defense was against QBs. I then apply those adjustment factors to the FP actually scored by QBs when they played them. Those new results I call Strength of Schedule Adjusted (SOSA) FP. To keep a player’s own performance from affecting the calculations, I excluded the games he played against a team when calculating that team’s adjustment factor for him.

QB Scoring used: Pass TD =4 FP; 25 Pass Yd = 1 FP; Rush TD = 6; 10 Rush Yd = 1 FP; Turnovers = minus 1

For example, to calculate Aaron Rodgers’ SOSA FP, I start with his Week 1 game against Jacksonville. He had a pretty good week, with 23.6 FP, good for 6th among QBs that week. Jacksonville’s FPA vs. QBs was 15.8 for all games, but 15.3 when I exclude the game against Rodgers. The league average FPA was 17.4. When I divide 15.3 by 17.4, I get an adjustment factor of 0.88. Rodgers' 23.6 FP divided by 0.88 equals a SOSA FP of 26.8. Because Rodgers played a defense better than the league average, his actual FP were less than they would be against an average defense – his SOSA FP adjusts his score upwards to account for that – in SOSA terms, he ranked 5th that week, slightly better than his Actual FP rank (I'll bet you're surprised that the Jaguars were tough on fantasy QBs – remember, this doesn't measure how good a defense is against passing in reality, a team could give up few fantasy points to QBs because the team is so bad the opposing QB doesn't have to throw much). By doing this for every game, I can get a better picture of how each QB would have performed for fantasy if he played an average schedule.

Here’s the results for the top 50 QBs. The table includes the actual FP totals and ranks as well as the SOSA FP figures. The final column is a percentage (SOSA Factor) that equals the SOSA FP divided by Actual FP. A SOSA Factor of 100% would mean that a player had an exactly average schedule. If the percentage is over 100%, it means he played a harder than average schedule and that his Actual FP understates how well he played. For example, Aaron Rodgers 106% shows that he played a harder than average slate of opponents – he would have been expected to score about 21 more FP against a neutral schedule. On the other hand, a percentage less than 100% means a QB had an easy schedule and his scoring was inflated.

Actual vs. Strength of Schedule Adjusted (SOSA) QB Fantasy Points and Ranks

Player

Actual FP

Actual Rk

SOSA FP

SOSA Rk

SOSA Factor

Rodgers, Aaron

391

1

412

1

106%

Ryan, Matt

356

2

365

2

103%

Brees, Drew

352

3

364

3

103%

Luck, Andrew

324

4

338

4

105%

Cousins, Kirk

316

5

330

5

104%

Prescott, Dak

295

6

299

6

102%

Bortles, Blake

292

7

295

7

101%

Stafford, Matthew

291

8

291

8

100%

Rivers, Philip

285

9

287

9

101%

Wilson, Russell

281

10

279

12

99%

Taylor, Tyrod

278

11

281

11

101%

Winston, Jameis

277

12

272

16

98%

Carr, Derek

274

13

278

13

102%

Mariota, Marcus

274

14

272

17

99%

Dalton, Andy

273

15

282

10

104%

Newton, Cam

269

16

272

15

101%

Roethlisberger, Ben

265

17

276

14

104%

Palmer, Carson

260

18

257

19

99%

Brady, Tom

260

19

266

18

102%

Flacco, Joe

257

20

256

20

100%

Manning, Eli

246

21

243

22

99%

Smith, Alex

234

22

248

21

106%

Bradford, Sam

232

23

233

23

100%

Wentz, Carson

230

24

232

24

101%

Kaepernick, Colin

207

25

204

26

98%

Tannehill, Ryan

205

26

206

25

101%

Siemian, Trevor

204

27

200

27

98%

Osweiler, Brock

188

28

180

28

96%

Fitzpatrick, Ryan

152

29

153

29

101%

Keenum, Case

123

30

122

30

99%

Barkley, Matt

87

31

80

32

92%

Hoyer, Brian

81

32

78

33

96%

Gabbert, Blaine

80

33

81

31

101%

Kessler, Cody

79

34

76

34

96%

Griffin III, Robert

70

35

74

35

105%

Goff, Jared

62

36

58

39

92%

McCown, Josh

61

37

66

36

108%

Moore, Matt

58

38

59

38

102%

Cutler, Jay

54

39

59

37

111%

Petty, Bryce

40

40

36

40

89%

Garoppolo, Jimmy

37

41

35

41

96%

Jones, Landry

36

42

33

42

92%

Lynch, Paxton

30

43

28

45

93%

Brissett, Jacoby

29

44

32

43

109%

Foles, Nick

28

45

29

44

101%

Anderson, Derek

22

46

19

48

89%

Hogan, Kevin

19

47

19

49

102%

Savage, Tom

19

48

19

47

103%

Cassel, Matt

18

49

20

46

111%

Stanton, Drew

13

50

12

50

93%

Some observations:

  • QB scoring for the year really isn’t affected that much by SoS. Only 1 of 50 QBs had SOSA PCTs over 110% and just 21 had one under 90%: none of those 3 players was significant for fantasy.
  • On the other hand, a difficult opponent can make a big difference in a given week. The Broncos (average FPA = 13.2) only allowed QBs to score FPs above the league average twice: Cam Newton, 22.2 FP on opening night (SOSA FP = 30.6) and Alex Smith with 23.4 in Week 16 (32.7).
  • Aaron Rodgers had the best SOSA FP game of the year with 45.4 vs. the Vikings in Week 16 (his 37.2 unadjusted FP was also the year's best in that category). The next best performance was Derek Carr's 39.1 SOSA FP in Week 8 (TB), bumped up from 36.8 regular FP.
  • Notice that Rodgers’ actual numbers were depressed by playing one of the hardest schedules (106% SOSA Factor); he actually was BETTER than his actual numbers.
  • In fact, all of the Top 9 QBs in actual points had schedules that were average or harder.
  • It is not until #10 Russell Wilson that we find a QB whose SOSA FP (and Rank) was less than his actual. He was helped by the decline in the defenses of his divisional foes: ARI was still a tougher than average defense for fantasy QB scoring, but LA and SF were easy foes this year.
  • But Bortles’ Top-5 finish was no fluke caused by an easy schedule – he played a roughly average slate.
  • Jameis Winston had the easiest schedule of any Top 20 QB; he dropped from 12th in Actual FP to 16th in SOSA FP – although his 98% SOSA Factor was not THAT weak.
  • But not as easy as Alex Smith. As bad as his year looked, it was actually worse. He was 21st in SOSA Rank.
  • Through some coincidence, the seven of the eight toughest defenses in terms of QB FPA came from different divisions. This dispersion means that every QB had at least two tough intra-divisional games except the QBs on those teams (DEN, NYG, HOU, SEA, PIT, JAX, MIN, NE).
  • Only Andrew Luck had four notably tough games within his division.

As I noted last year, I’ve never been entirely happy with using total FP (actual or adjusted) in this article. Another way to rank QBs is on their weekly performance. Average FP is one metric that is frequently used but I opted for W-L record, where a Top 12 finish in a week is a “win,” meaning the QB was startable, and anything lower was a “loss.” Top-12 is a loose standard since most fantasy owners play in 12-team or smaller leagues and want a Top-6 finish in a given week, meaning that they win most of their matchups at QB. But using Top-6 would mean almost all QBs had losing records and I felt that was misleading.

Using my standard, here’s the W-L records of the Top 50 QB in Total FP, both in actual and SOSA terms:

Actual vs. Strength of Schedule Adjusted (SOSA) QB Fantasy Wins and Losses

Player

Act
W

Act
L

Act
PCT

SOSA
W

SOSA
L

SOSA PCT

DIFF WINS

Rodgers, Aaron

12

4

0.750

14

2

0.875

2

Luck, Andrew

12

3

0.800

11

4

0.733

-1

Ryan, Matt

11

5

0.688

11

5

0.688

0

Roethlisberger, Ben

9

5

0.643

9

5

0.643

0

Brees, Drew

11

5

0.688

10

6

0.625

-1

Taylor, Tyrod

7

8

0.467

9

6

0.600

2

Mariota, Marcus

7

8

0.467

9

6

0.600

2

Brady, Tom

7

5

0.583

7

5

0.583

0

Cousins, Kirk

9

7

0.563

9

7

0.563

0

Bortles, Blake

6

10

0.375

9

7

0.563

3

Carr, Derek

8

7

0.533

8

7

0.533

0

Prescott, Dak

9

7

0.563

8

8

0.500

-1

Stafford, Matthew

8

8

0.500

8

8

0.500

0

Kaepernick, Colin

6

6

0.500

6

6

0.500

0

Palmer, Carson

5

10

0.333

7

8

0.467

2

Newton, Cam

6

9

0.400

6

9

0.400

0

Griffin III, Robert

1

4

0.200

2

3

0.400

1

Wilson, Russell

7

9

0.438

6

10

0.375

-1

Hoyer, Brian

3

3

0.500

2

4

0.333

-1

Smith, Alex

6

9

0.400

5

10

0.333

-1

Gabbert, Blaine

2

4

0.333

2

4

0.333

0

Bradford, Sam

4

11

0.267

5

10

0.333

1

Winston, Jameis

6

10

0.375

5

11

0.313

-1

Dalton, Andy

6

10

0.375

5

11

0.313

-1

Rivers, Philip

4

12

0.250

5

11

0.313

1

Tannehill, Ryan

4

9

0.308

4

9

0.308

0

Flacco, Joe

4

12

0.250

4

12

0.250

0

Hogan, Kevin

1

3

0.250

1

3

0.250

0

Goff, Jared

0

8

0.000

2

6

0.250

2

Siemian, Trevor

3

11

0.214

3

11

0.214

0

Keenum, Case

2

8

0.200

2

8

0.200

0

McCown, Josh

1

4

0.200

1

4

0.200

0

Foles, Nick

1

4

0.200

1

4

0.200

0

Manning, Eli

5

11

0.313

3

13

0.188

-2

Wentz, Carson

3

13

0.188

3

13

0.188

0

Moore, Matt

1

5

0.167

1

5

0.167

0

Barkley, Matt

2

5

0.286

1

6

0.143

-1

Jones, Landry

1

7

0.125

1

7

0.125

0

Kessler, Cody

1

8

0.111

1

8

0.111

0

Fitzpatrick, Ryan

1

13

0.071

1

13

0.071

0

Garoppolo, Jimmy

1

5

0.167

0

6

0.000

-1

Osweiler, Brock

2

13

0.133

0

15

0.000

-2

Cutler, Jay

0

5

0.000

0

5

0.000

0

Petty, Bryce

0

6

0.000

0

6

0.000

0

Lynch, Paxton

0

3

0.000

0

3

0.000

0

Brissett, Jacoby

0

3

0.000

0

3

0.000

0

Anderson, Derek

0

5

0.000

0

5

0.000

0

Savage, Tom

0

3

0.000

0

3

0.000

0

Cassel, Matt

0

4

0.000

0

4

0.000

0

Stanton, Drew

0

5

0.000

0

5

0.000

0

The table is sorted by SOSA W-L percentages, then by Actual percentages in the case of ties. “DIFF WINS” is the change in number of wins from Actual to SOSA, with a negative number being a decrease. Some comments:

  • This method puts Ben Roethlisberger and Tom Brady much closer to the top of the QB rankings because the first table penalized them for missing games (this is the 2nd straight year Roethlisberger was in the Top 4 in SOSA W-L PCT.
  • Rodgers was clearly the best QB by this method.
  • Tyrod Taylor and Marcus Mariota were better week-to-week than in total points.
  • Blake Bortles W-L PCT was depressed by his tough schedule: he had the most DIFF WINS (3) when SoS is factored in.
  • Last year only 9 QBs had a better than .500 SOSA PCT – in 2016, it was 11.
  • Wilson was a fantasy disappointment not only because his Actual FP was 10th when he was drafted higher than that, but his Actual W-L FP was 14th – and both numbers were worse when adjusted for SoS.
  • Cam Newton was an even bigger disappointment: drafted higher and worse on both actual metrics, even when using SOSA FP. But his SOSA W-L was slightly better than Wilson's.
  • Jameis Winston was a Top-12 QB (barely) in Actual FP but that didn't translate into many winning weeks: six, the same as Bortles. But Bortles numbers were depressed by SoS: his SOSA W-L PCT was pretty good while Winston's was lowered when SoS was accounted for.
  • Philip Rivers was, by far, the worst week-to-week QB of any total points Top 12 QB – and 3 of his 4 wins came in the first 5 weeks of the year. He was consistently mediocre, with 8 of his last 10 games ranking between 13th and 17th.

The caveats on this article are:

  • Players like the CLE QBs who played a limited number of games show bigger swings in SOSA FP due to the small sample size.
  • Weather and injuries are not factored into the calculations.
  • Nor are teams sitting out starters in Week 17.
  • A team with a poor running defense and weak offense might appear to have a better defense against QBs than it really does because teams didn’t need to throw a lot against them, distorting the adjustments.
  • Since QB FP scoring includes rushing points as well as passing, FPA for a team that played several good running QB might not be a good number to use for calculating the SOSA FP of a static QB like Tom Brady.

A few summary comments, just based on this analysis:

  • None of the top QBs should take a big hit next year due to SoS since they all had fairly tough schedules in 2016.
  • Russell Wilson and Cam Newton had down years and it really wasn't due to SoS.
  • I like Jameis Winston's youth, but his leap forward in 2016 was partly due to an easy schedule.
  • With a player like Roethlisberger, you have to decide whether you're drafting for total points (17th Actual, 14th SOSA ranks) or weekly performances (Top 5 W-L PCT), accepting a few missed games.
  • Winston illustrates the most important point: different factors can points in different directions for future performance (age vs. SOSA in his case); you need to account for all of them in making predictions.