Laporan ini bertujuan untuk menganalisis data penjualan pada Coffee Chain Dataset. Analisis dilakukan untuk mendapatkan insight terkait distribusi profit serta perbandingan profit berdasarkan ukuran pasar (Market Size). Visualisasi dan uji statistik digunakan untuk mendukung interpretasi data.
library(readxl)
library(ggplot2)
library(dplyr)
dt <- read_excel("1. Tugas SIM 2025B - Coffee Chain Datasets.xlsx", sheet = "data")
head(dt)
## # 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>
Insight pertama yang diambil adalah melihat bagaimana distribusi profit dari seluruh transaksi. Hal ini penting untuk mengetahui apakah profit cenderung merata, tinggi, atau justru banyak yang rendah.
ggplot(dt, aes(x = Profit)) +
geom_histogram(aes(fill = after_stat(count)), bins = 15, color = "white") +
stat_bin(bins = 15, geom = "text", aes(label = after_stat(count)), vjust = -0.5, size = 3) +
scale_fill_gradient(low = "#132B43", high = "#56B1F7") +
theme_minimal() +
labs(title = "Distribusi Profit Coffee Chain",
x = "Profit",
y = "Frekuensi") +
theme(legend.position = "none")
Berdasarkan histogram, distribusi profit cenderung tidak simetris dan condong ke kanan (positively skewed). Sebagian besar transaksi profit pada rentang rendah hingga sedang, sementara hanya sedikit transaksi dengan profit yang sangat tinggi. Selain itu, terdapat beberapa nilai profit negatif yang menunjukkan adanya transaksi yang merugi. Hal ini mengindikasikan bahwa meskipun mayoritas transaksi menguntungkan, masih terdapat variasi profit yang cukup besar dalamm data.
Insight kedua adalah menguji apakah terdapat perbedaan rata-rata profit antara market size yang berbeda, yaitu Small Market dan Major Market. Hal ini penting untuk mengetahui apakah ukuran pasar mempengaruhi profit.
dt2 <- dt %>%
filter(`Market Size` %in% c("Small Market", "Major Market"))
dt2
## # A tibble: 4,248 × 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 Colombi… Beans
## 3 970 2012-01-01 00:00:00 Central Major Market Decaf I… Beans
## 4 303 2012-01-01 00:00:00 Central Major Market Green T… Leaves
## 5 303 2012-01-01 00:00:00 Central Major Market Caffe M… Beans
## 6 720 2012-01-01 00:00:00 Central Major Market Decaf E… Beans
## 7 970 2012-01-01 00:00:00 Central Major Market Chamomi… Leaves
## 8 719 2012-01-01 00:00:00 Central Major Market Lemon Leaves
## 9 970 2012-01-01 00:00:00 Central Major Market Mint Leaves
## 10 719 2012-01-01 00:00:00 Central Major Market Darjeel… Leaves
## # ℹ 4,238 more rows
## # ℹ 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>
uji <- t.test(Profit ~ `Market Size`, data = dt2, var.equal = TRUE)
uji
##
## Two Sample t-test
##
## data: Profit by Market Size
## t = 16.382, df = 4246, p-value < 2.2e-16
## alternative hypothesis: true difference in means between group Major Market and group Small Market is not equal to 0
## 95 percent confidence interval:
## 44.53533 56.64413
## sample estimates:
## mean in group Major Market mean in group Small Market
## 91.39437 40.80464
H0 = rata-rata profit pada kedua market size sama (miu satu = miu dua)
H1 = rata-rata profit berbeda (miu satu ≠ miu dua)
Berdasarkan hasil uji t, diperoleh nilai p-Value sebesar ().Jika p-Value < 0.05 maka H0 ditolak, artinya terdapat perbedaan signifikan. Sebaliknya, jika p-Value > 0.05 maka H0 gagal ditolak, artinya tidak terdapat perbedaan signifikan.
Sehingga dapat disimpulkan bahwa H0 ditolak karena nilai p-Value yang sangat kecil (p-Value < 0.05), yang artinya terdapat perbedaan yang signifikan antara rata-rata profit pada Major Market dan Small Market.
Selain itu, nilai rata-rata terlihat bahwa profit pada Major Market (91.39) jauh lebih tinggi dibandingkan profit pada Small Market (40.80).
Selisih rata-rata profit juga didukung oleh interval kepercayaan 95% yang berada pada rentang 44.53 hingga 56.64, yang seluruhnya bernilai positif. Hal ini semakin memperkuat bahwa profit pada Major Market secara signifikan lebih besar dibandingkan Small Market.
Insight ketiga adalah menganalisis hubungan antara Sales dan Profit. Tujuannya adalah untuk mengetahui apakah peningkatan penjualan selalu diikuti dengan peningkatan profit.
ggplot(dt, aes(x = Sales, y = Profit)) +
geom_point(alpha = 0.5, color = "#2C7FB8") +
geom_smooth(method = "lm", color = "red") +
theme_minimal() +
labs(title = "Hubungan antara Sales dan Profit",
x = "Sales",
y = "Profit")
## `geom_smooth()` using formula = 'y ~ x'
cor_test <- cor.test(dt$Sales, dt$Profit)
cor_test
##
## Pearson's product-moment correlation
##
## data: dt$Sales and dt$Profit
## t = 86.084, df = 4246, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.7861073 0.8080289
## sample estimates:
## cor
## 0.7973309
H0 = tidak ada hubungan antara Sales dan Profit
H1 = terdapat hubungan antara Sales dan Profit
Berdasarkan hasil uji korelasi, diperoleh nilai koefisien korelasi sebesar 0,7973 dengan p-Value < 2.2e-16.
Nilai korelasi yang positif menunjukkan bahwa terdapat hubungan positif yang signifikan antara Sales dan Profi, peningkatan penjualan cenderung diikuti dengan peningkatan profit.
Insight keempat adalah menganalisis efisiensi masing-masing product line dalam menghasilkan profit dan sales. Efisiensi ini diukur menggunakan profit margin, yaitu perbandingan antara profit dan sales.
dt_margin <- dt %>%
mutate(Profit_Margin = Profit / Sales) %>%
group_by(`Product Line`) %>%
summarise(
avg_margin = mean(Profit_Margin, na.rm = TRUE),
total_sales = sum(Sales),
total_profit = sum(Profit)
) %>%
arrange(desc(avg_margin))
dt_margin
## # A tibble: 2 × 4
## `Product Line` avg_margin total_sales total_profit
## <chr> <dbl> <dbl> <dbl>
## 1 Beans 0.228 439824 143303
## 2 Leaves 0.0579 379987 116240
ggplot(dt_margin, aes(x = reorder(`Product Line`, avg_margin), y = avg_margin)) +
geom_bar(stat = "identity", fill = "#4CAF50") +
coord_flip() +
theme_minimal() +
labs(title = "Rata-rata Profit Margin per Product Line",
x = "Product Line",
y = "Average Profit Margin")
Berdasarkan visualisasi, terlihat bahwa setiap product line memiliki tingkat efisiensi yang berbeda dalam menghasilkan profit.
Product line dengan nilai profit margin tertinggi yaitu Beans menunjukkan bahwa mampu menghasilkan profit yang lebih besar dibandingkan sales-nya. dan lebih efisien dalam operasional. Sebaliknya product line dengan amrgin rendah yaitu Leaves, menunjukkan kemungkinan biaya yang tinggi atau strategi pricing yang kurang optimal.