Get various probabilities associated with each option on 4th downs (go for it, kick field goal, punt).

add_4th_probs(df)

Arguments

df

A data frame of decisions to be computed for.

Value

Original data frame Data frame plus the following columns added:

go_boost

Gain (or loss) in win prob associated with choosing to go for it (percentage points).

first_down_prob

Probability of earning a first down if going for it on 4th down.

wp_fail

Win probability in the event of a failed 4th down attempt.

wp_succeed

Win probability in the event of a successful 4th down attempt.

go_wp

Average win probability when going for it on 4th down.

fg_make_prob

Probability of making field goal.

miss_fg_wp

Win probability in the event of a missed field goal.

make_fg_wp

Win probability in the event of a made field goal.

fg_wp

Average win probability when attempting field goal.

punt_wp

Average win probability when punting.

Examples

# \donttest{
play <-
  tibble::tibble(
    # Game Info
    home = "Utah",
    away = "BYU",
    pos_team = "Utah",
    def_pos_team = "BYU",
    spread = -7,
    over_under = 55,

    # Situation Info
    half = 2,
    period = 3, # Quarter
    TimeSecsRem = 900, # Half Seconds Remaining
    adj_TimeSecsRem = 900, # Game Seconds Remaining
    down = 4,
    distance = 4,
    yards_to_goal = 40,
    pos_score_diff_start = 7,

    pos_team_receives_2H_kickoff = 1,
    pos_team_timeouts_rem_before = 3,
    def_pos_team_timeouts_rem_before = 3

  )

probs <- cfb4th::add_4th_probs(play)
#> Computing probabilities for 1 plays. . .

dplyr::glimpse(probs)
#> Rows: 1
#> Columns: 27
#> $ home                             <chr> "Utah"
#> $ away                             <chr> "BYU"
#> $ pos_team                         <chr> "Utah"
#> $ def_pos_team                     <chr> "BYU"
#> $ spread                           <dbl> -7
#> $ over_under                       <dbl> 55
#> $ half                             <dbl> 2
#> $ period                           <dbl> 3
#> $ TimeSecsRem                      <dbl> 900
#> $ adj_TimeSecsRem                  <dbl> 900
#> $ down                             <dbl> 4
#> $ distance                         <dbl> 4
#> $ yards_to_goal                    <dbl> 40
#> $ pos_score_diff_start             <dbl> 7
#> $ pos_team_receives_2H_kickoff     <dbl> 1
#> $ pos_team_timeouts_rem_before     <dbl> 3
#> $ def_pos_team_timeouts_rem_before <dbl> 3
#> $ go_boost                         <dbl> 1.395278
#> $ first_down_prob                  <dbl> 0.4937149
#> $ wp_fail                          <dbl> 0.812409
#> $ wp_succeed                       <dbl> 0.919593
#> $ go_wp                            <dbl> 0.8653273
#> $ fg_make_prob                     <dbl> 0.2960965
#> $ miss_fg_wp                       <dbl> 0.8073803
#> $ make_fg_wp                       <dbl> 0.9132916
#> $ fg_wp                            <dbl> 0.8387403
#> $ punt_wp                          <dbl> 0.8513746
# }