# Individual Offensive and Defensive Ratings

Individual offensive and defensive ratings are the brainchild of Dean Oliver, author of the the seminal book Basketball on Paper.

## I. Individual Offensive Ratings

An individual’s offensive rating is an estimate of the number of points the player produces per 100 individual possessions. It is computed as follows:

`ORtg = 100 * (PProd / Poss)`

In this section, I’ll outline how to calculate individual possessions and points produced.

### A. Individual Possessions

Individual possessions are made up of four components: scoring possessions (Sc_Poss), missed field goal possessions (FGX_Poss), missed free throw possessions (FTX_Poss), and turnovers (TOV):

`Poss = Sc_Poss + FGX_Poss + FTX_Poss + TOV`

#### (1) Scoring Possessions

The formula for scoring possessions (ScPoss) is:

```Sc_Poss = (FG_Part + AST_Part + FT_Part) * (1 - (Tm_ORB / Tm_Sc_Poss) * Tm_ORB_Wt * Team_Play%) + ORB_Part
```

The formula for the field goal part (FG_Part) is:

`FG_Part = FGM * (1 - 0.5 * ((PTS - FTM) / (2 * FGA)) * qAST)`

where

`qAST = ((MIN / (Tm_MIN / 5)) * (1.14 * ((Tm_AST - AST) / Tm_FGM))) + ((((Tm_AST / Tm_MIN) * MIN * 5 - AST) / ((Tm_FGM / Tm_MIN) * MIN * 5 - FGM)) * (1 - (MIN / (Tm_MIN / 5))))`

The formula for the assist part (AST_Part) is:

`AST_Part = 0.5 * (((Tm_PTS - Tm_FTM) - (PTS - FTM)) / (2 * (Tm_FGA - FGA))) * AST`

The formula for the free throw part (FT_Part) is:

`FT_Part = (1 - (1 - (FTM / FTA))^2) * 0.4 * FTA`

The formula for team scoring possessions (Tm_Sc_Poss) is:

`Tm_Sc_Poss = Tm_FGM + (1 - (1 - (Tm_FTM / Tm_FTA))^2) * Tm_FTA * 0.4`

The formula for team offensive rebound weight (Tm_ORB_Wt) is:

`Tm_ORB_Wt = ((1 - Tm_ORB%) * Tm_Play%) / ((1 - Tm_ORB%) * Tm_Play% + Tm_ORB% * (1 - Tm_Play%))`

The formula for the team offensive rebound percentage (Tm_ORB%) is:

`Tm_ORB% = Tm_ORB / (Tm_ORB + (Opp_TRB - Opp_ORB))`

The formula for team play percentage (Tm_Play%) is:

`Tm_Play% = Tm_Sc_Poss / (Tm_FGA + Tm_FTA * 0.4 + Tm_TOV)`

The formula for the offensive rebound part (ORB_Part) is:

`ORB_Part = ORB * Tm_ORB_Wt * Tm_Play%`

#### (2) Missed Field Goal Possessions

The formula for missed field goal possessions (FGX_Poss) is:

`FGX_Poss = (FGA - FGM) * (1 - 1.07 * Tm_ORB%)`

where team offensive rebound percentage (Tm_ORB%) is calculated as above.

#### (3) Missed Free Throw Possessions

The formula for missed free throw possessions (FTX_Poss) is:

```FTX_Poss = ((1 - (FTM / FTA))^2) * 0.4 * FTA
```

#### (4) Turnovers

This is simply individual turnovers (TOV).

### B. Individual Points Produced

Individual points produced are made up of four components:

`PProd = (FG_Part + AST_Part + FTM) * (1 - (Tm_ORB / Tm_Sc_Poss) * Tm_ORB_Wt * Team_Play%) + ORB_Part`

where team scoring possessions (Tm_Sc_Poss), team offensive rebound weight (Tm_ORB_Wt), and team play percentage (Tm_Play%) are calculated as above.

#### (1) Field Goal Part

The formula for the field goal part is:

`FG_Part = 2 * (FGM + 0.5 * FG3M) * (1 - 0.5 * ((PTS - FTM) / (2 * FGA)) * qAST)`

where the assist factor (qAST) is calculated as above.

#### (2) Assist Part

The formula for the assist part is:

`AST_Part = 2 * ((Tm_FGM - FGM + 0.5 * (Tm_FG3M - FG3M)) / (Tm_FGM - FGM)) * 0.5 * (((Tm_PTS - Tm_FTM) - (PTS - FTM)) / (2 * (Tm_FGA - FGA))) * AST`

#### (3) Offensive Rebound Part

The formula for the offensive rebound part is:

`ORB_Part = ORB * Tm_ORB_Wt * Tm_Play% * (Tm_PTS / (Tm_FGM + (1 - (1 - (Tm_FTM / Tm_FTA))^2) * 0.4 * Tm_FTA))`

where team offensive rebound weight (Tm_ORB_Wt) and team play percentage (Tm_Play%) are calculated as above.

## II. Individual Defensive Ratings

An individual’s defensive rating is an estimate of the number of points the player allows per 100 individual possessions faced. Defensive rating is made up of three components: team defensive rating (Tm_DRtg), opponent points per scoring possession (Opp_PTS_Per_Sc_Poss), and stop percentage (Stop%):

`DRtg = Tm_DRtg + 0.2 * (100 * Opp_PTS_Per_Sc_Poss * (1 - Stop%) - Tm_DRtg)`

### A. Team Defensive Rating

The formula for team defensive rating (Tm_DRtg) is:

`Tm_DRtg = 100 * (Opp_PTS / Opp_Poss)`

where:

`Opp_Poss = 0.5 * ((Tm_FGA + 0.4 * Tm_FTA - 1.07 * (Tm_ORB / (Tm_ORB + Opp_DRB)) * (Tm_FGA - Tm_FGM) + Tm_TOV) + (Opp_FGA + 0.4 * Opp_FTA - 1.07 * (Opp_ORB / (Opp_ORB + Tm_DRB)) * (Opp_FGA - Opp_FGM) + Opp_TOV))`

### B. Opponent Points Per Scoring Possession

The formula for opponent points per scoring possession (Opp_PTS_Per_Sc_Poss) is:

`Opp_PTS_Per_Sc_Poss = Opp_PTS / (Opp_FGM + (1 - (1 - (Opp_FTM / Opp_FTA))^2) * Opp_FTA * 0.4)`

### C. Stop Percentage

The formula for stop percentage is:

`Stop% = (Stops * Opp_MIN) / (Tm_Poss * MIN)`

where:

`Stops = Stops1 + Stops2`

The formula for the first estimate of stops (Stops1) is:

`Stops1 = STL + BLK * FM_Wt * (1 - 1.07 * Opp_ORB%) + DRB * (1 - FM_Wt)`

where:

`FM_Wt = (Opp_FG% * (1 - Opp_ORB%)) / (Opp_FG% * (1 - Opp_FG%) + (1 - Opp_FG%) * Opp_ORB%)`

and:

`Opp_ORB% = Opp_ORB / (Opp_ORB + Tm_DRB)`

The formula for the second estimate of stops (Stops2) is:

`Stops2 = (((Opp_FGA - Opp_FGM - Tm_BLK) / Tm_MIN) * FM_Wt * (1 - 1.07 * Opp_ORB%) + ((Opp_TOV - Tm_STL) / Tm_MIN)) * MIN + (PF / Tm_PF) * 0.4 * Opp_FTA * (1 - (Opp_FTM / Opp_FTA))^2`

The formula for team possessions (Tm_Poss) is:

`Tm_Poss = 0.5 * ((Tm_FGA + 0.4 * Tm_FTA - 1.07 * (Tm_ORB / (Tm_ORB + Opp_DRB)) * (Tm_FGA - Tm_FGM) + Tm_TOV) + (Opp_FGA + 0.4 * Opp_FTA - 1.07 * (Opp_ORB / (Opp_ORB + Tm_DRB)) * (Opp_FGA - Opp_FGM) + Opp_TOV))`