Quarterback Assessment

Created by Elijah Horton. Free for all personal, commercial and derivative use with attribution.


What Is QBA?


Philosophy

        The goal for QBA is to be a more inclusive assessment of quarterback play, easy to calculate, and to need only
        information that can be gleaned from the average boxscore.

        It does no form of clutch weighting, since any effort to assign an arbitrary importance to any sequence of
        events in the quantum random state that is pro football can arguably be called quixotic.
        Also, to avoid the need to resort to a drive chart and to aid in simplicity, individuals plays are not weighted,
        but a holistic view of the efficiency and efficacy of yardage produced is taken.

        As such, certain assumptions have been made:

        - That a quarterback who has a better ratio of positive plays (such as completions and rushes) to total plays
        is performing better than a quarterback who does not

        - That a quarterback who is responsible for generating more of the team's offense is performing better than one
        who is not

        - That a quarterback who turns more of his yardage into total touchdowns is performing better than one who does not

        - That a quarterback who commits turnovers puts his team at a disadvantage in both yards needed to recoup their
        losses and points

        - That an interception results in a loss of 50 yards of offense for the quarterback's team and increases his
        expected yardage to recoup those points and yards

        - That a fumble, whether lost or not, results in a loss of 25 yards of offense for the quarterback's team and
        increases his expected yardage to recoup those points and yards

        - That an elite conversion of adjusted yardage to touchdowns is 75 yards per touchdown

        - That an elite conversion of adjusted yardage per play is 10 yards per play (or a first down)

        Therefore, the metric will reward highly-efficient, turnover-free, high-scoring play that makes up a high portion of
        the team's offensive production

        It will penalize high-yardage efforts that do not result in a high number of scores, or high-scoring affairs that do
        not make up a large portion of the team's offensive output, or inefficient and turnover-filled efforts.

QBA Defined

plays = (attempts + rushes + sacks) - (kneeldowns + (spikes / 2))
positive_plays = (completions + rushes) - (interceptions + fumbles)
total_touchdowns = passing_touchdowns + rushing_touchdowns
total_yards = (passing_yards + rushing_yards + kneeldowns) - sack_yardage
turnover_yards = (interceptions * 50) + (fumbles * 25)
adjusted_yards = total_yards - turnover_yards
expected_touchdowns = (total_yards + turnover_yards) / 75
adjusted_yards_per_play = (adjusted_yards / plays) // also known as AYPP

Efficiency % = ((positive_plays / plays) * 100) //cannot be less than 0 or more than 100
AYPP % = ((adjusted_yards_per_play / 10) * 100) //cannot be less than 0 or more than 100
TD % = ((total_touchdowns / expected_touchdowns) * 100) //cannot be less than 0 or more than 100
Offense % = ((adjusted_yards / team_total_yards) * 100) //cannot be less than 0 or more than 100

QBA = (Efficiency % * 0.65) + (AYPP % * 0.2) + (TD % * 0.1) + (Offense % * 0.05)

Example

Attempts: 25
Completions: 18
Passing Yards: 215
Passing TDs: 2
Interceptions: 0
Rushes: 4
Rushing Yards: 16
Rushing TDs: 0
Fumbles: 1
Sacks: 2
Sack Yards Lost: 10
Kneeldowns: 2
Spikes: 0
Team Total Yards: 330

plays[29] = (attempts[25] + rushes[4] + sacks[2]) - (kneeldowns[2] + (spikes[0] / 2)[0])
positive_plays[21] = (completions[18] + rushes[4]) - (interceptions[0] + fumbles[1])
total_touchdowns[2] = passing_touchdowns[2] + rushing_touchdowns[0]
total_yards[223] = (passing_yards[215] + rushing_yards[16] + kneeldowns[2]) - sack_yardage[10]
turnover_yards[25] = (interceptions[0] * 50) + (fumbles[1] * 25)
adjusted_yards[198] = total_yards[223] - turnover_yards[25]
expected_touchdowns[3.3] = (total_yards[223] + turnover_yards[25]) / 75
adjusted_yards_per_play[6.32] = (adjusted_yards[196] / plays[31]) // also known as AYPP

Efficiency % [72.41] = ((positive_plays[21] / plays[29]) * 100) //cannot be less than 0 or more than 100
AYPP % [68.27] = ((adjusted_yards_per_play[6.82] / 10) * 100) //cannot be less than 0 or more than 100
TD % [60.48] = ((total_touchdowns[2] / expected_touchdowns[3.3]) * 100) //cannot be less than 0 or more than 100
Offense % [60.00] = ((adjusted_yards[198] / team_total_yards[330]) * 100) //cannot be less than 0 or more than 100

QBA [69.84] = (Efficiency % * 0.65)[47.06] + (AYPP % * 0.2)[13.74] + (TD % * 0.1)[6.04] + (Offense % * 0.05)[3]