Pendahuluan

Dalam era perkembangan bisnis yang semakin kompetitif, pemanfaatan data menjadi hal yang sangat penting dalam mendukung pengambilan keputusan. Analisis data dapat membantu perusahaan untuk memahami pola penjualan, keuntungan, serta faktor-faktor yang memengaruhi kinerja bisnis.

Pada analisis ini digunakan Coffee Chain Dataset yang memuat informasi mengenai penjualan (Sales), keuntungan (Profit), jenis produk, serta lokasi penjualan.

Tujuan Analisis

Analisis ini bertujuan untuk:

  1. Mengetahui distribusi data profit dan sales
  2. Mengidentifikasi produk dengan profit tertinggi
  3. Menganalisis perbedaan profit berdasarkan lokasi
  4. Menganalisis perbedaan rata-rata profit antar jenis produk.

Koneksi Database dan Pengambilan Data

Sebelum dilakukan proses analisis dan visualisasi data, langkah awal yang perlu dilakukan adalah menghubungkan R dengan database serta mengambil data yang akan digunakan. Tahap ini penting untuk memastikan bahwa data yang digunakan dalam analisis telah sesuai dan siap diolah.

Proses ini meliputi pembuatan koneksi ke database serta pengambilan data menggunakan query SQL yang relevan.

Pada tahap ini, digunakan library DBI odbcdan ggplot2 untuk menghubungkan R dengan database MySQL. Koneksi ini diperlukan agar data dapat diakses dan dianalisis secara langsung dari database.

library(DBI)
library(odbc)
library(ggplot2)

Fungsi dbConnect() digunakan untuk membangun koneksi dengan database menggunakan parameter seperti driver, server, database, serta username dan password.

con <- dbConnect(odbc(),
                   Driver = "MySQL ODBC 8.0 ANSI Driver",
                   Server = "127.0.0.1",
                   Database = "coffe",
                   UID = "root",
                   PWD = "nisa864307",
                   Port = 3306) 

Setelah koneksi berhasil dilakukan, data diambil dari database menggunakan fungsi dbGetQuery(). Query SQL digunakan untuk menggabungkan beberapa tabel, yaitu facttable, product, dan location, sehingga diperoleh data yang lebih lengkap untuk dianalisis.

Proses penggabungan dilakukan menggunakan JOIN berdasarkan atribut yang saling berelasi, yaitu ProductId dan Area Code.

data <- dbGetQuery(con, "SELECT f.Sales, 
    f.Profit, 
    f.Marketing,
    p.`Product Type`,
    l.State
FROM facttable f
JOIN product p ON f.ProductId = p.ProductId
JOIN location l ON f.`Area Code` = l.`Area Code`")

head(data)
##   Sales Profit Marketing Product Type    State
## 1   219     94        24       Coffee Colorado
## 2   190     68        27       Coffee Colorado
## 3   234    101        26       Coffee Colorado
## 4   100     30        14          Tea Colorado
## 5   134     54        15     Espresso Colorado
## 6   180     53        23     Espresso Colorado

Analisis dan Visualisasi Data

1. Distribusi Profit

Pada visualisasi ini, digunakan library ggplot2 untuk membuat grafik histogram. Fungsi geom_histogram() digunakan untuk melihat distribusi frekuensi dari variabel profit. Visualisasi ini bertujuan untuk mengetahui pola sebaran data serta mengidentifikasi adanya nilai ekstrem (outlier).

ggplot(data, aes(x = Profit, fill = after_stat(count))) +
  geom_histogram(bins = 30, color = "black",alpha = 0.8) +
  scale_fill_gradient(low = "#F6F4E8", high = "#8CC7C4") +
  labs(title = "Distribusi Profit",
    x = "Profit",
    y = "Frekuensi") +
  theme_minimal()

Distribusi profit menunjukkan bahwa sebagian besar data terkonsentrasi pada rentang tertentu. Hal ini menandakan bahwa mayoritas transaksi menghasilkan keuntungan yang relatif stabil. Namun, terdapat beberapa nilai ekstrem (outlier) yang menunjukkan adanya transaksi dengan profit yang sangat tinggi.

2. Distribusi Sales

Visualisasi ini menggunakan ggplot2 dengan fungsi geom_histogram() untuk melihat distribusi frekuensi dari variabel sales. Tujuan dari visualisasi ini adalah untuk memahami bagaimana pola penyebaran nilai penjualan serta melihat tingkat variasi data.

ggplot(data, aes(x = Sales, fill = after_stat(count))) +
  geom_histogram(bins = 30,color = "black",alpha = 0.8) +
  scale_fill_gradient(low = "#F6F4E8", high = "#8CC7C4") +
  labs(
    title = "Distribusi Sales",
    x = "Sales",
    y = "Frekuensi") +
  theme_minimal()

Distribusi sales menunjukkan pola yang relatif terkonsentrasi pada rentang tertentu. Hal ini menandakan bahwa aktivitas penjualan cenderung stabil, meskipun terdapat beberapa nilai yang cukup tinggi.

3. Distribusi Profit berdasarkan Product Type (Top 3)

Pada visualisasi ini, digunakan ggplot2 dengan fungsi geom_histogram() untuk melihat distribusi profit berdasarkan jenis produk. Data difokuskan pada tiga produk dengan rata-rata profit tertinggi agar visualisasi lebih jelas dan tidak terlalu padat.

top_product <- dbGetQuery(con, "SELECT 
    p.`Product Type`, 
    AVG(f.Profit) AS avg_profit
FROM facttable f
JOIN product p ON f.ProductId = p.ProductId
GROUP BY p.`Product Type`
ORDER BY avg_profit DESC
LIMIT 3")
head(top_product)
##   Product Type avg_profit
## 1       Coffee    70.7225
## 2   Herbal Tea    59.8996
## 3     Espresso    58.3503
data_top <- data[data$`Product Type` %in% top_product$`Product Type`, ]
ggplot(data_top, aes(x = Profit, fill = `Product Type`)) +
  geom_histogram(bins = 30,alpha = 0.6,position = "dodge") +
  scale_fill_manual(values = c("#8CC7C4","#FFC570","#FEFD99" )) +
  labs(
    title = "Distribusi Profit berdasarkan Product Type",
    x = "Profit",
    y = "Frekuensi") +
  theme_minimal()

Distribusi profit difokuskan pada tiga produk dengan rata-rata profit tertinggi agar visualisasi lebih jelas. Terlihat adanya perbedaan pola distribusi antar produk.

4. Analisis Profit berdasarkan Wilayah

Visualisasi ini menggunakan ggplot2 dengan fungsi geom_col() untuk membandingkan rata-rata profit antar wilayah. Tujuan dari visualisasi ini adalah untuk melihat perbedaan performa bisnis berdasarkan lokasi.

location_analysis <- dbGetQuery(con, "SELECT 
      l.State,
      AVG(f.Profit) AS avg_profit
FROM facttable f
JOIN location l ON f.`Area Code` = l.`Area Code`
GROUP BY l.State")
ggplot(location_analysis, aes(x = State, y = avg_profit)) +
  geom_col(fill = "#8CC7C4") +
  labs(
    title = "Rata-rata Profit berdasarkan Wilayah",
    x = "Wilayah",
    y = "Average Profit"
  ) +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

Perbedaan profit antar state menunjukkan bahwa lokasi berpengaruh terhadap performa bisnis.

Analisis Statistik

Untuk memperkuat hasil analisis, dilakukan uji statistik menggunakan uji t dua sampel independen untuk mengetahui apakah terdapat perbedaan rata-rata profit antar jenis produk.

Perbandingan Profit antara coffee dan Espresso

Hipotesis

H0 : Tidak ada perbedaan rata-rata profit antara Coffee dan Espresso

H1 : Terdapat perbedaan rata-rata profit antara Coffee dan Espresso

#Uji t test
coffee_profit <- data$Profit[data$`Product Type` == "Coffee"]
espresso_profit <- data$Profit[data$`Product Type` == "Espresso"]

t.test(coffee_profit, espresso_profit)
## 
##  Welch Two Sample t-test
## 
## data:  coffee_profit and espresso_profit
## t = 2.7359, df = 1971.4, p-value = 0.006277
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##   3.503388 21.241008
## sample estimates:
## mean of x mean of y 
##  70.72254  58.35034

Berdasarkan hasil uji t, diperoleh nilai p-value < 0.05, sehingga H0 ditolak. Hal ini menunjukkan bahwa terdapat perbedaan rata-rata profit yang signifikan antara produk Coffee dan Espresso.

Kesimpulan

Berdasarkan analisis, distribusi profit dan sales cenderung stabil dengan beberapa nilai ekstrem. Terdapat hubungan positif antara sales dan profit, serta perbedaan performa berdasarkan produk dan lokasi. Hal ini menunjukkan bahwa faktor produk dan wilayah memiliki peran penting dalam menentukan keuntungan perusahaan.

Penutup

Berdasarkan analisis yang telah dilakukan, data yang digunakan mampu memberikan gambaran yang cukup jelas mengenai kondisi bisnis Coffee Chain. Analisis ini menunjukkan bahwa pemanfaatan data sangat penting dalam memahami pola bisnis serta mendukung pengambilan keputusan yang lebih tepat.

Diharapkan hasil analisis ini dapat menjadi referensi dalam pengembangan strategi bisnis yang lebih optimal di masa mendatang