Pendahuluan

Laporan ini disusun untuk memenuhi tugas mata kuliah Sistem Informasi Manajemen. Fokus utama dari laporan analisis ini adalah mengeksplorasi dataset Coffee Chain untuk mengetahui bagaimana performa penjualan dan keuntungan perusahaan.

 # Library yg diperlukan
library(DBI)
library(odbc)
library(ggplot2)
library(scales)
library(dplyr)
library(knitr)

Koneksi Data

Data yang diimpor ke R menggunakan koneksi SQL. Dengan menggunakan fungsi dbConnect()

con = dbConnect(odbc(),
                Driver = "MySQL ODBC 8.0 ANSI Driver",
                Server = "127.0.0.1",
                UID = "root",
                PWD = "glaryona8181",
                Port = 3306,
                database = "coffee chain"
                   )

Mengambil Data

Data yang akan digunakan yaitu data sales (penjualan), profit (keuntungan), margin, COGS (biaya produksi), dan marketing (biaya produksi) yang terdapat pada facttable.

data <- dbGetQuery(con, "SELECT Sales, Profit, Margin, COGS,Marketing FROM facttable")

Eksplorasi Data

Ringkasan Data

summary(data)
##      Sales         Profit           Margin             COGS       
##  Min.   : 17   Min.   :-638.0   Min.   :-302.00   Min.   :  0.00  
##  1st Qu.:100   1st Qu.:  17.0   1st Qu.:  52.75   1st Qu.: 43.00  
##  Median :138   Median :  40.0   Median :  76.00   Median : 60.00  
##  Mean   :193   Mean   :  61.1   Mean   : 104.29   Mean   : 84.43  
##  3rd Qu.:230   3rd Qu.:  92.0   3rd Qu.: 132.00   3rd Qu.:100.00  
##  Max.   :912   Max.   : 778.0   Max.   : 613.00   Max.   :364.00  
##    Marketing     
##  Min.   :  0.00  
##  1st Qu.: 13.00  
##  Median : 22.00  
##  Mean   : 31.19  
##  3rd Qu.: 39.00  
##  Max.   :156.00

Dari eksplorasi ini, diperoleh gambaran umum mengenai nilai minimum, maksimum, dan rata-rata dari setiap variabel keuangan perusahaan.

Struktur Data

str(data)
## 'data.frame':    4248 obs. of  5 variables:
##  $ Sales    : int  219 190 234 100 134 180 341 150 140 130 ...
##  $ Profit   : int  94 68 101 30 54 53 99 0 33 17 ...
##  $ Margin   : int  130 107 139 56 80 108 171 87 80 72 ...
##  $ COGS     : int  89 83 95 44 54 72 170 63 60 58 ...
##  $ Marketing: int  24 27 26 14 15 23 47 57 19 22 ...
head(data)
##   Sales Profit Margin COGS Marketing
## 1   219     94    130   89        24
## 2   190     68    107   83        27
## 3   234    101    139   95        26
## 4   100     30     56   44        14
## 5   134     54     80   54        15
## 6   180     53    108   72        23
colSums(is.na(data))
##     Sales    Profit    Margin      COGS Marketing 
##         0         0         0         0         0

Fungsi str() menunjukkan bahwa semua variabel bertipe numerik, sehingga siap diolah secara statistik. Pengecekan is.na menunjukkan jumlah data yang kosong (missing values) adalah nol, yang berarti kualitas data sangat baik untuk dianalisis.

Akumulasi Penjualan dan Keuntungan

cat("Total Penjualan Keseluruhan: ", sum(data$Sales), "\n")
## Total Penjualan Keseluruhan:  819811
cat("Total Keuntungan Keseluruhan: ", sum(data$Profit))
## Total Keuntungan Keseluruhan:  259543

Penjumlahn ini memberikan informas mengenai total perputaran uang dan sisa keuntungan bersih yang berhasil dikumpulkan secara akumulatif.

Margin dan Efisiensi Biaya (COGS)

rata_margin <- mean(data$Margin)
cat("Rata-rata Margin Keuntungan: ", round(rata_margin, 2))
## Rata-rata Margin Keuntungan:  104.29
rasio_cogs <- (sum(data$COGS) / sum(data$Sales)) * 100
cat("Rasio COGS terhadap Total Sales: ", round(rasio_cogs, 2), "%")
## Rasio COGS terhadap Total Sales:  43.75 %

Rasio COGS yang rendah menunjukkan efisiensi operasional yang baik. Semakin kecil biaya produksi dibandingkan penjualan, maka bisnis akan semakin sehat secara finansial.

Rata-rata dan Korelasi Antar Variabel

colMeans(data)
##     Sales    Profit    Margin      COGS Marketing 
## 192.98752  61.09769 104.29331  84.43315  31.18503
cor(data)
##               Sales    Profit    Margin      COGS Marketing
## Sales     1.0000000 0.7973309 0.9388095 0.8866512 0.7105149
## Profit    0.7973309 1.0000000 0.9206041 0.4648382 0.2254650
## Margin    0.9388095 0.9206041 1.0000000 0.6787967 0.5319466
## COGS      0.8866512 0.4648382 0.6787967 1.0000000 0.8182707
## Marketing 0.7105149 0.2254650 0.5319466 0.8182707 1.0000000

Nilai rata-rata variabel (colMeans) memberikan standar performa harian. Sementara itu, tabel korelasi (cor) menunjukkan hubungan antar variabel dari nilai korelasi positif yang tinggi antara Sales dan Profit membuktikan bahwa peningkatan penjualan berdampak langsung pada kenaikan laba.

Tabel Performa Transaksi

Bagian ini menampilkan 10 transaksi dengan tingkat keuntungan (profit) tertinggi.

top10_data <- data %>%
  arrange(desc(Profit)) %>%
  head(10)

kable(top10_data, 
      caption = "Tabel 1: Top 10 Transaksi Paling Menguntungkan",
      col.names = c("Sales", "Profit", "Margin", "COGS", "Marketing"),
      align = "c")
Tabel 1: Top 10 Transaksi Paling Menguntungkan
Sales Profit Margin COGS Marketing
659 778 613 52 17
658 777 612 52 17
643 755 595 54 17
614 690 516 60 19
815 646 526 239 66
546 599 487 64 21
553 589 451 68 22
543 579 443 67 22
553 572 422 72 23
719 565 464 211 59

Visualisasi Data

Hubungan Sales vs Profit

ggplot(data, aes(x = Sales, y = Profit, color = Margin)) +
  geom_point(alpha = 0.6) +
  geom_smooth(method = "lm", color = "red", linetype = "dashed") +
  scale_color_gradient(low = "orange", high = "darkblue") +
  labs(title = "Hubungan Sales vs Profit",
       subtitle = "Warna menunjukkan besar Margin",
       x = "Penjualan (Sales)",
       y = "Keuntungan (Profit)") +
  theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'

Berdasarkan grafik tersebut, garis merah menunjukkan tren positif. Artinya semakin tinggi penjualan, semakin tinggi pula profit yang diperoleh. Titik-titik biru gelap menunjukkan bahwa transaksi tersebut sangat efisien karena marginnya besar.

Distribusi Biaya Pemasaran

ggplot(data, aes(x = Marketing, fill = ..count..)) +
  geom_histogram(binwidth = 5, color = "white", alpha = 0.7) +
  scale_fill_gradient(low = "#d5a6bd", high = "#a64d79") +
  labs(title = "Distribusi Frekuensi Biaya Marketing",
       x = "Biaya Marketing",
       y = "Frekuensi (Jumlah Transaksi)",
       fill = "Jumlah") +
  theme_minimal()
## Warning: The dot-dot notation (`..count..`) was deprecated in ggplot2 3.4.0.
## ℹ Please use `after_stat(count)` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

Berdasarkan histogram ini, dapat dilihat bahwa sebagian besar biaya pemasaran (Marketing) Coffee Chain berada di kisaran 0-20. Ini menunjukkan bahwa perusahaan cenderung mengeluarkan biaya pemasaran yang lebih kecil.

Grafik Kerapatan Profit

ggplot(data, aes(x = Profit)) +
  geom_density(fill = "steelblue", alpha = 0.6) +
  geom_vline(xintercept = 0, color = "red", linetype = "dashed") +
  labs(title = "Grafik Kerapatan Profit",
       x = "Besar Keuntungan",
       y = "Kerapatan") +
  theme_light()

Berdasarkan hasil visualisasi tersebut, sebagian besak puncak grafik berada di sebelah kanan garis merah (titik nol), ini berarti mayoritas transaksi Coffee Chain menghasilkan keuntungan.

Kesimpulan

Berdasarkan seluruh analisis yang telah dilakukan, penjualan memiliki hubungan positif dengan keuntungan. Namun, tidak selalu menghasilkan profit yang tinggi pada setiap transaksi. Margin memainkan peran penting dalam menentukan efisiensi transaksi di mana margin yang tinggi menunjukkan keuntungan yang lebih optimal. Selain itu, rasio COGS terhadap penjualan menunjukkan bahwa efisiensi biaya produksi sangat mempengaruhi profit.