%>%
getting_all_counts filter(!listing_year == '2022-01-01') %>%
filter(class == 'all') %>%
filter(DAC == 'all') %>%
#filter(Region %in% c('ZEV','Non-ZEV')) %>%
ggplot(aes(x = listing_year , y = perc, group= Region, color = Region)) +
geom_line()+
geom_point()+
geom_text_repel(
data = . %>% group_by(Region)
%>% filter(listing_year == sort(unique(listing_year))[length(unique(listing_year))-1]),
#aes(label = Region),
aes(label = Region,
hjust = case_when(
== "CA" ~ 3.5,
Region == "ZEV" ~ 2.5,
Region TRUE ~ 1.1
),vjust = case_when(
== "CA" ~ 2.5,
Region == "ZEV" ~ -1.5,
Region TRUE ~ 2.5
),
),direction = "y",
#hjust = 2.0,
segment.color = "grey", # This makes the connecting lines grey
#segment.alpha = 0.9, # This makes them slightly transparent
segment.linetype = "dotted" # This makes the connecting lines dotted
+
) theme_minimal()+
theme(legend.position = "none") + # Remove the legend since we're using direct labels
#facet_wrap(~ Region)+
labs(x = "Listing Year",
y = "Percantage of EV Dealers ",
subtitle = "Percentage of total dealers selling EV's per year for all US ZEV regions and California "
+
)#scale_color_manual(values = c(color_cv, color_tesla)) +
scale_color_manual(values = plotColors) +
scale_y_continuous(limits = c(0, max(getting_all_counts$perc)))+
scale_x_date(date_breaks = "1 year", date_labels = "%Y")
Project Report
Introduction:
As Electric Vehicles (EVs) continue to gain popularity and prominence in the automotive market, it is crucial to examine their accessibility and impact across disadvantaged groups. This study aims to investigate the affordability and adoption of EVs in disadvantaged communities, addressing the following key question: What barriers exist that prevent widespread EV accessibility in disadvantaged communities? EVs are projected to make up for over a quarter of total car sales in the next ten years.(Plumber, 2021). Although there is this considerable rise, there are disparities in EV charging station access and availability in general. Public electric vehicle charging stations are disproportionately located in areas associated with higher income groups. (Jaio, 2024). It is essential to find out where these issues lie now as the amount of EVs on the road will only continue to increase.
Our findings suggest that there is low adoption of EVs due to lack of availability of affordable EVs.
Research Question:
What barriers exist that may prevent widespread EV accessibility in disadvantaged communities?
- What has been the growth in Electric Vehicle dealerships in US?
- What was the EV inventory growth compared to Conventional vehicles?
- What is the accessibility of EV’s based on income and availability?
Data Sources:
Climate and Economic Justice Screening Tool Dataset (CEJST) is the official data source used by Federal agencies to identify Disadvantaged communities. This dataset has been downloaded from the official CEJST website. (Link)
Vehicle listing dataset provided by marketcheck.com. This dataset contains information about all Vehicle Dealerships in the US and their inventories. It is available as a Parquet file. Fellow researchers at George Washington University investigating EV usage in the US preprocessed this dataset.
Census Bureau relationship files connecting 2010 census tracts to 2020 census tracts. These can been downloaded as a text file from the US Census Bureau website. (Link)
Context behind geographical region choices:
We have population data at a Census Tract level but for visualization purposes, we are restricting ourselves to a broader geographical level data. The rationale behind this approach is that individuals are not restricted to their census tracts while purchasing cars and it is known that individuals are generally willing to drive a couple of hours to get the best deal and they shop around in multiple dealerships before making a purchase. We are using a driving time duration of 2 hours from the geographical center of each census tract to calculate the accessible dealerships for individual census tracts. The choice of driving duration instead of physical distance eliminates the disparities between heavily populated urban clusters and sparsely populated rural ones. The choice of ZEV States vs Non-ZEV states turned out to be the most logical one as these states require car manufacturers to sell a certain number of zero emission cars. California was futher seperated out from the ZEV group because it is an outlier and that will be apparent from the data.
1) Growth of EV Dealerships across US over the years:
Insights:
- The above graph shows us that there has been clear growth in the number of dealerships selling EV vehicles. (Note - For a dealership to be considered as EV dealership, our condition was that it should have at least one BEV vehicle listed during that year )
Looking at variations based on Urban vs Rural and DAC vs Non-DAC
Code
%>%
getting_all_counts filter(!listing_year == '2022-01-01') %>%
filter(!class == 'all') %>%
filter(DAC == 'all') %>%
ggplot(aes(x = listing_year , y = perc, group= class, color = class)) + #group= class, color = class
geom_line()+
geom_point()+
theme_minimal()+
theme(legend.position = "bottom") +
facet_wrap(~Region, ncol = 3) +
scale_color_discrete(name = "Class") +
labs(x = "Listing Year",
y = "Percantage of EV Dealers ",
subtitle = "Percentage of total dealers selling EV's per year for ZEV, Non-ZEV states and
California divided by class "
+
)scale_y_continuous(limits = c(0, max(getting_all_counts$perc)))
Code
%>%
getting_all_counts filter(!listing_year == '2022-01-01') %>%
filter(class == 'all') %>%
filter(!DAC == 'all') %>%
ggplot(aes(x = listing_year , y = perc, group= DAC, color = DAC)) + #group= class, color = class
geom_line()+
geom_point()+
theme_minimal()+
theme(legend.position = "bottom") +
facet_wrap(~Region, ncol = 3) +
scale_color_discrete(name = "Status") +
labs(x = "Listing Year",
y = "Percantage of EV Dealers ",
subtitle = "Percentage of total dealers selling EV's per year for ZEV, Non-ZEV states and
California divided by DAC "
+
)scale_y_continuous(limits = c(0, max(getting_all_counts$perc)))
%>%
getting_all_counts filter(!listing_year == '2022-01-01') %>%
filter(!class == 'all') %>%
filter(!DAC == 'all') %>%
#filter(Region %in% c('CA')) %>% #
ggplot(aes(x = listing_year , y = perc,group= DAC, color = DAC )) + #group= class, color = class
geom_line()+
geom_point()+
theme_minimal()+
theme(legend.position = "bottom") +
#facet_wrap(~class, ncol = 3) +
scale_color_discrete(name = "Status") +
facet_grid(class ~ Region)+
labs(x = "Listing Year",
y = "Percantage of EV Dealers ",
subtitle = "Percentage of total dealers selling EV's per year"
+
)scale_y_continuous(limits = c(0, max(getting_all_counts$perc)))
Insights:
- The first graph (Variations w.r.t Class) shows that there is negligible difference between the Urban, Sub-urban and Rural communities as far as access to EV dealerships are concerned for both ZEV and Non-ZEV states.
- The second graph (Variations w.r.t DAC) shows that there is negligible difference between DAC and Non-DAC communities as far as access to EV dealerships are concerned for both ZEV and Non-ZEV states.
- The third graph (Variation w.r.t both DAC & Class) shows us that in general there are slightly lower percentages of EV Dealerships are rural area compared to Sub-Urban and Urban areas. Another interesting observation is that there is a slightly higher percentage of EV Dealerships in Non-DAC regions compared to DAC in Rural and Sub-Urban areas.
2) Availability of EV vehicles compared to Conventional Vehicles:
Code
%>%
cars_per_year filter(powertrain == 'conventional') %>%
#filter(price_band1 %in% c(1,2)) %>%
mutate(
price_band = fct_reorder(price_band, price_band1),
cars_per_capita = cars_per_capita*100,
date = ymd(paste0(listing_year, '01-01'))
%>%
) fix_powertrain_labels() %>%
ggplot(aes(x = date , y = cars_per_capita,
color= powertrain , linetype = DAC))+ #, shape = DAC
geom_point()+
geom_line()+
labs(x = "Car listing year",
y = "Cars per 100,000 people",
title = "Availability of CV cars in U.S. across DAC vs Non-DAC regions",
linetype = "Status"
+
) facet_wrap(~price_band, nrow= 1) +
theme_bw(base_family = 'Roboto Condensed') +
theme(panel.grid.minor = element_blank()) +
theme(legend.position = "bottom") +
guides(color = "none") +
scale_x_date(date_labels = "'%y", date_breaks = '2 year') +
scale_color_manual(values = color_cv)
Code
%>%
cars_per_year filter(!powertrain == 'conventional') %>%
#filter(price_band1 %in% c(1,2)) %>%
mutate(
price_band = fct_reorder(price_band, price_band1),
cars_per_capita = cars_per_capita*100,
date = ymd(paste0(listing_year, '01-01'))
%>%
) fix_powertrain_labels() %>%
ggplot(aes(x = date , y = cars_per_capita,
color= powertrain , linetype = DAC))+ #, shape = DAC
geom_point()+
geom_line()+
labs(x = "Car listing year",
y = "Cars per 100,000 people",
title = "Availability of EV cars in U.S. across DAC vs Non-DAC regions",
linetype = "Status"
+
) facet_wrap(~price_band, nrow= 1) +
#facet_grid(powertrain~price_band) +
theme_bw(base_family = 'Roboto Condensed') +
theme(panel.grid.minor = element_blank()) +
theme(legend.position = "bottom") +
guides(color = "none") +
scale_x_date(date_labels = "'%y", date_breaks = '2 year') +
scale_color_manual(values = color_ev)
Insights:
- The first and the most important observation from the two graphs is the difference is the availability of Conventional and EV vehicles. The scale of difference of availability between each price band is such that for roughly every 1000 conventional vehicles, you will come across one 1 electric vehicle.
- For both conventional and electric vehicles, the availability of cars is also changing over the years. The counts of lower priced cars (<20K) have decreased from 2019 to 2021 while the counts of higher priced cars (>30k) show a significant increase in the same time frame.
3) Accessibility of EV’s based on income and availability
Starting January 1, 2023, you could qualify for a used clean vehicle tax credit when purchasing a qualified used electric or fuel cell vehicle for $25,000 or less from a licensed dealer. At first this might seem like a great program but the fine print makes it nearly impossible for anyone below the top 10% of earners to claim it. Dr. Lujin Zhao provided us with list of dealers within a 2 hour range for each census tract in the country. With this we were able to match up our relevant dealer information to see how many qualified cars a person in a tract could purchase. By testing cumulative combinations of peoples income (relative to their census tract) and car prices, we are able to gather if a person can purchase a singular used 2 year old EV.
%>%
heatmap_table mutate(
car_price = car_price / 10^3,
income = income / 10^3
%>%
) ggplot(aes(x = car_price, y = income, fill = p)) +
geom_tile() +
geom_tile(
data = . %>% filter(car_price == 25 & income == 75),
color = "black",
size = 1,
linewidth = 0.5
+
) scale_fill_gradient2(
low = "orange",
high = "red",
labels = scales::percent
+
) scale_x_continuous(
name = "Car Price Threshold ($1,000)",
limits = c(20, 60),
breaks = seq(20, 60, by = 5),
labels = scales::dollar
+
) scale_y_continuous(
name = "Income Threshold ($1,000)",
limits = c(20, 120),
breaks = seq(20, 120, by = 20),
labels = scales::dollar
+
) theme_minimal(base_size = 12) +
labs(
title = "Percentage of Americans Qualifying for Used EV Subsidy",
subtitle = paste(
"Only", scales::percent(p_current, accuracy = 0.1),
"qualify under current policy (outlined box)"
),fill = "Percent Qualifying"
+
) theme(
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
plot.title = element_text(size = 16, face = "bold"),
plot.subtitle = element_text(size = 12),
axis.title = element_text(size = 12),
axis.text = element_text(size = 10),
legend.title = element_text(size = 12),
legend.text = element_text(size = 10)
)
Conclusion:
The findings of this study highlight significant barriers to the adoption of electric vehicles (EVs) in disadvantaged communities, primarily due to the lack of affordable options and inequitable access to charging infrastructure. While the growth of EV dealerships shows promise, disparities in vehicle availability, particularly among lower-priced models, underscore the challenges faced by low-income households. Additionally, policies like tax credits for used EVs, while well-intentioned, are often inaccessible to the majority of earners, further exacerbating the issue. Addressing these gaps requires a combination of policy reform, increased investment in charging infrastructure in underserved areas, and initiatives to make EVs more affordable and accessible to all. Without these measures, the transition to a sustainable transportation system risks leaving marginalized communities behind.
Attribution:
All members contributed evenly.
Appendix :
Data Dictionaries:
Vehicle Listing Data:
Variable | Description |
---|---|
Dealer ID | Identifier of Vehicle Dealership |
Inventory Type | Vehicle Status (New / Used) |
Price | Sale price of the Vehicle |
Powertrain | Type of vehicle (Conventional, Hybrid, Plug-in Hybrid or Battery Electric Vehicle) |
Vehicle Type | Car, SUV, Pickup |
Listing_Year | Listing Year of Vehicle |
Travel Distance Data:
Variable | Description |
---|---|
GEOID | US 2010 Census Tract Identifier |
dealer_Id | Identifier of Vehicle Dealership |
travel_time | Travel time from the cenroid of a Census Tract to a dealership |
Distance | Distance (in miles) from the cenroid of a Census Tract to a dealership |
Census Data:
Variable | Description |
---|---|
GEOID | US 2010 Census Tract Identifier |
State | State Abbreviation |
pop_over25 | Population of Census Tract over the age of 25 |
med_inc_hh | Median household income of Census Tract |
pop | Population of Census Tract |
ZEV | Zero emission mandate identifer |
Class | Urban, Sub-Urban or Rural |
CEJST Data:
Variable | Description |
---|---|
Census Tract ID | US 2010 Census Tract Identifier |
DAC | Disadvantaged Community identifier |
Total Population | Population of Census Tract |
County Name | County Name |
State | State Abbreviation |