Low Gasoline Prices, What are Consumers Doing with the Extra Cash?

Kelly Mejia Breton
Posted on May 30, 2016

Contributed by Kelly Mejia Breton. She is currently in the NYC Data Science Academy 12 week full time Data Science Bootcamp program taking place between April 11th to July 1st, 2016. This post is based on her third class project - Web Scraping, due on the 6th week of the program.

                                                                                                        WTI Price -- Chart Source Bloomberg

Screen Shot 2016-05-29 at 10.16.21 PM

Oil prices have fallen sharply since the summer of 2014.  Prices bottomed in February 2016, since then they have gradually increased.  While the breakeven cost is a popular topic among investors, on the consumer side gasoline prices are very cheap.  I recall buying gasoline at under $2/gallon in New Jersey for a bit.  With energy prices trading at relatively low compared to 2014 prices, I wonder what consumers are doing with the extra cash they are saving?

Knowing where the consumer is spending is normally not public information.  Google Trends tracks the frequency of terms searched on their website and reports it as an index.  Although web search terms are not a guarantee that a purchase was made, it’s a good insight into the consumer’s thoughts. And a great indication of when and where advertising companies should advertise.

Could there be a possible relationship between some web search terms and gasoline prices?


The Dataset

Using Beautiful Soup I retrieved daily prices from the U.S. Energy Information Administration (EIA) website and store them in a MongoDB database.  The EIA updates their website daily with yesterdays close spot price.  To automate the process, I created a crontab that runs the python code daily at 7:00 am and stores the data in a database.

My primary concern was pulling the correct data, since the order of the prices could change at anytime without my knowledge.   To avoid this, I included the crude and product name as the lookup tool returning the position of the element.

Below is an example of the code I used for WTI:

WTI=[i for i, x in enumerate(WebScappedData) if x.text == 'WTI']


The code looks for the name of the price first, serving as a check, it adds the distance of price value from the name location,  and uses this to update the database.

Here is an example of the data that I scrapped showed in a pandas dataframe with the name of each product along with the corresponding price per date.  From this dataset I will focus on U.S. Retail Gasoline Prices.



My goal is to use historic gasoline prices along with the Google Trends data and see if there are any potential linear relationships.  Ultimately fitting a simple regression model and using the scraped data to forecast consumer behavior.


I decided to take a closer look at a few web search terms to see if consumers are searching:


Starwood Hotels- possible vacations

Mercedes-Benz- luxury cars

Home Improvement- fixing up the house, or buying a house

Yoga- are they crude investors and considering some meditation to relax

Restaurant - eating out since they have more to spend

new borns- having babies


Web Search Terms


Taking a closer look at the charts at first glance it looks like Starwood Hotels has a spike in searches right around the time gasoline prices were at their lowest.  Maybe flights were also cheaper with the cheaper fuel?  Mercedes-Benz seem to also be near the highs when prices are at their lows. Home improvement appears to have a slight up tick at the end of 2015 beginning of 2016.  While yoga web searches have been increasing over time, does not look like low gasoline prices affected the frequency of the search.  Restaurants have an up tick in the middle of 2015 then drops then increases again, hard to tell from this chart if its around the time of low prices.  New borns searches have an up tick at the end of 2015 beginning of 2016, could be related to low gasoline prices.


Looking at the scatter plots we can get a better idea if possible relationships exist between web search terms and low gasoline prices.  Starwood Hotels do not seem to have much of a linear relationship but we can see that as prices were lower, searches reached new highs.  Mercedes-Benz and Home Improvement both seem to have an indirect relationship with low gasoline prices, as prices decreased searches increased.  However, Yoga and Restaurants do not appear to be affected by low gasoline prices, maybe they are part of consumers everyday life and not necessary something determined by extra cash they may have.   Eating out and meditating may be part of the consumers everyday expense.  Newborns appears  to have a relationship with low gasoline prices, having some extra cash could make consumer thing about expanding their families.

I decided to produce some simple linear regressions just to show how the scrapped data could be used, although please keep in mind I did not perform any of the test to make sure a linear regression was suitable.  As well as gasoline prices violate the assumption of independence since today's prices are related to yesterdays price.


Placing the US retail prices in the models these are the monthly forecast.  Once I have more daily data collected I will take the month-to-date average and apply it to the model to get a better forecast, assuming all the requirements are met.  Based on Friday’s gasoline prices Mercedes-Benz websearches are projected to be high in the 75% starwoods & home improvement are expected to be between the 50th and 75th Newborns seem to be slightly lower than the 75%.


Next steps

To test the data for normal distribution, constant variance and independence, and apply time series analysis, possibly a lagged variable.


About Author

Kelly Mejia Breton

Kelly Mejia Breton

Kelly Mejia Breton is a driven and determined Senior Analyst with nearly 15 years of proven data analytics expertise. Most recently focused on forecasting short-term and long-term global crude oil and product prices for PIRA Energy Group. Previously...
View all posts by Kelly Mejia Breton >

Related Articles

Leave a Comment

No comments found.

View Posts by Categories

Our Recent Popular Posts

View Posts by Tags

#python #trainwithnycdsa 2019 airbnb Alex Baransky alumni Alumni Interview Alumni Reviews Alumni Spotlight alumni story Alumnus API Application artist aws beautiful soup Best Bootcamp Best Data Science 2019 Best Data Science Bootcamp Best Data Science Bootcamp 2020 Best Ranked Big Data Book Launch Book-Signing bootcamp Bootcamp Alumni Bootcamp Prep Bundles California Cancer Research capstone Career Career Day citibike clustering Coding Course Demo Course Report D3.js data Data Analyst data science Data Science Academy Data Science Bootcamp Data science jobs Data Science Reviews Data Scientist Data Scientist Jobs data visualization Deep Learning Demo Day Discount dplyr employer networking feature engineering Finance Financial Data Science Flask gbm Get Hired ggplot2 googleVis Hadoop higgs boson Hiring hiring partner events Hiring Partners Industry Experts Instructor Blog Instructor Interview Job Job Placement Jobs Jon Krohn JP Morgan Chase Kaggle Kickstarter lasso regression Lead Data Scienctist Lead Data Scientist leaflet linear regression Logistic Regression machine learning Maps matplotlib Medical Research Meet the team meetup Networking neural network Neural networks New Courses nlp NYC NYC Data Science nyc data science academy NYC Open Data NYCDSA NYCDSA Alumni Online Online Bootcamp Online Training Open Data painter pandas Part-time Portfolio Development prediction Prework Programming PwC python Python Data Analysis python machine learning python scrapy python web scraping python webscraping Python Workshop R R language R Programming R Shiny r studio R Visualization R Workshop R-bloggers random forest Ranking recommendation recommendation system regression Remote remote data science bootcamp Scrapy scrapy visualization seaborn Selenium sentiment analysis Shiny Shiny Dashboard Spark Special Special Summer Sports statistics streaming Student Interview Student Showcase SVM Switchup Tableau team TensorFlow Testimonial tf-idf Top Data Science Bootcamp twitter visualization web scraping Weekend Course What to expect word cloud word2vec XGBoost yelp