Climate change is an urgent problem we face as a society. Humans burn fossil fuels to harness energy to power our economies, transportation, food systems, and everything in between. Emissions from burning the fossil fuels get trapped in Earth’s atmosphere causing temperatures to rise which will eventually cause irreversible damage to Earth making life as we know it impossible to sustain. To slow down and change the trajectory of global warming, we should focus on the areas where we can make the biggest changes. One of these areas is transportation which accounts for almost a third of US global warming emissions (source). In fact, personal vehicles are responsible for most of those emissions. But there are many solutions available to us. One of which is the electric vehicle (EV) (source).
Conventional vehicles run on gasoline. Electric cars on the other hand run on electricity which can be much cleaner than gasoline depending on how the electricity is made. ⅔ of Americans already live in areas where powering an electric car results in fewer global warming emissions than driving even a 50 mpg gasoline car. As the country adds more and more sources of renewable energy, driving electric will get even cleaner. Even considering the environmental impact of making a electric vehicle and its battery, a gasoline car emits about double the emissions that an average battery electric vehicle emits (BEV) (source ). Since EVs emit fewer pollutants, communities would be less exposed to harmful tail pipe emissions that can cause heart and lung disease.
EVs can play an important role in reducing global warming emissions and improving public health. But do people want to drive them? In a survey conducted in 2019, ⅔ of prospective car buyers were interested in owning an electric vehicle (source). However, interest in owning and actually making the choice to purchase and EV are not the same.
Now that concerns about driving range and charging accessibility are declining as technology improves, the future of EV sales is more optimistic. Additionally, new models are announced each year at multiple price points increasing accessibility to all income levels. Long term, EVs make economic sense: they are cheaper to charge than it is to buy gasoline and are cheaper to maintain than conventional vehicles (source). Electric vehicles are an important piece to reducing global warming emissions, so we are interested in how the market has grown, and how it is predicted to grow in the future.
Many companies and organizations forecast EV sales to try and predict how and when the market will grow. We are interested in how the U.S. Energy Information Administration (EIA) has done historically with their EV forecasts as well as what they think the future of electric vehicles will look like. So, we ask the following two research questions.
What is the difference between historical BEV sales and EIA’s projected sales in the past?
Has EIA become more or less optimistic about future BEV sales? What were they predicting the future market would look like 10 years ago vs now?
We chose to focus our research on data from EIA because it is published to the web regularly and updated often. EIA is responsible for collecting, analyzing, and disseminating energy information to policy makers, efficient markets, and the public. This report will focus on forecasts for battery electric vehicle (BEV) sales in the US because BEVs made up the largest percent of electric vehicle sales in 2017 after hybrids and are seen as a promising option to buyers. BEVs are powered solely by an electric battery with no gas engine parts. They are considered zero emission vehicles because they do not generate any harmful tailpipe emissions or air pollution hazards caused by traditional gasoline-powered vehicles (source).
Our main data source for EV forecasts will be U.S. Energy Information Administration (EIA) Energy Outlook Annual Reports from 2010 to 2020. Each annual report has a chart published titled “Light-duty vehicle sales by technology type and Census Division United States” which breaks down projected EV sales for the next 20-30 years. The data for these charts is also provided in an excel sheet which we can download and use as our raw data.
The data was downloaded directly from the EIA website. EIA is recognized as a gold standard in the US in terms of energy reporting. The data was originally produced by EIA using their own modeling system to project into the future.
Below are the links to the raw data for each energy report published:
The next data source breaks down EV car sales in the US from 2010 - 2019 by month. This data was given to us by Professor Helveston who previously used this data in his own work. The data was collected by two sources, hybridcars.com and insideEVs.com
Hybridcars.com reports the EV sales by year and technology type (bev, hybrid, diesel). The HybridCars.com monthly sales Dashboard is a collaboration between HybridCars.com and Baum & Associates, a Michigan-based market research firm focusing on automotive issues including the hybrid and electric vehicle market. Here is an example of the June 2018 sales dashboard.
insideEVs.com was reporting monthly EV sales in the US based on actual reports from the manufacturers themselves. Unfortunately, most manufacturers stopped reporting sales data so the data only goes until the end of 2019. Here is the monthly sales data.
We note that since the data was self reported by manufacturers, it is possible certain companies with certain motives could have under- or over-reported or alternatively misreported by accident.
After loading in all the data, we cleaned up the names of the columns and harmonized them so we could join all the EIA data into one table in tidy form.
### turning eia data into tidy data
eia_2010 <- eia_2010 %>%
gather(key = "type",
value = "cars_in_mil",
`100_mi_BEV`:NGV_FCV)
eia_2011 <- eia_2011 %>%
gather(key = "type",
value = "cars_in_mil",
`100_mi_BEV`:NGV_FCV)
eia_2012 <- eia_2012 %>%
gather(key = "type",
value = "cars_in_mil",
`100_mi_BEV`:NGV_FCV)
eia_2013 <- eia_2013 %>%
gather(key = "type",
value = "cars_in_mil",
`100_mi_BEV`:NGV_FCV)
eia_2014 <- eia_2014 %>%
gather(key = "type",
value = "cars_in_mil",
`100_mi_BEV`:NGV_FCV)
eia_2015 <- eia_2015 %>%
gather(key = "type",
value = "cars_in_mil",
`100_mi_BEV`:NGV_FCV)
eia_2016 <- eia_2016 %>%
gather(key = "type",
value = "cars_in_mil",
`100_mi_BEV`:NGV_FCV)
eia_2017 <- eia_2017 %>%
gather(key = "type",
value = "cars_in_mil",
`100_mi_BEV`:NGV_FCV)
eia_2018 <- eia_2018 %>%
gather(key = "type",
value = "cars_in_mil",
`100_mi_BEV`:NGV_FCV)
eia_2019 <- eia_2019 %>%
gather(key = "type",
value = "cars_in_mil",
`100_mi_BEV`:NGV_FCV)
eia_2020 <- eia_2020 %>%
gather(key = "type",
value = "cars_in_mil",
`100_mi_BEV`:NGV_FCV)
eia_2021 <- eia_2021 %>%
gather(key = "type",
value = "cars_in_mil",
`100_mi_BEV`:NGV_FCV)
##binding together all the eia data
eia <- eia_2010 %>%
full_join(eia_2011) %>%
full_join(eia_2012) %>%
full_join(eia_2013) %>%
full_join(eia_2014) %>%
full_join(eia_2015) %>%
full_join(eia_2016) %>%
full_join(eia_2017) %>%
full_join(eia_2018) %>%
full_join(eia_2019) %>%
full_join(eia_2020) %>%
full_join(eia_2021)
kable(head(eia))
publish_year | forcast_year | source | forcastMarket | type | cars_in_mil |
---|---|---|---|---|---|
2010 | 2010 | eia | US | 100_mi_BEV | NA |
2010 | 2011 | eia | US | 100_mi_BEV | NA |
2010 | 2012 | eia | US | 100_mi_BEV | NA |
2010 | 2013 | eia | US | 100_mi_BEV | NA |
2010 | 2014 | eia | US | 100_mi_BEV | NA |
2010 | 2015 | eia | US | 100_mi_BEV | NA |
The ev_sales data
is reported monthly, so next we find yearly aggregates for true EV sales and then join the two data frames into the data frame proj_vs_true
.
#find yearly aggregates sales
ev_sales_agg <- ev_sales %>%
group_by(year,category) %>%
summarize(sum(sale)) %>%
#recode observations to match naming in eia
mutate(type=ifelse(
category == 'hybrid','HEV',ifelse(
category == 'bev','BEV', ifelse(
category == 'phev','PHEV',NA))))
#join tables
proj_vs_true <- eia %>%
left_join(ev_sales_agg, by=c('forcast_year'='year', 'type'='type')) %>%
rename(sale_proj=cars_in_mil, sale=`sum(sale)`) %>%
select(forcast_year, type, sale_proj, sale, publish_year)
kable(head(proj_vs_true))
forcast_year | type | sale_proj | sale | publish_year |
---|---|---|---|---|
2010 | 100_mi_BEV | NA | NA | 2010 |
2011 | 100_mi_BEV | NA | NA | 2010 |
2012 | 100_mi_BEV | NA | NA | 2010 |
2013 | 100_mi_BEV | NA | NA | 2010 |
2014 | 100_mi_BEV | NA | NA | 2010 |
2015 | 100_mi_BEV | NA | NA | 2010 |
In general, we want to look at how accurate EIA forecasts have been compared to the true BEV sales.
To see if EIA forecasts for BEVs were improving year after year, we look at the forecasts made for 2016, 2017, and 2018 versus the actual number of BEVs sold in those years.
eia_historical_2017 <- proj_vs_true %>%
filter( type== "BEV",
forcast_year %in% c("2016", "2017", "2018")
#forcast_year %in% c("2016")
)%>%
mutate(sale = sale/10^6)
eia_historical_2017_bev <- eia_historical_2017 %>%
filter(type == "BEV")
#data frame with just category and y intercept
df_intercept <- eia_historical_2017 %>%
slice(1:3) %>%
mutate(label = c("true sales", "", ""))
eia_historical_2017_plot <- eia_historical_2017 %>%
ggplot()+
geom_point(aes(x = publish_year, y = sale_proj))+
geom_hline( data = df_intercept, aes( yintercept = sale),
color = "red", linetype = 'dashed'
)+
facet_wrap(vars(forcast_year))+
labs(x = "Year forecast was published",
y = "Projected BEV sales (in millions)",
subtitle = "EIA is generally conservative with its BEV forecasts",
title = "EIA is updating and improving their forecasts every year")+
theme_minimal_hgrid()+
theme(panel.grid = element_blank())+
geom_text(data = df_intercept, aes(x = 2012.5, y = 0.10, label = label), color = "red")
eia_historical_2017_plot
Looking at Figure 1, we see that as the publish year approaches the year we are looking at, the projections get closer to the actual sales for that year. The forecasts approaching the actual sales for all 3 years leads us to believe EIA was updating their forecasts for BEVs each year. As the year in question got closer, the forecasts got better. This makes sense because there is more uncertainty forecasting 8 years into the future than there would be forecasting 2 years into the future.
Generally, EIA was conservative with their forecasts since most points are below the true sales lines in red. We also see that BEV sales are in fact increasing year after year since the red dashed lines move up the y axis from 2016 to 2018. We see a larger jump from 2017 to 2018 than from 2016 to 2017. This jump could have led EIA to be over optimistic about the future of BEV sales after 2018 which we will investigate further later in the report. Two major marketplace factors could have led to the jump in true sales from 2017 to 2018. First is a regulatory environment that is increasingly beneficial to EV consumption. Across states, this may include tax incentives for purchasing BEVs and PHEVs, free parking programs, HOV lane access, and outreach campaigns targeting low- and middle-income consumers. For example, a consumer purchasing a 2021 Toyota RAV-4 PHEV is eligible for 7,500 USD in federal tax rebates (20% of MSRP) plus potential state rebates. The second factor has been an expansion in consumer choice in the EV marketplace. While nearly all manufacturers sell an EV model, the majority of Americans outside of major metropolitan areas only had access to about 10 EV models in 2017. Another concern for buying an EV is charging station locations. Electric utility companies have become increasingly more compatible with EV charging across the country recently. This is likely a reaction to the increase in EV sales and an increased need for household charging. Both this and regulatory incentives to increase public and workplace charging has further fueled the EV marketplace growth (source: International Council on Clean Transportation).
Another likely reason for the increase in true BEV sales between 2017 and 2018 was the release of the Tesla Model 3, production of which began in 2017. This BEV offered luxury and sustainability at a mid-level price point of around 45,000 USD MSRP. Consumers were eligible for 7,500 USD in federal tax rebates as well (17% of MSRP). This was a substantial decline in price from other Tesla models, like the Model S which was roughly 62,000 USD more in 2018. (source: US News)
Finally, we note an odd occurrence across all 3 years. In the 2017 facet for example, EIA published a forecast for 2017 in their 2018 report that was well below the true BEV sales of 2017. We expected any ‘forecasts’ after the year 2017 to be equal to the true sales of 2017. So, we interpret this discrepancy by understanding EIA either has different true sales data or they are not updating their forecasting software with true sales before making their new forecast publication each year.
To study how the EIA BEV sales projections have performed historically, we look at BEV sales projections for the forecast years 2010 to 2019 compared to true BEV sales in the same time period. We compare this data in each projection publication, from 2010 to 2019. The EIA data includes projections published in 2020 and 2021, but the EV sales data only includes up to 2019 since at that point manufacturers began to self-report.
proj_vs_true_plot <- proj_vs_true %>%
filter(publish_year<=2019,
forcast_year %in% c(2010,2011,2012,2013,2014,2015,2016,2017,2018,2019),
type =='BEV') %>%
mutate(sale=sale/(10^6)) %>%
ggplot()+
geom_line(aes(x=forcast_year, y=sale), colour='steelblue') +
geom_line(aes(x=forcast_year, y=sale_proj), color='red')+
geom_text(data=data.frame(x=2017.6, y=0.03, label='projected', publish_year=2010),
aes(x=x,y=y,label=label,publish_year=2010),color='red', size=3)+
geom_text(data=data.frame(x=2018, y=0.28, label='true', publish_year=2010),
aes(x=x,y=y,label=label,publish_year=2010),color='steelblue', size=3)+
facet_wrap(vars(publish_year), nrow=2)+
theme_minimal_hgrid(font_size=12)+
scale_x_continuous(expand = c(0, 0.5), breaks=seq(2012,2018,3))+
labs(x='Forecast Year', y='BEV Sales, Millions of Units',
title='BEV True vs. Projected Sales',
subtitle='BEV sales projections have become more accurate in reflecting true marketplace trends over time',
size=18)
proj_vs_true_plot