Pendahuluan

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

Eksplorasi Data

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)

Preprocessing Data

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

Analisis K-Means Clustering

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

Visualisasi Segmentasi Finansial

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"))

Hasil dan Pembahasan

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.

Penutup

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.