Deskripsi Data

Data yang digunakan berasal dari database Coffee Chain yang terdiri dari tabel facttable, product, dan location. Tabel facttable memuat data kinerja bisnis seperti profit, sales, marketing, dan budget profit, sedangkan tabel lainnya berisi informasi pendukung terkait produk dan wilayah (market).

Variabel yang digunakan dalam analisis ini meliputi Profit, Marketing, Sales, Market, dan Budget Profit. Analisis dilakukan untuk menguji perbedaan rata-rata profit antar wilayah (ANOVA), melihat hubungan antara profit, marketing, dan sales (korelasi), serta mengevaluasi apakah profit telah mencapai target yang ditetapkan.

Melalui analisis ini, diharapkan dapat diperoleh gambaran mengenai perbedaan kinerja antar wilayah, hubungan antara aktivitas pemasaran dan penjualan terhadap profit, serta tingkat pencapaian target perusahaan.

1. Koneksi dan Pengambilan Data

library(DBI)
library(odbc)
con <- DBI::dbConnect(odbc::odbc(),
                      Driver = "MySQL ODBC 8.0 ANSI Driver",
                      Server = "127.0.0.1",
                      Database = "coffeee",
                      UID = Sys.getenv("DB_USER"),
                      PWD = Sys.getenv("DB_PASS"),
                      Port = 3306)

2. Eksplorasi Struktur Data

dbListTables(con)
## [1] "facttable" "location"  "product"
dbListFields(con, "facttable")
##  [1] "Profit"         "Margin"         "Sales"          "COGS"          
##  [5] "Total Expenses" "Marketing"      "Inventory"      "Budget Profit" 
##  [9] "Budget COGS"    "Budget Margin"  "Budget Sales"   "Area Code"     
## [13] "ProductId"      "Date"
dbListFields(con, "product")
## [1] "Product Line" "Product Type" "Product"      "ProductId"    "Type"
dbListFields(con, "location")
## [1] "Area Code"   "State"       "Market"      "Market Size"

3. Data Preparation

data_full <- dbGetQuery(con, "
SELECT f.Profit, f.Marketing, f.Sales,
       l.Market
FROM facttable f
JOIN product p ON f.ProductId = p.ProductId
JOIN location l ON f.`Area Code` = l.`Area Code`
")
str(data_full)
## 'data.frame':    4248 obs. of  4 variables:
##  $ Profit   : int  94 68 101 30 54 53 99 0 33 17 ...
##  $ Marketing: int  24 27 26 14 15 23 47 57 19 22 ...
##  $ Sales    : int  219 190 234 100 134 180 341 150 140 130 ...
##  $ Market   : chr  "Central" "Central" "Central" "Central" ...
summary(data_full)
##      Profit         Marketing          Sales        Market         
##  Min.   :-638.0   Min.   :  0.00   Min.   : 17   Length:4248       
##  1st Qu.:  17.0   1st Qu.: 13.00   1st Qu.:100   Class :character  
##  Median :  40.0   Median : 22.00   Median :138   Mode  :character  
##  Mean   :  61.1   Mean   : 31.19   Mean   :193                     
##  3rd Qu.:  92.0   3rd Qu.: 39.00   3rd Qu.:230                     
##  Max.   : 778.0   Max.   :156.00   Max.   :912

Interpretasi: Data menunjukkan adanya variasi yang cukup besar pada Profit, Marketing, dan Sales, serta terdapat nilai profit negatif yang mengindikasikan kerugian pada beberapa observasi. Hal ini menarik untuk dianalisis lebih lanjut, terutama terkait hubungan antara marketing, sales, dan profit pada berbagai market.

4. Exploratory Data Analysis (EDA - Visualisasi)

Visualisasi hubungan Marketing vs Profit

library(ggplot2)
library(dplyr)
ggplot(data_full, aes(x = Marketing, y = Profit)) +
  geom_point() +
  theme_minimal() +
  ggtitle("Hubungan Marketing terhadap Profit")

Interpretasi:

  • Tidak terlihat hubungan positif yang kuat

  • Pada beberapa titik, semakin tinggi marketing, profit justru menurun

  • Sebaran data cukup acak dan banyak variasi

Kesimpulan: Biaya marketing tidak selalu efektif meningkatkan profit, bahkan berpotensi tidak efisien.

Visualisasi hubungan Sales vs Profit

ggplot(data_full, aes(x = Sales, y = Profit)) +
  geom_point() +
  theme_minimal() +
  ggtitle("Hubungan Sales terhadap Profit")

Interpretasi:

  • Terlihat pola hubungan positif yang jelas

  • Semakin tinggi sales, profit cenderung meningkat

  • Pola lebih konsisten dibanding marketing

Kesimpulan: Sales memiliki pengaruh positif yang kuat terhadap profit.

Hubungan Marketing terhadap Profit pada Setiap Market

ggplot(data_full, aes(x = Marketing, y = Profit)) +
  geom_point() +
  facet_wrap(~Market) +
  theme_minimal() +
  labs(
    title = "Hubungan Marketing terhadap Profit pada Setiap Market",
    x = "Biaya Marketing",
    y = "Profit"
  )

Interpretasi:

  • Central & South

    -Cenderung menunjukkan hubungan yang lebih stabil dan sedikit positif

    -Peningkatan marketing masih diikuti kenaikan profit (meski tidak kuat)

  • East & West

    -Hubungan tidak konsisten dan lebih menyebar

    -Banyak titik dengan marketing tinggi tapi profit rendah bahkan negatif

Kesimpulan: Efektivitas marketing berbeda di tiap market. Market seperti East dan West menunjukkan marketing yang kurang efisien dibanding Central dan South.

Visualisasi distribusi Profit per Market

ggplot(data_full, aes(x = Market, y = Profit)) +
  geom_boxplot() +
  theme_minimal() +
  ggtitle("Distribusi Profit pada Setiap Market")

Interpretasi:

  • East

    -Variasi profit paling besar (banyak outlier tinggi & rendah)

    -Risiko tinggi (profit bisa sangat besar tapi juga bisa rugi besar)

  • West

    -Memiliki variasi besar dan cukup banyak profit negatif

  • Central & South

    -Distribusi lebih stabil

    -Profit lebih konsisten meskipun tidak setinggi maksimum East

Kesimpulan:

  • Market East & West → high risk, high variability

  • Market Central & South → lebih stabil

5. Analisis Statistik

Korelasi

cor(data_full[, c("Profit", "Marketing", "Sales")])
##              Profit Marketing     Sales
## Profit    1.0000000 0.2254650 0.7973309
## Marketing 0.2254650 1.0000000 0.7105149
## Sales     0.7973309 0.7105149 1.0000000

Interpretasi:

  • Profit–Marketing (0.225) → korelasi lemah positif

Artinya, peningkatan marketing cenderung diikuti kenaikan profit, tapi hubungannya tidak kuat.

  • Profit–Sales (0.797) → korelasi kuat positif

Artinya, semakin tinggi sales, profit juga cenderung meningkat secara signifikan.

  • Marketing–Sales (0.711) → korelasi kuat positif

Artinya, peningkatan marketing berkaitan erat dengan peningkatan sales.

Kesimpulan:

Sales punya hubungan paling kuat dengan profit, sementara marketing lebih berpengaruh ke sales daripada langsung ke profit.

ANOVA

anova_model <- aov(Profit ~ Market, data = data_full)
summary(anova_model)
##               Df   Sum Sq Mean Sq F value   Pr(>F)    
## Market         3   288811   96270   9.361 3.64e-06 ***
## Residuals   4244 43644825   10284                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Interpretasi

  • Hipotesis:

H₀: μ₁ = μ₂ = μ₃ = μ₄ (rata-rata profit sama di semua wilayah/market)

H₁: Minimal ada satu μ yang berbeda (ada perbedaan rata-rata profit antar wilayah)

  • Daerah Kritis

α = 0.05

Tolak H₀ jika p-value < 0.05 dan F hitung > F tabel

Hasil Uji: F hitung = 9.361, p-value = 3.64 × 10⁻⁶

Kesimpulan: Krena F hitung > F tabel dan p-value < 0.05 maka terdapat perbedaan rata-rata profit yang signifikan antar wilayah (market).

Apakah profit sudah mencapai target?

data_budget <- dbGetQuery(con, "
SELECT Profit, `Budget Profit`
FROM facttable
")

data_budget$Tercapai <- data_budget$Profit >= data_budget$`Budget Profit`

table(data_budget$Tercapai)
## 
## FALSE  TRUE 
##  2507  1741
round(prop.table(table(data_budget$Tercapai)) * 100, 2)
## 
## FALSE  TRUE 
## 59.02 40.98

Interpretasi:

  • Mayoritas target belum tercapai, karena sekitar 59% data berada di bawah target.

  • Hanya sekitar 41% yang berhasil memenuhi atau melampaui target.

Jadi secara keseluruhan, kinerja profit masih belum memenuhi target yang ditetapkan.