ExpoSum <- read_excel("~/R Projects/Final Project/Exhibitor Expo Summary Data.xlsx") %>% mutate(CountCol = 1)
Show_Summary <- read_excel("~/R Projects/Final Project/Show Data.xlsx")
Attendee <- read.csv("~/R Projects/Final Project/Attendee Data.csv") %>% mutate(CountCol = 1)
Oil_Prices <- Quandl("OPEC/ORB", start_date = "2012-01-01", end_date = "2016-11-30")
#I exported Google trends data instead of using the library so that I could better customize the plot
GoogleTrends <- read.csv("~/R Projects/Final Project/GoogleTrendsData.csv")
Oil_Prices$Date <- as.Date(Oil_Prices$Date, format = "%m/%d/%Y")
Oil_Prices <- mutate(Oil_Prices, Year = as.numeric(format(Oil_Prices$Date, format = "%Y")))
#find the average oil price for each year
Avg_Oil2013 <- Oil_Prices %>% filter(Year == "2013") %>% summarize(AvgPrice = mean(Value))
Avg_Oil2014 <- Oil_Prices %>% filter(Year == "2014") %>% summarize(AvgPrice = mean(Value))
Avg_Oil2015 <- Oil_Prices %>% filter(Year == "2015") %>% summarize(AvgPrice = mean(Value))
Avg_Oil2016 <- Oil_Prices %>% filter(Year == "2016") %>% summarize(AvgPrice = mean(Value))
#bind the average oil prices together to form a dataframe that can be used in correlations
Avg_Oil_Prices <- rbind(Avg_Oil2013, Avg_Oil2014, Avg_Oil2015, Avg_Oil2016)
#create plot of oil prices from 2012-2016
Oil_Plot <- ggplot(Oil_Prices, aes(x = Date, y = Value)) +
geom_line() +
scale_y_continuous(name = "Price of Oil - $ per Barrel") +
labs(x = "Date") +
labs(title = "Oil Prices Over Time")
GoogleTrends$Week <- as.Date(GoogleTrends$Week, format = "%m/%d/%Y")
#plot IWBS searches to see if there is a decline in interest
IWBS_GTrends_Plot <- ggplot() +
geom_line(data = GoogleTrends, aes(x = Week, y = IWBS, colour = "blue")) +
scale_color_manual(labels = c("IWBS"), values = c("blue")) +
scale_y_continuous(name = "Google Trends") +
labs(colour ="Legend") +
labs(x = "Date") +
labs(title = "IWBS Show Search Popularity")
#plot PME searches to see if there is a decline in interest
PME_GTrends_Plot <- ggplot() +
geom_line(data = GoogleTrends, aes(x = Week, y = PME, colour = "red")) +
scale_color_manual(labels = c("PME"), values = c("red")) +
scale_y_continuous(name = "Google Trends") +
labs(colour ="Legend") +
labs(x = "Date") +
labs(title = "PME Show Search Popularity")
PME_Table <- Show_Summary %>% select(-Avg_PPSF, -Space_Dollars, -YoY_Dollars) %>%
filter(Show_Name == "2013 Pacific Marine Expo" |
Show_Name == "2014 Pacific Marine Expo" |
Show_Name == "2015 Pacific Marine Expo" |
Show_Name == "2016 Pacific Marine Expo")
IWBS_Table <- Show_Summary %>% select(-Avg_PPSF, -Space_Dollars, -YoY_Dollars) %>%
filter(Show_Name == "2013 International Workboat Show" |
Show_Name == "2014 International Workboat Show" |
Show_Name == "2015 International Workboat Show" |
Show_Name == "2016 International Workboat Show")
#filter to see how many PME exhibitors signed up and then cancelled each year
PME_Cancels <- ExpoSum %>% filter(Event == "Pacific Marine Expo", Status == "Cancelled") %>%
group_by(Show_Name) %>%
summarize(NumberOfCancels = sum(CountCol))
#bar chart plot of cancels
PME_Cancels_Plot <- ggplot(data = PME_Cancels, aes(x = Show_Name, y = NumberOfCancels)) +
geom_bar(fill = "slateblue4", colour = "black", stat = "identity") +
geom_text(aes(label = NumberOfCancels, vjust = -.5)) +
theme(legend.position = "none") +
scale_y_continuous(name = "# of Cancels") +
labs(x = "Show") +
labs(title = "PME Exhibitor Cancellations")
#filter to see how many IWBS exhibitors signed up and then cancelled each year
IWBS_Cancels <- ExpoSum %>% filter(Event == "International Workboat Show", Status == "Cancelled") %>%
group_by(Show_Name) %>%
summarize(NumberOfCancels = sum(CountCol))
#bar chart plot of cancels
IWBS_Cancels_Plot <- ggplot(data = IWBS_Cancels, aes(x = Show_Name, y = NumberOfCancels)) +
geom_bar(fill = "aquamarine4", colour = "black", stat = "identity") +
geom_text(aes(label = NumberOfCancels, vjust = -.5)) +
theme(legend.position = "none") +
scale_y_continuous(name = "# of Cancels") +
labs(x = "Show") +
labs(title = "IWBS Exhibitor Cancellations")
#filter attendees to display only those who attended PME
PME_Attendee <- Attendee %>% filter(Event == "PME", Attended == "Y") %>%
group_by(Show_Code) %>%
summarize(TotalAttendees = sum(CountCol))
#plot PME attendees
PME_Attendee_Plot <- ggplot(data = PME_Attendee, aes(x = Show_Code, y = TotalAttendees)) +
geom_bar(fill = "slateblue3", colour = "black", stat = "identity") +
geom_text(aes(label = TotalAttendees, vjust = -.5)) +
theme(legend.position = "none") +
scale_y_continuous(name = "# of Attendees") +
labs(x = "Show") +
labs(title = "# of PME Attendees")
#filter attendees to display only those who attended IWBS
IWBS_Attendee <- Attendee %>% filter(Event == "IWBS", Attended == "Y") %>%
group_by(Show_Code) %>%
summarize(TotalAttendees = sum(CountCol))
#plot IWBS attendees
IWBS_Attendee_Plot <- ggplot(data = IWBS_Attendee, aes(x = Show_Code, y = TotalAttendees)) +
geom_bar(fill = "aquamarine3", colour = "black", stat = "identity") +
geom_text(aes(label = TotalAttendees, vjust = -.5)) +
theme(legend.position = "none") +
scale_y_continuous(name = "# of Attendees") +
labs(x = "Show") +
labs(title = "# of IWBS Attendees")
#filter attendess to display only people who did not show up to PME
PME_NoShows <- Attendee %>% filter(Event == "PME", Attended == "N") %>%
group_by(Show_Code) %>%
summarize(TotalNoShows = sum(CountCol))
#plot PME no shows
PME_NoShows_Plot <- ggplot(data = PME_NoShows, aes(x = Show_Code, y = TotalNoShows)) +
geom_bar(fill = "slateblue2", colour = "black", stat = "identity") +
geom_text(aes(label = TotalNoShows, vjust = -.5)) +
theme(legend.position = "none") +
scale_y_continuous(name = "# of Attendees") +
labs(x = "Show") +
labs(title = "# of PME Registratants That Did Not Attend")
#filter attendess to display only people who did not show up to IWBS
IWBS_NoShows <- Attendee %>% filter(Event == "IWBS", Attended == "N") %>%
group_by(Show_Code) %>%
summarize(TotalNoShows = sum(CountCol))
#plot IWBS no shows
IWBS_NoShows_Plot <- ggplot(data = IWBS_NoShows, aes(x = Show_Code, y = TotalNoShows)) +
geom_bar(fill = "aquamarine2", colour = "black", stat = "identity") +
geom_text(aes(label = TotalNoShows, vjust = -.5)) +
theme(legend.position = "none") +
scale_y_continuous(name = "# of Attendees") +
labs(x = "Show") +
labs(title = "# of IWBS Registratants That Did Not Attend")
PME_Oil_SQ_Cor <- cor(Avg_Oil_Prices$AvgPrice, PME_Table$Actual_Space)
PME_Oil_ExCL_Cor <- cor(Avg_Oil_Prices$AvgPrice, PME_Cancels$NumberOfCancels)
PME_Oil_Atd_Cor <- cor(Avg_Oil_Prices$AvgPrice, PME_Attendee$TotalAttendees)
PME_Oil_NS_Cor <- cor(Avg_Oil_Prices$AvgPrice, PME_NoShows$TotalNoShows)
IWBS_Oil_SQ_Cor <- cor(Avg_Oil_Prices$AvgPrice, IWBS_Table$Actual_Space)
IWBS_Oil_ExCL_Cor <- cor(Avg_Oil_Prices$AvgPrice, IWBS_Cancels$NumberOfCancels)
IWBS_Oil_Atd_Cor <- cor(Avg_Oil_Prices$AvgPrice, IWBS_Attendee$TotalAttendees)
IWBS_Oil_NS_Cor <- cor(Avg_Oil_Prices$AvgPrice, IWBS_NoShows$TotalNoShows)
Pacific Marine Expo and International Workboat Show
What affects show profitability and attendance?
Pacific Marine Expo (PME) and International Workboat Show (IWBS) are two of Diversified Communication’s domestic business to business tradeshows that occur each year at the end of November. PME takes place in Seattle, WA and is primarily geared towards companies and people in the commerical fishing industry. IWBS is held in New Orleans, LA and the majority of exhibitors and customers come from the oil and shipping industries.
It has always been common thought within Diversified that lower oil prices have a positive impact on PME because fisherman would be paying less for fuel to power their boats, thus leaving extra money to exhibit or attend the event; while low oil prices have a negative affect on IWBS because the show is so dependant on companies in the oil business, and if oil prices are down then their revenues are down and they are less likely to attend or exhibit.
I have asked numerous people within the company what data they have to prove that a correlation exists between oil prices and the success of PME and IWBS, and each one has responded by saying that “We are just really in tune with those industries and we just know”. For me, that is not an adequate answer - I want to see proof. So that is what triggered this project idea; I want to investigate whether or not oil prices have an affect and if not oil, then what? This is a very large undertaking, so the work that I have completed below is what I would consider Phase 1 of many phases yet to come. For this specific R project, I will focus on exhibitor and attendee data for the past 4 events (2013-2016).
As you can see, oil prices began its nose dive mid-2014, which is in the middle of these events’ marketing cycle; if common thought is true, then we should see a significant difference between the events that occured in 2013/2014 compared to the ones in 2015/2016.
Exhibitor Show Data
I would like to begin here by defining my columns:
Space_Goal is the total square feet that company desires to sell and has budgeted to sell
YoY_Space_Goal is the amount by which the Space_Goal has increased or decreased from the previous year
YoY_Actual_Space is the increase or decrease in Actual_Space sold compared to the previous year
To_Goal is how far away from the Space_Goal the Actual_Space is; negative means the goal was missed and positive means the goal was met
PME
2013 Pacific Marine Expo |
64000 |
7300 |
66668 |
3858 |
2668 |
2014 Pacific Marine Expo |
67500 |
3500 |
70374 |
3706 |
2874 |
2015 Pacific Marine Expo |
72250 |
4750 |
74874 |
4500 |
2624 |
2016 Pacific Marine Expo |
77000 |
4750 |
75290 |
416 |
-1710 |
The table above clearly shows steady growth of actual space sold for the show and each yearly space goal was met with the exception of 2016. I would have expected to see significantly more growth in 2015 and 2016 with oil prices being lower then in 2013 and 2014.
IWBS
2013 International Workboat Show |
219600 |
30600 |
218670 |
75 |
-930 |
2014 International Workboat Show |
221000 |
1400 |
232741 |
14071 |
11741 |
2015 International Workboat Show |
235000 |
14000 |
230180 |
-2561 |
-4820 |
2016 International Workboat Show |
229000 |
-6000 |
219660 |
-10520 |
-9340 |
The IWBS table appears to be a bit more sporadic, starting with the uneven increase in space goal. The actual space sold in 2016 is almost back down to the total space sold in 2013, which 2014 appears to have been a peak year. If oil prices played a role in the amount of space actually sold, then 2015 and 2016 should have lower space sales then 2013 and 2014 when oil was high.
Note: in another phase of this project, I want to investigate if the prior year’s oil prices affect the show because many exhibitors sign up for the following year at the current event.
Exhibitor Cancellations

The slight increase in cancellations for IWBS would support the general theory at Diversified because oil prices have been on the decline so more people may back out at the end of the year when they are not in the financial position they thought they might be.
Attendee Data

The above bar chart shows a steady year over year attendance - it looks as though around 6000 attendees could be expected each year, regardless of oil prices.

IWBS defintely shows a decline in attendees that falls in line with the decline in oil prices - could there be a correlation here?
Note: in the future I want to run correlations between actual space sold and attendance

Each year there are many people who register for our events and then do not show up. This is more common that exhibitor cancellations because the cost to attend is very inexpensive compared to purchasing exhibitor space. PME shows a slight downward trend; this goes againtst the idea that lower oil prices allow more fisherman and people in the commerical fishing industry to come to the show.

This chart for IWBS no-shows does trend in favor of the oil price theory - if oil prices are low then the oil companies that make up a large part of the show, do not have extra money to send their people to an event or they cannot afford to have their people take time off work when they need to be doing a job to keep the cash flowing in. You may ask, well if they did not have the money to attend then why did they register in the first place? For some larger events such as IWBS, past attendees are automatically signed up for the following year, in hopes that they will take advatage of a free pass and come to the show. One of the big drivers that encourages more companies to exhibit is to have a large flow of traffic at the event - thus free registration for past attendees = more people = more exhibitors = more revenue. The data above may show that when oil is down, companies need to keep their employees at work doing their jobs.
Correlations
Next, I ran actual correlation data to see what statistics have to say about the affect that oil prices have on our events.
Oil Price Correlation with Data
Note: The yearly Oil Price average is the Independent Variable X and the listed metric is the Dependent Variable Y.
PME:
Oil Price Vs. Actual SQFT Sold: -0.96398
Oil Price Vs. Exhibitor Cancels: -0.96227
Oil Price Vs. # of Attendees: 0.6786
Oil Price Vs. # of No Shows: 0.602
The numbers above are not strong enough to say oil prices have an influence of PME. The number of attendees and no-shows do show correlation result around .6, however with only 4 data points that is not close enough to 1 to make a conclusion. The actual sqaure footage sold and number of exhibitor cancels do have a fairly strong negative correlation at -.96, letting me say that it is doubtful that oil prices affect exhibitor attendance.
IWBS:
Oil Price Vs. Actual SQFT Sold: 0.03766
Oil Price Vs. Exhibitor Cancels: -0.84431
Oil Price Vs. # of Attendees: 0.55572
Oil Price Vs. # of No Shows: -0.42096
Just as we saw in the IWBS table of data, there does not seem to be any consistency across the numbers, and none of the correlation results are strong enough to conclude that oil prices significantly affect the show.
Google Trends
Lastly, I wanted to see if the popularity of either of these events had changed over the last four year. I created the charts below by pulling search data from Google Trends.
PME

IWBS

It is very apparent when these shows occur because the search rating for each event’s name sky rockets. It is noticable that these events were searched less frequently throughout the year, and that this year each show had diminished performance. As a next step in this project, I would like to see if the dates of our marketing emails for these events correlate with the spikes in search popularity. I would also like to investigate whether our marketing practices have changed over the last show cycles to see if we have been reaching our to our customers less - which could result in less space sold and fewer attendees.
Conclusion
So far, I have not discovered any telling data that proves that oil prices affect the outcome of a show’s performance and reveune, however by just looking at data for the past four years I am leaning towards the idea that there are many other factors in play. I hope to continue this project so that I can one day find an answer and prove to the business that we cannot making budgeting decisions based on oil prices.