Latar Belakang Dalam industri retail kopi, pemahaman terhadap karakteristik pasar di setiap wilayah negara bagian (State) sangat krusial. Perusahaan perlu mengidentifikasi pola pasar yang serupa untuk menentukan kebijakan strategi pemasaran dan alokasi sumber daya secara tepat sasaran. Pendekatan analisis segmentasi terbukti efektif untuk mengelompokkan unit bisnis berdasarkan performa finansialnya.
Deskripsi Insight Insight yang diambil dalam analisis ini adalah Segmentasi Performa Finansial Negara Bagian (State) Menggunakan K-Means Clustering. Analisis ini berfokus pada pengelompokan wilayah berdasarkan variabel Sales, Profit, Marketing, dan COGS. Tujuannya adalah untuk mengidentifikasi kelompok wilayah dengan profil performa tertentu guna mendukung pengambilan keputusan berbasis data (data-driven decision making).
con2 = DBI::dbConnect(odbc::odbc(),
Driver = "MySQL ODBC 8.0 ANSI Driver",
Server = "127.0.0.1",
UID = "root",
PWD = "Pemalang07_",
Port = 3306,
Database = "coffe_database")
query <- "
SELECT
l.State,
SUM(f.Sales) AS Total_Sales,
SUM(f.Profit) AS Total_Profit,
SUM(f.Marketing) AS Total_Marketing,
SUM(f.COGS) AS Total_COGS
FROM facttable AS f
JOIN location AS l
ON f.`Area Code` = l.`Area Code`
GROUP BY l.State
"
coffee_state <- dbGetQuery(con2, query)
coffee_state
## State Total_Sales Total_Profit Total_Marketing Total_COGS
## 1 Colorado 48179 17743 6810 20402
## 2 Illinois 69883 30821 8962 29482
## 3 Iowa 54750 22212 7594 23518
## 4 Missouri 24647 3601 4328 11434
## 5 Ohio 34517 10773 5166 14632
## 6 Wisconsin 33069 8702 6552 13640
## 7 Connecticut 25429 7621 4180 10470
## 8 Florida 37443 12310 6284 15496
## 9 Massachusetts 29965 16442 3428 9066
## 10 New Hampshire 14887 2748 2506 5658
## 11 New York 70852 20096 13044 35164
## 12 Louisiana 23161 7355 3790 9398
## 13 New Mexico 15892 799 3042 7594
## 14 Oklahoma 27463 8558 4984 11234
## 15 Texas 37410 15766 4746 15674
## 16 Utah 35384 7751 5670 15766
## 17 California 96892 31785 16062 45482
## 18 Nevada 60159 10616 12056 31454
## 19 Oregon 40899 12439 6026 17294
## 20 Washington 38930 11405 7244 15814
head(coffee_state)
## State Total_Sales Total_Profit Total_Marketing Total_COGS
## 1 Colorado 48179 17743 6810 20402
## 2 Illinois 69883 30821 8962 29482
## 3 Iowa 54750 22212 7594 23518
## 4 Missouri 24647 3601 4328 11434
## 5 Ohio 34517 10773 5166 14632
## 6 Wisconsin 33069 8702 6552 13640
summary(coffee_state %>% select(-State))
## Total_Sales Total_Profit Total_Marketing Total_COGS
## Min. :14887 Min. : 799 Min. : 2506 Min. : 5658
## 1st Qu.:26955 1st Qu.: 7718 1st Qu.: 4291 1st Qu.:11043
## Median :36397 Median :11089 Median : 5848 Median :15585
## Mean :40991 Mean :12977 Mean : 6624 Mean :17934
## 3rd Qu.:49822 3rd Qu.:16767 3rd Qu.: 7332 3rd Qu.:21181
## Max. :96892 Max. :31785 Max. :16062 Max. :45482
str(coffee_state)
## 'data.frame': 20 obs. of 5 variables:
## $ State : chr "Colorado" "Illinois" "Iowa" "Missouri" ...
## $ Total_Sales : num 48179 69883 54750 24647 34517 ...
## $ Total_Profit : num 17743 30821 22212 3601 10773 ...
## $ Total_Marketing: num 6810 8962 7594 4328 5166 ...
## $ Total_COGS : num 20402 29482 23518 11434 14632 ...
Eksplorasi data awal dilakukan untuk melihat sebaran variabel finansial di setiap negara bagian. Terlihat adanya variasi nilai yang signifikan antara wilayah satu dengan lainnya, yang menunjukkan perlunya pengelompokan (segmentasi)
df_cluster <- coffee_state %>% select(-State)
rownames(df_cluster) <- coffee_state$State
df_scaled <- scale(df_cluster)
df_scaled
## Total_Sales Total_Profit Total_Marketing Total_COGS
## Colorado 0.348827472 0.56951993 0.05290170 0.2399218
## Illinois 1.402038032 2.13234328 0.66398308 1.1224734
## Iowa 0.667692501 1.10356623 0.27552614 0.5427886
## Missouri -0.793088806 -1.12045161 -0.65188639 -0.6317436
## Ohio -0.314136160 -0.26339632 -0.41392812 -0.3209066
## Wisconsin -0.384401959 -0.51088119 -0.02035991 -0.4173264
## Connecticut -0.755141393 -0.64006089 -0.69391243 -0.7254418
## Florida -0.172148780 -0.07972454 -0.09646113 -0.2369282
## Massachusetts -0.535026985 0.41405020 -0.90745016 -0.8619068
## New Hampshire -1.266703580 -1.22238526 -1.16926105 -1.1931553
## New York 1.449059826 0.85070385 1.82310677 1.6747485
## Louisiana -0.865198596 -0.67184793 -0.80465674 -0.8296373
## New Mexico -1.217934846 -1.45529111 -1.01705863 -1.0049813
## Oklahoma -0.656439297 -0.52808922 -0.46560880 -0.6511831
## Texas -0.173750141 0.33326808 -0.53319122 -0.2196270
## Utah -0.272064028 -0.62452586 -0.27081241 -0.2106849
## California 2.712679573 2.24754145 2.68009728 2.6776303
## Nevada 0.930170197 -0.28215785 1.54255454 1.3141465
## Oregon -0.004442565 -0.06430902 -0.16972274 -0.0621674
## Washington -0.099990463 -0.18787221 0.17614023 -0.2060194
## attr(,"scaled:center")
## Total_Sales Total_Profit Total_Marketing Total_COGS
## 40990.55 12977.15 6623.70 17933.60
## attr(,"scaled:scale")
## Total_Sales Total_Profit Total_Marketing Total_COGS
## 20607.465 8368.188 3521.626 10288.351
set.seed(123)
kmeans_res <- kmeans(df_scaled, centers = 3, nstart = 25)
coffee_state$Cluster <- as.factor(kmeans_res$cluster)
coffee_state
## State Total_Sales Total_Profit Total_Marketing Total_COGS Cluster
## 1 Colorado 48179 17743 6810 20402 1
## 2 Illinois 69883 30821 8962 29482 2
## 3 Iowa 54750 22212 7594 23518 1
## 4 Missouri 24647 3601 4328 11434 3
## 5 Ohio 34517 10773 5166 14632 1
## 6 Wisconsin 33069 8702 6552 13640 1
## 7 Connecticut 25429 7621 4180 10470 3
## 8 Florida 37443 12310 6284 15496 1
## 9 Massachusetts 29965 16442 3428 9066 1
## 10 New Hampshire 14887 2748 2506 5658 3
## 11 New York 70852 20096 13044 35164 2
## 12 Louisiana 23161 7355 3790 9398 3
## 13 New Mexico 15892 799 3042 7594 3
## 14 Oklahoma 27463 8558 4984 11234 3
## 15 Texas 37410 15766 4746 15674 1
## 16 Utah 35384 7751 5670 15766 1
## 17 California 96892 31785 16062 45482 2
## 18 Nevada 60159 10616 12056 31454 2
## 19 Oregon 40899 12439 6026 17294 1
## 20 Washington 38930 11405 7244 15814 1
fviz_cluster(kmeans_res, data = df_scaled,
geom = c("point", "text"),
ellipse.type = "convex",
repel = TRUE,
palette = "jco",
ggtheme = theme_minimal(),
main = "Peta Segmentasi Negara Bagian Berdasarkan Kinerja Finansial") +
theme(plot.title = element_text(hjust = 0.5, face = "bold"))
Berdasarkan visualisasi grafik di atas, negara bagian terbagi menjadi tiga segmen utama: 1. Cluster 1 (Performa Tinggi): Wilayah yang mencatatkan angka penjualan dan profit yang sangat dominan. 2. Cluster 2 (Performa Menengah): Wilayah dengan kinerja stabil yang memiliki keseimbangan antara pendapatan dan biaya. 3. Cluster 3 (Performa Rendah): Wilayah yang memiliki profitabilitas rendah, kemungkinan disebabkan oleh beban biaya operasional (COGS) yang tinggi.
Kesimpulan Analisis segmentasi menggunakan algoritma K-Means Clustering pada Coffee Chain Dataset memberikan gambaran objektif mengenai profil ekonomi setiap wilayah. Jadi dapat disimpulkan bahwa pendekatan segmentasi ini efektif untuk mengelompokkan unit bisnis ke dalam kelompok yang homogen. Rekomendasi strategis yang dapat diberikan adalah mempertahankan investasi pada wilayah berkinerja tinggi serta melakukan audit efisiensi biaya pada wilayah di kelompok performa rendah guna meminimalkan risiko kerugian operasional.