≡ Menu

Background reading:

Part I

Part II

Part III

I’m going to assume you have read the first three parts of this series; today, I want to go through how to adjust passer rating by era while keeping the weights of 5, .25, 20, and 25 on the four variables. As a reminder, here are the formulas used for the four variables in passer rating, once you ignore the upper and lower limits:

A = (Cmp% – .30) * 5
B = (Y/A – 3.0) * .25
C = TD% * 20
D = 2.375 – Int% * 25

Adjusted Completion Percentage

For completion percentage, we can do a simple era adjustment because the multiplier is not directly tied to league average. Instead, league average is intended to be 20% higher than the floor, which is 0.30 in the original formula. So we need to rewrite completion percentage as simply

A = (Cmp% – (League_Avg_Cmp% – 0.20) ) * 5

So in an environment where the league average completion percentage was 50%, you would insert 0.3 in the blue parenthetical; in 2016, tho, you would insert 43.0%.

Adjusted Yards per Attempt

Just like with completion percentage, we can do a simple era adjustment because the multiplier is not tied to the league average rate.  Here is the current formula:

B = (Y/A – 3.0) * .25

Remember, the goal was to make B = 1 for league average, and since we divide the result in the parenthetical by 4 (or multiply by 0.25), it’s easy to figure out that the average Y/A was supposed to be 7.0.  League average in this metric hasn’t changed much, but we can still era-adjust this simply with the following formula:

B = ( Y/A – (League_Avg_Y/A – 4.0) ) * .25

For 2016, we would insert 7.2 into the blue parenthetical.   It gets a little bit trickier with the next two.

Adjusted Interception Rate

Let’s skip ahead to this one, since we have been focusing on it the last two days.  Here is the current formula:

D = 2.375 – Int% * 25

In an environment where the league average INT rate is 5.5%, this “works” in producing a result of 1.0 for the average passer.  But to keep the multiplier at 25 and also adjust for era, we must use the following formula:

D = 2.375 – (Int% * 25 + (1.375 – 25 * LgAvgINT_Rate) )

For 2016, you get a result of 0.8 in the blue parenthetical; with a 2.3% interception rate, that would cause the full parenthetical to sum to 1.375, giving us a 1.0 result for an average passer.  This is what we described yesterday, and we can use a similar formula for touchdown rate.

Adjusted Touchdown Rate

Here is the current, simple formula:

C = TD% * 20

But again, we don’t want the multiplier of 20 to fluctuate, which was intended to work with a 5.0% touchdown rate. Instead, we need something like this:

C = TD% * 20 + (1 – 20 * LgAvgTD_Rate)

For 2016, this involves adding 0.14 as the constant.  That’s because the league average TD rate was 4.3%; so an average passer would get 0.86 before you add what’s in the parenthetical, which is simply 1 minus 0.86.  This is a clean solution that keeps the value of a TD at 80 yards (putting aside whether that’s good or proper, it at least doesn’t change the internal structure of passer rating).

New Formula

Here are the new formulas for each of the four variables:

A = (Cmp% – (League_Avg_Cmp% – 0.20) ) * 5
B = ( Y/A – (League_Avg_Y/A – 4.0) ) * .25
C = TD% * 20 + (1 – 20 * LgAvgTD_Rate)
D = 2.375 – (Int% * 25 + (1.375 – 25 * LgAvgINT_Rate) )

This is essentially what the designers of passer rating would have done in 1972 if they were worried about era adjustments, in my opinion. This would have resulted in substantially the exact same formula for the 1973 season, but would have a built in era adjustment.

If you want to put this into excel, you can use the following formula:

=IF(C2>223,SUM(MEDIAN(0,2.375,(D2/C2-(H2-.2))*5),MEDIAN(0,2.375,[1]E2)/C2-(I2-4.0*0.25),MEDIAN(0,2.375,(F2/C2*20)+(1-20*J2)),MEDIAN(0,2.375,2.375-[2]G2/C2*25)+(1.375-25*k2))/6*100,0)

With the following cells containing these values:

C2 = Attempts
D2 = Completions
E2= Passing Yards
F2 = Passing Touchdowns
G2 = Interceptions
H2 = Lg_Avg_Cmp%
I2 = Lg_Avg_Y/A
J2 = Lg_Avg_TD%
K2 = Lg_Avg_INT%

Using this formula, every passer in 2016 sees a decline of 22.59 points in their passer rating. That’s a good thing: it adjusts for era without changing the order within a given season. Seeing a bunch of passer ratings in the 60s and 70s would take some getting used to, but based on league averages of 63.0%, 7.15 Y/A, 4.30 TD%, and 2.27 INT%, we get the following results:

Rk AttCmpYdsTDIntPasser RatingPasser Rating+
1Matt Ryan*+5343734944387117.194.5
2Tom Brady*4322913554282112.289.6
3Dak Prescott*4593113667234104.982.3
4Aaron Rodgers*6104014428407104.281.6
5Drew Brees67347152083715101.779.1
6Sam Bradford552395387720599.376.7
7Kirk Cousins6064064917251297.274.6
8Derek Carr*560357393728696.774.1
9Andrew Luck5453464240311396.473.8
10Marcus Mariota451276342626995.673.0
11Ben Roethlisberger*5093283819291395.472.8
12Ryan Tannehill3892612995191293.570.9
13Matthew Stafford5943884327241093.370.7
14Russell Wilson5463534219211192.670.0
15Andy Dalton563364420618891.869.2
16Alex Smith489328350215891.268.6
17Colin Kaepernick331196224116490.768.1
18Tyrod Taylor436269302317689.767.1
19Philip Rivers5783494386332187.965.3
20Carson Palmer5973644233261487.264.6
21Jameis Winston5673454090281886.163.5
22Eli Manning5983774027261686.063.4
23Trevor Siemian4862893401181084.662.0
24Joe Flacco6724364317201583.560.9
25Carson Wentz6073793782161479.356.7
26Blake Bortles6253683905231678.856.2
27Case Keenum322196220191176.453.8
28Cam Newton5102703509191475.853.3
29Brock Osweiler5103012957151672.249.6
30Ryan Fitzpatrick4032282710121769.647.0

Current passer ratings are out of control, so these adjustments will allow us to compare passers across different eras. We’ll do that tomorrow using this formula. For now, let me know your thoughts in the comments.

References

References
1 E2)/C2-(I2-4.0
2 G2/C2*25)+(1.375-25*k2
{ 13 comments }