———————————————————————————————————————————————————————————
Uji Scheirer-Ray-Hare merupakan uji non-parametrik dari ANOVA dua arah dengan interaksi yang digunakan ketika data tidak berdistribusi normal. Analisis ini bertujuan menguji pengaruh dua faktor kategorik, yaitu Product.Type dan Market, terhadap variabel numerik Profit, serta melihat apakah terdapat interaksi antara keduanya. Meskipun berbeda secara metode namun konsep model analisis serupa dengan model ANOVA dua arah dengan interaksi, yang secara matematis dapat dinyatakan sebagai berikut:
\[ Y_{ijk} = \mu + \alpha_i + \beta_j + (\alpha\beta)_{ij} + \varepsilon_{ijk} \]
Dengan:
Karena variabel Profit tidak berdistribusi normal, maka pada analisis ini digunakan uji Scheirer-Ray-Hare sebagai alternatif non-parametrik dari ANOVA dua arah. Uji ini tidak menghitung model tersebut secara eksplisit, namun tetap menguji pengaruh dua faktor dan interaksinya terhadap profit berdasarkan peringkat data.
Uji Scheirer-Ray-Hare digunakan untuk mengetahui apakah profit berbeda berdasarkan wilayah pemasaran (Market), jenis produk (Product.Type), serta interaksi keduanya. Hasilnya menunjukkan apakah profit dipengaruhi secara signifikan oleh jenis produk, wilayah, dan apakah pengaruh jenis produk terhadap profit bervariasi di setiap wilayah. Temuan ini penting untuk menyusun strategi pemasaran yang lebih tepat sasaran di setiap wilayah.Dengan demikian, perusahaan dapat lebih efektif dalam menyesuaikan jenis produk dengan preferensi konsumen di setiap wilayah, yang pada akhirnya akan mendukung pertumbuhan perusahaan secara keseluruhan.
Langkah pertama dalam analisis ini adalah mempersiapkan library yang diperlukan dalam R. Dengan memastikan library - library ini tersedia, kita dapat memanfaatkan berbagai fungsi dan tools yang relevan untuk melakukan analisis data secara optimal dan terstruktur.
Dataset yang digunakan pada analisis ini adalah coffee chain dataset.
# Mengimpor file Excel
data <- read_excel("C:/Users/ASUS Vivobook/Documents/3. CM1 - Coffee Chain Datasets.xlsx", sheet = "data")
# Ubah nama kolom agar spasi menjadi titik
colnames(data) <- make.names(colnames(data))
colnames(data)## [1] "Area.Code" "Date" "Market" "Market.Size"
## [5] "Product" "Product.Line" "Product.Type" "State"
## [9] "Type" "Budget.COGS" "Budget.Margin" "Budget.Profit"
## [13] "Budget.Sales" "COGS" "Inventory" "Margin"
## [17] "Marketing" "Profit" "Sales" "Total.Expenses"
Memilih kolom-kolom dari dalam data yang ingin digunakan ke tahap analisis berikutnya:
#periksa struktur data dan mengubah tipe variabel agar sesuai untuk analisis
data$Market <- as.factor(data$Market)
data$Product.Type <- as.factor(data$Product.Type)
data$Profit <- as.numeric(data$Profit)
str(data)## 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 : Factor w/ 4 levels "Central","East",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ 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 : Factor w/ 4 levels "Coffee","Espresso",..: 1 1 1 4 2 2 3 3 3 4 ...
## $ 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 ...
##
## DV: Profit
## Observations: 4248
## D: 0.9999301
## MS total: 1504146
## Df Sum Sq H p.value
## Market 3 36994757 24.60 0.00002
## Product.Type 3 761968 0.51 0.91744
## Market:Product.Type 8 604868141 402.16 0.00000
## Residuals 4233 5742168142
Berdasarkan hasil uji Scheirer-Ray-Hare, dapat disimpulkan bahwa:
Visualisasi Boxplot digunakan untuk melihat sebaran profit berdasarkan kombinasi antara Market dan Product.Type.
ggplot(data, aes(x = Product.Type, y = Profit, fill = Market)) +
geom_boxplot() +
theme_minimal() +
labs(title = "Profit per Product Type dan Market")Dari boxplot tersebut terlihat bahwa sebaran profit sangat bervariasi antar wilayah, di mana terdapat kelompok tertentu yang memiliki median profit yang jauh lebih tinggi dibandingkan yang lain, serta adanya nilai-nilai outlier yang mencolok. Hal ini mendukung hasil uji Scheirer-Ray-Hare yang menunjukkan bahwa faktor Market berpengaruh signifikan terhadap profit, serta adanya interaksi signifikan antara Market dan Product.Type. Sementara itu, Product.Type tidak menunjukkan pola distribusi yang berbeda secara mencolok, sesuai dengan hasil uji yang menyatakan bahwa pengaruh jenis produk terhadap profit tidak signifikan jika tidak mempertimbangkan wilayahnya.
Visualisasi Bar Chart digunakan untuk menyajikan informasi rata-rata profit dari setiap kombinasi Market dan Product.Type.
data %>%
group_by(Market, Product.Type) %>%
summarise(mean_profit = mean(Profit, na.rm = TRUE)) %>%
ggplot(aes(x = Market, y = mean_profit, fill = Product.Type)) +
geom_col(position = "dodge") +
labs(title = "Rata-rata Profit per Market dan Product Type", y = "Mean Profit") +
scale_fill_viridis(discrete = TRUE, option = "D") + # Coba juga "C" atau "E"
theme_minimal()## `summarise()` has grouped output by 'Market'. You can override using the
## `.groups` argument.
Dalam bar chart tersebut hasilnya menunjukkan bahwa meskipun Product.Type secara keseluruhan tidak berpengaruh signifikan terhadap profit, namun terdapat kombinasi tertentu—misalnya Product.Type tertentu di Market Central—yang menghasilkan rata-rata profit lebih tinggi daripada kombinasi lainnya. Informasi ini sangat berguna dalam pengambilan keputusan strategis, misalnya untuk menentukan jenis produk unggulan di masing-masing wilayah atau fokus promosi yang disesuaikan dengan potensi pasar.
Berdasarkan hasil uji Scheirer-Ray-Hare yang dilakukan terhadap data profit pada Coffee Chain, dapat disimpulkan bahwa:
Dengan demikian, struktur profit tidak hanya ditentukan oleh lokasi atau jenis produk secara terpisah, tetapi oleh kombinasi antara keduanya.
Hasil ini memiliki implikasi penting bagi pengambilan keputusan bisnis: - Wilayah penjualan harus menjadi fokus utama dalam strategi peningkatan profit. Wilayah dengan profit tinggi perlu didukung dengan promosi, ekspansi, dan penguatan distribusi.
Jenis produk sebaiknya disesuaikan per wilayah. Meskipun secara keseluruhan produk tampak memberikan profit yang mirip, dalam kenyataannya ada produk tertentu yang sangat menguntungkan di wilayah tertentu, dan tidak di wilayah lain. Oleh karena itu, strategi stok dan pemasaran tidak boleh disamaratakan.
Pengambilan keputusan berbasis data seperti ini sangat penting untuk meningkatkan efisiensi dan daya saing perusahaan, terutama dalam industri yang memiliki banyak cabang seperti Coffee Chain.