Data 607 Week 1 assignment

I chose the article titled “According To Super Bowl Ads, Americans Love America, Animals And Sex” which can be found at the URL https://projects.fivethirtyeight.com/super-bowl-ads/.

Introduction

The FiveThirtyEight analysis of Super Bowl ads reveals Americans’ affinity for themes of humor, patriotism, celebrities, danger, animals, and sex appeal in their commercials, sometimes combining these elements in unexpected ways. The evaluation, which examined 233 ads from the most frequent advertisers across 21 Super Bowls, categorized ads based on seven specific criteria to uncover trends and odd combinations. Their findings highlight the diverse strategies used to capture viewer attention, from humorous takes on danger to the merging of patriotism with celebrity endorsements, and even the bizarre mix of sexuality with animal imagery in advertising.

I will load the data from FiveThirtyEight’s GitHub page (https://github.com/fivethirtyeight/superbowl-ads) to ensure this R code yields reproducible results.

library(readxl)
csv_url <- "https://raw.githubusercontent.com/fivethirtyeight/superbowl-ads/main/superbowl-ads.csv"
df <- read.csv(csv_url)
head(df)
##   year     brand
## 1 2018    Toyota
## 2 2020 Bud Light
## 3 2006 Bud Light
## 4 2018   Hynudai
## 5 2003 Bud Light
## 6 2020    Toyota
##                                              superbowl_ads_dot_com_url
## 1                          https://superbowl-ads.com/good-odds-toyota/
## 2 https://superbowl-ads.com/2020-bud-light-seltzer-inside-posts-brain/
## 3                https://superbowl-ads.com/2006-bud-light-bear-attack/
## 4  https://superbowl-ads.com/hope-detector-nfl-super-bowl-lii-hyundai/
## 5                https://superbowl-ads.com/2003-bud-light-hermit-crab/
## 6 https://superbowl-ads.com/2020-toyota-go-places-with-cobie-smulders/
##                                   youtube_url funny show_product_quickly
## 1 https://www.youtube.com/watch?v=zeBZvwYQ-hA False                False
## 2 https://www.youtube.com/watch?v=nbbp0VW7z8w  True                 True
## 3 https://www.youtube.com/watch?v=yk0MQD5YgV8  True                False
## 4 https://www.youtube.com/watch?v=lNPccrGk77A False                 True
## 5 https://www.youtube.com/watch?v=ovQYgnXHooY  True                 True
## 6 https://www.youtube.com/watch?v=f34Ji70u3nk  True                 True
##   patriotic celebrity danger animals use_sex
## 1     False     False  False   False   False
## 2     False      True   True   False   False
## 3     False     False   True    True   False
## 4     False     False  False   False   False
## 5     False     False   True    True    True
## 6     False      True   True    True   False

Starting by re-coding some of the categorical variables from the True/False coding to the 1/0 one.

library(dplyr)
df_recoded <- df %>%
  mutate(across(c(funny, show_product_quickly, patriotic, celebrity, danger, animals, use_sex),
                ~ as.integer(. == "True")))
df_recoded <- df_recoded %>%
  mutate(across(c(funny, show_product_quickly, patriotic, celebrity, danger, animals, use_sex),
                ~ factor(., levels = c(0, 1), labels = c("False", "True"))))

Starting with some exploratory analyses and visualizations.

# summary of each variable
summary(df_recoded)
##       year         brand           superbowl_ads_dot_com_url youtube_url       
##  Min.   :2000   Length:244         Length:244                Length:244        
##  1st Qu.:2005   Class :character   Class :character          Class :character  
##  Median :2010   Mode  :character   Mode  :character          Mode  :character  
##  Mean   :2010                                                                  
##  3rd Qu.:2015                                                                  
##  Max.   :2020                                                                  
##    funny     show_product_quickly patriotic   celebrity     danger   
##  False: 76   False: 78            False:203   False:176   False:169  
##  True :168   True :166            True : 41   True : 68   True : 75  
##                                                                      
##                                                                      
##                                                                      
##                                                                      
##   animals     use_sex   
##  False:155   False:181  
##  True : 89   True : 63  
##                         
##                         
##                         
## 
library(ggplot2)
# a bar plot of the number of funny
ggplot(df_recoded, aes(x = as.factor(funny))) +
  geom_bar() +
  labs(x = "Is Funny", y = "Count") +
  scale_x_discrete(labels = c("0" = "Not Funny", "1" = "Funny"))

# a bar plot of the number of ads showing danger
ggplot(df_recoded, aes(x = as.factor(danger))) +
  geom_bar() +
  labs(x = "Is showing danger", y = "Count") +
  scale_x_discrete(labels = c("0" = "Not showing danger", "1" = "Showing danger"))

Conclusions

I am going to explore this interesting data set and verify if the claims in this article are indeed true. I would also like to evaluate the trends over the years of proportions of ads for each of the categories they listed, including those that were funny, patriotic, relied on using sexuality, showed animals, or included a celebrity.It would be even more interesting to see what change, if any, took place over the years.What might also be interesting is if I could find any publicly available data for at least a few of the commercial products these ads were for, and evaluate any change in buying habits around the time of airing of these Superbowl ads (though there are definitely many confounders at play, but it would be a good exercise and a fun one).