Insight yang diambil dari Coffee Chain Dataset adalah analisis Total Expenses dari beberapa sudut pandang. Pertama, melihat perbedaan rata-rata biaya antar State untuk mengetahui wilayah dengan beban operasional lebih tinggi. Kedua, meninjau proporsi Total Expenses per Product Type untuk mengetahui produk mana yang paling banyak menyerap biaya. Ketiga, melihat hubungan antara Sales dan Total Expenses untuk memahami apakah peningkatan penjualan diikuti dengan peningkatan biaya.
library(readxl)
## Warning: package 'readxl' was built under R version 4.5.2
Data_Coffee <- read_excel("C:/Users/astre/Downloads/1. Tugas SIM 2025B - Coffee Chain Datasets/1. Tugas SIM 2025B - Coffee Chain Datasets.xlsx")
head(Data_Coffee)
## # A tibble: 6 × 20
## `Area Code` Date Market `Market Size` Product `Product Line`
## <dbl> <dttm> <chr> <chr> <chr> <chr>
## 1 719 2012-01-01 00:00:00 Central Major Market Amaretto Beans
## 2 970 2012-01-01 00:00:00 Central Major Market Colombian Beans
## 3 970 2012-01-01 00:00:00 Central Major Market Decaf Ir… Beans
## 4 303 2012-01-01 00:00:00 Central Major Market Green Tea Leaves
## 5 303 2012-01-01 00:00:00 Central Major Market Caffe Mo… Beans
## 6 720 2012-01-01 00:00:00 Central Major Market Decaf Es… Beans
## # ℹ 14 more variables: `Product Type` <chr>, State <chr>, Type <chr>,
## # `Budget COGS` <dbl>, `Budget Margin` <dbl>, `Budget Profit` <dbl>,
## # `Budget Sales` <dbl>, COGS <dbl>, Inventory <dbl>, Margin <dbl>,
## # Marketing <dbl>, Profit <dbl>, Sales <dbl>, `Total Expenses` <dbl>
str(Data_Coffee)
## tibble [4,248 × 20] (S3: tbl_df/tbl/data.frame)
## $ Area Code : num [1:4248] 719 970 970 303 303 720 970 719 970 719 ...
## $ Date : POSIXct[1:4248], format: "2012-01-01" "2012-01-01" ...
## $ Market : chr [1:4248] "Central" "Central" "Central" "Central" ...
## $ Market Size : chr [1:4248] "Major Market" "Major Market" "Major Market" "Major Market" ...
## $ Product : chr [1:4248] "Amaretto" "Colombian" "Decaf Irish Cream" "Green Tea" ...
## $ Product Line : chr [1:4248] "Beans" "Beans" "Beans" "Leaves" ...
## $ Product Type : chr [1:4248] "Coffee" "Coffee" "Coffee" "Tea" ...
## $ State : chr [1:4248] "Colorado" "Colorado" "Colorado" "Colorado" ...
## $ Type : chr [1:4248] "Regular" "Regular" "Decaf" "Regular" ...
## $ Budget COGS : num [1:4248] 90 80 100 30 60 80 140 50 50 40 ...
## $ Budget Margin : num [1:4248] 130 110 140 50 90 130 160 80 70 70 ...
## $ Budget Profit : num [1:4248] 100 80 110 30 70 80 110 20 40 20 ...
## $ Budget Sales : num [1:4248] 220 190 240 80 150 210 300 130 120 110 ...
## $ COGS : num [1:4248] 89 83 95 44 54 72 170 63 60 58 ...
## $ Inventory : num [1:4248] 777 623 821 623 456 ...
## $ Margin : num [1:4248] 130 107 139 56 80 108 171 87 80 72 ...
## $ Marketing : num [1:4248] 24 27 26 14 15 23 47 57 19 22 ...
## $ Profit : num [1:4248] 94 68 101 30 54 53 99 0 33 17 ...
## $ Sales : num [1:4248] 219 190 234 100 134 180 341 150 140 130 ...
## $ Total Expenses: num [1:4248] 36 39 38 26 26 55 72 87 47 55 ...
tail(Data_Coffee)
## # A tibble: 6 × 20
## `Area Code` Date Market `Market Size` Product `Product Line`
## <dbl> <dttm> <chr> <chr> <chr> <chr>
## 1 425 2013-12-01 00:00:00 West Small Market Lemon Leaves
## 2 206 2013-12-01 00:00:00 West Small Market Caffe Lat… Beans
## 3 509 2013-12-01 00:00:00 West Small Market Caffe Moc… Beans
## 4 360 2013-12-01 00:00:00 West Small Market Decaf Esp… Beans
## 5 360 2013-12-01 00:00:00 West Small Market Colombian Beans
## 6 206 2013-12-01 00:00:00 West Small Market Decaf Iri… Beans
## # ℹ 14 more variables: `Product Type` <chr>, State <chr>, Type <chr>,
## # `Budget COGS` <dbl>, `Budget Margin` <dbl>, `Budget Profit` <dbl>,
## # `Budget Sales` <dbl>, COGS <dbl>, Inventory <dbl>, Margin <dbl>,
## # Marketing <dbl>, Profit <dbl>, Sales <dbl>, `Total Expenses` <dbl>
summary(Data_Coffee)
## Area Code Date Market
## Min. :203.0 Min. :2012-01-01 00:00:00 Length:4248
## 1st Qu.:417.0 1st Qu.:2012-06-23 12:00:00 Class :character
## Median :573.0 Median :2012-12-16 12:00:00 Mode :character
## Mean :582.3 Mean :2012-12-15 22:00:00
## 3rd Qu.:772.0 3rd Qu.:2013-06-08 12:00:00
## Max. :985.0 Max. :2013-12-01 00:00:00
## Market Size Product Product Line Product Type
## Length:4248 Length:4248 Length:4248 Length:4248
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
## State Type Budget COGS Budget Margin
## Length:4248 Length:4248 Min. : 0.00 Min. :-210.0
## Class :character Class :character 1st Qu.: 30.00 1st Qu.: 50.0
## Mode :character Mode :character Median : 50.00 Median : 70.0
## Mean : 74.83 Mean : 100.8
## 3rd Qu.: 90.00 3rd Qu.: 130.0
## Max. :450.00 Max. : 690.0
## Budget Profit Budget Sales COGS Inventory
## Min. :-320.00 Min. : 0.0 Min. : 0.00 Min. :-3534.0
## 1st Qu.: 20.00 1st Qu.: 80.0 1st Qu.: 43.00 1st Qu.: 432.0
## Median : 40.00 Median : 130.0 Median : 60.00 Median : 619.0
## Mean : 60.91 Mean : 175.6 Mean : 84.43 Mean : 749.4
## 3rd Qu.: 80.00 3rd Qu.: 210.0 3rd Qu.:100.00 3rd Qu.: 910.5
## Max. : 560.00 Max. :1140.0 Max. :364.00 Max. : 8252.0
## Margin Marketing Profit Sales
## Min. :-302.00 Min. : 0.00 Min. :-638.0 Min. : 17
## 1st Qu.: 52.75 1st Qu.: 13.00 1st Qu.: 17.0 1st Qu.:100
## Median : 76.00 Median : 22.00 Median : 40.0 Median :138
## Mean : 104.29 Mean : 31.19 Mean : 61.1 Mean :193
## 3rd Qu.: 132.00 3rd Qu.: 39.00 3rd Qu.: 92.0 3rd Qu.:230
## Max. : 613.00 Max. :156.00 Max. : 778.0 Max. :912
## Total Expenses
## Min. : 10.00
## 1st Qu.: 33.00
## Median : 46.00
## Mean : 54.06
## 3rd Qu.: 65.00
## Max. :190.00
dim(Data_Coffee)
## [1] 4248 20
colSums(is.na(Data_Coffee))
## Area Code Date Market Market Size Product
## 0 0 0 0 0
## Product Line Product Type State Type Budget COGS
## 0 0 0 0 0
## Budget Margin Budget Profit Budget Sales COGS Inventory
## 0 0 0 0 0
## Margin Marketing Profit Sales Total Expenses
## 0 0 0 0 0
View(Data_Coffee)
class(Data_Coffee)
## [1] "tbl_df" "tbl" "data.frame"
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.5.2
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.5.2
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
RataRata_expenses <- Data_Coffee %>%
group_by(State) %>%
summarise(mean_exp = mean(`Total Expenses`, na.rm = TRUE))
ggplot(RataRata_expenses, aes(x = reorder(State, -mean_exp), y = mean_exp, fill = State)) +
geom_col(fill = "pink") +geom_text(aes(label = round(mean_exp, 1)),
vjust = -0.5, size = 3)+
labs(
title = "Rata-rata Total Expenses per State",
x = "State",
y = "Mean Total Expenses"
) +
theme_classic() +
theme(
axis.text.x = element_text(angle = 70, hjust = 1),
legend.position = "none",
plot.margin = margin(10, 30, 10, 10))
Analisis: Bar chart ini menampilkan rata-rata Total Expenses di tiap State. Interpretasi: Terlihat bahwa ada State dengan rata-rata expenses lebih tinggi dibanding State lain. Hal ini menunjukkan adanya perbedaan biaya operasional antar wilayah, yang bisa menjadi bahan evaluasi efisiensi distribusi atau strategi pemasaran. Dari visualisasi ini, manajemen dapat mengidentifikasi terdapat State dengan rata-rata Total Expenses tertinggi dibandingkan State lainnya.
library(dplyr)
library(ggplot2)
product_expenses <- Data_Coffee %>%
group_by(`Product Type`) %>%
summarise(total_exp = sum(`Total Expenses`, na.rm = TRUE)) %>%
mutate(persen = total_exp / sum(total_exp) * 100,
label = paste0(round(persen, 1), "%"))
ggplot(product_expenses, aes(x = "", y = total_exp, fill = `Product Type`)) +
geom_bar(stat = "identity", width = 1) +
coord_polar("y", start = 0) +
geom_text(aes(label = label),
position = position_stack(vjust = 0.5),
color = "black") +
labs(title = "Proporsi Total Expenses per Product Type",
fill = "Product Type") +
theme_minimal()
Analisis: Pie chart ini menunjukkan proporsi Total Expenses berdasarkan tipe produk. Interpretasi: Produk tertentu menyumbang porsi biaya lebih besar dibanding produk lain. Misalnya, jika Espresso mendominasi lingkaran, berarti biaya paling banyak terserap di produk tersebut. Insight ini membantu manajemen melihat produk mana yang paling “mahal” dari sisi biaya operasional. Dari visualisasi ini, manajemen dapat mengidentifikasi terdapat perbedaan proporsi biaya antar Product Type, di mana beberapa produk menyumbang biaya lebih besar dibandingkan yang lain.
Visualisasi_3 <- ggplot(Data_Coffee, aes(x = Sales, y = `Total Expenses`)) +
geom_point(color = "black", alpha = 0.6) +
geom_smooth(method = "lm", se = FALSE, color = "red") +
labs(title = "Hubungan Sales dan Total Expenses",
x = "Sales",
y = "Total Expenses")
Visualisasi_3
## `geom_smooth()` using formula = 'y ~ x'
Analisis: Scatter plot ini memperlihatkan hubungan antara Sales dan Total Expenses. Garis merah menunjukkan tren umum (regresi linear). Interpretasi: Pola titik menunjukkan bahwa semakin tinggi penjualan, cenderung diikuti dengan kenaikan total expenses. Hal ini logis karena peningkatan penjualan biasanya membutuhkan biaya tambahan (produksi, distribusi, marketing). Namun, jika ada titik yang menyimpang, itu bisa jadi indikasi efisiensi atau inefisiensi di State tertentu. Dari visualisasi ini, manajemen dapat mengidentifikasi adanya hubungan positif antara Sales dan Total Expenses, yang menunjukkan bahwa peningkatan penjualan diikuti dengan peningkatan biaya operasional. Namun, manajemen juga perlu memperhatikan adanya titik-titik yang menyimpang dari tren umum, karena hal ini bisa menjadi indikasi adanya efisiensi atau inefisiensi di State tertentu yang perlu dievaluasi lebih lanjut.
anova_result <- aov(`Total Expenses` ~ State, data = Data_Coffee)
summary(anova_result)
## Df Sum Sq Mean Sq F value Pr(>F)
## State 19 761299 40068 45.98 <2e-16 ***
## Residuals 4228 3683996 871
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Hipotesis:
H₀: Tidak terdapat perbedaan rata-rata Total Expenses antar State
H₁: Terdapat perbedaan rata-rata Total Expenses antar State
Uji Statistika:
Uji yang digunakan adalah ANOVA (Analysis of Variance) karena membandingkan rata-rata lebih dari dua kelompok (State).
Hasil:
Diperoleh p-value = 2e-16
Keputusan:
Dengan taraf signifikansi α = 0.05:
Jika p-value < α (0.05) maka H₀ ditolak. Jika p-value ≥ α (0.05) maka H₀ gagal ditolak. Karena p-value < 0.05, maka H₀ ditolak.
Kesimpulan: Terdapat perbedaan yang signifikan pada rata-rata Total Expenses antar State.
product_expenses <- Data_Coffee %>%
group_by(`Product Type`) %>%
summarise(total_exp = sum(`Total Expenses`, na.rm = TRUE))
chisq_test_expenses <- chisq.test(product_expenses$total_exp,
p = rep(1/length(product_expenses$total_exp),
length(product_expenses$total_exp)))
chisq_test_expenses
##
## Chi-squared test for given probabilities
##
## data: product_expenses$total_exp
## X-squared = 2831.6, df = 3, p-value < 2.2e-16
Hipotesis:
H₀: Proporsi Total Expenses antar Product Type sama
H₁: Proporsi Total Expenses berbeda
Uji Statistika:
Uji yang digunakan adalah Chi-Square, untuk menguji perbedaan distribusi atau proporsi antar kategori (Product Type).
Catatan:
Data yang digunakan berupa nilai agregat (Total Expenses), sehingga interpretasi dilakukan secara hati-hati karena bukan berupa data frekuensi murni.
Hasil:
p-value = 2.2e-16
Keputusan:
Dengan taraf signifikansi α = 0.05:
Jika p-value < α (0.05) maka H₀ ditolak. Jika p-value ≥ α (0.05) maka H₀ gagal ditolak. Karena p-value < 0.05, maka H₀ ditolak.
Kesimpulan: Proporsi biaya antar produk berbeda secara signifikan.
cor_test <- cor.test(Data_Coffee$Sales, Data_Coffee$`Total Expenses`, method = "pearson")
cor_test
##
## Pearson's product-moment correlation
##
## data: Data_Coffee$Sales and Data_Coffee$`Total Expenses`
## t = 62.006, df = 4246, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.6732337 0.7048117
## sample estimates:
## cor
## 0.68935
Hipotesis:
H₀: ρ = 0 (tidak terdapat hubungan linear antara Sales dan Total Expenses)
H₁: ρ ≠ 0 (terdapat hubungan linear antara Sales dan Total Expenses)
Uji Statistik:
Uji yang digunakan adalah Korelasi Pearson, untuk mengetahui hubungan linear antara dua variabel numerik.
Hasil:
p-value = 2.2e-16
r = 0.689
Keputusan:
Dengan taraf signifikansi α = 0.05: Jika p-value < α (0.05) maka H₀ ditolak. Jika p-value ≥ α (0.05) maka H₀ gagal ditolak. Karena p-value < 0.05, maka H₀ ditolak.
Kesimpulan:
Terdapat hubungan positif yang cukup kuat antara Sales dan Total Expenses.
Berdasarkan hasil analisis yang dilakukan, dapat disimpulkan bahwa:
Insight ini menunjukkan bahwa peningkatan penjualan cenderung diikuti dengan peningkatan biaya operasional, serta adanya variasi biaya antar wilayah dan produk. Hal ini penting sebagai dasar dalam pengambilan keputusan untuk meningkatkan efisiensi dan strategi bisnis.