peta west

Dataset dan Library

Load Library & Dataset

knitr::opts_chunk$set(echo = TRUE, warning=FALSE, message=FALSE)

# Library yang digunakan
library(readxl)
## Warning: package 'readxl' was built under R version 4.3.3
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.3.3
## Warning: package 'ggplot2' was built under R version 4.3.3
## Warning: package 'tibble' was built under R version 4.3.3
## Warning: package 'tidyr' was built under R version 4.3.3
## Warning: package 'readr' was built under R version 4.3.3
## Warning: package 'purrr' was built under R version 4.3.3
## Warning: package 'dplyr' was built under R version 4.3.3
## Warning: package 'stringr' was built under R version 4.3.3
## Warning: package 'forcats' was built under R version 4.3.3
## Warning: package 'lubridate' was built under R version 4.3.3
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## βœ” dplyr     1.1.4     βœ” readr     2.1.5
## βœ” forcats   1.0.0     βœ” stringr   1.5.1
## βœ” ggplot2   3.5.1     βœ” tibble    3.2.1
## βœ” lubridate 1.9.3     βœ” tidyr     1.3.1
## βœ” purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## βœ– dplyr::filter() masks stats::filter()
## βœ– dplyr::lag()    masks stats::lag()
## β„Ή Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(ggplot2)
library(dplyr)
library(kableExtra)
## Warning: package 'kableExtra' was built under R version 4.3.3
## 
## Attaching package: 'kableExtra'
## 
## The following object is masked from 'package:dplyr':
## 
##     group_rows
library(gridExtra)
## Warning: package 'gridExtra' was built under R version 4.3.3
## 
## Attaching package: 'gridExtra'
## 
## The following object is masked from 'package:dplyr':
## 
##     combine
library(car)
## Warning: package 'car' was built under R version 4.3.3
## Loading required package: carData
## Warning: package 'carData' was built under R version 4.3.3
## 
## Attaching package: 'car'
## 
## The following object is masked from 'package:dplyr':
## 
##     recode
## 
## The following object is masked from 'package:purrr':
## 
##     some
library(effsize)
## Warning: package 'effsize' was built under R version 4.3.3
library(plotly)
## Warning: package 'plotly' was built under R version 4.3.3
## 
## Attaching package: 'plotly'
## 
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## 
## The following object is masked from 'package:stats':
## 
##     filter
## 
## The following object is masked from 'package:graphics':
## 
##     layout
library(nortest)
library(knitr)
## Warning: package 'knitr' was built under R version 4.3.3
# Import Data dan Filter Wilayah West

data <- read_excel("3. CM1 - Coffee Chain Datasets.xlsx")

# Filter hanya wilayah West dan data tidak kosong
west_data <- data %>%
  filter(Market == "West", !is.na(Margin), !is.na(Profit))

# Pisahkan profit berdasarkan Market Size
data_major <- subset(west_data, `Market Size` == "Major")$Profit
data_small <- subset(west_data, `Market Size` == "Small")$Profit

Pendahuluan

Dalam kegiatan bisnis, membandingkan profit antar segmen pasar sangat penting untuk strategi pengembangan dan efisiensi alokasi sumber daya. Pada analisis ini, dibandingkan profit antara pasar Major dan Small di wilayah West. Uji Mann-Whitney digunakan karena data tidak memenuhi asumsi normalitas dan homogenitas. Hasil analisis diharapkan memberikan wawasan bagi pengambilan keputusan manajerial.

Metode Pengujian Data

Uji Mann-Whitney

Uji non-parametrik ini digunakan untuk mengetahui apakah terdapat perbedaan signifikan antara dua kelompok independen ketika asumsi normalitas tidak terpenuhi. Dalam konteks ini, kita membandingkan profit antara pasar Major dan Small.
- \(H_0\): Tidak ada perbedaan profit antara Major dan Small
- \(H_1\): Ada perbedaan profit
- Gunakan wilcox.test()
- Tolak \(H_0\) jika \(p\)-value < 0.05

Uji Normalitas

Uji normalitas bertujuan untuk mengevaluasi apakah data profit dari masing-masing kategori pasar mengikuti distribusi normal. Jika data tidak normal, maka uji parametrik seperti t-test tidak dapat digunakan.
- \(H_0\): Data normal
- \(H_1\): Data tidak normal
- Gunakan shapiro.test() / ad.test()
- Tolak \(H_0\) jika \(p\)-value < 0.05

Analisis Kasus

Statistik Deskriptif

west_data %>% group_by(`Market Size`) %>%
  summarise(
    mean_margin = mean(Margin),
    sd_margin = sd(Margin),
    mean_profit = mean(Profit),
    sd_profit = sd(Profit),
    n = n(),
    .groups = 'drop'
  ) %>%
  kable() %>%
  kable_styling(bootstrap_options = c("striped", "hover"), full_width = F)
Market Size mean_margin sd_margin mean_profit sd_profit n
Major Market 171.5347 136.44174 110.36458 146.27492 288
Small Market 85.8428 85.43553 39.97254 98.11326 1056

Uji Normalitas

if (length(data_major) >= 3 && length(data_major) <= 5000) {
  hasil_major <- shapiro.test(data_major)
  p_major <- hasil_major$p.value
} else if (length(data_major) > 7) {
  hasil_major <- ad.test(data_major)
  p_major <- hasil_major$p.value
} else {
  p_major <- NA
}

if (length(data_small) >= 3 && length(data_small) <= 5000) {
  hasil_small <- shapiro.test(data_small)
  p_small <- hasil_small$p.value
} else if (length(data_small) > 7) {
  hasil_small <- ad.test(data_small)
  p_small <- hasil_small$p.value
} else {
  p_small <- NA
}

Uji Homogenitas Varians

p_levene <- leveneTest(Profit ~ `Market Size`, data = west_data)$`Pr(>F)`[1]

Uji Hipotesis dan Ukuran Efek

uji_type <- NULL
if (p_major > 0.05 && p_small > 0.05 && p_levene > 0.05) {
  hasil_uji <- t.test(Profit ~ `Market Size`, data = west_data)
  uji_type <- "t-test"
  effect_size <- cohen.d(Profit ~ `Market Size`, data = west_data)
} else {
  hasil_uji <- wilcox.test(Profit ~ `Market Size`, data = west_data)
  uji_type <- "Mann-Whitney"
  r_effect <- abs(qnorm(hasil_uji$p.value / 2) / sqrt(length(data_major) + length(data_small)))
  effect_size <- r_effect
}

Visualisasi Boxplot dan Korelasi

plot_ly(west_data, x = ~`Market Size`, y = ~Profit, type = "box", color = ~`Market Size`, colors = c("#E6E6FA", "#EED3E6")) %>%
  layout(title = "Perbandingan Profit berdasarkan Ukuran Pasar di Wilayah West")
plot_ly(west_data, x = ~`Market Size`, y = ~Margin, type = "box", color = ~`Market Size`, colors = c("#cb99be", "#cdb8d7")) %>%
  layout(title = "Perbandingan Margin berdasarkan Ukuran Pasar di Wilayah West")
plot_ly(west_data, x = ~Margin, y = ~Profit, color = ~`Market Size`, type = 'scatter', mode = 'markers') %>%
  layout(title = "Hubungan Margin dan Profit per Ukuran Pasar")

Bar Chart Interaktif Rata-rata Profit

avg_profit <- west_data %>%
  group_by(`Market Size`) %>%
  summarise(avg_profit = mean(Profit), .groups = 'drop')

plot_ly(avg_profit, x = ~`Market Size`, y = ~avg_profit, type = 'bar', color = ~`Market Size`, colors = c("#385C90", "#7679A8")) %>%
  layout(title = "Rata-rata Profit per Market Size",
         xaxis = list(title = "Market Size"),
         yaxis = list(title = "Rata-rata Profit"))

Interpretasi dan Rekomendasi

Hasil Uji dan Interpretasi

πŸ“Š Hasil Uji dan Interpretasi

Jenis Uji yang Digunakan

  • Jenis uji yang dipilih berdasarkan uji asumsi adalah: Mann–Whitney
πŸ” Hasil Uji Asumsi
Asumsi p.value Interpretasi
Shapiro-Wilk (Major) NA NA
Shapiro-Wilk (Small) NA NA
Levene (Homogenitas) 0 Tidak Homogen
πŸ“ˆ Tabel Hasil Uji Hipotesis
Statistik p.value Metode
W 215394 0 Wilcoxon rank sum test with continuity correction
πŸ“ Ukuran Efek (r)
Effect.Size..r.
Inf
## [1] "πŸ“Œ Terdapat *perbedaan profit yang signifikan* antara pasar **Major** dan **Small** di wilayah **West**."
## [1] "πŸ’‘ Ini menunjukkan bahwa strategi bisnis perlu disesuaikan dengan karakteristik tiap pasar."

Rangkuman dan Rekomendasi

Berdasarkan hasil analisis, diketahui bahwa asumsi normalitas dan homogenitas tidak terpenuhi. Oleh karena itu, digunakan uji Mann-Whitney yang menunjukkan bahwa terdapat perbedaan signifikan profit antara pasar Major dan Small di wilayah West.

Rekomendasi Bisnis

Berdasarkan hasil uji Mann-Whitney yang digunakan karena tidak terpenuhinya asumsi normalitas dan homogenitas, diperoleh:

Terdapat perbedaan profit yang signifikan antara pasar Major dan Small di wilayah West.

Ukuran efek yang dihitung menunjukkan bahwa besar pengaruh perbedaan ini bersifat sedang hingga besar, sehingga hasilnya praktis signifikan, bukan hanya secara statistik.

Pasar Major dan Small memiliki karakteristik perilaku pelanggan dan potensi pendapatan yang berbeda secara bermakna.
1. Fokus pada pasar dengan profit lebih tinggi (hasil analisis).
2. Sesuaikan strategi promosi berdasarkan jenis pasar.
3. Tingkatkan efisiensi di pasar dengan profit rendah.
4. Gunakan dashboard interaktif untuk pemantauan performa berkala.

✨ Kesimpulan Akhir

Analisis profit antara pasar Major dan Small di wilayah West menunjukkan adanya perbedaan yang signifikan. Temuan ini menjadi landasan penting dalam pengambilan keputusan strategis, khususnya dalam membedakan perlakuan terhadap segmen pasar yang berbeda. Dengan visualisasi interaktif dan pendekatan statistik yang tepat, perusahaan dapat merancang strategi berbasis data yang lebih akurat dan berdampak.
Berdasarkan hasil analisis, berikut beberapa strategi yang dapat dipertimbangkan:

1. Segmentasi dan Diferensiasi Strategi
Kembangkan pendekatan penjualan dan promosi yang tersegmentasi antara pasar Major dan Small, menyesuaikan preferensi konsumen serta daya beli masing-masing.

2. Optimalkan Investasi di Pasar Potensial
Jika profit signifikan lebih tinggi di pasar Major, maka alokasikan sumber daya lebih besar pada pasar ini sambil tetap menjaga penetrasi di pasar Small.

3. Evaluasi Model Operasi di Pasar Small
Identifikasi faktor penghambat profit di pasar Small (misal: distribusi, harga, atau promosi), lalu lakukan perbaikan secara bertahap.

4. Pemanfaatan Data Lebih Lanjut
Gunakan analisis multivariat dan time series untuk memprediksi potensi jangka panjang pasar, serta untuk melihat dampak perubahan strategi yang diterapkan.