Import Data
car_sales <- read_xlsx("car sales.xlsx")
head(car_sales)
## # A tibble: 6 × 16
## Car_id Date `Customer Name` Gender `Annual Income` Dealer_Name
## <chr> <dttm> <chr> <chr> <dbl> <chr>
## 1 C_CND_… 2022-01-02 00:00:00 Geraldine Male 13500 Buddy Stor…
## 2 C_CND_… 2022-01-02 00:00:00 Gia Male 1480000 C & M Moto…
## 3 C_CND_… 2022-01-02 00:00:00 Gianna Male 1035000 Capitol KIA
## 4 C_CND_… 2022-01-02 00:00:00 Giselle Male 13500 Chrysler o…
## 5 C_CND_… 2022-01-02 00:00:00 Grace Male 1465000 Chrysler P…
## 6 C_CND_… 2022-01-02 00:00:00 Guadalupe Male 850000 Classic Ch…
## # ℹ 10 more variables: Company <chr>, Model <chr>, Engine <chr>,
## # Transmission <chr>, Color <chr>, `Price ($)` <dbl>, Dealer_No <chr>,
## # `Body Style` <chr>, Phone <dbl>, Dealer_Region <chr>
str(car_sales)
## tibble [23,906 × 16] (S3: tbl_df/tbl/data.frame)
## $ Car_id : chr [1:23906] "C_CND_000001" "C_CND_000002" "C_CND_000003" "C_CND_000004" ...
## $ Date : POSIXct[1:23906], format: "2022-01-02" "2022-01-02" ...
## $ Customer Name: chr [1:23906] "Geraldine" "Gia" "Gianna" "Giselle" ...
## $ Gender : chr [1:23906] "Male" "Male" "Male" "Male" ...
## $ Annual Income: num [1:23906] 13500 1480000 1035000 13500 1465000 ...
## $ Dealer_Name : chr [1:23906] "Buddy Storbeck's Diesel Service Inc" "C & M Motors Inc" "Capitol KIA" "Chrysler of Tri-Cities" ...
## $ Company : chr [1:23906] "Ford" "Dodge" "Cadillac" "Toyota" ...
## $ Model : chr [1:23906] "Expedition" "Durango" "Eldorado" "Celica" ...
## $ Engine : chr [1:23906] "Double Overhead Camshaft" "Double Overhead Camshaft" "Overhead Camshaft" "Overhead Camshaft" ...
## $ Transmission : chr [1:23906] "Auto" "Auto" "Manual" "Manual" ...
## $ Color : chr [1:23906] "Black" "Black" "Red" "Pale White" ...
## $ Price ($) : num [1:23906] 26000 19000 31500 14000 24500 12000 14000 42000 82000 15000 ...
## $ Dealer_No : chr [1:23906] "06457-3834" "60504-7114" "38701-8047" "99301-3882" ...
## $ Body Style : chr [1:23906] "SUV" "SUV" "Passenger" "SUV" ...
## $ Phone : num [1:23906] 8264678 6848189 7298798 6257557 7081483 ...
## $ Dealer_Region: chr [1:23906] "Middletown" "Aurora" "Greenville" "Pasco" ...
summary(car_sales)
## Car_id Date Customer Name
## Length:23906 Min. :2022-01-02 00:00:00.00 Length:23906
## Class :character 1st Qu.:2022-09-20 00:00:00.00 Class :character
## Mode :character Median :2023-03-13 00:00:00.00 Mode :character
## Mean :2023-03-01 14:28:10.81
## 3rd Qu.:2023-09-08 00:00:00.00
## Max. :2023-12-31 00:00:00.00
## Gender Annual Income Dealer_Name Company
## Length:23906 Min. : 10080 Length:23906 Length:23906
## Class :character 1st Qu.: 386000 Class :character Class :character
## Mode :character Median : 735000 Mode :character Mode :character
## Mean : 830840
## 3rd Qu.: 1175750
## Max. :11200000
## Model Engine Transmission Color
## Length:23906 Length:23906 Length:23906 Length:23906
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
## Price ($) Dealer_No Body Style Phone
## Min. : 1200 Length:23906 Length:23906 Min. :6000101
## 1st Qu.:18001 Class :character Class :character 1st Qu.:6746495
## Median :23000 Mode :character Mode :character Median :7496198
## Mean :28090 Mean :7497741
## 3rd Qu.:34000 3rd Qu.:8248146
## Max. :85800 Max. :8999579
## Dealer_Region
## Length:23906
## Class :character
## Mode :character
##
##
##
Data Preparation
car_sales <- car_sales %>%
mutate(Date = as.Date(Date))
Visualisasi 1: Tren Penjualan dari Waktu ke Waktu
sales_trend <- car_sales %>%
group_by(Date) %>%
summarise(Total_Sales = sum(`Price ($)`, na.rm = TRUE))
ggplot(sales_trend,
aes(x = Date, y = Total_Sales)) +
geom_line() +
labs(title = "Tren Total Penjualan",
x = "Tanggal",
y = "Total Penjualan")

Visualisasi 2: Total Penjualan Berdasarkan Company
company_sales <- car_sales %>%
group_by(Company) %>%
summarise(Total_Sales = sum(`Price ($)`, na.rm = TRUE)) %>%
arrange(desc(Total_Sales))
ggplot(company_sales,
aes(x = reorder(Company, Total_Sales),
y = Total_Sales)) +
geom_col() +
coord_flip() +
labs(title = "Total Penjualan Berdasarkan Company",
x = "Company",
y = "Total Penjualan")

Visualisasi 3: Distribusi Body Style
ggplot(car_sales,
aes(x = `Body Style`)) +
geom_bar() +
labs(title = "Distribusi Body Style",
x = "Body Style",
y = "Jumlah Mobil")

Visualisasi 4: Perbandingan Transmisi
ggplot(car_sales,
aes(x = Transmission)) +
geom_bar() +
labs(title = "Distribusi Transmisi",
x = "Transmission",
y = "Jumlah Mobil")

Visualisasi 5: Penjualan Berdasarkan Gender
gender_sales <- car_sales %>%
group_by(Gender) %>%
summarise(Total_Sales = sum(`Price ($)`, na.rm = TRUE))
ggplot(gender_sales,
aes(x = Gender,
y = Total_Sales,
fill = Gender)) +
geom_col() +
labs(title = "Total Penjualan Berdasarkan Gender",
x = "Gender",
y = "Total Penjualan")
