Draft
Electric vehicles are becoming increasingly prevalent in our everyday life. Even though owning a Tesla is still generally perceived as a luxury only a lucky few can afford, the technologies which enable the transition from fossil fuels to renewable energy have marched steadily forward. Nonetheless, challenges to EV ownership have persisted. In this report I examine EV trends present in Washington State, which signed into law a bill setting a date of 2030 for all new cars registered in the state to be electric. I analyze relationships among several important variables and segment the Washington EV market into several zones with their distinct characteristics.
In this report I examine the relationship between the range of an EV and its expected price. Unlike fossil-fuel vehicles, which are designed to take people from point A to point B, electric vehicles are better suited for commuters given their relatively lower range. I use the dataset to argue that the electric range of an EV is a main selling point for manufacturers. My research questions is to identify a statistically significant relationship between the Electric Range and Expected Price variables. A secondary research objective is to analyze the data through the lenses of a high-end EV manufacturer interested in expanding their presence in wealthier areas. I assess the saturation of EV ownership of certain luxury brands in order to best direct marketing efforts.
This dataset focuses predominantly on EVs in Washington State. Source
While giving a high overview of the data, these visualizations may need
further breakdown to convey deeper meaning. For instance, performing
more thorough analysis on the zip codes or cities to provide a better
understanding of the specific models preferred by those populations may
offer an insight into a particular market. It is important to note that
this dataset’s intended use is for training a machine learning model to
predict expected prices which would then be tested independently on
previously unseen data. It is unlikely that this data accurately
reflects real world instances.
colnames(ev_data)
[1] "ID"
[2] "VIN (1-10)"
[3] "County"
[4] "City"
[5] "State"
[6] "ZIP Code"
[7] "Model Year"
[8] "Make"
[9] "Model"
[10] "Electric Vehicle Type"
[11] "Clean Alternative Fuel Vehicle (CAFV) Eligibility"
[12] "Electric Range"
[13] "Base MSRP"
[14] "Legislative District"
[15] "DOL Vehicle ID"
[16] "Vehicle Location"
[17] "Electric Utility"
[18] "Expected Price ($1k)"
el_range.summ_stat <- ev_data %>%
summarize(el_range.mean=mean(`Electric Range`, na.rm = TRUE), el_range.median=median(`Electric Range`, na.rm = TRUE), el_range.min=min(`Electric Range`, na.rm = TRUE), el_range.max=max(`Electric Range`, na.rm = TRUE), el_range.sd=sd(`Electric Range`, na.rm = TRUE))
exp_price.summ_stat <- ev_data %>%
summarize(exp_price.mean=mean(`Expected Price ($1k)`, na.rm = TRUE), exp_price.median=median(`Expected Price ($1k)`, na.rm = TRUE), exp_price.min=min(`Expected Price ($1k)`, na.rm = TRUE), exp_price.max=max(`Expected Price ($1k)`, na.rm = TRUE), exp_price.sd=sd(`Expected Price ($1k)`, na.rm = TRUE))
exp_price.summ_stat
# A tibble: 1 × 5
exp_price.mean exp_price.median exp_price.min exp_price.max
<dbl> <dbl> <dbl> <dbl>
1 45.4 40 0 1100
# … with 1 more variable: exp_price.sd <dbl>
# Alternative calculation of those variables
# Returns the summary statistics of a particular column
print_stats <- function(x) {
print(paste("Min: ",as.character(min(x, na.rm = TRUE))))
print(paste("Max: ",as.character(max(x, na.rm = TRUE))))
print(paste("Median: ",as.character(median(x, na.rm = TRUE))))
print(paste("Standard Deviation: ",as.character(sd(x, na.rm = TRUE))))
print(paste("Mean: ",as.character(mean(x, na.rm = TRUE))))
print(paste("Interquartile Range",as.character(IQR(x, na.rm = TRUE))))
}
#Calculating the summary statistics for the electric range of electric vehicles
el_range_summary_stats <- print_stats(ev_data$`Electric Range`)
[1] "Min: 0"
[1] "Max: 337"
[1] "Median: 73"
[1] "Standard Deviation: 104.093918983571"
[1] "Mean: 106.948984507327"
[1] "Interquartile Range 201"
#Calculating the summary statistics for the expected price of electric vehicles
expected_price_summary_stats <- print_stats(ev_data$`Expected Price ($1k)`)
[1] "Min: 0"
[1] "Max: 1100"
[1] "Median: 40"
[1] "Standard Deviation: 24.7282052168784"
[1] "Mean: 45.4479695679204"
[1] "Interquartile Range 43.043"
VIN (1-10) - The 1st 10 characters of each vehicle’s
Vehicle Identification Number (VIN).
County - The county in which the registered owner
resides.
City - The city in which the registered owner
resides.
State- The state in which the registered owner
resides.
ZIP Code - The 5-digit zip code in which the registered
owner resides.
Model Year - The model year of the vehicle is
determined by decoding the Vehicle Identification Number (VIN).
Make - The manufacturer of the vehicle, determined by
decoding the Vehicle Identification Number (VIN).
Model- The model of the vehicle is determined by
decoding the Vehicle Identification Number (VIN).
Electric Vehicle Type - This distinguishes the vehicle
as all-electric or a plug-in hybrid.
Clean Alternative Fuel Vehicle (CAFV) Eligibility -
This categorizes vehicles as Clean Alternative Fuel Vehicles (CAFVs)
based on the fuel requirement and electric-only range requirement.
Electric Range - Describes how far a vehicle can travel
purely on its electric charge.
Base MSRP - This is the lowest Manufacturer’s Suggested
Retail Price (MSRP) for any trim level of the model in question.
Legislative District - The specific section of
Washington State that the vehicle’s owner resides in, as represented in
the state legislature.
DOL Vehicle ID - Unique number assigned to each vehicle
by the Department of Licensing for identification purposes.
Vehicle Location - The center of the ZIP Code for the
registered vehicle.
Electric Utility - This is the electric power retail
service territory serving the address of the registered vehicle.
Expected Price - This is the expected price of the
vehicle.
The summary statistics tell us that, on average, the range of an electric vehicle in the data is just shy of 75 miles on a single charge. However, the standard deviation of 104 miles tells us that the data is quite a bit dispersed from the mean. The summary statistics of the expected price paint a somewhat different picture. The mean and median are very similar and the standard deviation is only 25000. The max of $1.1M tells us that there are some expensive outliers in the data. Below I visualize the primary variables analyzed in this report.
# Display EV type proportions per category
ev_data %>%
count(`Electric Vehicle Type`) %>%
mutate(perc = n / nrow(ev_data)) -> ev_type_percent
ggplot(data=ev_type_percent, aes(x=`Electric Vehicle Type`, y=perc)) +
geom_bar(stat="identity") +
scale_x_discrete(name ="Electric Vehicle Type Breakdown") +
scale_y_continuous(name ="Percent") +
theme_economist()
# Plot the summary statistics of electric range and expected price using a boxplot
# Examine the two variables individually as well as their relationship using a scatter plot
ggplot(data=ev_data, aes(x=`Electric Range`)) +
coord_flip() +
geom_boxplot(width = 1, outlier.colour="black", outlier.shape=8,
outlier.size=2, notch=FALSE) +
scale_x_continuous(name ="Electric range (miles)", breaks=seq(0,350,50)) +
theme_economist()
ggplot(data=lux_brands, aes(x=`Electric Range`)) +
coord_flip() +
geom_boxplot(outlier.colour="black", outlier.shape=8,
outlier.size=2, notch=FALSE) +
scale_x_continuous(name ="Electric range (miles)", breaks=seq(0,350,50)) +
theme_economist()
# Boxplot of the expected price of all EVs
ggplot(data=ev_data, aes(x=`Expected Price ($1k)`)) +
coord_flip() +
geom_boxplot(outlier.colour="blue", outlier.shape=8, horizontal=FALSE,
outlier.size=2, notch=FALSE) +
scale_x_continuous(name ="Expected price (thousands)", limits=c(0,300), breaks=seq(0,300,50)) +
theme_economist()
# Boxplot of the Expected price of luxury brands
ggplot(data=lux_brands, aes(x=`Expected Price ($1k)`)) +
coord_flip() +
geom_boxplot(outlier.colour="blue", outlier.shape=8, horizontal=FALSE,
outlier.size=2, notch=FALSE) +
scale_x_continuous(name ="Expected price (thousands)", limits=c(0,300), breaks=seq(0,300,50)) + theme_economist()
ggplot(data=ev_data, aes(x=`Electric Range`, y=`Expected Price ($1k)`)) +
geom_point(outlier.colour="blue", outlier.shape=8,
outlier.size=2, notch=FALSE) +
scale_x_continuous(name="Electric range (miles)",breaks=seq(0,350,50)) +
scale_y_continuous(name="Expected price (thousands)",limits=c(0,200),breaks=seq(0,200,50))
From the plots, we can get a sense that while the median expected price differs by less than 10k, the expected range of
# Facet wraps of electric range and expected price
ggplot(lux_brands, aes(`Electric Range`)) +
geom_histogram(binwidth = 100, stat="count") +
labs(title = "Luxury brand electric range") +
theme_bw() +
facet_wrap(vars(Make)) +
theme_economist()
ggplot(lux_brands, aes(`Expected Price ($1k)`)) +
geom_histogram(binwidth = 100) +
labs(title = "Luxury brand expected price") +
theme_bw() +
facet_wrap(vars(Make)) +
theme_economist()
# Calculate frequencies for the following categorical variables: EV Type, Make, Electric Utility and County
table(ev_data$`Electric Vehicle Type`)
Battery Electric Vehicle (BEV)
47869
Plug-in Hybrid Electric Vehicle (PHEV)
16484
prop.table(table(ev_data$`Electric Vehicle Type`))
Battery Electric Vehicle (BEV)
0.7438503
Plug-in Hybrid Electric Vehicle (PHEV)
0.2561497
table(ev_data$Make)
AUDI AZURE DYNAMICS BENTLEY
1265 3 1
BMW CADILLAC CHEVROLET
2707 69 6651
CHRYSLER DODGE FIAT
1091 1 561
FISKER FORD HONDA
11 3850 528
HYUNDAI JAGUAR JEEP
894 142 436
KIA LAND ROVER LINCOLN
3066 26 59
LUCID MOTORS MERCEDES-BENZ MINI
2 248 303
MITSUBISHI NISSAN POLESTAR
376 8678 164
PORSCHE RIVIAN SMART
455 26 192
SUBARU TESLA TH!NK
34 27903 1
TOYOTA VOLKSWAGEN VOLVO
2700 1217 688
WHEEGO ELECTRIC CARS
1
prop.table(table(ev_data$`Electric Utility`))
AVISTA CORP
1.933020e-03
AVISTA CORP||INLAND POWER & LIGHT COMPANY
1.571561e-05
BONNEVILLE POWER ADMINISTRATION
3.143122e-05
BONNEVILLE POWER ADMINISTRATION||AVISTA CORP||BIG BEND ELECTRIC COOP, INC
3.300278e-04
BONNEVILLE POWER ADMINISTRATION||AVISTA CORP||INLAND POWER & LIGHT COMPANY
1.436407e-02
BONNEVILLE POWER ADMINISTRATION||AVISTA CORP||PUD NO 1 OF ASOTIN COUNTY
4.557527e-04
BONNEVILLE POWER ADMINISTRATION||BENTON RURAL ELECTRIC ASSN
5.814776e-04
BONNEVILLE POWER ADMINISTRATION||BIG BEND ELECTRIC COOP, INC
1.728717e-04
BONNEVILLE POWER ADMINISTRATION||CITY OF CENTRALIA - (WA)|CITY OF TACOMA - (WA)
1.178671e-03
BONNEVILLE POWER ADMINISTRATION||CITY OF COULEE DAM - (WA)
3.143122e-05
BONNEVILLE POWER ADMINISTRATION||CITY OF ELLENSBURG - (WA)
6.914869e-04
BONNEVILLE POWER ADMINISTRATION||CITY OF MCCLEARY - (WA)
1.257249e-04
BONNEVILLE POWER ADMINISTRATION||CITY OF MILTON - (WA)|CITY OF TACOMA - (WA)
4.400371e-04
BONNEVILLE POWER ADMINISTRATION||CITY OF PORT ANGELES - (WA)
1.540130e-03
BONNEVILLE POWER ADMINISTRATION||CITY OF RICHLAND - (WA)
5.311876e-03
BONNEVILLE POWER ADMINISTRATION||CITY OF TACOMA - (WA)||BENTON RURAL ELECTRIC ASSN|PENINSULA LIGHT COMPANY
2.200185e-04
BONNEVILLE POWER ADMINISTRATION||CITY OF TACOMA - (WA)||ELMHURST MUTUAL POWER & LIGHT CO|PENINSULA LIGHT COMPANY
2.184470e-03
BONNEVILLE POWER ADMINISTRATION||CITY OF TACOMA - (WA)||LAKEVIEW LIGHT & POWER|PENINSULA LIGHT COMPANY
8.486430e-04
BONNEVILLE POWER ADMINISTRATION||CITY OF TACOMA - (WA)||OHOP MUTUAL LIGHT COMPANY, INC|PENINSULA LIGHT COMPANY
6.757712e-04
BONNEVILLE POWER ADMINISTRATION||CITY OF TACOMA - (WA)||PARKLAND LIGHT & WATER COMPANY|PENINSULA LIGHT COMPANY
6.286244e-04
BONNEVILLE POWER ADMINISTRATION||CITY OF TACOMA - (WA)||PENINSULA LIGHT COMPANY
4.555955e-02
BONNEVILLE POWER ADMINISTRATION||CITY OF TACOMA - (WA)||PUD NO 1 OF LEWIS COUNTY
2.215901e-03
BONNEVILLE POWER ADMINISTRATION||CITY OF TACOMA - (WA)||PUD NO 1 OF MASON COUNTY
6.914869e-04
BONNEVILLE POWER ADMINISTRATION||CITY OF TACOMA - (WA)||PUD NO 3 OF MASON COUNTY
4.211784e-03
BONNEVILLE POWER ADMINISTRATION||COLUMBIA RURAL ELEC ASSN, INC
1.571561e-04
BONNEVILLE POWER ADMINISTRATION||INLAND POWER & LIGHT COMPANY
2.215901e-03
BONNEVILLE POWER ADMINISTRATION||ORCAS POWER & LIGHT COOP
6.553410e-03
BONNEVILLE POWER ADMINISTRATION||PUD 1 OF SNOHOMISH COUNTY
8.722164e-03
BONNEVILLE POWER ADMINISTRATION||PUD NO 1 OF ASOTIN COUNTY||INLAND POWER & LIGHT COMPANY
3.143122e-05
BONNEVILLE POWER ADMINISTRATION||PUD NO 1 OF BENTON COUNTY
7.449199e-03
BONNEVILLE POWER ADMINISTRATION||PUD NO 1 OF CLALLAM COUNTY
5.374739e-03
BONNEVILLE POWER ADMINISTRATION||PUD NO 1 OF CLALLAM COUNTY|PUD NO 1 OF JEFFERSON COUNTY
1.571561e-05
BONNEVILLE POWER ADMINISTRATION||PUD NO 1 OF CLARK COUNTY - (WA)
5.921642e-02
BONNEVILLE POWER ADMINISTRATION||PUD NO 1 OF COWLITZ COUNTY
5.437601e-03
BONNEVILLE POWER ADMINISTRATION||PUD NO 1 OF FERRY COUNTY
1.414405e-04
BONNEVILLE POWER ADMINISTRATION||PUD NO 1 OF FRANKLIN COUNTY
2.970250e-03
BONNEVILLE POWER ADMINISTRATION||PUD NO 1 OF GRAYS HARBOR COUNTY
3.551728e-03
BONNEVILLE POWER ADMINISTRATION||PUD NO 1 OF KITTITAS COUNTY
9.429366e-05
BONNEVILLE POWER ADMINISTRATION||PUD NO 1 OF KLICKITAT COUNTY
1.492983e-03
BONNEVILLE POWER ADMINISTRATION||PUD NO 1 OF MASON COUNTY|PUD NO 1 OF JEFFERSON COUNTY
1.571561e-04
BONNEVILLE POWER ADMINISTRATION||PUD NO 1 OF SKAMANIA CO
1.021515e-03
BONNEVILLE POWER ADMINISTRATION||PUD NO 1 OF WAHKIAKUM COUNTY
3.143122e-04
BONNEVILLE POWER ADMINISTRATION||PUD NO 2 OF PACIFIC COUNTY
1.540130e-03
BONNEVILLE POWER ADMINISTRATION||PUGET SOUND ENERGY INC||PUD NO 1 OF JEFFERSON COUNTY
6.113372e-03
BONNEVILLE POWER ADMINISTRATION||TOWN OF EATONVILLE - (WA)|CITY OF TACOMA - (WA)
1.885873e-04
BONNEVILLE POWER ADMINISTRATION||TOWN OF RUSTON - (WA)|CITY OF TACOMA - (WA)||PENINSULA LIGHT COMPANY
2.357342e-04
BONNEVILLE POWER ADMINISTRATION||TOWN OF STEILACOOM|CITY OF TACOMA - (WA)||PENINSULA LIGHT COMPANY
1.052946e-03
BONNEVILLE POWER ADMINISTRATION||VERA IRRIGATION DISTRICT #15
2.027314e-03
CITY OF BLAINE - (WA)||PUD NO 1 OF WHATCOM COUNTY
1.257249e-03
CITY OF CHENEY - (WA)
2.357342e-04
CITY OF CHEWELAH
6.286244e-05
CITY OF SEATTLE - (WA)
1.571561e-05
CITY OF SEATTLE - (WA)|CITY OF TACOMA - (WA)
1.966651e-01
CITY OF SUMAS - (WA)||PUD NO 1 OF WHATCOM COUNTY
4.714683e-05
CITY OF TACOMA - (WA)
4.714683e-05
CITY OF TACOMA - (WA)||TANNER ELECTRIC COOP
1.304396e-03
MODERN ELECTRIC WATER COMPANY
6.537694e-03
OKANOGAN COUNTY ELEC COOP, INC
7.386337e-04
PORTLAND GENERAL ELECTRIC CO
6.286244e-05
PUD NO 1 OF CHELAN COUNTY
5.940501e-03
PUD NO 1 OF DOUGLAS COUNTY
1.933020e-03
PUD NO 1 OF OKANOGAN COUNTY
5.343308e-04
PUD NO 1 OF PEND OREILLE COUNTY
2.985966e-04
PUD NO 1 OF WHATCOM COUNTY
3.614590e-04
PUD NO 2 OF GRANT COUNTY
2.703085e-03
PUGET SOUND ENERGY INC
2.010027e-01
PUGET SOUND ENERGY INC||CITY OF TACOMA - (WA)
3.544656e-01
PUGET SOUND ENERGY INC||PUD NO 1 OF WHATCOM COUNTY
2.527070e-02
table(ev_data$County) +
theme_economist()
NULL
Battery electric vehicles outnumber Plug-in Hybrids in the dataset by almost 3 to 1. This is interesting observation, especially given that PHEVs tend to have smaller batteries and have lower upfront cost. This may indicate that the owners represented here are investing for the long haul with their EV purchase.
Additionally, we can make some conclusions about the electric range and expected price of luxury brands: excluding outliers, Teslas tend to have higher range than other luxury electric vehicles. THowever, they are also overrepresented in this dataset.# Focus solely on Washington States as the dataset focuses predominantly on it
evs_under_30k <- ev_data %>% filter(State == 'WA' & `Expected Price ($1k)` < 30) %>% select(`ZIP Code`, Make, Model, `Electric Vehicle Type`, `Electric Range`, `Expected Price ($1k)`)
# Get stats for Teslas as a luxury brand
teslas <- ev_data %>% filter(Make == "TESLA") %>% select(`ZIP Code`, Make, Model, `Electric Vehicle Type`, `Electric Range`, `Expected Price ($1k)`)
# Get summary statistics for the electric range of EVs under 30k
evs_under_30k %>% summarize(mean.el_range = mean(`Electric Range`, na.rm = TRUE),
median.el_range = median(`Electric Range`, na.rm = TRUE),
sd.el_range = sd(`Electric Range`, na.rm = TRUE),
min.el_range = min(`Electric Range`, na.rm= TRUE),
max.el_range = max(`Electric Range`, na.rm= TRUE))
# A tibble: 1 × 5
mean.el_range median.el_range sd.el_range min.el_range max.el_range
<dbl> <dbl> <dbl> <dbl> <dbl>
1 72.7 72 62.3 0 258
teslas %>% summarize(mean.el_range = mean(`Electric Range`, na.rm = TRUE),
median.el_range = median(`Electric Range`, na.rm = TRUE),
sd.el_range = sd(`Electric Range`, na.rm = TRUE),
min.el_range = min(`Electric Range`, na.rm= TRUE),
max.el_range = max(`Electric Range`, na.rm= TRUE))
# A tibble: 1 × 5
mean.el_range median.el_range sd.el_range min.el_range max.el_range
<dbl> <dbl> <dbl> <dbl> <dbl>
1 153. 210 119. 0 337
Call:
lm(formula = `Expected Price ($1k)` ~ `Electric Range`, data = evs_under_30k)
Residuals:
Min 1Q Median 3Q Max
-20.5998 -2.5466 -0.5566 4.4120 9.3982
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 20.5998193 0.0481087 428.194 <2e-16 ***
`Electric Range` -0.0007397 0.0005025 -1.472 0.141
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 4.731 on 22808 degrees of freedom
Multiple R-squared: 9.501e-05, Adjusted R-squared: 5.117e-05
F-statistic: 2.167 on 1 and 22808 DF, p-value: 0.141
evs_under_30k %>%
ggplot(aes(`Electric Range`, `Expected Price ($1k)`)) +
geom_point()
pred <- predict(range.p1)
evs_under_30k %>% ggplot(mapping=aes(x=`Electric Range`)) +
geom_point(aes(y=`Expected Price ($1k)`)) +
geom_jitter(aes(y=pred), color="red") +
theme_economist()
The linear regression shows us that there is no statistically significant relationship between the Electric Range of an EVs under $30k and their expected price (p-value: 14%). Next, I examine this relationship specifically for luxury brands.
Call:
lm(formula = `Expected Price ($1k)` ~ `Electric Range`, data = lux_brands)
Residuals:
Min 1Q Median 3Q Max
-48.50 -6.39 1.53 7.96 780.05
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 65.0405674 0.1644225 395.570 <2e-16 ***
`Electric Range` -0.0074843 0.0008982 -8.332 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 19.04 on 32328 degrees of freedom
Multiple R-squared: 0.002143, Adjusted R-squared: 0.002112
F-statistic: 69.42 on 1 and 32328 DF, p-value: < 2.2e-16
lux_brands %>%
ggplot(aes(`Electric Range`, `Expected Price ($1k)`)) +
geom_point()
pred <- predict(range.lb)
lux_brands %>% ggplot(mapping=aes(x=`Electric Range`)) +
geom_point(aes(y=`Expected Price ($1k)`)) +
geom_jitter(aes(y=pred), color="red") +
theme_economist()
We discover a statistically significant relationship. A p-value of 0.0000000000000002 tells us that for the luxury brands we have defined, the electric range certainly explains the expected price of the vehicle.
Finally, we explore the charecteristics of wealthier areas to determine where luxury brands are mostly present and which counties would benefit from luxury brand EV marketing.
evs_rich_zips <- ev_data %>%
filter(City == "REDMOND" | City == 'SEATTLE' | City == 'BELLEVUE' | City == 'MEDINA') %>% #
select(`ZIP Code`, City, Make, Model, `Electric Vehicle Type`, `Electric Range`, `Expected Price ($1k)`)
range.p2 <- lm(`Expected Price ($1k)`~`Electric Range`, data=evs_rich_zips)
evs_rich_zips %>%
ggplot(aes(`Electric Range`, `Expected Price ($1k)`)) +
geom_point()
#Univariate barplot showing the tpye of EVs in Washington's most expensive cities
ggplot(data=evs_rich_zips, aes(x=`Electric Vehicle Type`)) +
geom_bar() +
theme_economist()
#Bivariate plot telling us which EV makes are present in each of the 4 wealthier cities
ggplot(data=evs_rich_zips, aes(x=City, y=Make)) +
geom_point() +
theme_economist()
#Bivariate plot giving an overview of the electric range of EVs in the high-end cities
ggplot(data=evs_rich_zips, aes(x=`Electric Range`,y=Make)) +
geom_point() +
scale_x_continuous(name="Electric range (miles)",breaks=seq(0,350,50)) +
theme_economist()
lux_rich_zips <- filter(evs_rich_zips, Make=='PORSCHE' | Make=='AUDI' | Make=='TESLA' | Make=='BMW')
ggplot(data=lux_rich_zips, aes(x=Make)) +
geom_bar() +
theme_economist()
I have identified Redmond, Seattle, Bellevue and Medina as wealthier areas where the luxury brands defined earlier (Tesla, Audi, Porsche and BMW) may be interested in advertising more. While Tesla is, again, over-represented, the other 3 manufacturers may be interested in expanding their presence in those areas in an effort to claw back market share from the EV pioneer Tesla.
In this report, I have examined a dataset of Electric Vehicles in Washington State and discovered a statistically significant relationship between the range of an EV and its expected price for certain high-end makes such as Tesla and Porsche. I have also identified high-income areas where luxury brands may be interested in ramping up their advertising efforts.