# Memuat paket yang diperlukan untuk koneksi database dan visualisasi

library(DBI)
library(ggplot2)
library(scales)
library(odbc)
# Koneksi Database
con = dbConnect(odbc(),
                 Driver = "MySQL ODBC 8.0 ANSI Driver",
                 Server = "127.0.0.1",
                 UID = "root",
                 PWD = "admin123",
                 Port = 3306,
                 database = "coffee_db")

Analisis Komparatif Profitabilitas Antar Negara di Wilayah Central

Analisis ini berfokus pada evaluasi performa keuntungan (profit) antar negara di wilayah Central. Data yang dianalisis merupakan hasil penggabungan (joining) antara tabel transaksi (facttable) dan tabel wilayah (location) dari Coffee Chain Datasets melalui variabel kunci Area Code. Pemilihan insight ini untuk memahami variabilitas keuntungan di berbagai lokasi geografis dalam satu wilayah pasar yang sama. Dengan menganalisis variabel kategori berupa negara terhadap variabel numerik keuntungan, analisis ini bertujuan untuk melihat apakah setiap negara bagian di wilayah tersebut memberikan kontribusi keuntungan yang sama atau justru ada perbedaan performa secara signifikan.

Visualisasi Data

dt = dbGetQuery(con, "SELECT l.State, 
    SUM(f.Profit) AS Total_Profit
FROM coffee_db.facttable f
JOIN coffee_db.location l ON f.`Area Code` = l.`Area Code`
WHERE l.Market = 'Central'
GROUP BY l.State
ORDER BY Total_Profit DESC")

ggplot(dt, aes(x = reorder(State, -Total_Profit), y = Total_Profit, fill = Total_Profit)) +
  geom_bar(stat = "identity", color = "white") +
  geom_text(aes(label = label_dollar()(Total_Profit)), vjust = -0.5, size = 3.5, fontface = "bold") +
  scale_fill_gradient(low = "#D2B48C", high = "#4B2C20") +
  scale_y_continuous(labels = label_dollar(), expand = expansion(c(0, 0.2))) +
  theme_minimal() +
  labs(title = "Total Keuntungan per Negara di Wilayah Central",
       subtitle = "Coffee Chain Datasets",
       x = "Negara",
       y = "Total Keuntungan (USD)") +
  theme(legend.position = "none",
        axis.text.x = element_text(angle = 0)) 

dt_avg = dbGetQuery(con, "SELECT l.State, 
    AVG(f.Profit) AS Avg_Profit
FROM coffee_db.facttable f
JOIN coffee_db.location l ON f.`Area Code` = l.`Area Code`
WHERE l.Market = 'Central'
GROUP BY l.State
ORDER BY Avg_Profit DESC")

ggplot(dt_avg, aes(x = reorder(State, -Avg_Profit), y = Avg_Profit, fill = Avg_Profit)) +
  geom_bar(stat = "identity", color = "white") +
  geom_text(aes(label = label_dollar()(Avg_Profit)), 
            vjust = -0.5, size = 3.5, fontface = "bold") +
scale_fill_gradient(low = "#D2B48C", high = "#4B2C20") +
  scale_y_continuous(labels = label_dollar(), 
                     expand = expansion(c(0, 0.2))) +
theme_minimal() +
  labs(title = "Rata-rata Keuntungan per Negara di Wilayah Central",
       x = "Negara", 
       y = "Rata-rata Keuntungan (USD)") +
  theme(legend.position = "none")

Interpretasi Hasil Visualisasi

Berdasarkan visualisasi diagram batang di atas, terdapat variasi keuntungan bersih (profit) yang cukup signifikan di antara enam negara bagian yang masuk dalam kategori wilayah Central. Data menunjukkan adanya kesenjangan performa finansial yang nyata antar lokasi geografis.

Performa Tertinggi: Illinois menjadi negara dengan kontribusi keuntungan terbesar di wilayah Central, dengan total keuntungan mencapai 30.821. Angka ini jauh melampaui negara bagian lainnya.

Performa Menengah: Iowa dan Colorado menempati posisi kedua dan ketiga dengan profit masing-masing sebesar 22.212 dan 17.743.

Performa Terendah: Missouri mencatatkan keuntungan paling kecil di wilayah ini, yaitu hanya sebesar 3.601, yang berarti hanya sekitar 11% dari total keuntungan yang dihasilkan oleh Illinois.

Gradasi warna dari cokelat tua ke muda menunjukkan tingkat urgensi serta dominasi tiap negara bagian. Dominasi Illinois yang sangat kuat mengindikasikan bahwa wilayah tersebut merupakan pusat operasional utama di wilayah Central, yang berbanding terbalik dengan rendahnya profit di Missouri dan Wisconsin. Secara statistik, sebaran data ini menunjukkan adanya variabilitas yang tinggi antar wilayah, di mana rentang keuntungan antara posisi tertinggi dan terendah mencapai 27.220. Hal ini mengindikasikan bahwa faktor lokasi memiliki pengaruh besar terhadap profitabilitas. Kondisi tersebut juga sejalan dengan hasil analisis nilai rata-rata, di mana total profit terbesar terbukti mencatatkan rata-rata keuntungan yang juga paling tinggi, sehingga menegaskan efisiensi operasional di wilayah tersebut.

Analisis Data

H0 : mu1 = mu2 = mu3 = mu4 = mu5 = mu6

H1 : mu1 =! mu2 =! mu3 =! mu4 =! mu5 =! mu6

# Menggunakan ANOVA
dt_anova = dbGetQuery(con, 
                      "SELECT l.State, f.Profit 
 FROM coffee_db.facttable f
 JOIN coffee_db.location l ON f.`Area Code` = l.`Area Code`
 WHERE l.Market = 'Central'")

hasil_anova = aov(Profit ~ State, data = dt_anova)

summary(hasil_anova)
##               Df  Sum Sq Mean Sq F value Pr(>F)    
## State          5 2268650  453730   120.6 <2e-16 ***
## Residuals   1338 5033351    3762                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(hasil_anova)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = Profit ~ State, data = dt_anova)
## 
## $State
##                           diff         lwr         upr     p adj
## Illinois-Colorado    75.481481   59.422310   91.540653 0.0000000
## Iowa-Colorado        35.625000   19.565828   51.684172 0.0000000
## Missouri-Colorado   -50.537037  -66.596209  -34.477865 0.0000000
## Ohio-Colorado       -17.333333  -33.392505   -1.274161 0.0256844
## Wisconsin-Colorado  -26.921296  -42.980468  -10.862124 0.0000281
## Iowa-Illinois       -39.856481  -56.699483  -23.013480 0.0000000
## Missouri-Illinois  -126.018519 -142.861520 -109.175517 0.0000000
## Ohio-Illinois       -92.814815 -109.657816  -75.971813 0.0000000
## Wisconsin-Illinois -102.402778 -119.245779  -85.559776 0.0000000
## Missouri-Iowa       -86.162037 -103.005039  -69.319035 0.0000000
## Ohio-Iowa           -52.958333  -69.801335  -36.115332 0.0000000
## Wisconsin-Iowa      -62.546296  -79.389298  -45.703295 0.0000000
## Ohio-Missouri        33.203704   16.360702   50.046705 0.0000003
## Wisconsin-Missouri   23.615741    6.772739   40.458742 0.0009375
## Wisconsin-Ohio       -9.587963  -26.430965    7.255039 0.5823242

Interpretasi Hasil Analisis

Analisis ini bertujuan untuk melihat pasangan negara mana saja yang memiliki perbedaan rata-rata keuntungan secara signifikan. Acuan utamanya adalah selisih rata-rata (diff) dan selang kepercayaan 95%. Jika selang tersebut tidak melewati angka nol, maka perbedaan tersebut dinyatakan signifikan secara statistik.

1. Kelompok Perbandingan Terhadap Colorado

  • Illinois - Colorado (diff = 75.48): - Rata-rata profit Illinois secara signifikan lebih tinggi sebesar 75.48 dibandingkan Colorado. Dengan rentang kepercayaan antara 59.42 hingga 91.54, kita yakin 95% bahwa Illinois memang memiliki performa yang jauh lebih unggul daripada Colorado di wilayah Central.
  • Iowa - Colorado (diff = 35.62$): Iowa mencatatkan keuntungan rata-rata yang lebih tinggi sebesar 35.62 dibandingkan Colorado. Karena batas bawah (19.56) dan batas atas (51.68) keduanya positif, maka perbedaan ini signifikan.
  • Missouri - Colorado (diff = -50.53): Terdapat perbedaan negatif yang signifikan, di mana rata-rata profit Missouri lebih rendah 50.53 dibandingkan Colorado. Hal ini menunjukkan Missouri tertinggal cukup jauh dari performa rata-rata Colorado.
  • Ohio - Colorado (diff = -17.33): Ohio memiliki profit rata-rata yang lebih rendah sebesar 17.33 dibandingkan Colorado. Meskipun selisihnya tidak terlalu besar, namun karena rentangnya (-33.39 sampai -1.27) tidak menyentuh nol, perbedaan ini tetap dianggap signifikan secara statistik.
  • Wisconsin - Colorado (diff = -26.92): Secara signifikan, rata-rata keuntungan di Wisconsin lebih rendah 26.92 dibandingkan Colorado, dengan tingkat keyakinan berada di rentang -42.98 hingga -10.86.

2. Kelompok Perbandingan Terhadap Illinois

  • Missouri - Illinois (diff = -126.01): Ini adalah kesenjangan terbesar dalam data ini. Missouri memiliki rata-rata profit yang lebih rendah sebesar 126.01 dibandingkan Illinois. Rentang kepercayaannya sangat jauh di area negatif (-142.86 hingga -109.17), membuktikan dominasi Illinois yang absolut atas Missouri.
  • Ohio - Illinois (diff = -92.81): Ohio tertinggal secara signifikan sebesar $92.81 dibandingkan Illinois. Hal ini memperkuat posisi Illinois sebagai pusat profitabilitas utama di wilayah Central.
  • Wisconsin - Illinois (diff = -102.40): Terdapat perbedaan rata-rata sebesar $102.40 yang lebih rendah bagi Wisconsin dibandingkan Illinois. Hasil ini sangat signifikan secara statistik karena seluruh rentang kepercayaannya berada jauh di bawah nol.

3. Kelompok Perbandingan Terhadap Iowa

  • Missouri - Iowa (diff = -86.16): Rata-rata keuntungan di Missouri secara signifikan lebih rendah 86.16 dibandingkan Iowa. Ini menunjukkan bahwa Iowa jauh lebih efisien dalam menghasilkan profit daripada Missouri.
  • Ohio - Iowa (diff = -52.95): Ohio memiliki rata-rata profit yang lebih rendah sebesar 52.95 dibandingkan Iowa. Perbedaan ini signifikan secara statistik dengan rentang kepercayaan -69.80 hingga -36.11.
  • Wisconsin - Iowa (diff = -62.54): Wisconsin mencatatkan profit rata-rata yang lebih rendah sebesar $62.54 dibandingkan Iowa. Hasil ini signifikan, memperjelas bahwa Iowa berada di kelas performa yang lebih tinggi dibanding Wisconsin.

4. Kelompok Perbandingan Terhadap Missouri

  • Ohio - Missouri (diff = 33.20): Ohio secara signifikan lebih unggul dibandingkan Missouri dengan selisih rata-rata profit sebesar 33.20. Batas bawah kepercayaan dimulai dari 16.36, yang memastikan Ohio memiliki performa lebih baik.
  • Wisconsin - Missouri (diff = 23.61): Rata-rata profit Wisconsin lebih tinggi sebesar $23.61 dibandingkan Missouri. Perbedaan ini signifikan secara statistik, menunjukkan bahwa meskipun Wisconsin rendah, Missouri tetap merupakan titik profitabilitas terendah.

5.Wisconsin - Ohio (diff = -9.58)

Ini adalah satu-satunya pasangan yang TIDAK SIGNIFIKAN. Meskipun rata-rata Wisconsin terlihat lebih rendah 9.58, namun selang kepercayaannya berkisar antara -26.43 hingga +7.25. Karena rentang ini melewati angka nol, maka secara statistika kita tidak memiliki bukti yang cukup untuk menyatakan adanya perbedaan nyata antara performa Wisconsin dan Ohio. Keduanya dianggap memiliki tingkat profitabilitas yang setara.

Tren Penjualan Bulanan Coffee Chain Tahun 2012

Analisis ini bertujuan untuk mengevaluasi fluktuasi volume penjualan (Sales) selama tahun 2012. Data diperoleh melalui ekstraksi kolom Date yang dikonversi menjadi nama bulan dan kolom Sales yang diakumulasikan menggunakan fungsi agregasi SUM dari tabel transaksi (facttable). Melalui pemilihan insight ini, analisis difokuskan untuk mengidentifikasi pola dan stabilitas permintaan dari waktu ke waktu.

Visualisasi Data

dt1 = dbGetQuery(con, "SELECT 
MONTHNAME(`Date`) AS Bulan, 
SUM(`Sales`) AS TotalSales
FROM `coffee_db`.`facttable` 
WHERE `Date` LIKE '2012%'
GROUP BY 1, MONTH(`Date`)
ORDER BY MONTH(`Date`)")

ggplot(dt1, aes(x = factor(Bulan, levels = month.name), y = TotalSales, group = 1)) +
  geom_line(color = "#4B2C20", linewidth = 1.2) + # Pakai linewidth agar tidak warning
  geom_point(color = "#D2B48C", size = 3) +
  scale_y_continuous(labels = label_dollar(), expand = expansion(c(0.1, 0.2))) +
  theme_minimal() +
  labs(title = "Tren Penjualan Bulanan Coffee Chain (Tahun 2012)",
       subtitle = "Analisis Fluktuasi Penjualan Berdasarkan Data Fact Table",
       x = "Bulan", 
       y = "Total Penjualan (USD)") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

Interpretasi Hasil Visualisasi

Visualisasi line plot menunjukkan adanya fluktuasi penjualan yang dinamis sepanjang tahun 2012. Secara umum, data membentuk pola siklus musiman, di mana terjadi pertumbuhan progresif pada paruh pertama tahun, diikuti oleh fase koreksi atau penurunan di paruh kedua, sebelum akhirnya menunjukkan tanda-tanda pemulihan di penghujung tahun. Masa keemasan atau Peak Season yang dimulai secara konsisten dari bulan Januari dan memuncak pada bulan Juli. Pada titik ini, total penjualan menyentuh angka tertinggi di atas 35.000. Kenaikan selama tujuh bulan berturut-turut ini mengindikasikan strategi pemasaran atau faktor eksternal (seperti musim panas/liburan tengah tahun) berhasil mendorong volume transaksi secara optimal. Setelah mencapai titik puncak, grafik menunjukkan penurunan (downtrend) yang cukup tajam selama periode Agustus hingga November. Titik terendah atau Low Season tercatat pada bulan November dengan total penjualan berada di kisaran 32.000. Kesenjangan antara bulan tertinggi (Juli) dan terendah (November) mencapai sekitar 3.000. Memasuki bulan Desember, tren penjualan kembali menunjukkan pergerakan positif (naik). Berdasarkan fluktuasi tersebut, dapat disimpulkan bahwa performa penjualan Coffee Chain sangat dipengaruhi oleh siklus waktu. Penurunan drastis di kuartal keempat (Agustus-November) menjadi temuan krusial.

Analisis Data

H0 : mu1 = mu2

H1 : mu1 =! mu2

dt_jan_feb = dbGetQuery(con, "SELECT MONTHNAME(`Date`) AS Bulan, Sales 
FROM coffee_db.facttable 
WHERE YEAR(`Date`) = 2012 AND MONTH(`Date`) IN (1, 2)")

t_test_hasil <- t.test(Sales ~ Bulan, data = dt_jan_feb)
print(t_test_hasil)
## 
##  Welch Two Sample t-test
## 
## data:  Sales by Bulan
## t = 0.22239, df = 351.97, p-value = 0.8241
## alternative hypothesis: true difference in means between group February and group January is not equal to 0
## 95 percent confidence interval:
##  -23.79724  29.86504
## sample estimates:
## mean in group February  mean in group January 
##               181.3107               178.2768

Interpretasi Hasil Analisis

Berdasarkan hasil uji statistik menggunakan Independent Samples T-Test (Welch Two Sample t-test) untuk membandingkan rata-rata penjualan antara bulan Januari dan Februari tahun 2012. Nilai p-value yang diperoleh adalah 0.8241. Menggunakan taraf nyata (alpha) sebesar 5% (0.05), maka nilai p-value > 0.05. Secara statistika, hal ini berarti gagal menolak Ho. Selang kepercayaan 95% berada pada rentang -23.79 hingga 29.86. Karena rentang ini melewati angka nol, hal ini memperkuat kesimpulan bahwa tidak ada perbedaan rata-rata yang signifikan antara kedua bulan tersebut. Meskipun secara nominal rata-rata di bulan Februari (181.31) terlihat sedikit lebih tinggi dibandingkan Januari (178.27), namun perbedaan sebesar 3.04 tersebut dianggap tidak nyata dan hanya merupakan fluktuasi acak dalam data transaksi. Hal ini mengindikasikan bahwa pada dua bulan pertama tahun 2012, performa penjualan cenderung stabil dan konsisten.