DACSS 601: Data Science Fundamentals - FALL 2022
  • Fall 2022 Posts
  • Contributors
  • DACSS

Final Project

  • Final materials
    • Fall 2022 posts
    • final Posts

On this page

  • Introduction
  • Read in the Data
  • Combine the Data
  • Clean and Mutate
  • Visualize
  • Reflection
  • References

Final Project

  • Show All Code
  • Hide All Code

  • View Source
final project
Author

Jack Sniezek

Published

December 14, 2022

Code
library(tidyverse)
library(ggplot2)

knitr::opts_chunk$set(echo = TRUE)

Introduction

The Super Bowl is easily the biggest betting event in the United States, with an estimated $7.61 billion in bets for the Super Bowl LVI. This figure is up 78%, or $3.33B from the year before. The huge surge in betting figures can be explained by the Supreme Court overturning a federal ban on sports betting in 2018, which had been in place since 1992. The law previously only allowed a select few states to operate. Today, 39 states and Washington DC either have legal sports betting or are considering legislation to implement it. Of the 39 states with legal sports betting or legislation, 22 allow online and mobile sports betting, which has led to the rise of many online sportsbooks such as DraftKings, Caesar’s Sportsbook, and BetMGM.

The purpose of this paper is to explore the trends in NFL betting in the Super Bowl Era. The key points that I intend to cover in my research are:

• Stadiums where spread is covered the most how it changes over time • How weather affects who has covered the spread • Who covers the spread in the Super Bowl/playoff games

I would like to also examine the over/under for these, as well as how individual teams fare against weather, stadium, and opponent, but I am afraid this will result in me taking on too much to handle. So, for the purposes of this paper, I will stick to these research topics.

The dataset I will be working with was available on Kaggle.com and consists of NFL game results, betting odds information, stadium information, and weather information. The data is made up of game results and weather information 1966 to present, and betting odds beginning in 1979. The betting odds included are the spread and the over/under. Weather data included is temperature, wind speed, and humidity for each game. Stadium data includes years active, type, capacity, and location. I will have to do significant data clean up, as the weather data is incomplete in some spots, there is a lot of extra stadium data, and many teams have changed names/cities. There are also some data points that are unique that have no info such as stadiums used for one or two games and have no information associated with it(for example, several baseball stadiums were venues in the early days of the NFL).

Read in the Data

First I read in the data. There are 3 separate csv files that contain the data I will be working with; spreadspoke_scores, nfl_stadiums, and nfl_teams.

Code
#change directory
spreadspoke_scores <- read_csv("_data/nfl_data/spreadspoke_scores.csv")
Rows: 13504 Columns: 17
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr (7): schedule_date, schedule_week, team_home, team_away, team_favorite_i...
dbl (8): schedule_season, score_home, score_away, spread_favorite, over_unde...
lgl (2): schedule_playoff, stadium_neutral

ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
Code
spreadspoke_scores
# A tibble: 13,504 × 17
   schedule_date sched…¹ sched…² sched…³ team_…⁴ score…⁵ score…⁶ team_…⁷ team_…⁸
   <chr>           <dbl> <chr>   <lgl>   <chr>     <dbl>   <dbl> <chr>   <chr>  
 1 9/2/1966         1966 1       FALSE   Miami …      14      23 Oaklan… <NA>   
 2 9/3/1966         1966 1       FALSE   Housto…      45       7 Denver… <NA>   
 3 9/4/1966         1966 1       FALSE   San Di…      27       7 Buffal… <NA>   
 4 9/9/1966         1966 2       FALSE   Miami …      14      19 New Yo… <NA>   
 5 9/10/1966        1966 1       FALSE   Green …      24       3 Baltim… <NA>   
 6 9/10/1966        1966 2       FALSE   Housto…      31       0 Oaklan… <NA>   
 7 9/10/1966        1966 2       FALSE   San Di…      24       0 New En… <NA>   
 8 9/11/1966        1966 1       FALSE   Atlant…      14      19 Los An… <NA>   
 9 9/11/1966        1966 2       FALSE   Buffal…      20      42 Kansas… <NA>   
10 9/11/1966        1966 1       FALSE   Detroi…      14       3 Chicag… <NA>   
# … with 13,494 more rows, 8 more variables: spread_favorite <dbl>,
#   over_under_line <dbl>, stadium <chr>, stadium_neutral <lgl>,
#   weather_temperature <dbl>, weather_wind_mph <dbl>, weather_humidity <dbl>,
#   weather_detail <chr>, and abbreviated variable names ¹​schedule_season,
#   ²​schedule_week, ³​schedule_playoff, ⁴​team_home, ⁵​score_home, ⁶​score_away,
#   ⁷​team_away, ⁸​team_favorite_id
Code
stadiums <- read_csv("_data/nfl_data/nfl_stadiums.csv")
Rows: 118 Columns: 15
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr (9): stadium_name, stadium_location, stadium_type, stadium_address, stad...
dbl (5): stadium_open, stadium_close, LATITUDE, LONGITUDE, ELEVATION
num (1): stadium_capacity

ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
Code
stadiums
# A tibble: 118 × 15
   stadium_name  stadi…¹ stadi…² stadi…³ stadi…⁴ stadi…⁵ stadi…⁶ stadi…⁷ stadi…⁸
   <chr>         <chr>     <dbl>   <dbl> <chr>   <chr>   <chr>   <chr>     <dbl>
 1 Acrisure Sta… Pittsb…    2001      NA outdoor 100 Ar… 15212   cold      65500
 2 Alamo Dome    San An…      NA      NA indoor  100 Mo… 78203   dome      72000
 3 Allegiant St… Paradi…    2020      NA indoor  <NA>    <NA>    dome      65000
 4 Allianz Arena Munich…      NA      NA outdoor <NA>    <NA>    modera…   75024
 5 Alltel Stadi… Jackso…      NA      NA <NA>    <NA>    <NA>    <NA>         NA
 6 Alumni Stadi… Chestn…      NA      NA outdoor Perime… 2467    cold         NA
 7 Anaheim Stad… Anahei…    1980    1994 outdoor 2000 E… 92806   warm         NA
 8 Arrowhead St… Kansas…    1972      NA outdoor 1 Arro… 64129   cold      76416
 9 AT&T Stadium  Arling…    2009      NA retrac… 1 AT&T… 76011   dome      80000
10 Atlanta-Fult… Atlant…    1966    1991 outdoor 521 Ca… 30312   warm         NA
# … with 108 more rows, 6 more variables: stadium_surface <chr>, STATION <chr>,
#   NAME <chr>, LATITUDE <dbl>, LONGITUDE <dbl>, ELEVATION <dbl>, and
#   abbreviated variable names ¹​stadium_location, ²​stadium_open,
#   ³​stadium_close, ⁴​stadium_type, ⁵​stadium_address,
#   ⁶​stadium_weather_station_code, ⁷​stadium_weather_type, ⁸​stadium_capacity
Code
teams <- read_csv("_data/nfl_data/nfl_teams.csv")
Rows: 44 Columns: 8
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr (8): team_name, team_name_short, team_id, team_id_pfr, team_conference, ...

ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
Code
teams
# A tibble: 44 × 8
   team_name          team_nam…¹ team_id team_…² team_…³ team_…⁴ team_…⁵ team_…⁶
   <chr>              <chr>      <chr>   <chr>   <chr>   <chr>   <chr>   <chr>  
 1 Arizona Cardinals  Cardinals  ARI     CRD     NFC     NFC We… NFC     NFC We…
 2 Atlanta Falcons    Falcons    ATL     ATL     NFC     NFC So… NFC     NFC We…
 3 Baltimore Colts    Colts      IND     CLT     AFC     <NA>    AFC     AFC Ea…
 4 Baltimore Ravens   Ravens     BAL     RAV     AFC     AFC No… AFC     AFC Ce…
 5 Boston Patriots    Patriots   NE      NWE     AFC     <NA>    AFC     <NA>   
 6 Buffalo Bills      Bills      BUF     BUF     AFC     AFC Ea… AFC     AFC Ea…
 7 Carolina Panthers  Panthers   CAR     CAR     NFC     NFC So… NFC     NFC We…
 8 Chicago Bears      Bears      CHI     CHI     NFC     NFC No… NFC     NFC Ce…
 9 Cincinnati Bengals Bengals    CIN     CIN     AFC     AFC No… AFC     AFC Ce…
10 Cleveland Browns   Browns     CLE     CLE     AFC     AFC No… AFC     AFC Ce…
# … with 34 more rows, and abbreviated variable names ¹​team_name_short,
#   ²​team_id_pfr, ³​team_conference, ⁴​team_division, ⁵​team_conference_pre2002,
#   ⁶​team_division_pre2002

Combine the Data

The datasets will have to be merged using joins before I can start manipulating the data. The stadium data was easy to join because it only required one variable name change. I had issues joining the teams data as there was not a clear variable that was exactly the same on both datasets. Initially I tried to use team_id and team_favorite_id, but some of the teams had name changes but still had the same id. This created duplicate data that could not be removed because multiple ids were connected to one data point. Ultimately, I found success by using team_name and team_home for the join.

Code
#Rename stadium so I can join to stadiums data, create new variable for join with teams data
scores <- spreadspoke_scores%>%
  rename(stadium_name = stadium)

#new variable to join scores data
new_teams <- teams%>%
  mutate(team_home = team_name)
  #mutate(team_name_id = str_c(team_name, team_id, sep = "_"), .before = team_name)

#select only data that I can use
#team_id had to be removed because the duplicates made redundant data, i.e. some teams changed names/location but id was the same
new_teams <- new_teams%>%
  select(team_home,team_name,team_id,team_name_short,team_conference,team_division,team_division_pre2002)

#in case I messed up the data
full_scores <- scores

#joins

full_scores <- full_join(x = scores, y = new_teams, by = "team_home")
full_scores <- full_join(x = full_scores,y = stadiums, by = "stadium_name")

full_scores
# A tibble: 13,505 × 37
   schedule_date sched…¹ sched…² sched…³ team_…⁴ score…⁵ score…⁶ team_…⁷ team_…⁸
   <chr>           <dbl> <chr>   <lgl>   <chr>     <dbl>   <dbl> <chr>   <chr>  
 1 9/2/1966         1966 1       FALSE   Miami …      14      23 Oaklan… <NA>   
 2 9/3/1966         1966 1       FALSE   Housto…      45       7 Denver… <NA>   
 3 9/4/1966         1966 1       FALSE   San Di…      27       7 Buffal… <NA>   
 4 9/9/1966         1966 2       FALSE   Miami …      14      19 New Yo… <NA>   
 5 9/10/1966        1966 1       FALSE   Green …      24       3 Baltim… <NA>   
 6 9/10/1966        1966 2       FALSE   Housto…      31       0 Oaklan… <NA>   
 7 9/10/1966        1966 2       FALSE   San Di…      24       0 New En… <NA>   
 8 9/11/1966        1966 1       FALSE   Atlant…      14      19 Los An… <NA>   
 9 9/11/1966        1966 2       FALSE   Buffal…      20      42 Kansas… <NA>   
10 9/11/1966        1966 1       FALSE   Detroi…      14       3 Chicag… <NA>   
# … with 13,495 more rows, 28 more variables: spread_favorite <dbl>,
#   over_under_line <dbl>, stadium_name <chr>, stadium_neutral <lgl>,
#   weather_temperature <dbl>, weather_wind_mph <dbl>, weather_humidity <dbl>,
#   weather_detail <chr>, team_name <chr>, team_id <chr>,
#   team_name_short <chr>, team_conference <chr>, team_division <chr>,
#   team_division_pre2002 <chr>, stadium_location <chr>, stadium_open <dbl>,
#   stadium_close <dbl>, stadium_type <chr>, stadium_address <chr>, …

The fully merged data contains 13,505 rows(games), and 37 columns.

Clean and Mutate

My next big challenge was trying to create a variable that tells whether or not a spread was covered. I mutated the favorite variable to show the team name instead of the team id, and then I mutated the spread from a negative number to a positive in order for it to mathematically make sense to compare to the scores. Then I could use a case_when() to compare the two and determine if the spread was covered. The data was then ready to be selected and filtered. I took 13 variables and filtered out data from before 1979, except Super Bowls, since that was when the spread data was available. Also, I noticed that some spreads were 0 and the favorite was “PICK”, so I filtered by spreads > 0.

Code
#rename 
full_scores <- full_scores%>%
  rename(favorite = team_favorite_id,
         spread = spread_favorite)

#adjust favorite so data is team name and not id
#make spread positive number to keep calculations accurate
#new variable to show if a spread was covered, uses case_when
full_scores <- full_scores%>%
  mutate(favorite = ifelse(favorite == team_id,team_home,team_away))


full_scores <- full_scores%>%
  mutate(spread = spread * -1,
         favorite_covers = case_when(team_home == favorite & (score_home - score_away) > spread ~ "Cover",
                                     team_home == favorite & (score_home - score_away) < spread ~ "Not Cover",
                                     team_away == favorite & (score_away - score_home) > spread ~ "Cover",
                                     team_away == favorite & (score_away - score_home) < spread ~ "Not Cover"))


#select and filter the data  
full_scores <- full_scores%>%
  select(schedule_season,schedule_week,team_home,score_home,score_away,team_away,favorite,spread,favorite_covers,stadium_name,stadium_type,weather_temperature,weather_wind_mph)%>%
  filter(schedule_season > 1978 | schedule_week == "Superbowl",
         spread > 0)

full_scores
# A tibble: 10,781 × 13
   schedule_sea…¹ sched…² team_…³ score…⁴ score…⁵ team_…⁶ favor…⁷ spread favor…⁸
            <dbl> <chr>   <chr>     <dbl>   <dbl> <chr>   <chr>    <dbl> <chr>  
 1           1966 Superb… Green …      35      10 Kansas… Green …   14   Cover  
 2           1967 Superb… Green …      33      14 Oaklan… Green …   13.5 Cover  
 3           1968 Superb… Baltim…       7      16 New Yo… Baltim…   18   Not Co…
 4           1969 Superb… Kansas…      23       7 Minnes… Minnes…   12   Not Co…
 5           1970 Superb… Baltim…      16      13 Dallas… Baltim…    2.5 Cover  
 6           1971 Superb… Dallas…      24       3 Miami … Dallas…    6   Cover  
 7           1972 Superb… Miami …      14       7 Washin… Miami …    1   Cover  
 8           1973 Superb… Miami …      24       7 Minnes… Miami …    6.5 Cover  
 9           1974 Superb… Minnes…       6      16 Pittsb… Pittsb…    3   Cover  
10           1975 Superb… Dallas…      17      21 Pittsb… Pittsb…    7   Not Co…
# … with 10,771 more rows, 4 more variables: stadium_name <chr>,
#   stadium_type <chr>, weather_temperature <dbl>, weather_wind_mph <dbl>, and
#   abbreviated variable names ¹​schedule_season, ²​schedule_week, ³​team_home,
#   ⁴​score_home, ⁵​score_away, ⁶​team_away, ⁷​favorite, ⁸​favorite_covers

Visualize

Here is where I struggled. My intent was to show spread coverage at different stadiums on a bar graph, but I could not figure out how to graph a count. I also tried a similar plot with wind mph and Super Bowls, but also could not figure out if I could plot the count of the spreads. However, I was able to manipulate the data into showing what I was looking for in the graph. I was able to get a count of the number of covers at each stadium by week. For example, in Giants Stadium, favorites have covered 17 times in week 16. Thats the most out of any team. I also did an overall count of stadium covers, with Giants Stadium having the most covers at 223. Giants Stadium is a unique situation, as both the Giants and Jets both play their home games there. Because tof this, it gets twice the amount of games as other stadiums. Next, I checked the Super Bowl covers at each stadium. The Rose Bowl has the most covers at 4, followed by the Louisiana Superdome and the Orange Bowl both at 3. Covers at different wind speeds is interesting. The most covers by more than double is at 0 mph, which makes sense. Rounding out the top 10 wind speeds for covers is 5 mph through 12 mph. The highest wind speed to have a cover is 32 mph.

In addition to using the counts to show my data, I made some tables to represent stadium covers, wind speed covers, and temperature covers. The stadium table breaks down stadium covers by week. The wind speed table breaks it down wind speed covers by week, with a filter to show the covers when the wind speed is more than 10 mph. The temperature covers table represents temperature covers by week. The coldest temperature for game that the spread was covered was -3 degrees.

Code
stadium_covers <- full_scores%>%
  select(schedule_season, schedule_week,stadium_name, favorite_covers)%>%
  filter(schedule_season > 1978,favorite_covers == "Cover")%>%
  count(stadium_name, favorite_covers, schedule_week,sort = TRUE)

  #ggplot(aes(y = stadium_name, x = schedule_week, fill = favorite_covers), geom_bar())

stadium_covers
# A tibble: 1,232 × 4
   stadium_name     favorite_covers schedule_week     n
   <chr>            <chr>           <chr>         <int>
 1 Giants Stadium   Cover           16               17
 2 Giants Stadium   Cover           1                16
 3 Giants Stadium   Cover           3                16
 4 Lambeau Field    Cover           2                16
 5 Texas Stadium    Cover           12               16
 6 Giants Stadium   Cover           10               15
 7 Giants Stadium   Cover           7                15
 8 Lambeau Field    Cover           11               15
 9 Lambeau Field    Cover           13               15
10 Qualcomm Stadium Cover           14               15
# … with 1,222 more rows
Code
stadium_covers_total <- full_scores%>%
  select(schedule_season, schedule_week,stadium_name, favorite_covers)%>%
  filter(schedule_season > 1978,favorite_covers == "Cover")%>%
  count(stadium_name, favorite_covers,sort = TRUE)

stadium_covers_total
# A tibble: 94 × 3
   stadium_name         favorite_covers     n
   <chr>                <chr>           <int>
 1 Giants Stadium       Cover             223
 2 Lambeau Field        Cover             191
 3 Soldier Field        Cover             164
 4 Arrowhead Stadium    Cover             150
 5 Ralph Wilson Stadium Cover             148
 6 Candlestick Park     Cover             146
 7 Qualcomm Stadium     Cover             146
 8 Louisiana Superdome  Cover             132
 9 Texas Stadium        Cover             125
10 Oakland Coliseum     Cover             107
# … with 84 more rows
Code
superbowl_covers <- full_scores%>%
  filter(schedule_week == "Superbowl",favorite_covers == "Cover")%>%
  count(stadium_name, favorite_covers, schedule_week,sort = TRUE)
  
  #ggplot(aes(x = favorite_covers), geom_bar())

superbowl_covers
# A tibble: 18 × 4
   stadium_name                  favorite_covers schedule_week     n
   <chr>                         <chr>           <chr>         <int>
 1 Rose Bowl                     Cover           Superbowl         4
 2 Louisiana Superdome           Cover           Superbowl         3
 3 Orange Bowl                   Cover           Superbowl         3
 4 Los Angeles Memorial Coliseum Cover           Superbowl         2
 5 Tulane Stadium                Cover           Superbowl         2
 6 Cowboys Stadium               Cover           Superbowl         1
 7 Dolphin Stadium               Cover           Superbowl         1
 8 Ford Field                    Cover           Superbowl         1
 9 Georgia Dome                  Cover           Superbowl         1
10 Hard Rock Stadium             Cover           Superbowl         1
11 Hubert H. Humphrey Metrodome  Cover           Superbowl         1
12 Joe Robbie Stadium            Cover           Superbowl         1
13 Mercedes-Benz Stadium         Cover           Superbowl         1
14 Pontiac Silverdome            Cover           Superbowl         1
15 Pro Player Stadium            Cover           Superbowl         1
16 Raymond James Stadium         Cover           Superbowl         1
17 Rice Stadium                  Cover           Superbowl         1
18 Stanford Stadium              Cover           Superbowl         1
Code
wind_covers <- full_scores%>%
  filter(schedule_season > 1978,favorite_covers == "Cover")%>%
  count(weather_wind_mph, favorite_covers,sort = TRUE)

  #ggplot(aes(x= schedule_week, y = weather_wind_mph, fill = mean(weather_wind_mph)),geom_histogram())

wind_covers
# A tibble: 31 × 3
   weather_wind_mph favorite_covers     n
              <dbl> <chr>           <int>
 1                0 Cover            1129
 2               NA Cover             451
 3                8 Cover             369
 4                6 Cover             325
 5                9 Cover             325
 6                7 Cover             294
 7               10 Cover             294
 8               11 Cover             268
 9               12 Cover             232
10                5 Cover             209
# … with 21 more rows
Code
tbl_stadium <- with(full_scores, table(stadium_name,schedule_week, favorite_covers))
tbl_stadium
, , favorite_covers = Cover

                                     schedule_week
stadium_name                           1 10 11 12 13 14 15 16 17 18  2  3  4  5
  Acrisure Stadium                     0  1  1  0  0  0  0  0  0  0  0  0  0  0
  Alamo Dome                           0  0  0  0  0  0  0  0  0  0  0  0  0  0
  Allegiant Stadium                    0  2  1  0  0  1  0  0  0  0  0  0  2  0
  Allianz Arena                        0  1  0  0  0  0  0  0  0  0  0  0  0  0
  Alltel Stadium                       0  0  0  0  0  0  0  0  0  0  0  0  0  0
  Anaheim Stadium                      0  4  3  7  6  6  6  2  2  0  2  3  1  8
  Arrowhead Stadium                   11  6 11  8  9 10  7 11 10  1  6 10  9  7
  AT&T Stadium                         3  1  1  2  0  1  0  1  1  0  1  2  2  1
  Atlanta-Fulton County Stadium        3  4  3  3  5  3  3  5  1  0  2  2  1  3
  Bank of America Stadium              5  7  9  3  5  9  5 10  6  0  4  5  2  6
  Busch Memorial Stadium               1  3  2  1  1  3  2  3  0  0  5  2  3  1
  Caesars Superdome                    0  0  1  1  1  0  0  1  1  0  1  0  0  1
  Candlestick Park                     6  4 10 13  7 11 10  9  4  0  9  5  8 13
  CenturyLink Field                    4  4  8  3  6  7  4  6  3  0  4 11  2  1
  Cinergy Field                        6  2  7  7  9  5  4  6  2  0  2  3  5  2
  Cleveland Municipal Stadium          4  2  4  6  7  3  0  4  1  0  5  4  2  2
  Cowboys Stadium                      2  1  2  2  0  0  0  3  1  0  0  3  0  1
  Dolphin Stadium                      0  0  0  0  0  0  0  0  0  0  0  0  0  0
  Edward Jones Dome                    4  2  2  6  9  1  6  8  4  0  1  4  6  4
  Empower Field at Mile High           0  0  0  0  0  1  0  0  0  0  0  1  0  0
  Estadio Azteca                       0  0  4  0  0  0  0  0  0  0  0  0  1  0
  EverBank Field                       8  5  9  4  5 12  5  5  4  0  6  3  5  5
  FedEx Field                          7  3  7  5  4  9  5  6  8  0  5  5  3  9
  FirstEnergy Stadium                  7  4 10  5  4  7  5  6  4  0  2  6  1  8
  Ford Field                           5  4  7 14  8  2  3  5  4  0  5  5  2  5
  Foxboro Stadium                      9  6  2  4  7  5  7  1  1  0  6  4  4  5
  GEHA Field at Arrowhead Stadium      0  1  0  1  0  0  0  0  0  0  0  0  0  0
  Georgia Dome                         2  8  3  8  6  5  4  5  6  0  9  7  5  6
  Giants Stadium                      16 15 14 12 10 13 14 17 12  0 12 16  7  9
  Gillette Stadium                     5  3  5  5  4  5  5  6 10  0  3  8  2  8
  Hard Rock Stadium                    2  2  2  1  3  0  0  0  1  0  2  1  2  0
  Heinz Field                          4  8  2  1  6  6  4  5  6  0  6  3  5  6
  Highmark Stadium                     0  0  0  0  0  0  1  0  0  1  1  1  1  1
  Houlihan's Stadium                   7  4  3  4  2  1  6  4  5  0  4  3  4  4
  Houston Astrodome                    2  3  5  3  1  8  3  3  0  1  3  5  4  3
  Hubert H. Humphrey Metrodome         8  7  4  7  7 10  3  7  4  0  8  5  4  4
  Husky Stadium                        0  0  0  0  1  1  0  0  0  0  1  1  0  0
  Jack Murphy Stadium                  0  0  0  0  0  0  0  0  0  0  0  0  0  0
  Joe Robbie Stadium                   0  0  0  0  0  0  0  0  0  0  0  0  0  0
  Lambeau Field                       12 12 15  7 15 13  7 12 11  0 16  7  8  9
  Levi's Stadium                       1  0  1  4  0  0  2  1  1  0  1  0  4  3
  Liberty Bowl Memorial Stadium        0  1  1  0  1  0  0  0  0  0  0  0  0  0
  Lincoln Financial Field              6  4  7  8  5  5  5  5  6  1  5  3  4  6
  Los Angeles Memorial Coliseum        3  1  7  5  3  2  3  4  3  0  5  6  2  2
  Louisiana Superdome                 10  8  8  9  8  6  6 11  7  1  4  7  8  6
  LP Stadium                           0  0  0  0  1  0  0  0  1  0  0  1  0  0
  Lucas Oil Stadium                    2  1  4  7  4  2  5  1  3  0  3  3  2  4
  Lumen Field                          0  0  0  0  0  0  0  0  1  0  0  0  0  1
  M&T Bank Stadium                     9  5  5  9  6  7 10  3  5  0  8  3  8  3
  Mall of America Field                0  0  2  1  2  1  1  0  1  0  0  1  1  2
  Memorial Stadium (Baltimore)         2  2  1  1  0  2  1  1  1  0  2  0  1  1
  Memorial Stadium (Champaign)         0  0  0  0  0  0  0  0  2  0  0  1  0  0
  Memorial Stadium (Clemson)           0  0  0  0  0  0  1  0  0  0  0  1  0  1
  Mercedes-Benz Stadium                1  0  2  0  3  1  1  1  0  1  1  0  1  0
  Mercedes-Benz Superdome              1  1  2  1  1  0  2  2  0  0  1  0  0  2
  MetLife Stadium                      7  3  3  8  4  7  8  3  6  1  7  5  6  6
  Metropolitan Stadium                 0  2  2  1  0  0  1  0  0  0  1  1  1  0
  Mile High Stadium                    9  6  7  6  3  2  4  1  3  0  8  3  4  4
  New Era Field                        1  1  0  2  1  4  2  0  2  0  1  1  0  0
  Nissan Stadium                       5  4  1  6  2 10  7  3  7  0  2  4  4  3
  NRG Stadium                          0  0  2  1  3  1  0  1  2  0  1  1  1  3
  Oakland Coliseum                     5 10  3  4  8  7  9  5  7  0  6  6 10  2
  Orange Bowl                          0  1  1  1  2  2  0  5  0  0  5  1  3  0
  Paul Brown Stadium                   2  6  4  7  6  5  5  3  5  0  6  3  5  5
  Paycor Stadium                       0  0  0  0  0  0  0  0  0  0  0  0  1  0
  Pontiac Silverdome                   7  4  2  2  8  8  6  9  0  0  5  4  6  2
  Pro Player Stadium                   0  0  0  0  0  0  0  0  0  0  0  0  0  0
  Qualcomm Stadium                     6  4  8  7 14 15 12  8  5  0 13  7  7  8
  Ralph Wilson Stadium                15 11  8 10  6  9  6  5  5  0  9  6 13  5
  Raymond James Stadium                2  6  8  3  4 10  6  4  4  1  7  7  4  3
  RCA Dome                             4  4  7  5  5  3  6  6  3  1  6  4  6  6
  Reliant Stadium                      7  0  2  6  3  3  2  2  6  0  2  4  6  1
  RFK Memorial Stadium                 5  3  5  3  6  2  3  1  2  0  2  5  2  4
  Rice Stadium                         0  0  0  0  0  0  0  0  0  0  0  0  0  0
  Rogers Centre                        0  0  0  0  1  0  1  0  0  0  0  0  0  0
  Rose Bowl                            0  0  0  0  0  0  0  0  0  0  0  0  0  0
  Seattle Kingdome                     4  5  4  1  4  6  2  4  3  0  9  3  3  3
  SoFi Stadium                         3  1  0  0  1  3  2  1  2  0  0  0  1  1
  Soldier Field                       10 12  8  9 10 10  9 11  9  0 10  5 14  8
  Sports Authority Field at Mile High  5  1  4  1  2  3  4  4  7  0  3  6  5  5
  Stanford Stadium                     0  0  0  0  0  0  0  0  0  0  0  0  0  0
  State Farm Stadium                   1  0  0  0  0  0  0  0  0  0  0  1  0  1
  StubHub Center                       0  0  1  1  0  1  1  0  1  0  0  1  0  1
  Sun Devil Stadium                    0  1  2  1  3  2  2  0  1  0  1  1  1  1
  Sun Life Stadium                     7  6 11  5  5  6  8  2  5  0  5  7  5  2
  Tampa Stadium                        0  0  0  0  0  0  0  0  0  0  0  0  0  0
  TCF Bank Stadium                     0  0  0  0  2  1  2  1  0  0  2  1  0  0
  Texas Stadium                        2  9  5 16 11  4  6  7  4  0  7  4  4  6
  Three Rivers Stadium                 7  5  5  7  6  4  4  9  4  1  4  7  4  6
  TIAA Bank Field                      1  0  2  1  1  2  0  1  0  0  1  1  1  1
  Tiger Stadium (LSU)                  0  0  0  0  1  0  1  0  0  0  0  0  0  0
  Tottenham Hotspur Stadium            0  0  0  0  0  0  0  0  0  0  0  0  0  1
  Tottenham Stadium                    0  0  0  0  0  0  0  0  0  0  0  0  0  0
  Tulane Stadium                       0  0  0  0  0  0  0  0  0  0  0  0  0  0
  Twickenham Stadium                   0  0  0  0  0  0  0  0  0  0  0  0  0  0
  U.S. Bank Stadium                    4  0  3  2  0  2  2  1  1  1  0  1  2  1
  University of Phoenix Stadium        1  6  3  7  6  6  5  8  5  0  8  6  2  6
  Vanderbilt Stadium                   0  0  1  0  0  0  0  0  1  0  0  0  1  0
  Veterans Stadium                     3  5  4  2  2  7  5  6  4  0  4  7  4  5
  Wembley Stadium                      0  1  0  0  0  0  0  0  0  0  0  0  3  0
                                     schedule_week
stadium_name                           6  7  8  9 Conference Division Superbowl
  Acrisure Stadium                     0  0  0  0          0        0         0
  Alamo Dome                           0  0  0  0          0        0         0
  Allegiant Stadium                    0  3  0  0          0        0         0
  Allianz Arena                        0  0  0  0          0        0         0
  Alltel Stadium                       0  0  0  0          0        0         0
  Anaheim Stadium                      0  3  6  4          0        1         0
  Arrowhead Stadium                    4 10 11  2          2        3         0
  AT&T Stadium                         1  2  1  1          0        0         0
  Atlanta-Fulton County Stadium        3  1  1  4          0        0         0
  Bank of America Stadium              2  6  5  9          1        2         0
  Busch Memorial Stadium               2  1  1  1          0        0         0
  Caesars Superdome                    1  0  0  1          0        0         0
  Candlestick Park                     6  5  7  6          4        8         0
  CenturyLink Field                    2  2  2  8          2        2         0
  Cinergy Field                        5  2  5  6          2        2         0
  Cleveland Municipal Stadium          4  3  3  5          0        2         0
  Cowboys Stadium                      1  3  3  1          0        0         1
  Dolphin Stadium                      0  0  0  0          0        0         1
  Edward Jones Dome                    4  7  5  4          0        2         0
  Empower Field at Mile High           0  1  1  0          0        0         0
  Estadio Azteca                       0  0  0  0          0        0         0
  EverBank Field                       5  3  3  4          0        1         0
  FedEx Field                          4  4  4  1          0        0         0
  FirstEnergy Stadium                  5  4  4  7          0        0         0
  Ford Field                           2  3  7  2          0        0         1
  Foxboro Stadium                      4  3  3  3          1        1         0
  GEHA Field at Arrowhead Stadium      1  0  0  0          0        0         0
  Georgia Dome                         5  8  2  8          1        2         1
  Giants Stadium                      14 15 11  8          1        4         0
  Gillette Stadium                     7  3  8  5          3        8         0
  Hard Rock Stadium                    2  2  0  2          0        0         1
  Heinz Field                          3  7  2  3          3        3         0
  Highmark Stadium                     0  0  0  0          0        0         0
  Houlihan's Stadium                   2  0  5  5          1        0         0
  Houston Astrodome                    5  3  4  3          0        0         0
  Hubert H. Humphrey Metrodome         4 11  3  3          0        2         1
  Husky Stadium                        0  2  0  1          0        0         0
  Jack Murphy Stadium                  0  0  0  0          0        0         0
  Joe Robbie Stadium                   0  0  0  0          0        0         1
  Lambeau Field                        6 12  9  9          1        5         0
  Levi's Stadium                       0  4  1  3          1        1         0
  Liberty Bowl Memorial Stadium        0  1  0  0          0        0         0
  Lincoln Financial Field              5  1  6  4          1        1         0
  Los Angeles Memorial Coliseum        6  0  3  1          1        3         2
  Louisiana Superdome                  9  6  8  6          0        1         3
  LP Stadium                           1  0  0  0          0        0         0
  Lucas Oil Stadium                    3  5  2  3          1        1         0
  Lumen Field                          0  0  2  0          0        0         0
  M&T Bank Stadium                     4  3  5  5          0        0         0
  Mall of America Field                1  1  1  0          0        1         0
  Memorial Stadium (Baltimore)         2  3  2  0          0        0         0
  Memorial Stadium (Champaign)         0  0  0  0          0        0         0
  Memorial Stadium (Clemson)           0  0  0  0          0        0         0
  Mercedes-Benz Stadium                1  1  0  2          0        0         1
  Mercedes-Benz Superdome              1  0  1  1          0        0         0
  MetLife Stadium                      9  6  3  4          0        0         0
  Metropolitan Stadium                 2  0  1  0          0        0         0
  Mile High Stadium                    3  3  4  6          3        3         0
  New Era Field                        2  0  3  2          0        1         0
  Nissan Stadium                       4  5 10  4          0        0         0
  NRG Stadium                          1  1  2  0          0        0         0
  Oakland Coliseum                     4  6  7  4          1        2         0
  Orange Bowl                          1  3  0  5          2        2         3
  Paul Brown Stadium                   2  4  3  3          0        0         0
  Paycor Stadium                       0  1  0  1          0        0         0
  Pontiac Silverdome                   4  5  2  2          0        0         1
  Pro Player Stadium                   0  0  0  0          0        0         1
  Qualcomm Stadium                     7  6 10  7          0        0         0
  Ralph Wilson Stadium                 9  6  8 10          2        3         0
  Raymond James Stadium                9  4  2  5          0        1         1
  RCA Dome                             6  2  3  6          1        0         0
  Reliant Stadium                      1  3  5  5          0        0         0
  RFK Memorial Stadium                 3  7  2  2          2        3         0
  Rice Stadium                         0  0  0  0          0        0         1
  Rogers Centre                        0  0  1  0          0        0         0
  Rose Bowl                            0  0  0  0          0        0         4
  Seattle Kingdome                     0  4  2  5          0        0         0
  SoFi Stadium                         1  2  0  1          0        0         0
  Soldier Field                        9  9 10  3          4        3         0
  Sports Authority Field at Mile High  3  5  6  3          1        1         0
  Stanford Stadium                     0  0  0  0          0        0         1
  State Farm Stadium                   0  2  0  0          0        0         0
  StubHub Center                       0  0  0  0          0        0         0
  Sun Devil Stadium                    3  2  3  2          0        0         0
  Sun Life Stadium                     2  7  5  9          1        1         0
  Tampa Stadium                        0  0  0  0          0        0         0
  TCF Bank Stadium                     1  0  0  1          0        0         0
  Texas Stadium                       10  9  8  3          2        5         0
  Three Rivers Stadium                 3  7  5  6          1        3         0
  TIAA Bank Field                      1  0  1  0          0        0         0
  Tiger Stadium (LSU)                  0  0  0  1          0        0         0
  Tottenham Hotspur Stadium            1  0  0  0          0        0         0
  Tottenham Stadium                    1  0  0  0          0        0         0
  Tulane Stadium                       0  0  0  0          0        0         2
  Twickenham Stadium                   0  2  1  0          0        0         0
  U.S. Bank Stadium                    1  1  1  2          0        0         0
  University of Phoenix Stadium        6  6  7  7          0        0         0
  Vanderbilt Stadium                   0  1  0  0          0        0         0
  Veterans Stadium                     4  5  6  8          0        2         0
  Wembley Stadium                      0  2  5  0          0        0         0
                                     schedule_week
stadium_name                          SuperBowl Wildcard WildCard
  Acrisure Stadium                            0        0        0
  Alamo Dome                                  0        0        0
  Allegiant Stadium                           0        0        0
  Allianz Arena                               0        0        0
  Alltel Stadium                              0        0        0
  Anaheim Stadium                             0        0        0
  Arrowhead Stadium                           0        2        0
  AT&T Stadium                                0        0        0
  Atlanta-Fulton County Stadium               0        0        0
  Bank of America Stadium                     0        2        0
  Busch Memorial Stadium                      0        0        0
  Caesars Superdome                           0        0        0
  Candlestick Park                            0        1        0
  CenturyLink Field                           0        1        1
  Cinergy Field                               0        1        0
  Cleveland Municipal Stadium                 0        1        0
  Cowboys Stadium                             0        1        0
  Dolphin Stadium                             0        0        0
  Edward Jones Dome                           0        0        0
  Empower Field at Mile High                  0        0        0
  Estadio Azteca                              0        0        0
  EverBank Field                              0        1        0
  FedEx Field                                 0        2        0
  FirstEnergy Stadium                         0        0        0
  Ford Field                                  0        0        0
  Foxboro Stadium                             0        1        0
  GEHA Field at Arrowhead Stadium             0        0        0
  Georgia Dome                                0        0        0
  Giants Stadium                              0        3        0
  Gillette Stadium                            0        2        0
  Hard Rock Stadium                           0        0        0
  Heinz Field                                 0        0        1
  Highmark Stadium                            0        1        0
  Houlihan's Stadium                          0        1        0
  Houston Astrodome                           0        0        0
  Hubert H. Humphrey Metrodome                0        4        0
  Husky Stadium                               0        0        0
  Jack Murphy Stadium                         0        0        0
  Joe Robbie Stadium                          0        0        0
  Lambeau Field                               0        4        1
  Levi's Stadium                              0        0        0
  Liberty Bowl Memorial Stadium               0        0        0
  Lincoln Financial Field                     0        0        0
  Los Angeles Memorial Coliseum               0        2        0
  Louisiana Superdome                         0        1        0
  LP Stadium                                  0        0        0
  Lucas Oil Stadium                           0        1        0
  Lumen Field                                 0        0        0
  M&T Bank Stadium                            0        3        0
  Mall of America Field                       0        0        0
  Memorial Stadium (Baltimore)                0        0        0
  Memorial Stadium (Champaign)                0        0        0
  Memorial Stadium (Clemson)                  0        0        0
  Mercedes-Benz Stadium                       0        0        0
  Mercedes-Benz Superdome                     0        1        0
  MetLife Stadium                             0        1        0
  Metropolitan Stadium                        0        0        0
  Mile High Stadium                           0        1        0
  New Era Field                               0        0        0
  Nissan Stadium                              0        2        0
  NRG Stadium                                 0        1        0
  Oakland Coliseum                            0        1        0
  Orange Bowl                                 0        1        0
  Paul Brown Stadium                          0        2        0
  Paycor Stadium                              0        0        0
  Pontiac Silverdome                          0        0        0
  Pro Player Stadium                          0        0        0
  Qualcomm Stadium                            0        2        0
  Ralph Wilson Stadium                        0        2        0
  Raymond James Stadium                       0        1        0
  RCA Dome                                    0        3        0
  Reliant Stadium                             0        3        1
  RFK Memorial Stadium                        0        2        0
  Rice Stadium                                0        0        0
  Rogers Centre                               0        0        0
  Rose Bowl                                   0        0        0
  Seattle Kingdome                            0        1        0
  SoFi Stadium                                0        1        0
  Soldier Field                               0        1        0
  Sports Authority Field at Mile High         0        0        0
  Stanford Stadium                            0        0        0
  State Farm Stadium                          0        0        0
  StubHub Center                              0        0        0
  Sun Devil Stadium                           0        0        0
  Sun Life Stadium                            0        3        0
  Tampa Stadium                               0        0        0
  TCF Bank Stadium                            0        0        0
  Texas Stadium                               0        3        0
  Three Rivers Stadium                        0        1        0
  TIAA Bank Field                             0        0        0
  Tiger Stadium (LSU)                         0        0        0
  Tottenham Hotspur Stadium                   0        0        0
  Tottenham Stadium                           0        0        0
  Tulane Stadium                              0        0        0
  Twickenham Stadium                          0        0        0
  U.S. Bank Stadium                           0        0        0
  University of Phoenix Stadium               0        1        0
  Vanderbilt Stadium                          0        0        0
  Veterans Stadium                            0        2        0
  Wembley Stadium                             0        0        0

, , favorite_covers = Not Cover

                                     schedule_week
stadium_name                           1 10 11 12 13 14 15 16 17 18  2  3  4  5
  Acrisure Stadium                     0  0  0  0  0  0  0  0  0  0  0  0  1  0
  Alamo Dome                           0  0  0  0  0  0  0  1  0  0  0  0  1  0
  Allegiant Stadium                    1  1  1  0  1  0  1  2  0  1  2  1  0  1
  Allianz Arena                        0  0  0  0  0  0  0  0  0  0  0  0  0  0
  Alltel Stadium                       0  0  0  0  0  0  0  0  0  0  0  0  0  0
  Anaheim Stadium                      6  4  4  3  0  4  6  2  1  1  6  3  1  4
  Arrowhead Stadium                    9  8 12 15  7 12 15 11  4  0 15  5 11 11
  AT&T Stadium                         0  1  0  3  3  0  2  3  1  0  2  0  3  3
  Atlanta-Fulton County Stadium        1  1  7  4  1  3  2  4  0  0  6  1  1  5
  Bank of America Stadium              8  7  8  3  2  8  6  7  3  0  9  8  7 11
  Busch Memorial Stadium               2  2  4  3  2  3  1  2  0  0  0  1  2  2
  Caesars Superdome                    0  0  0  0  0  0  0  0  0  0  0  0  1  0
  Candlestick Park                     6 11  9  8  5  9  6 10  6  1  7  7  5  8
  CenturyLink Field                    3  3  2  4  5  1  2  9  6  0  4  5  2  4
  Cinergy Field                        3  4  6  3  3  6  3  3  6  0  7  4  4  4
  Cleveland Municipal Stadium          2  3  4  2  5  4  4  2  0  0  6  5  5  3
  Cowboys Stadium                      1  0  2  4  3  3  5  1  2  0  2  2  3  4
  Dolphin Stadium                      0  0  0  0  0  0  0  0  0  0  0  0  0  0
  Edward Jones Dome                    8  5  8  5  5  1  9  5  3  0  5  5  5  4
  Empower Field at Mile High           0  1  1  1  0  0  1  0  0  1  1  1  1  1
  Estadio Azteca                       0  0  0  0  0  0  0  0  0  0  0  0  0  0
  EverBank Field                       5  5  5  3  6  7  5  7  2  0  8  2  6  4
  FedEx Field                          8  6  5  8  8  6  4  5  7  0  6  8  6  2
  FirstEnergy Stadium                 10  4  3  8  4  5  5  5  4  1  9  4  8  3
  Ford Field                           6  1  3  3  5  8  6  3  5  1  3  5  5  5
  Foxboro Stadium                      2  8  5  8  4  6  4  5  5  0  5 10  3  3
  GEHA Field at Arrowhead Stadium      0  0  0  0  0  0  0  0  0  0  1  0  0  1
  Georgia Dome                         7  5  7  9  5  3  7  4 11  1  7  2 10  6
  Giants Stadium                      13 12 17 12 18 13 19 13  9  1 22 11 16 16
  Gillette Stadium                     6  4  3  5  4  4  3  5  4  0  2  8  4  1
  Hard Rock Stadium                    1  1  0  1  2  3  2  2  0  1  1  1  1  1
  Heinz Field                          5  9  2  5  8  5  7  4  4  0  5  3  6  4
  Highmark Stadium                     1  1  1  0  1  0  0  0  0  0  0  0  0  0
  Houlihan's Stadium                   3  2  4  6  5  7  8  1  2  0  5  3  5  5
  Houston Astrodome                    5  3  3  6  4  5  7  6  4  0  3  6  3  3
  Hubert H. Humphrey Metrodome         5  9  8  7  6  4  6 12  6  0  4  9  6  5
  Husky Stadium                        0  1  0  0  0  0  0  1  2  0  1  1  2  1
  Jack Murphy Stadium                  0  0  0  0  0  0  0  0  0  0  0  0  0  0
  Joe Robbie Stadium                   0  0  0  0  0  0  0  0  0  0  0  0  0  0
  Lambeau Field                       15 11  5  7  7 14  5  6  5  0 11 10 10  9
  Levi's Stadium                       3  5  0  2  1  3  3  3  4  0  2  2  2  2
  Liberty Bowl Memorial Stadium        1  0  0  0  0  0  0  0  1  0  0  0  1  0
  Lincoln Financial Field              2  6  2  4  3  3  2  6  3  0  7  9  2  3
  Los Angeles Memorial Coliseum        3  2  2  5  4  4  7  5  3  0  4  3  5  3
  Louisiana Superdome                 10  9  7  7 12  7 10 13  6  0  9  8  7 12
  LP Stadium                           1  1  0  0  0  0  0  1  0  0  0  0  0  0
  Lucas Oil Stadium                    4  6  3  4  1  1  4  3  6  0  6  5  4  3
  Lumen Field                          1  0  1  1  1  0  0  1  0  0  1  1  0  0
  M&T Bank Stadium                     2  4  4  3  9  3  6  6  9  1  4  7  6  5
  Mall of America Field                1  2  1  0  1  1  1  0  3  0  2  3  0  0
  Memorial Stadium (Baltimore)         1  2  0  1  4  1  2  2  1  0  2  0  1  1
  Memorial Stadium (Champaign)         1  1  0  1  0  0  1  0  0  0  0  0  0  1
  Memorial Stadium (Clemson)           0  0  0  0  0  1  0  1  0  0  0  0  0  0
  Mercedes-Benz Stadium                2  0  1  2  1  0  1  1  0  0  1  2  3  1
  Mercedes-Benz Superdome              2  1  1  1  0  1  1  1  1  0  1  1  1  1
  MetLife Stadium                      6  9  5  7  8  3  4  7  6  0  8  7  4  6
  Metropolitan Stadium                 2  0  0  1  1  0  1  1  0  0  1  1  0  2
  Mile High Stadium                    7  5  6  3  6  7  8  4  4  0  2  6  5  4
  New Era Field                        1  0  0  2  0  1  1  1  1  0  0  3  1  1
  Nissan Stadium                       6 11  8  3  4  5  5  8  4  0 10  6  2  5
  NRG Stadium                          3  0  1  2  1  3  0  2  1  1  1  1  3  2
  Oakland Coliseum                     6  5  5  9  7  4 10  6  6  0  6  5  3  8
  Orange Bowl                          0  1  3  2  4  2  2  3  0  0  2  0  2  3
  Paul Brown Stadium                   4  4  5  6  6  7  2 10  6  0  7  4  5  4
  Paycor Stadium                       1  0  0  0  0  0  0  0  0  0  0  0  0  0
  Pontiac Silverdome                   2  4  8  6 11  2  7  6  3  1  6  4  9  4
  Pro Player Stadium                   0  0  0  0  0  0  0  0  0  0  0  0  0  0
  Qualcomm Stadium                     7 11  8 12  9  8 10  6  9  0  7  9  9  6
  Ralph Wilson Stadium                11  4  5  8  6  8  5  8  6  0  6  9  9 11
  Raymond James Stadium                9  8  3  5  5  3  4  7  8  0  5  5  7  2
  RCA Dome                             9  7  5  3  7  4  6  8  6  0  4  5  2  5
  Reliant Stadium                      4  1  6  4  2  3  5  5  5  0  1  3  3  6
  RFK Memorial Stadium                 8  5  5  3  6  6  3  4  3  1  6  3  1  5
  Rice Stadium                         0  0  0  0  0  0  0  0  0  0  0  0  0  0
  Rogers Centre                        0  0  0  0  1  1  0  0  0  0  0  0  0  0
  Rose Bowl                            0  0  0  0  0  0  0  0  0  0  0  0  0  0
  Seattle Kingdome                     4  6  4  6 10  8  6  7  3  0  2  4  5  5
  SoFi Stadium                         1  2  3  1  1  0  1  0  0  1  3  3  2  1
  Soldier Field                       16 13  5  9 13  7 13  7  4  0 12 11  8  5
  Sports Authority Field at Mile High  6  4  5 10  2  7  4  4  8  0  7  5  4  5
  Stanford Stadium                     0  0  0  0  0  0  0  0  0  0  0  0  0  0
  State Farm Stadium                   0  1  0  1  1  1  0  1  0  1  0  0  0  1
  StubHub Center                       1  0  1  0  1  1  0  2  0  0  1  1  2  1
  Sun Devil Stadium                    0  2  1  2  0  0  3  2  3  0  1  0  3  1
  Sun Life Stadium                     5  6  7  8  8  7 14 14  7  0  7 11  3  7
  Tampa Stadium                        0  0  0  0  0  0  0  0  0  0  0  0  0  0
  TCF Bank Stadium                     0  0  0  1  0  0  0  0  1  0  0  0  1  0
  Texas Stadium                        8  4 10  5 10  6  7 10  4  0  5  9  6  6
  Three Rivers Stadium                 5  3  4  4  4  6  3  6  0  0  4  3  5  3
  TIAA Bank Field                      2  0  0  2  1  0  2  0  1  1  1  3  0  1
  Tiger Stadium (LSU)                  0  0  0  0  0  0  0  0  0  0  0  0  0  0
  Tottenham Hotspur Stadium            0  0  0  0  0  0  0  0  0  0  0  0  1  2
  Tottenham Stadium                    0  0  0  0  0  0  0  0  0  0  0  0  0  0
  Tulane Stadium                       0  0  0  0  0  0  0  0  0  0  0  0  0  0
  Twickenham Stadium                   0  0  0  0  0  0  0  0  0  0  0  0  0  0
  U.S. Bank Stadium                    1  0  3  1  2  0  2  1  3  0  1  5  1  2
  University of Phoenix Stadium        7 10  4  5  7 10  9  7  6  0  7  9  9  5
  Vanderbilt Stadium                   0  0  0  1  0  1  0  0  0  0  1  0  0  0
  Veterans Stadium                     6  9  9  8  4  8  6  4  4  0  8  3  6  4
  Wembley Stadium                      0  0  0  0  0  0  0  0  0  0  0  1  2  0
                                     schedule_week
stadium_name                           6  7  8  9 Conference Division Superbowl
  Acrisure Stadium                     1  0  0  0          0        0         0
  Alamo Dome                           1  0  0  0          0        0         0
  Allegiant Stadium                    0  0  0  0          0        0         0
  Allianz Arena                        0  0  0  0          0        0         0
  Alltel Stadium                       0  0  0  0          0        0         1
  Anaheim Stadium                      1  4  0  1          0        0         0
  Arrowhead Stadium                   10  9 14 13          2        4         0
  AT&T Stadium                         1  0  0  3          0        0         0
  Atlanta-Fulton County Stadium        4  2  4  1          0        1         0
  Bank of America Stadium              2  6  9  3          0        2         0
  Busch Memorial Stadium               0  2  5  5          0        0         0
  Caesars Superdome                    0  0  2  1          0        0         0
  Candlestick Park                     7  5  7 10          4        6         0
  CenturyLink Field                    9  3  2  5          1        1         0
  Cinergy Field                        6  4  2  5          0        0         0
  Cleveland Municipal Stadium          5  6  5  2          1        2         0
  Cowboys Stadium                      0  1  3  3          0        1         0
  Dolphin Stadium                      0  0  0  0          0        0         0
  Edward Jones Dome                    4  4  3  2          2        1         0
  Empower Field at Mile High           1  0  0  0          0        0         0
  Estadio Azteca                       0  0  0  0          0        0         0
  EverBank Field                       8  5  2  2          1        0         0
  FedEx Field                          8 10  1  9          0        0         0
  FirstEnergy Stadium                  8  4  4  5          0        0         0
  Ford Field                           4  6  5  5          0        0         0
  Foxboro Stadium                      7  8  3  8          0        0         0
  GEHA Field at Arrowhead Stadium      0  0  0  1          0        0         0
  Georgia Dome                         7  3  4  6          1        3         0
  Giants Stadium                      15 12 17 16          1        2         0
  Gillette Stadium                     4  4  3  4          4        4         0
  Hard Rock Stadium                    2  1  1  1          0        0         0
  Heinz Field                          5  0  8  5          1        2         0
  Highmark Stadium                     0  0  1  0          0        0         0
  Houlihan's Stadium                   6  7  3  3          0        1         0
  Houston Astrodome                    3  2  4  5          0        1         0
  Hubert H. Humphrey Metrodome         5  2  7  9          1        0         0
  Husky Stadium                        1  0  0  1          0        0         0
  Jack Murphy Stadium                  0  0  0  0          0        0         1
  Joe Robbie Stadium                   0  0  0  0          0        0         1
  Lambeau Field                       12  4  9  8          2        3         0
  Levi's Stadium                       2  2  0  4          0        0         1
  Liberty Bowl Memorial Stadium        0  0  1  0          0        0         0
  Lincoln Financial Field              3  6  5  3          2        2         0
  Los Angeles Memorial Coliseum        5  2  3  6          0        2         0
  Louisiana Superdome                  5  7 13  6          1        1         2
  LP Stadium                           0  0  0  0          0        0         0
  Lucas Oil Stadium                    2  2  4  4          0        0         1
  Lumen Field                          1  1  0  0          0        0         0
  M&T Bank Stadium                     5  6  5  5          0        3         0
  Mall of America Field                2  1  1  1          0        0         0
  Memorial Stadium (Baltimore)         2  1  1  1          0        0         0
  Memorial Stadium (Champaign)         0  0  0  1          0        1         0
  Memorial Stadium (Clemson)           0  1  1  0          0        0         0
  Mercedes-Benz Stadium                1  2  3  0          0        0         0
  Mercedes-Benz Superdome              0  1  1  1          1        2         1
  MetLife Stadium                      5  6  6  7          0        0         1
  Metropolitan Stadium                 0  1  0  0          0        0         0
  Mile High Stadium                    5  7  4  1          0        4         0
  New Era Field                        0  1  2  1          0        0         0
  Nissan Stadium                       7  5  3  2          0        4         0
  NRG Stadium                          1  0  2  2          0        0         0
  Oakland Coliseum                     7 10  6  7          1        0         0
  Orange Bowl                          1  3  0  0          1        3         2
  Paul Brown Stadium                   5  5  8  3          0        0         0
  Paycor Stadium                       0  0  0  0          0        0         0
  Pontiac Silverdome                   6  4  4  9          0        0         0
  Pro Player Stadium                   0  0  0  0          0        0         0
  Qualcomm Stadium                     8  5  5 10          1        4         2
  Ralph Wilson Stadium                 8  9  6 10          1        1         0
  Raymond James Stadium                4  6  6  6          0        2         2
  RCA Dome                             6  7  9  8          0        3         0
  Reliant Stadium                      4  3  0  2          0        0         1
  RFK Memorial Stadium                 1  3  4  7          2        1         0
  Rice Stadium                         0  0  0  0          0        0         0
  Rogers Centre                        0  0  0  0          0        0         0
  Rose Bowl                            0  0  0  0          0        0         1
  Seattle Kingdome                     4  6  3  5          0        0         0
  SoFi Stadium                         1  2  2  1          1        0         1
  Soldier Field                       12  8 11  8          0        4         0
  Sports Authority Field at Mile High  7  2  5  4          2        4         0
  Stanford Stadium                     0  0  0  0          0        0         0
  State Farm Stadium                   0  0  1  1          0        0         0
  StubHub Center                       1  1  0  1          0        0         0
  Sun Devil Stadium                    1  1  1  1          0        0         1
  Sun Life Stadium                     5 14  3  5          0        0         1
  Tampa Stadium                        0  0  0  0          0        0         2
  TCF Bank Stadium                     1  0  0  1          0        0         0
  Texas Stadium                        5  3  9  2          0        3         0
  Three Rivers Stadium                 1  7  4  6          3        2         0
  TIAA Bank Field                      1  2  0  3          0        0         0
  Tiger Stadium (LSU)                  0  0  1  0          0        0         0
  Tottenham Hotspur Stadium            1  0  0  0          0        0         0
  Tottenham Stadium                    0  0  0  0          0        0         0
  Tulane Stadium                       0  0  0  0          0        0         1
  Twickenham Stadium                   0  0  0  0          0        0         0
  U.S. Bank Stadium                    2  0  3  1          0        1         1
  University of Phoenix Stadium        7  6  4  5          1        1         2
  Vanderbilt Stadium                   0  0  1  0          0        0         0
  Veterans Stadium                     5  4  8  5          2        0         0
  Wembley Stadium                      0  2  6  1          0        0         0
                                     schedule_week
stadium_name                          SuperBowl Wildcard WildCard
  Acrisure Stadium                            0        0        0
  Alamo Dome                                  0        0        0
  Allegiant Stadium                           0        0        0
  Allianz Arena                               0        0        0
  Alltel Stadium                              0        0        0
  Anaheim Stadium                             0        1        0
  Arrowhead Stadium                           0        3        0
  AT&T Stadium                                0        2        0
  Atlanta-Fulton County Stadium               0        0        0
  Bank of America Stadium                     0        0        0
  Busch Memorial Stadium                      0        0        0
  Caesars Superdome                           0        0        0
  Candlestick Park                            0        1        0
  CenturyLink Field                           0        4        0
  Cinergy Field                               0        1        0
  Cleveland Municipal Stadium                 0        1        0
  Cowboys Stadium                             0        1        0
  Dolphin Stadium                             0        0        0
  Edward Jones Dome                           0        0        0
  Empower Field at Mile High                  0        0        0
  Estadio Azteca                              0        0        0
  EverBank Field                              0        1        0
  FedEx Field                                 0        2        0
  FirstEnergy Stadium                         0        0        0
  Ford Field                                  0        0        0
  Foxboro Stadium                             0        0        0
  GEHA Field at Arrowhead Stadium             0        0        0
  Georgia Dome                                0        0        0
  Giants Stadium                              0        5        0
  Gillette Stadium                            0        2        0
  Hard Rock Stadium                           0        0        0
  Heinz Field                                 0        4        0
  Highmark Stadium                            0        0        0
  Houlihan's Stadium                          0        0        0
  Houston Astrodome                           0        4        0
  Hubert H. Humphrey Metrodome                0        2        0
  Husky Stadium                               0        0        0
  Jack Murphy Stadium                         0        0        0
  Joe Robbie Stadium                          0        0        0
  Lambeau Field                               0        4        0
  Levi's Stadium                              0        0        0
  Liberty Bowl Memorial Stadium               0        0        0
  Lincoln Financial Field                     0        4        0
  Los Angeles Memorial Coliseum               0        1        0
  Louisiana Superdome                         0        4        0
  LP Stadium                                  0        0        0
  Lucas Oil Stadium                           0        2        0
  Lumen Field                                 0        0        0
  M&T Bank Stadium                            0        1        0
  Mall of America Field                       0        0        0
  Memorial Stadium (Baltimore)                0        0        0
  Memorial Stadium (Champaign)                0        0        0
  Memorial Stadium (Clemson)                  0        0        0
  Mercedes-Benz Stadium                       0        0        0
  Mercedes-Benz Superdome                     0        2        0
  MetLife Stadium                             0        0        0
  Metropolitan Stadium                        0        0        0
  Mile High Stadium                           0        0        0
  New Era Field                               0        1        0
  Nissan Stadium                              0        0        0
  NRG Stadium                                 1        1        0
  Oakland Coliseum                            0        1        0
  Orange Bowl                                 0        0        0
  Paul Brown Stadium                          0        3        0
  Paycor Stadium                              0        0        0
  Pontiac Silverdome                          0        1        0
  Pro Player Stadium                          0        0        0
  Qualcomm Stadium                            0        3        0
  Ralph Wilson Stadium                        0        1        0
  Raymond James Stadium                       0        2        0
  RCA Dome                                    0        0        0
  Reliant Stadium                             0        0        0
  RFK Memorial Stadium                        0        0        0
  Rice Stadium                                0        0        0
  Rogers Centre                               0        0        0
  Rose Bowl                                   0        0        0
  Seattle Kingdome                            0        2        0
  SoFi Stadium                                0        0        0
  Soldier Field                               0        2        0
  Sports Authority Field at Mile High         0        1        0
  Stanford Stadium                            0        0        0
  State Farm Stadium                          0        0        0
  StubHub Center                              0        0        0
  Sun Devil Stadium                           0        0        0
  Sun Life Stadium                            0        3        0
  Tampa Stadium                               0        0        0
  TCF Bank Stadium                            0        1        0
  Texas Stadium                               0        2        0
  Three Rivers Stadium                        0        1        0
  TIAA Bank Field                             0        0        0
  Tiger Stadium (LSU)                         0        0        0
  Tottenham Hotspur Stadium                   0        0        0
  Tottenham Stadium                           0        0        0
  Tulane Stadium                              0        0        0
  Twickenham Stadium                          0        0        0
  U.S. Bank Stadium                           0        0        0
  University of Phoenix Stadium               0        1        0
  Vanderbilt Stadium                          0        0        0
  Veterans Stadium                            0        5        0
  Wembley Stadium                             0        0        0
Code
tbl_wind <- with(full_scores, table(weather_wind_mph>10, schedule_week, favorite_covers))
tbl_wind 
, , favorite_covers = Cover

       schedule_week
          1  10  11  12  13  14  15  16  17  18   2   3   4   5   6   7   8   9
  FALSE 227 160 207 198 209 216 183 198 169   9 218 193 193 175 162 191 186 176
  TRUE   58  93  85  93  92  93  93  81  67   2  57  61  51  67  70  72  72  67
       schedule_week
        Conference Division Superbowl SuperBowl Wildcard WildCard
  FALSE          5       16        13         0       18        3
  TRUE           1        2         6         0        2        1

, , favorite_covers = Not Cover

       schedule_week
          1  10  11  12  13  14  15  16  17  18   2   3   4   5   6   7   8   9
  FALSE 251 199 201 210 205 193 222 216 184  13 244 226 223 191 190 182 183 209
  TRUE   49  85  73  87  94  93 102 110  55   3  68  62  57  75  80  77  89  66
       schedule_week
        Conference Division Superbowl SuperBowl Wildcard WildCard
  FALSE         12       20        11         1       26        0
  TRUE           2        4         6         0        5        0
Code
#tbl_heat <- with(full_scores, table(weather_temperature,schedule_week, favorite_covers))
#tbl_heat 
#decided not to include the temperature table because its huge

Reflection

I am disappointed that I could not get any graphs to work. That being said, I enjoyed working with this dataset, and am happy with what I was able to produce with the data. This was challenging data to work with, and it took me many long nights to work through some of the mutations and getting the joins to work right. I did learn quite a bit about Rstudio and found it very rewarding when my code started working correctly. I even found some satisfaction working on the graphs, when I at least got the counts working as I had hoped. I thought it was a fascinating dataset, with so many variables I could’ve used for analysis. It probably could have been done 100 different ways. In the end, the only question I had left was if the over/under data would have worked out better than the spreads.

References

Course textbook:

Wickham, H., & Grolemund, G. (2016). R for data science: Visualize, model, transform, tidy, and import data. OReilly Media.

Link: https://r4ds.had.co.nz/explore-intro.html

R programming language:

R Core Team (2022). R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. URL https://www.R-project.org/.

R Packages:

Tidyverse: Wickham H, Averick M, Bryan J, Chang W, McGowan LD, François R, Grolemund G, Hayes A, Henry L, Hester J, Kuhn M, Pedersen TL, Miller E, Bache SM, Müller K, Ooms J, Robinson D, Seidel DP, Spinu V, Takahashi K, Vaughan D, Wilke C, Woo K, Yutani H (2019). “Welcome to the tidyverse.” Journal of Open Source Software, 4(43), 1686. doi:10.21105/joss.01686 https://doi.org/10.21105/joss.01686.

ggplot2: H. Wickham. ggplot2: Elegant Graphics for Data Analysis. Springer-Verlag New York, 2016.

Sports Betting Laws by State https://www.investopedia.com/sports-betting-laws-by-state-5219064

Record 31.4 Million Americans to Wager $7.61B on Super Bowl LVI https://www.americangaming.org/new/record-31-4-million-americans-to-wager-on-super-bowl-lvi/

Source Code
---
title: "Final Project"
author: "Jack Sniezek"
desription: "Examining NFL Betting Statistics"
date: "12/14/2022"
format:
  html:
    toc: true
    code-fold: true
    code-copy: true
    code-tools: true
categories:
  - final project
---

```{r}
#| label: setup
#| warning: false

library(tidyverse)
library(ggplot2)

knitr::opts_chunk$set(echo = TRUE)
```

## Introduction

The Super Bowl is easily the biggest betting event in the United States, with an estimated $7.61 billion in bets for the Super Bowl LVI. This figure is up 78%, or $3.33B from the year before. The huge surge in betting figures can be explained by the Supreme Court overturning a federal ban on sports betting in 2018, which had been in place since 1992. The law previously only allowed a select few states to operate. Today, 39 states and Washington DC either have legal sports betting or are considering legislation to implement it. Of the 39 states with legal sports betting or legislation, 22 allow online and mobile sports betting, which has led to the rise of many online sportsbooks such as DraftKings, Caesar’s Sportsbook, and BetMGM. 

The purpose of this paper is to explore the trends in NFL betting in the Super Bowl Era. The key points that I intend to cover in my research are:

• Stadiums where spread is covered the most how it changes over time
•   How weather affects who has covered the spread
•   Who covers the spread in the Super Bowl/playoff games

I would like to also examine the over/under for these, as well as how individual teams fare against weather, stadium, and opponent, but I am afraid this will result in me taking on too much to handle. So, for the purposes of this paper, I will stick to these research topics.


The dataset I will be working with was available on Kaggle.com and consists of NFL game results, betting odds information, stadium information, and weather information. The data is made up of game results and weather information 1966 to present, and betting odds beginning in 1979. The betting odds included are the spread and the over/under. Weather data included is temperature, wind speed, and humidity for each game. Stadium data includes years active, type, capacity, and location. I will have to do significant data clean up, as the weather data is incomplete in some spots, there is a lot of extra stadium data, and many teams have changed names/cities. There are also some data points that are unique that have no info such as stadiums used for one or two games and have no information associated with it(for example, several baseball stadiums were venues in the early days of the NFL). 

## Read in the Data

First I read in the data. There are 3 separate csv files that contain the data I will be working with; spreadspoke_scores, nfl_stadiums, and nfl_teams.

```{r}
#change directory
spreadspoke_scores <- read_csv("_data/nfl_data/spreadspoke_scores.csv")
spreadspoke_scores

stadiums <- read_csv("_data/nfl_data/nfl_stadiums.csv")
stadiums

teams <- read_csv("_data/nfl_data/nfl_teams.csv")
teams

```

## Combine the Data

The datasets will have to be merged using joins before I can start manipulating the data. The stadium data was easy to join because it only required one variable name change. I had issues joining the teams data as there was not a clear variable that was exactly the same on both datasets. Initially I tried to use team_id and team_favorite_id, but some of the teams had name changes but still had the same id. This created duplicate data that could not be removed because multiple ids were connected to one data point. Ultimately, I found success by using team_name and team_home for the join.

```{r}
#Rename stadium so I can join to stadiums data, create new variable for join with teams data
scores <- spreadspoke_scores%>%
  rename(stadium_name = stadium)

#new variable to join scores data
new_teams <- teams%>%
  mutate(team_home = team_name)
  #mutate(team_name_id = str_c(team_name, team_id, sep = "_"), .before = team_name)

#select only data that I can use
#team_id had to be removed because the duplicates made redundant data, i.e. some teams changed names/location but id was the same
new_teams <- new_teams%>%
  select(team_home,team_name,team_id,team_name_short,team_conference,team_division,team_division_pre2002)

#in case I messed up the data
full_scores <- scores

#joins

full_scores <- full_join(x = scores, y = new_teams, by = "team_home")
full_scores <- full_join(x = full_scores,y = stadiums, by = "stadium_name")

full_scores

```

The fully merged data contains 13,505 rows(games), and 37 columns.

## Clean and Mutate

My next big challenge was trying to create a variable that tells whether or not a spread was covered. I mutated the favorite variable to show the team name instead of the team id, and then I mutated the spread from a negative number to a positive in order for it to mathematically make sense to compare to the scores. Then I could use a case_when() to compare the two and determine if the spread was covered. The data was then ready to be selected and filtered. I took 13 variables and filtered out data from before 1979, except Super Bowls, since that was when the spread data was available. Also, I noticed that some spreads were 0 and the favorite was "PICK", so I filtered by spreads > 0.

```{r}
#rename 
full_scores <- full_scores%>%
  rename(favorite = team_favorite_id,
         spread = spread_favorite)

#adjust favorite so data is team name and not id
#make spread positive number to keep calculations accurate
#new variable to show if a spread was covered, uses case_when
full_scores <- full_scores%>%
  mutate(favorite = ifelse(favorite == team_id,team_home,team_away))


full_scores <- full_scores%>%
  mutate(spread = spread * -1,
         favorite_covers = case_when(team_home == favorite & (score_home - score_away) > spread ~ "Cover",
                                     team_home == favorite & (score_home - score_away) < spread ~ "Not Cover",
                                     team_away == favorite & (score_away - score_home) > spread ~ "Cover",
                                     team_away == favorite & (score_away - score_home) < spread ~ "Not Cover"))


#select and filter the data  
full_scores <- full_scores%>%
  select(schedule_season,schedule_week,team_home,score_home,score_away,team_away,favorite,spread,favorite_covers,stadium_name,stadium_type,weather_temperature,weather_wind_mph)%>%
  filter(schedule_season > 1978 | schedule_week == "Superbowl",
         spread > 0)

full_scores

```
## Visualize

Here is where I struggled. My intent was to show spread coverage at different stadiums on a bar graph, but I could not figure out how to graph a count. I also tried a similar plot with wind mph and Super Bowls, but also could not figure out if I could plot the count of the spreads. However, I was able to manipulate the data into showing what I was looking for in the graph. I was able to get a count of the number of covers at each stadium by week. For example, in Giants Stadium, favorites have covered 17 times in week 16. Thats the most out of any team. I also did an overall count of stadium covers, with Giants Stadium having the most covers at 223. Giants Stadium is a unique situation, as both the Giants and Jets both play their home games there. Because tof this, it gets twice the amount of games as other stadiums. Next, I checked the Super Bowl covers at each stadium. The Rose Bowl has the most covers at 4, followed by the Louisiana Superdome and the Orange Bowl both at 3. Covers at different wind speeds is interesting. The most covers by more than double is at 0 mph, which makes sense. Rounding out the top 10 wind speeds for covers is 5 mph through 12 mph. The highest wind speed to have a cover is 32 mph.

In addition to using the counts to show my data, I made some tables to represent stadium covers, wind speed covers, and temperature covers. The stadium table breaks down stadium covers by week. The wind speed table breaks it down wind speed covers by week, with a filter to show the covers when the wind speed is more than 10 mph. The temperature covers table represents temperature covers by week. The coldest temperature for game that the spread was covered was -3 degrees.

```{r}
stadium_covers <- full_scores%>%
  select(schedule_season, schedule_week,stadium_name, favorite_covers)%>%
  filter(schedule_season > 1978,favorite_covers == "Cover")%>%
  count(stadium_name, favorite_covers, schedule_week,sort = TRUE)

  #ggplot(aes(y = stadium_name, x = schedule_week, fill = favorite_covers), geom_bar())

stadium_covers
  
stadium_covers_total <- full_scores%>%
  select(schedule_season, schedule_week,stadium_name, favorite_covers)%>%
  filter(schedule_season > 1978,favorite_covers == "Cover")%>%
  count(stadium_name, favorite_covers,sort = TRUE)

stadium_covers_total

superbowl_covers <- full_scores%>%
  filter(schedule_week == "Superbowl",favorite_covers == "Cover")%>%
  count(stadium_name, favorite_covers, schedule_week,sort = TRUE)
  
  #ggplot(aes(x = favorite_covers), geom_bar())

superbowl_covers

wind_covers <- full_scores%>%
  filter(schedule_season > 1978,favorite_covers == "Cover")%>%
  count(weather_wind_mph, favorite_covers,sort = TRUE)

  #ggplot(aes(x= schedule_week, y = weather_wind_mph, fill = mean(weather_wind_mph)),geom_histogram())

wind_covers


tbl_stadium <- with(full_scores, table(stadium_name,schedule_week, favorite_covers))
tbl_stadium

tbl_wind <- with(full_scores, table(weather_wind_mph>10, schedule_week, favorite_covers))
tbl_wind 

#tbl_heat <- with(full_scores, table(weather_temperature,schedule_week, favorite_covers))
#tbl_heat 
#decided not to include the temperature table because its huge
```

## Reflection

I am disappointed that I could not get any graphs to work. That being said, I enjoyed working with this dataset, and am happy with what I was able to produce with the data. This was challenging data to work with, and it took me many long nights to work through some of the mutations and getting the joins to work right. I did learn quite a bit about Rstudio and found it very rewarding when my code started working correctly. I even found some satisfaction working on the graphs, when I at least got the counts working as I had hoped. I thought it was a fascinating dataset, with so many variables I could've used for analysis. It probably could have been done 100 different ways. In the end, the only question I had left was if the over/under data would have worked out better than the spreads. 


## References
Course textbook:

Wickham, H., & Grolemund, G. (2016). R for data science: Visualize, model, transform, tidy, and import data. OReilly Media.

Link: https://r4ds.had.co.nz/explore-intro.html

R programming language:

R Core Team (2022). R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. URL https://www.R-project.org/.

R Packages:

Tidyverse: Wickham H, Averick M, Bryan J, Chang W, McGowan LD, François R, Grolemund G, Hayes A, Henry L, Hester J, Kuhn M, Pedersen TL, Miller E, Bache SM, Müller K, Ooms J, Robinson D, Seidel DP, Spinu V, Takahashi K, Vaughan D, Wilke C, Woo K, Yutani H (2019). “Welcome to the tidyverse.” Journal of Open Source Software, 4(43), 1686. doi:10.21105/joss.01686 https://doi.org/10.21105/joss.01686.

ggplot2: H. Wickham. ggplot2: Elegant Graphics for Data Analysis. Springer-Verlag New York, 2016.


Sports Betting Laws by State
https://www.investopedia.com/sports-betting-laws-by-state-5219064


Record 31.4 Million Americans to Wager $7.61B on Super Bowl LVI
https://www.americangaming.org/new/record-31-4-million-americans-to-wager-on-super-bowl-lvi/