Pendahuluan

Dataset yang digunakan dalam laporan ini adalah Coffee Chain Datasets. Data diimpor dari file Excel, kemudian dianalisis untuk melihat apakah ukuran pasar (Market Size) dan jenis produk (Product Type) berpengaruh terhadap profit. Insight ini dipilih karena profit merupakan indikator penting dalam pengambilan keputusan bisnis. Dengan mengetahui perbedaan profit antar ukuran pasar dan antar jenis produk, perusahaan dapat menentukan strategi penjualan yang lebih tepat.

Import Data

library(readxl)
## Warning: package 'readxl' was built under R version 4.4.3
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.4.3
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.3
coffee <- read_xlsx("C:/Users/inesta salfina/OneDrive/Kuliah/1. Tugas SIM 2025B - Coffee Chain Datasets.xlsx")


glimpse(coffee)
## Rows: 4,248
## Columns: 20
## $ `Area Code`      <dbl> 719, 970, 970, 303, 303, 720, 970, 719, 970, 719, 303…
## $ Date             <dttm> 2012-01-01, 2012-01-01, 2012-01-01, 2012-01-01, 2012…
## $ Market           <chr> "Central", "Central", "Central", "Central", "Central"…
## $ `Market Size`    <chr> "Major Market", "Major Market", "Major Market", "Majo…
## $ Product          <chr> "Amaretto", "Colombian", "Decaf Irish Cream", "Green …
## $ `Product Line`   <chr> "Beans", "Beans", "Beans", "Leaves", "Beans", "Beans"…
## $ `Product Type`   <chr> "Coffee", "Coffee", "Coffee", "Tea", "Espresso", "Esp…
## $ State            <chr> "Colorado", "Colorado", "Colorado", "Colorado", "Colo…
## $ Type             <chr> "Regular", "Regular", "Decaf", "Regular", "Regular", …
## $ `Budget COGS`    <dbl> 90, 80, 100, 30, 60, 80, 140, 50, 50, 40, 50, 150, 10…
## $ `Budget Margin`  <dbl> 130, 110, 140, 50, 90, 130, 160, 80, 70, 70, 70, 210,…
## $ `Budget Profit`  <dbl> 100, 80, 110, 30, 70, 80, 110, 20, 40, 20, 40, 130, 1…
## $ `Budget Sales`   <dbl> 220, 190, 240, 80, 150, 210, 300, 130, 120, 110, 120,…
## $ COGS             <dbl> 89, 83, 95, 44, 54, 72, 170, 63, 60, 58, 64, 144, 95,…
## $ Inventory        <dbl> 777, 623, 821, 623, 456, 558, 1091, 435, 336, 338, 96…
## $ Margin           <dbl> 130, 107, 139, 56, 80, 108, 171, 87, 80, 72, 76, 201,…
## $ Marketing        <dbl> 24, 27, 26, 14, 15, 23, 47, 57, 19, 22, 19, 47, 30, 7…
## $ Profit           <dbl> 94, 68, 101, 30, 54, 53, 99, 0, 33, 17, 36, 111, 87, …
## $ Sales            <dbl> 219, 190, 234, 100, 134, 180, 341, 150, 140, 130, 140…
## $ `Total Expenses` <dbl> 36, 39, 38, 26, 26, 55, 72, 87, 47, 55, 40, 90, 52, 1…
summary(coffee)
##    Area Code          Date                        Market         
##  Min.   :203.0   Min.   :2012-01-01 00:00:00   Length:4248       
##  1st Qu.:417.0   1st Qu.:2012-06-23 12:00:00   Class :character  
##  Median :573.0   Median :2012-12-16 12:00:00   Mode  :character  
##  Mean   :582.3   Mean   :2012-12-15 22:00:00                     
##  3rd Qu.:772.0   3rd Qu.:2013-06-08 12:00:00                     
##  Max.   :985.0   Max.   :2013-12-01 00:00:00                     
##  Market Size          Product          Product Line       Product Type      
##  Length:4248        Length:4248        Length:4248        Length:4248       
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##     State               Type            Budget COGS     Budget Margin   
##  Length:4248        Length:4248        Min.   :  0.00   Min.   :-210.0  
##  Class :character   Class :character   1st Qu.: 30.00   1st Qu.:  50.0  
##  Mode  :character   Mode  :character   Median : 50.00   Median :  70.0  
##                                        Mean   : 74.83   Mean   : 100.8  
##                                        3rd Qu.: 90.00   3rd Qu.: 130.0  
##                                        Max.   :450.00   Max.   : 690.0  
##  Budget Profit      Budget Sales         COGS          Inventory      
##  Min.   :-320.00   Min.   :   0.0   Min.   :  0.00   Min.   :-3534.0  
##  1st Qu.:  20.00   1st Qu.:  80.0   1st Qu.: 43.00   1st Qu.:  432.0  
##  Median :  40.00   Median : 130.0   Median : 60.00   Median :  619.0  
##  Mean   :  60.91   Mean   : 175.6   Mean   : 84.43   Mean   :  749.4  
##  3rd Qu.:  80.00   3rd Qu.: 210.0   3rd Qu.:100.00   3rd Qu.:  910.5  
##  Max.   : 560.00   Max.   :1140.0   Max.   :364.00   Max.   : 8252.0  
##      Margin          Marketing          Profit           Sales    
##  Min.   :-302.00   Min.   :  0.00   Min.   :-638.0   Min.   : 17  
##  1st Qu.:  52.75   1st Qu.: 13.00   1st Qu.:  17.0   1st Qu.:100  
##  Median :  76.00   Median : 22.00   Median :  40.0   Median :138  
##  Mean   : 104.29   Mean   : 31.19   Mean   :  61.1   Mean   :193  
##  3rd Qu.: 132.00   3rd Qu.: 39.00   3rd Qu.:  92.0   3rd Qu.:230  
##  Max.   : 613.00   Max.   :156.00   Max.   : 778.0   Max.   :912  
##  Total Expenses  
##  Min.   : 10.00  
##  1st Qu.: 33.00  
##  Median : 46.00  
##  Mean   : 54.06  
##  3rd Qu.: 65.00  
##  Max.   :190.00

Deskripsi Data yang Diambil

Variabel yang digunakan dalam analisis ini adalah:

Data kemudian dibersihkan dari nilai hilang dan nama variabel disederhanakan agar lebih mudah dianalisis.

data_analisis <- coffee %>%
  select(`Market Size`, `Product Type`, Profit, Marketing, Sales, `Total Expenses`) %>%
  na.omit() %>%
  rename(
    Market_Size = `Market Size`,
    Product_Type = `Product Type`,
    Total_Expenses = `Total Expenses`
  )

data_analisis$Market_Size <- as.factor(data_analisis$Market_Size)
data_analisis$Product_Type <- as.factor(data_analisis$Product_Type)

summary(data_analisis)
##        Market_Size       Product_Type      Profit         Marketing     
##  Major Market:1704   Coffee    :1056   Min.   :-638.0   Min.   :  0.00  
##  Small Market:2544   Espresso  :1176   1st Qu.:  17.0   1st Qu.: 13.00  
##                      Herbal Tea:1056   Median :  40.0   Median : 22.00  
##                      Tea       : 960   Mean   :  61.1   Mean   : 31.19  
##                                        3rd Qu.:  92.0   3rd Qu.: 39.00  
##                                        Max.   : 778.0   Max.   :156.00  
##      Sales     Total_Expenses  
##  Min.   : 17   Min.   : 10.00  
##  1st Qu.:100   1st Qu.: 33.00  
##  Median :138   Median : 46.00  
##  Mean   :193   Mean   : 54.06  
##  3rd Qu.:230   3rd Qu.: 65.00  
##  Max.   :912   Max.   :190.00

Statistik Deskriptif

deskriptif <- data_analisis %>%
  group_by(Market_Size, Product_Type) %>%
  summarise(
    rata_profit = mean(Profit),
    median_profit = median(Profit),
    sd_profit = sd(Profit),
    n = n(),
    .groups = "drop"
  )

deskriptif
## # A tibble: 8 × 6
##   Market_Size  Product_Type rata_profit median_profit sd_profit     n
##   <fct>        <fct>              <dbl>         <dbl>     <dbl> <int>
## 1 Major Market Coffee             130.          105       171.    408
## 2 Major Market Espresso            99.1          86.5     134.    432
## 3 Major Market Herbal Tea          63.7          42       101.    456
## 4 Major Market Tea                 75.4          70        47.3   408
## 5 Small Market Coffee              33.3          30        31.8   648
## 6 Small Market Espresso            34.7          29.5      34.4   744
## 7 Small Market Herbal Tea          57.0          38.5      71.2   600
## 8 Small Market Tea                 40.2          25       136.    552

Berdasarkan statistik deskriptif, rata-rata profit tertinggi terdapat pada Coffee di Major Market, sedangkan profit yang lebih rendah cenderung muncul pada beberapa kelompok di Small Market. Hasil ini memberi gambaran awal bahwa ukuran pasar kemungkinan berhubungan dengan profit.

Visualisasi Data

1. Rata-rata Profit berdasarkan Market Size dan Product Type

rata_profit <- data_analisis %>%
  group_by(Market_Size, Product_Type) %>%
  summarise(mean_profit = mean(Profit), .groups = "drop")

ggplot(rata_profit, aes(x = Product_Type, y = mean_profit, fill = Market_Size)) +
  geom_col(position = "dodge") +
  labs(
    title = "Rata-rata Profit berdasarkan Market Size dan Product Type",
    x = "Product Type",
    y = "Rata-rata Profit"
  ) +
  theme_minimal()

Grafik batang menunjukkan bahwa kelompok Major Market secara umum memiliki rata-rata profit lebih tinggi dibandingkan Small Market. Pada kategori produk, Coffee tampak memberikan rata-rata profit tertinggi, terutama pada pasar besar.

2. Sebaran Profit berdasarkan kelompok

ggplot(data_analisis, aes(x = Product_Type, y = Profit, fill = Market_Size)) +
  geom_boxplot() +
  labs(
    title = "Sebaran Profit berdasarkan Product Type dan Market Size",
    x = "Product Type",
    y = "Profit"
  ) +
  theme_minimal()

Boxplot memperlihatkan bahwa distribusi profit antar kelompok tidak sama. Beberapa kelompok memiliki median profit lebih tinggi dan sebaran data yang lebih lebar. Hal ini memperkuat dugaan bahwa terdapat perbedaan profit menurut ukuran pasar dan jenis produk.

3. Hubungan Marketing dan Profit

ggplot(data_analisis, aes(x = Marketing, y = Profit, color = Market_Size)) +
  geom_point(alpha = 0.6) +
  geom_smooth(method = "lm", se = FALSE) +
  facet_wrap(~Product_Type) +
  labs(
    title = "Hubungan Marketing dan Profit pada Tiap Product Type",
    x = "Marketing",
    y = "Profit"
  ) +
  theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'

Berdasarkan scatter plot, hubungan antara biaya marketing dan profit terlihat berbeda-beda pada tiap jenis produk. Ada produk yang menunjukkan kenaikan profit saat biaya marketing meningkat, tetapi ada juga yang polanya tidak terlalu jelas.Karena itu, analisis utama tetap difokuskan pada pengaruh Market_Size dan Product_Type terhadap profit.

Analisis Data

Uji Homogenitas Varians

Sebelum ANOVA, dilakukan uji homogenitas varians menggunakan Fligner-Killeen Test.

fligner.test(Profit ~ interaction(Market_Size, Product_Type), data = data_analisis)
## 
##  Fligner-Killeen test of homogeneity of variances
## 
## data:  Profit by interaction(Market_Size, Product_Type)
## Fligner-Killeen:med chi-squared = 748.97, df = 7, p-value < 2.2e-16

Jika nilai p-value lebih besar dari 0,05 maka varians antar kelompok dapat dianggap relatif sama. Jika nilai p-value lebih kecil dari 0,05, berarti variasi data antar kelompok berbeda. Karena itu, hasil ANOVA masih bisa digunakan, tetapi kesimpulannya harus dibaca dengan lebih hati-hati.

Two-Way ANOVA

Analisis utama dilakukan dengan ANOVA dua arah untuk menguji:

  1. apakah Market_Size berpengaruh terhadap Profit,
  2. apakah Product_Type berpengaruh terhadap Profit,
  3. apakah terdapat interaksi antara Market_Size dan Product_Type.
model_anova <- aov(Profit ~ Market_Size * Product_Type, data = data_analisis)
anova_hasil <- summary(model_anova)
anova_hasil
##                            Df   Sum Sq Mean Sq F value  Pr(>F)    
## Market_Size                 1  2611722 2611722 276.822 < 2e-16 ***
## Product_Type                3   171544   57181   6.061 0.00041 ***
## Market_Size:Product_Type    3  1147469  382490  40.541 < 2e-16 ***
## Residuals                4240 40002902    9435                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Uji Lanjut Tukey HSD

Uji lanjut Tukey dilakukan pada faktor Product_Type untuk melihat pasangan jenis produk mana yang memiliki rata-rata profit berbeda signifikan.

tukey_hasil <- TukeyHSD(aov(Profit ~ Product_Type, data = data_analisis))
tukey_hasil
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = Profit ~ Product_Type, data = data_analisis)
## 
## $Product_Type
##                           diff       lwr        upr     p adj
## Espresso-Coffee     -12.372198 -23.44003 -1.3043662 0.0212815
## Herbal Tea-Coffee   -10.822917 -22.18438  0.5385423 0.0684855
## Tea-Coffee          -15.528788 -27.17082 -3.8867568 0.0034344
## Herbal Tea-Espresso   1.549281  -9.51855 12.6171126 0.9840623
## Tea-Espresso         -3.156590 -14.51225  8.1990707 0.8914175
## Tea-Herbal Tea       -4.705871 -16.34790  6.9361599 0.7265871

Interpretasi Hasil

Berdasarkan hasil ANOVA, faktor Market Size, Product Type, dan interaksi keduanya sama-sama memiliki nilai p-value kurang dari 0,05. Dengan demikian, dapat disimpulkan bahwa: - ukuran pasar berpengaruh signifikan terhadap profit, - jenis produk berpengaruh signifikan terhadap profit, - pengaruh jenis produk terhadap profit berbeda menurut ukuran pasarnya.

Hasil deskriptif menunjukkan bahwa rata-rata profit tertinggi terdapat pada Coffee di Major Market. Hal ini sejalan dengan visualisasi yang memperlihatkan bahwa Major Market cenderung menghasilkan profit lebih besar dibandingkan Small Market.

Berdasarkan uji Tukey, terdapat beberapa pasangan jenis produk yang berbeda signifikan. Secara umum, Coffee memiliki rata-rata profit yang berbeda nyata dibandingkan Espresso dan Tea. Temuan ini menunjukkan bahwa tidak semua jenis produk memberikan kontribusi profit yang sama. Jadi kesimpulanya berdasarkan analisis yang telah dilakukan, dapat disimpulkan bahwa:

  1. Market_Size berpengaruh signifikan terhadap profit.
  2. Product_Type juga berpengaruh signifikan terhadap profit.
  3. Terdapat interaksi signifikan antara Market_Size dan Product_Type.
  4. Kelompok Major Market cenderung memiliki profit lebih tinggi.
  5. Jenis produk Coffee menunjukkan performa profit yang paling menonjol, terutama pada pasar besar.

Hasil ini dapat menjadi dasar bagi perusahaan untuk memprioritaskan kombinasi pasar dan jenis produk yang memberikan profit lebih tinggi.