Import, Filtering, dan Cleaning Data

library(readxl)
library(dplyr)
library(ggplot2)

data = read_excel("Coffee Chain Datasets.xlsx")
data_bersih = data %>%
  rename(Product_Line = `Product Line`) %>%
  select(Product_Line, Type, Profit) %>%
  filter(!is.na(Profit))

data_beans = data_bersih%>%
  filter(Product_Line == "Beans")

Analisis Makro

Analisis pada tingkat makro ini dilakukan untuk mengidentifikasi “kontributor utama” profit perusahaan. Dengan membandingkan Beans dan Leaves, kita bisa melihat apakah sumber keuntungan perusahaan terpusat pada satu jenis produk atau terdistribusi secara merata. Jika terdapat perbedaan signifikan, maka fokus efisiensi manajemen harus diarahkan pada lini yang paling menguntungkan.

Visualisasi Bar Chart (Beans vs Leaves)

ratarata_macro = data_bersih %>%
  group_by(Product_Line) %>%
  summarise(Ratarata_Profit = mean(Profit))
            
ggplot(ratarata_macro, 
       aes(x = Product_Line,
           y = Ratarata_Profit, 
           fill = Product_Line)) +
  geom_bar(stat = "identity", 
           color = "black") +
  theme_minimal() +
  labs(title = "Rata-rata Profit: Beans vs Leaves", 
       y = "Mean Profit", 
       x = "Product Line")

Visualisasi ini menunjukkan adanya kesenjangan rata-rata profit secara nominal antara kedua lini produk. Kategori Beans tampak mendominasi perolehan keuntungan dibandingkan dengan Leaves, yang mengindikasikan bahwa pada sampel data ini, produk berbasis kopi cenderung memberikan kontribusi finansial yang lebih besar bagi perusahaan. Namun, perbedaan visual ini belum tentu merepresentasikan kondisi seluruh populasi data, karena bisa saja dipengaruhi oleh beberapa transaksi dengan nilai ekstrem (outliers). Oleh karena itu, uji statistik inferensial diperlukan untuk memvalidasi temuan visual ini.

Uji Normalitas dan QQ-Plot (Beans dan Leaves)

par(mfrow = c(1, 2), mar = c(5, 4, 4, 4))

# QQ-Plot Beans
qqnorm(data_bersih$Profit[data_bersih$Product_Line == "Beans"], 
       main = "QQ-Plot Beans", 
       xlab = "Teoretis", 
       ylab = "Profit Observasi")
qqline(data_bersih$Profit[data_bersih$Product_Line == "Beans"], 
       col = "red", 
       lwd = 2)
grid(col = "gray")

# QQ-Plot Leaves
qqnorm(data_bersih$Profit[data_bersih$Product_Line == "Leaves"],
       main = "QQ-Plot Leaves", 
       xlab = "Teoretis", 
       ylab = "Profit Observasi")
qqline(data_bersih$Profit[data_bersih$Product_Line == "Leaves"], 
       col = "red", 
       lwd = 2)
grid(col = "gray")

# Uji Shapiro-Wilk
shapiro_beans = shapiro.test(data_bersih$Profit[data_bersih$Product_Line == "Beans"])
shapiro_leaves = shapiro.test(data_bersih$Profit[data_bersih$Product_Line == "Leaves"])

shapiro_beans
## 
##  Shapiro-Wilk normality test
## 
## data:  data_bersih$Profit[data_bersih$Product_Line == "Beans"]
## W = 0.78677, p-value < 2.2e-16
shapiro_leaves
## 
##  Shapiro-Wilk normality test
## 
## data:  data_bersih$Profit[data_bersih$Product_Line == "Leaves"]
## W = 0.79419, p-value < 2.2e-16

Berdasarkan pengamatan pada Bar Chart, terlihat bahwa kategori Beans mendominasi perolehan rata-rata profit secara nominal dibandingkan dengan Leaves. Namun, validasi secara statistik melalui uji Shapiro Wilk memberikan nilai p-value yang jauh di bawah ambang batas signifikan (p < 2.2×10^(-16)), sehingga asumsi normalitas ditolak. Hal ini dipertegas oleh tampilan visual pada QQ-Plot, dimana titik-titik data tidak mengikuti garis diagonal referensi secara konsisten dan menunjukkan adanya penyimpangan signifikan pada bagian ujung distribusi (tails). Pola ini mengindikasikan bahwa distribusi profit mengandung banyak pencilan (outliers) dan tidak simetris, sehingga penggunaan metode non-parametrik Mann-Whitney U Test menjadi pilihan yang lebih akurat dibandingkan uji parametrik biasa.

Uji Hipotesis Mann-Whitney

#H0: Tidak terdapat perbedaan profitabilitas yang signifikan antara lini produk Beans dan Leaves.
#H1: Terdapat perbedaan profitabilitas yang signifikan antara lini produk Beans dan Leaves.
wilcox.test(Profit ~ Product_Line, data = data_bersih)
## 
##  Wilcoxon rank sum test with continuity correction
## 
## data:  Profit by Product_Line
## W = 2200291, p-value = 0.2143
## alternative hypothesis: true location shift is not equal to 0

Berdasarkan uji Mann-Whitney U Test, diperoleh nilai p-value = 0.2143. Karena nilai p-value > 0.05, maka keputusan yang diambil adalah gagal tolak H0. Hal ini menunjukkan bahwa meskipun pada grafik batang terlihat perbedaan rata-rata nominal, secara statistik perbedaan tersebut tidak signifikan. Dengan kata lain, lini produk Beans dan Leaves memberikan kontribusi keuntungan yang setara bagi perusahaan, dan variasi yang tampak pada grafik hanyalah fluktuasi data yang wajar.

Hubungan Antara Analisis Makro dan Analisis Mikro

Meskipun secara makro performa Kopi dan Teh setara, perusahaan perlu membedah lini Beans (Kopi) secara spesifik. Analisis Regular vs Decaf dilakukan untuk memastikan apakah stabilitas profit di lini kopi ini merata di semua varian ataukah ada dinamika tersembunyi berdasarkan preferensi kafein konsumen.

Analisis Mikro

Analisis mikro ini bertujuan mengevaluasi apakah kandungan kafein menjadi faktor penentu profitabilitas pada lini unggulan (Beans). Hal ini penting untuk memvalidasi apakah segmentasi pasar berdasarkan gaya hidup (kafein vs non-kafein) memerlukan strategi pemasaran dan manajemen stok yang berbeda.

Visualisasi Bar Chart (Beans: Regular vs Decaf)

ratarata_micro = data_beans %>%
  group_by(Type) %>%
  summarise(Ratarata_Profit = mean(Profit))

ggplot(ratarata_micro, 
       aes(x = Type, 
           y = Ratarata_Profit, 
           fill = Type)) +
  geom_bar(stat = "identity", 
           color = "black") +
  theme_minimal() +
  labs(title = "Rata-rata Profit Beans: Regular vs Decaf", 
       y = "Mean Profit", 
       x = "Type")

Pada kategori kopi, Bar Chart menunjukkan perbedaan tinggi batang yang cukup mencolok antara varian Regular dan Decaf. Perbedaan visual ini terlihat lebih kontras dibandingkan perbandingan lini produk sebelumnya, memberikan kesan awal bahwa terdapat preferensi konsumen yang kuat terhadap salah satu tipe kandungan kafein tertentu. Meski terlihat kontras secara deskriptif, pengujian inferensial tetap diperlukan guna memvalidasi apakah perbedaan tersebut benar-benar merepresentasikan kondisi pasar secara nyata atau dipengaruhi oleh variabilitas data.

Uji Normalitas dan QQ-Plot (Regular dan Decaf)

par(mfrow = c(1, 2), mar = c(5, 4, 4, 4))

# QQ-Plot Regular
qqnorm(data_beans$Profit[data_beans$Type == "Regular"], 
       main = "QQ-Plot Regular", 
       xlab = "Teoretis", 
       ylab = "Profit Observasi")
qqline(data_beans$Profit[data_beans$Type == "Regular"], 
       col = "red", 
       lwd = 2)
grid(col = "gray")

# QQ-Plot Decaf
qqnorm(data_beans$Profit[data_beans$Type == "Decaf"], 
       main = "QQ-Plot Decaf", 
       xlab = "Teoretis", 
       ylab = "Profit Observasi")
qqline(data_beans$Profit[data_beans$Type == "Decaf"], 
       col = "red", 
       lwd = 2)
grid(col = "gray")

Visualisasi QQ Plot pada perbandingan Regular dan Decaf menunjukkan bahwa titik-titik observasi tidak mengikuti garis diagonal referensi secara konsisten, terutama pada area ujung distribusi (tails). Pola yang melengkung dan menjauh dari garis ini mengindikasikan bahwa data profit di kedua kelompok kopi tersebut memiliki distribusi yang tidak normal dan cenderung miring (skewed). Karakteristik data yang tidak ideal ini memperkuat alasan penggunaan metode non-parametrik Mann-Whitney U Test sebagai alat uji yang lebih valid dan tangguh terhadap penyimpangan distribusi.

Uji Hipotesis Mann-Whitney

#H0: Tidak terdapat perbedaan distribusi profitabilitas yang signifikan antara tipe kopi Regular dan Decaf.
#H1: Terdapat perbedaan distribusi profitabilitas yang signifikan antara tipe kopi Regular dan Decaf.
wilcox.test(Profit ~ Type, data = data_beans)
## 
##  Wilcoxon rank sum test with continuity correction
## 
## data:  Profit by Type
## W = 593003, p-value = 0.1182
## alternative hypothesis: true location shift is not equal to 0

Hasil uji Mann-Whitney U Test menunjukkan nilai p-value sebesar 0.1182 (> 0.05), sehingga H0 gagal ditolak. Hal ini secara resmi membuktikan bahwa tidak ada perbedaan signifikan secara statistik antara profit yang dihasilkan oleh produk Regular maupun Decaf. Meskipun terdapat sedikit selisih pada rata-rata visual, statistik menegaskan bahwa kontribusi keuntungan dari kedua tipe kafein ini adalah setara. Sebagai rekomendasi manajemen, perusahaan sebaiknya tetap mempertahankan kedua varian untuk menjaga inklusivitas pasar, namun fokus inovasi tetap harus dipusatkan pada penguatan lini Beans secara keseluruhan.

Kesimpulan

  1. Tidak ada perbedaan keuntungan yang signifikan antara menjual kopi maupun teh. Perusahaan berhasil menyeimbangkan performa kedua lini produk utamanya, sehingga tidak ada ketergantungan hanya pada satu jenis kategori saja.
  2. Kandungan kafein bukan merupakan faktor penentu profitabilitas. Konsumen memberikan respon pasar yang sama kuat terhadap produk berkafein maupun rendah kafein, sehingga keduanya berkontribusi setara terhadap neraca keuangan perusahaan.
  3. Seluruh data profit dalam penelitian ini (baik kopi, teh, regular, maupun decaf) secara konsisten menunjukkan distribusi yang tidak normal. Hal ini menandakan adanya variabilitas yang besar dalam profit per transaksi, mungkin ada beberapa transaksi yang sangat besar (outliers). Namun secara rata-rata statistik, performanya tetap seimbang.

Secara statistik, model bisnis Coffee Chain menunjukkan resiliensi yang baik di seluruh kategori produk. Tidak adanya perbedaan signifikan pada level makro maupun mikro membuktikan bahwa perusahaan memiliki pangsa pasar yang solid dan terdiversifikasi dengan baik.