Insight

Industri coffee shop telah menunjukkan pertumbuhan yang signifikan dalam beberapa tahun terakhir, didorong oleh perubahan pola konsumsi masyarakat urban terhadap produk kopi dan minuman sejenis. Coffee shop tidak lagi hanya berfungsi sebagai tempat untuk menikmati kopi, melainkan telah berkembang menjadi pusat kegiatan sosial, ruang kerja alternatif, serta bagian dari gaya hidup modern. Perubahan ini menciptakan peluang bisnis yang luas, sekaligus tantangan dalam mempertahankan daya saing di tengah meningkatnya jumlah pesaing di industri ini.

Keberhasilan sebuah coffee shop tidak hanya ditentukan oleh kualitas produk yang ditawarkan, melainkan juga oleh kemampuannya dalam memahami preferensi konsumen, mengelola operasional secara efisien, serta menerapkan strategi pemasaran yang tepat sasaran. Analisis berbasis data menjadi kebutuhan yang semakin penting dalam upaya meningkatkan performa bisnis, merumuskan strategi pengembangan produk, serta mengoptimalkan sumber daya yang dimiliki.


Analysis

Dalam laporan ini, akan dilakukan analisis segmentasi produk pada sebuah usaha coffee shop berdasarkan data historis yang mencakup berbagai variabel penting, yaitu profit, sales, dan inventory. Analisis ini dilakukan dengan pendekatan K-Means Clustering guna mengelompokkan produk-produk yang memiliki karakteristik serupa, sehingga dapat memberikan wawasan strategis terhadap performa masing-masing segmen. Tujuan utama dari analisis ini antara lain:

  • Mengidentifikasi produk-produk dengan kontribusi profit tertinggi
  • Mengevaluasi efektivitas penjualan dan efisiensi manajemen stok
  • Memberikan pemetaan yang lebih terstruktur terhadap jenis-jenis produk yang tersedia
  • Menyusun rekomendasi strategis untuk pengembangan produk dan pengelolaan persediaan ke depan

Dengan memanfaatkan metode K-Means Clustering, laporan ini diharapkan dapat memberikan dasar analisis yang kuat dan objektif untuk mendukung proses pengambilan keputusan yang lebih tepat sasaran dalam meningkatkan kinerja bisnis secara keseluruhan.

Data Source

Dataset

Dataset yang digunakan yaitu Coffee Chain Dataset yang berisi laporan penjualan dari sebuah Coffee Shop. Data dapat diunduh melalui: Coffee Chain Dataset

library(readxl)
library(dplyr)
library(lubridate)
library(DT)

Coffee_Chain <- read_excel("/Users/bilqiesyafina/Documents/S.Stat/SEMESTER 4/SIM/CM1/Coffee_Chain.xlsx")

numeric_columns <- which(sapply(Coffee_Chain, is.numeric)) - 1  # Di DT, indeks kolom mulai dari 0

Coffee_Chain$Date <- as.Date(Coffee_Chain$Date)

datatable(Coffee_Chain,
          rownames = FALSE,
          options = list(
            pageLength = 10,
            scrollX = TRUE,
            autoWidth = TRUE,
            columnDefs = list(
              list(className = 'dt-center', targets = numeric_columns)
            )
          ),
          class = 'display nowrap compact stripe hover dt-responsive'
) %>%
  formatDate(columns = "Date", method = "toLocaleDateString") %>%
  formatStyle(
    columns = names(Coffee_Chain),
    fontSize = '11px'
  )


Deskripsi Dataset

# Pastikan library tambahan
library(knitr)
library(kableExtra)

# Buat data frame tabel
tabel_penjelasan <- data.frame(
  Field = c(
    "Area Code", "Date", "Market", "Market Size", "Product", "Product Line",
    "Product Type", "State", "Type", "Budget COGS", "Budget Margin", "Budget Profit",
    "Budget Sales", "COGS", "Inventory", "Margin", "Marketing", "Profit", "Sales", "Total Expense"
  ),
  Description = c(
    "Kode area, wilayah geografis",
    "Tanggal transaksi (DD-MMMM-YYYY)",
    "Nama pasar atau wilayah",
    "Ukuran pasar (Major/Small Market)",
    "Nama produk yang dijual (Amaretto, Colombian, dll)",
    "Kategori produk utama (Beans, Leaves)",
    "Jenis produk lebih spesifik (Coffee, Tea, dll)",
    "Negara bagian (Colorado, Illinois, dll)",
    "Tipe produk (Regular atau Decaf)",
    "Biaya Pokok Penjualan yang dianggarkan",
    "Margin keuntungan yang dianggarkan",
    "Laba yang dianggarkan",
    "Penjualan yang dianggarkan",
    "Biaya Pokok Penjualan aktual",
    "Jumlah persediaan barang",
    "Margin aktual",
    "Biaya pemasaran aktual",
    "Laba aktual",
    "Penjualan aktual",
    "Total pengeluaran"
  )
)

# Tampilkan tabel dengan warna
kable(tabel_penjelasan, "html", caption = "Tabel Penjelasan Variabel") %>%
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed", "responsive"), 
    full_width = FALSE, position = "center"
  ) %>%
  row_spec(0, bold = TRUE, background = "#34495e", color = "white") %>% 
  row_spec(1:nrow(tabel_penjelasan), background = "#f8f9fa", color = "#2c3e50") %>%
  column_spec(1, bold = TRUE, background = "#e3e6ea", color = "#2c3e50")
Tabel Penjelasan Variabel
Field Description
Area Code Kode area, wilayah geografis
Date Tanggal transaksi (DD-MMMM-YYYY)
Market Nama pasar atau wilayah
Market Size Ukuran pasar (Major/Small Market)
Product Nama produk yang dijual (Amaretto, Colombian, dll)
Product Line Kategori produk utama (Beans, Leaves)
Product Type Jenis produk lebih spesifik (Coffee, Tea, dll)
State Negara bagian (Colorado, Illinois, dll)
Type Tipe produk (Regular atau Decaf)
Budget COGS Biaya Pokok Penjualan yang dianggarkan
Budget Margin Margin keuntungan yang dianggarkan
Budget Profit Laba yang dianggarkan
Budget Sales Penjualan yang dianggarkan
COGS Biaya Pokok Penjualan aktual
Inventory Jumlah persediaan barang
Margin Margin aktual
Marketing Biaya pemasaran aktual
Profit Laba aktual
Sales Penjualan aktual
Total Expense Total pengeluaran


Visualisasi Data

Tren Penjualan per Bulan

library(dplyr)
library(lubridate)
library(ggplot2)

Coffee_Chain %>%
  mutate(Month = month(Date, label = TRUE)) %>%
  group_by(Month) %>%
  summarise(Total_Sales = sum(Sales, na.rm = TRUE)) %>%
  ggplot(aes(x = Month, y = Total_Sales, group = 1)) +
  geom_line(color = "#2c3d50", size = 1) +
  geom_point(color = "#2c3d50", size = 2) +
  labs(title = "Tren Penjualan per Bulan", x = "Bulan", y = "Total Penjualan") +
  theme_minimal() +
  theme(
    plot.title = element_text(hjust = 0.5, face = "bold", size = 18, family = "sans")
  )

Secara keseluruhan, pola penjualan menunjukkan adanya siklus tahunan yang cukup konsisten: stabil di awal tahun, melonjak pada pertengahan tahun, menurun di akhir kuartal ketiga hingga awal kuartal keempat, lalu naik kembali menjelang akhir tahun.


5 Produk Terlaris

library(dplyr)
library(ggplot2)
library(scales)

Coffee_Chain %>%
  group_by(Product) %>%
  summarise(Total_Sales = sum(Sales, na.rm = TRUE)) %>%
  arrange(desc(Total_Sales)) %>%
  slice_head(n = 5) %>%
  ggplot(aes(x = reorder(Product, Total_Sales), y = Total_Sales, fill = Total_Sales)) +
  geom_col(width = 0.7, show.legend = FALSE) +
  geom_text(
    aes(label = comma(Total_Sales)),
    hjust = -0.1,
    size = 5,
    fontface = "bold"
  ) +
  scale_fill_gradient(low = "#bdc3c7", high = "#2c3d50") +
  scale_y_continuous(expand = expansion(mult = c(0, 0.2))) + # Supaya angka tidak terpotong
  coord_flip() +
  labs(
    title = "5 Produk Terlaris",
    x = NULL,
    y = "Total Penjualan"
  ) +
  theme_minimal(base_size = 14) +
  theme(
    plot.title = element_text(hjust = 0.5, face = "bold", size = 18, family = "sans"),
    axis.title.x = element_text(),
    axis.text.y = element_text(),
    axis.text.x = element_blank(), # Hilangkan angka bawah
    panel.grid.major.y = element_blank() # Hilangkan garis horizontal
  )

Berdasarkan grafik tersebut, produk Colombian berada di posisi pertama dengan total penjualan tertinggi yaitu sebesar 128.311 unit, menunjukkan bahwa produk ini sangat dominan dibandingkan yang lain. Produk Lemon berada di posisi kedua dengan total penjualan 95.926 unit, yang cukup jauh dari Colombian. Caffe Mocha berada di posisi ketiga dengan 84.904 unit terjual, diikuti oleh Decaf Espresso dengan 78.162 unit terjual dan Chamomile dengan 75.578 unit terjual.


Total Profit per Produk

library(dplyr)
library(gt)
library(scales)

# Hitung total profit per produk
profit_table <- Coffee_Chain %>%
  group_by(Product) %>%
  summarise(Total_Profit = sum(Profit, na.rm = TRUE)) %>%
  arrange(desc(Total_Profit))

# Buat tabel GT lebih rapi dan modern
profit_table %>%
  gt() %>%
  fmt_currency(
    columns = Total_Profit,
    currency = "USD",
    decimals = 0 # tanpa desimal, lebih bersih
  ) %>%
  tab_header(
    title = md("**Total Profit per Produk**") # Judul pakai bold markdown
  ) %>%
  cols_label(
    Product = "Produk",
    Total_Profit = "Total Profit"
  ) %>%
  tab_options(
    table.font.names = "Montserrat",  # Font modern
    table.align = "center",          # Tengah semua
    heading.align = "center",
    column_labels.font.weight = "bold", # Label kolom ditebalkan
    table.border.top.color = "gray80",
    table.border.bottom.color = "gray80",
    heading.title.font.size = 20,
    data_row.padding = px(5),
    row.striping.background_color = "gray95" # Stripe background
  ) %>%
  opt_row_striping()
Total Profit per Produk
Produk Total Profit
Colombian $55,804
Lemon $29,869
Decaf Espresso $29,502
Darjeeling $29,053
Chamomile $27,231
Earl Grey $24,164
Caffe Mocha $17,678
Decaf Irish Cream $13,989
Caffe Latte $11,375
Regular Espresso $10,065
Mint $6,154
Amaretto $4,890
Green Tea −$231

Berdasarkan data total profit per produk, Colombian menjadi penyumbang profit terbesar dengan jumlah $55.804, jauh melebihi produk-produk lainnya. Selanjutnya, Lemon menghasilkan $29.869 dan Decaf Espresso $29.502, yang jumlahnya cukup seimbang. Darjeeling ($29.053) dan Chamomile ($27.231) juga mencatatkan keuntungan yang tinggi, meskipun sedikit lebih rendah. Sementara itu, Caffe Mocha ($17.678) dan produk-produk lain di bawahnya menunjukkan profit yang lebih sedikit. Menariknya, produk Green Tea justru mengalami kerugian sebesar -$231, yang menunjukkan bahwa produk ini tidak hanya kurang menguntungkan tetapi juga membebani keuangan perusahaan.


Jumlah Stok Berdasarkan Produk

library(dplyr)
library(ggplot2)
library(scales)

# Data agregasi
stok_data <- Coffee_Chain %>%
  group_by(Product) %>%
  summarise(Total_Stock = sum(Inventory, na.rm = TRUE)) %>%
  arrange(desc(Total_Stock))

# Membuat plot
ggplot(stok_data, aes(x = reorder(Product, Total_Stock), y = Total_Stock, fill = Total_Stock)) +
  geom_col(show.legend = FALSE) +
  geom_text(
    aes(label = comma(Total_Stock)),
    hjust = -0.1,
    size = 4,
    fontface = ifelse(stok_data$Product == stok_data$Product[1], "bold", "plain")
  ) +
  scale_fill_gradient(low = "#bdc3c7", high = "#2c3d50") +
  scale_y_continuous(expand = expansion(mult = c(0, 0.15))) +
  coord_flip() +
  labs(
    title = "Jumlah Stok Berdasarkan Produk",
    x = "Produk",
    y = "Total Stok"
  ) +
  theme_minimal(base_size = 14) +
  theme(
    plot.title = element_text(face = "bold", hjust = 0.5, family = "sans"),
    axis.text.y = element_text(face = ifelse(stok_data$Product == stok_data$Product[1], "bold", "plain"))
  )

Dari grafik jumlah stok, Caffe Mocha memiliki stok terbanyak yaitu sebanyak 362.996 unit, diikuti oleh Lemon dengan 344.898 unit dan Colombian dengan 339.624 unit. Decaf Irish Cream dan Decaf Espresso juga memiliki jumlah stok yang tinggi, masing-masing sebanyak 322.054 dan 308.124 unit. Di sisi lain, Regular Espresso dan Caffe Latte memiliki stok terendah yaitu hanya sebanyak 63.334 unit dan 55.294 unit.


Analisis Data

Analisis K-Means

K-Means Clustering adalah salah satu metode pengelompokan data (clustering) non-hierarki yang bertujuan untuk membagi data ke dalam beberapa cluster, sehingga data dengan karakteristik serupa tergabung dalam satu cluster yang sama (Wardono et al., 2019). Algoritma ini bekerja secara iteratif, dengan dua konsep utama: pertama, huruf K mengacu pada jumlah cluster yang hendak dibentuk; kedua, istilah Means merujuk pada nilai rata-rata yang menjadi pusat cluster, atau disebut juga centroid. Setiap data dihitung jaraknya terhadap masing-masing centroid menggunakan rumus jarak Euclidean untuk menentukan kedekatan data dengan centroid (Y. R. Sari et al., 2020).


Langkah-langkah algoritma K-Means menurut Sarwono, sebagaimana dikutip oleh Rohmawati, Defiyanti, dan Jajuli (2015), adalah sebagai berikut:

  1. Menentukan jumlah cluster (K) yang diinginkan.
  2. Memilih secara acak posisi awal centroid sebanyak K buah.
  3. Menghitung jarak antara setiap data input terhadap masing-masing centroid menggunakan rumus Euclidean Distance:
    \[ d(x_i, \mu_j) = \sqrt{\sum (x_i - \mu_j)^2} \]
    keterangan:
    \(x_i\) = Data ke-i,
    \(\mu_j\) = Centroid pada cluster ke-j.
  4. Menetapkan masing-masing data ke cluster dengan jarak terdekat berdasarkan hasil perhitungan Euclidean Distance.
  5. Memperbaharui posisi centroid dengan menghitung rata-rata seluruh data dalam masing-masing cluster, menggunakan rumus:
    \[ \ C_k = \frac{1}{n_k} \sum d_i \]
    keterangan:
    \(n_k\) = Jumlah data pada cluster ke-j,
    \(d_i\) = Data ke-i dalam cluster ke-j.
  6. Mengulangi langkah ketiga hingga langkah kelima sampai tidak ada perubahan anggota dalam setiap cluster (konvergensi tercapai).
  7. Setelah iterasi selesai, centroid akhir yang diperoleh digunakan sebagai acuan untuk klasifikasi data baru.

K-Means Clustering merupakan teknik non-hierarki yang membagi data menjadi satu atau lebih cluster, dengan tujuan agar data yang serupa berada dalam satu kelompok, sementara data yang berbeda terpisah ke dalam kelompok lain. Algoritma ini banyak digunakan karena kemudahan implementasinya. Namun demikian, kelemahan dari algoritma ini adalah ketergantungan tinggi terhadap inisialisasi centroid awal (Rahman, Wiranto, & Anggrainingsih, 2017).


K-Means Clustering

1. Load Data dan Preprocessing

library(dplyr)
library(ggplot2)
library(cluster)

#Data
Coffee_Chain <- read_excel("/Users/bilqiesyafina/Documents/S.Stat/SEMESTER 4/SIM/CM1/Coffee_Chain.xlsx")

#Pilih kolom numerik untuk clustering
data_cluster <- Coffee_Chain %>%
  group_by(`Product`) %>%
  summarise(
    avg_profit = mean(Profit, na.rm = TRUE),
    avg_sales = mean(Sales, na.rm = TRUE),
    avg_inventory = mean(Inventory, na.rm = TRUE)
  )
cluster_data <- data_cluster %>% 
  select(avg_profit, avg_sales, avg_inventory)

#Normalisasi data
cluster_data_scaled <- scale(cluster_data)

rownames(cluster_data_scaled) <- data_cluster$`Product`

cluster_data
## # A tibble: 13 × 3
##    avg_profit avg_sales avg_inventory
##         <dbl>     <dbl>         <dbl>
##  1     25.5        137.          741.
##  2     52.7        166.          256.
##  3     36.8        177.          756.
##  4     70.9        197.          713.
##  5    116.         267.          708.
##  6     75.7        190.          738.
##  7     72.3        192.          755.
##  8     36.4        162.          839.
##  9     83.9        232.          757.
## 10     -0.802      114.          900.
## 11     62.2        200.          719.
## 12     32.1        186.         1096.
## 13    140.         334.          880.
Tabel ini menunjukkan rata-rata dari tiga variabel utama yang digunakan untuk analisis:
  • avg_profit : Rata-rata laba yang diperoleh (keuntungan).
  • avg_sales : Rata-rata penjualan.
  • avg_inventory : Rata-rata jumlah persediaan produk.

2. Menentukan Jumlah Cluster

Digunakan metode Elbow

max_k <- nrow(cluster_data_scaled) - 1

wss <- vector()
for (k in 1:max_k) {
  wss[k] <- sum(kmeans(cluster_data_scaled, centers = k)$withinss)
}
plot(1:max_k, wss, type = "b", pch = 19, frame = FALSE,
     xlab = "Number of clusters", ylab = "Total within-cluster sum of squares")

Dari grafik ini, terlihat penurunan Total within-cluster sum of squares (WSS) yang sangat signifikan dari k = 2 ke k = 3, lalu semakin landai setelah k = 4. Setelah k = 4, penurunan menjadi sangat kecil. Jumlah cluster optimal adalah 3 atau 4, karena setelah itu penurunan WSS tidak signifikan lagi. Biasanya titik di mana “tekukan” terlihat jelas dianggap sebagai jumlah optimal cluster (the elbow).


3. Melakukan K-Means Clustering

Misalnya ditentukan 3 cluster.

set.seed(123)
kmeans_result <- kmeans(cluster_data_scaled, centers = 3)

# Tambahkan hasil cluster ke data asli
data_cluster$cluster <- kmeans_result$cluster

kmeans_result
## K-means clustering with 3 clusters of sizes 8, 2, 3
## 
## Cluster means:
##    avg_profit  avg_sales avg_inventory
## 1 -0.07965285 -0.0797384     0.2061108
## 2  1.73867984  1.8467048     0.1903276
## 3 -0.94671230 -1.0185008    -0.6765140
## 
## Clustering vector:
##          Amaretto       Caffe Latte       Caffe Mocha         Chamomile 
##                 3                 3                 1                 1 
##         Colombian        Darjeeling    Decaf Espresso Decaf Irish Cream 
##                 2                 1                 1                 1 
##         Earl Grey         Green Tea             Lemon              Mint 
##                 1                 3                 1                 1 
##  Regular Espresso 
##                 2 
## 
## Within cluster sum of squares by cluster:
## [1] 6.195116 1.314322 7.936146
##  (between_SS / total_SS =  57.1 %)
## 
## Available components:
## 
## [1] "cluster"      "centers"      "totss"        "withinss"     "tot.withinss"
## [6] "betweenss"    "size"         "iter"         "ifault"

Hasil analisis K-Means Clustering menunjukkan bahwa data telah berhasil dikelompokkan ke dalam tiga cluster berdasarkan kesamaan pola nilai rata-rata profit (laba), sales (penjualan), dan inventory (persediaan). Setiap cluster memiliki jumlah anggota yang berbeda, yaitu cluster pertama terdiri atas 8 produk, cluster kedua 2 produk, dan cluster ketiga 3 produk.

Masing-masing cluster memiliki karakteristik yang berbeda, ditunjukkan melalui nilai rata-rata dari tiga variabel utama tersebut. Cluster ke-2 memiliki nilai rata-rata profit dan sales yang paling tinggi, sehingga dapat disimpulkan bahwa produk-produk yang tergolong dalam cluster ini memiliki performa terbaik di pasar. Sebaliknya, cluster ke-3 menunjukkan nilai yang paling rendah untuk variabel yang sama, sehingga mengindikasikan bahwa produk-produk dalam cluster ini memiliki kinerja terendah atau perlu mendapatkan perhatian khusus dari sisi strategi pemasaran maupun operasional.

Tingkat keberhasilan proses clustering ini dapat dilihat dari nilai rasio Between Sum of Squares terhadap Total Sum of Squares yang mencapai 57,1%. Angka ini menunjukkan bahwa pemisahan antar cluster sudah cukup baik karena lebih dari setengah variasi data dapat dijelaskan oleh model clustering tersebut.


4. Analisis Setiap Cluster

Rata-rata Setiap Cluster

aggregate(cluster_data, by = list(Cluster = data_cluster$cluster), mean)
##   Cluster avg_profit avg_sales avg_inventory
## 1       1   58.79032  191.9448      796.5283
## 2       2  128.02500  300.5392      793.5944
## 3       3   25.77623  139.0264      632.4622
  • Cluster 1 memiliki karakteristik performa menengah, dengan rata-rata profit sebesar 58,79, rata-rata penjualan (sales) sebesar 191,94, dan rata-rata persediaan (inventory) sebesar 796,53 unit.

  • Cluster 2 memiliki karakteristik berperforma tinggi, ditunjukkan oleh nilai rata-rata profit tertinggi yaitu 128,03, rata-rata sales sebesar 300,54, dan inventory sebesar 793,59.

  • Cluster 3 memiliki performa paling rendah, dengan nilai rata-rata profit sebesar 25,78, sales sebesar 139,03, dan inventory sebesar 632,46.


5. Hasil Cluster

data_cluster %>%
  arrange(cluster)
## # A tibble: 13 × 5
##    Product           avg_profit avg_sales avg_inventory cluster
##    <chr>                  <dbl>     <dbl>         <dbl>   <int>
##  1 Caffe Mocha           36.8        177.          756.       1
##  2 Chamomile             70.9        197.          713.       1
##  3 Darjeeling            75.7        190.          738.       1
##  4 Decaf Espresso        72.3        192.          755.       1
##  5 Decaf Irish Cream     36.4        162.          839.       1
##  6 Earl Grey             83.9        232.          757.       1
##  7 Lemon                 62.2        200.          719.       1
##  8 Mint                  32.1        186.         1096.       1
##  9 Colombian            116.         267.          708.       2
## 10 Regular Espresso     140.         334.          880.       2
## 11 Amaretto              25.5        137.          741.       3
## 12 Caffe Latte           52.7        166.          256.       3
## 13 Green Tea             -0.802      114.          900.       3
ggplot(data_cluster, aes(x = avg_profit, y = avg_sales, color = factor(cluster))) +
  geom_point(size = 4) +
  geom_text(aes(label = `Product`), vjust = -1, size = 3) +
  labs(title = "Clustering Product berdasarkan Profit dan Sales",
       x = "Rata-rata Profit", y = "Rata-rata Sales", color = "Cluster") +
  theme_minimal() +
  theme(
    plot.title = element_text(hjust = 0.5, face = "bold", family = "sans")
  )

  • Produk dalam Cluster 1 antara lain Caffe Mocha, Chamomile, Darjeeling, Decaf Espresso, Decaf Irish Cream, Earl Grey, Lemon, dan Mint. Produk-produk ini memiliki kinerja rata-rata dan dapat dipertahankan sambil dievaluasi strategi pemasarannya.

  • Produk dalam Cluster 2 adalah Colombian dan Regular Espresso, yang merupakan produk-produk unggulan karena memiliki profit dan penjualan yang tinggi.

  • Produk dalam Cluster 3 mencakup Amaretto, Caffe Latte, dan Green Tea, yang memiliki performa lebih rendah dan mungkin memerlukan peninjauan strategi harga, promosi, atau bahkan penggantian produk.


Kesimpulan

TABEL RINGKASAN HASIL ANALISIS CLUSTER K-MEANS

Cluster Anggota Karakteristik Interpretasi
1 Caffe Mocha, Chamomile, Darjeeling, Decaf Espresso, Decaf Irish Cream, Earl Grey, Lemon, Mint Profit & sales sedang, inventory tinggi Produk menengah, perlu strategi peningkatan
2 Colombian, Regular Espresso Profit & sales tinggi, inventory stabil Produk unggulan, diprioritaskan
3 Amaretto, Caffe Latte, Green Tea Profit & sales rendah, inventory bervariasi Produk kurang baik, perlu evaluasi

Berdasarkan hasil analisis K-Means, dapat disimpulkan bahwa:

Cluster 1 - Produk Menengah: Cluster ini mencakup produk seperti Caffe Mocha, Chamomile, Darjeeling, Decaf Espresso, dan lainnya, dengan ciri profit dan penjualan sedang namun stok tinggi. Ini menunjukkan potensi pasar yang belum tergarap maksimal.

Strategi yang disarankan meliputi peningkatan promosi (diskon, penawaran khusus), edukasi konsumen mengenai manfaat atau keunikan produk, evaluasi harga, dan perluasan saluran distribusi. Tujuannya agar produk-produk ini dapat ditingkatkan kontribusinya dan berpotensi menjadi produk unggulan.

Cluster 2 - Produk Unggulan: Cluster ini terdiri dari produk Colombian dan Regular Espresso yang memiliki profit dan penjualan tinggi serta stok yang relatif stabil. Hal ini menunjukkan bahwa kedua produk ini merupakan produk unggulan yang sudah memiliki performa baik di pasar dan memberikan kontribusi signifikan terhadap keuntungan bisnis.

Strategi yang disarankan untuk cluster ini adalah memprioritaskan keberlanjutan ketersediaan stok agar tidak terjadi kekosongan pasokan, menjaga kualitas produk untuk mempertahankan loyalitas pelanggan, serta meningkatkan promosi guna memperluas jangkauan pasar. Selain itu, pengembangan varian atau inovasi produk berbasis preferensi konsumen juga bisa menjadi langkah untuk memperbesar pangsa pasar dan mempertahankan posisi produk sebagai pemimpin pasar.

Cluster 3 - Produk Kurang Baik: Cluster ini mencakup produk Amaretto, Caffe Latte, dan Green Tea yang menunjukkan kinerja kurang baik dengan profit dan penjualan yang rendah. Green Tea bahkan mencatatkan kerugian, sementara produk lainnya memiliki stok yang tidak seimbang dengan permintaan pasar. Hal ini mengindikasikan bahwa produk-produk ini kurang diminati oleh konsumen.

Strategi yang disarankan adalah melakukan evaluasi menyeluruh terhadap tiap produk dalam cluster ini, seperti melakukan survei kepuasan pelanggan, analisis tren pasar, dan uji coba penyesuaian harga atau kemasan. Bila hasil evaluasi menunjukkan prospek yang kecil untuk perbaikan, maka produk tersebut sebaiknya dipertimbangkan untuk dihentikan. Namun, jika masih ada potensi, strategi reposisi dapat diterapkan, misalnya melalui rebranding, peningkatan kualitas, atau pengenalan varian baru untuk meningkatkan daya tarik di pasar.


Referensi

 

A work by Bilqies Syafina

bilqiesyafina@gmail.com  |  rpubs.com/bilqiesyafina