Pendahuluan

Penjualan (sales) merupakan indikator kinerja utama dalam industri ritel, termasuk dalam sektor penjualan kopi dan produk turunannya. Banyak faktor yang dapat memengaruhi tingkat penjualan suatu perusahaan, di antaranya adalah Cost of Goods Sold (COGS) dan aktivitas pemasaran (marketing). COGS mencerminkan biaya langsung yang dikeluarkan untuk menghasilkan produk yang dijual, sedangkan pengeluaran pemasaran mencerminkan investasi perusahaan dalam mempromosikan produk dan menarik pelanggan. Dalam konteks ini, pemahaman terhadap hubungan antara COGS, marketing, dan sales menjadi penting untuk pengambilan keputusan strategis.

Secara teoritis, COGS dan marketing memiliki hubungan yang signifikan terhadap sales. COGS yang terlalu tinggi dapat menurunkan margin keuntungan dan menyebabkan harga jual yang kurang kompetitif, sehingga berpotensi menurunkan penjualan. Sebaliknya, pengeluaran marketing yang efektif dapat meningkatkan visibilitas produk, memperluas jangkauan pasar, dan pada akhirnya meningkatkan penjualan.

Namun, dalam analisis data riil, sering kali terdapat pencilan (outlier) atau data yang tidak memenuhi asumsi klasik regresi linier, seperti normalitas residual. Oleh karena itu, pendekatan regresi robust menjadi alternatif yang lebih andal. Salah satu metode regresi robust yang populer adalah Estimasi-M, yang memberikan bobot berbeda pada observasi berdasarkan kontribusinya terhadap residual, sehingga mengurangi pengaruh pencilan.

Penelitian ini akan memfokuskan analisis pada data penjualan di negara bagian Massachusetts, dengan tujuan untuk mengkaji pengaruh COGS dan marketing terhadap sales menggunakan pendekatan regresi robust Estimasi-M. Diharapkan hasil analisis ini dapat memberikan wawasan yang lebih akurat dan stabil untuk pengambilan keputusan bisnis di wilayah tersebut.

Landasan Teori

a. Regresi Linear Berganda

Pengertian:

Analisis regresi linier berganda adalah suatu teknik statistik yang digunakan untuk memodelkan hubungan antara satu variabel dependen (respon) dengan dua atau lebih variabel independen (prediktor). Metode ini berguna untuk melihat seberapa besar pengaruh masing-masing variabel independen terhadap variabel dependen, baik secara parsial maupun simultan.

Tujuan:

  • Mengetahui arah dan besar pengaruh variabel independen terhadap variabel dependen.
  • Memprediksi nilai variabel dependen berdasarkan nilai variabel independen.
  • Menguji signifikansi pengaruh variabel-variabel independen terhadap variabel dependen.

Persamaan Umum Regresi Linier Berganda:

\[ Y = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \cdots + \beta_k X_k + \varepsilon \]

Keterangan:

  • \((Y)\): Variabel dependen (respon)
  • \(( X_1, X_2, \ldots, X_k )\): Variabel independen
  • \(( \beta_0 )\): Intersep (konstanta)
  • \(( \beta_1, \beta_2, \ldots, \beta_k )\): Koefisien regresi untuk masing-masing variabel independen
  • \(( \varepsilon )\): Error atau residual, asumsi berdistribusi normal dengan rata-rata nol dan variansi konstan

b. Estimasi-M

Pengertian:

Estimasi M (M-estimator) adalah metode dalam regresi robust yang digunakan untuk mengatasi pengaruh pencilan (outlier) dan pelanggaran asumsi klasik, seperti non-normalitas residual atau heteroskedastisitas. Estimasi M menggeneralisasi metode kuadrat terkecil, dengan meminimalkan fungsi kerugian lain yang kurang sensitif terhadap outlier.

Tujuan utama:
Memberikan estimasi parameter yang lebih stabil dan robust, terutama ketika data mengandung nilai ekstrem yang dapat mempengaruhi hasil estimasi.

Persamaan Umum Estimasi M:

\[ \sum_{i=1}^{n} \rho \left( \frac{y_i - \mathbf{x}_i^\top \beta}{\hat{\sigma}} \right) \rightarrow \min \]

Keterangan:

  • \((y_i)\): Nilai aktual variabel dependen
  • \(( \mathbf{x}_i )\): Vektor observasi ke-i dari variabel independen
  • \(( \beta )\): Vektor parameter regresi
  • \(( \rho )\): Fungsi kerugian (loss function)
  • \(( \hat{\sigma} )\): Estimasi awal dari standar deviasi residual

Iterasi Estimasi M:

  • Dimulai dari estimasi awal koefisien regresi.
  • Residual dihitung dan disesuaikan berdasarkan fungsi loss.
  • Model diestimasi ulang sampai perbedaan koefisien antar iterasi mendekati nol (konvergen).

c. Uji F (Simultan)

Uji F digunakan untuk mengetahui apakah semua variabel independen secara simultan memengaruhi variabel dependen.

1. Hipotesis

  • \(H_0\) : \(\beta_1 = \beta_2 = \cdots = \beta_k = 0 \quad\) (tidak ada pengaruh signifikan variabel independen terhadap variabel dependen)
  • \(H_1\) : Minimal satu \(\beta_i \neq 0 \quad\) (ada pengaruh signifikan)

2. Taraf Signifikansi: \((\alpha)\)

3. Daerah Kritis: Tolak \((H_0)\) jika \((p\text{-value} < \alpha)\)

4. Statistik Uji: Uji F dihitung melalui fungsi summary(lm(...)) dari model regresi.

5. Kesimpulan

  • Jika \(( p\text{-value} < 0.05 )\), maka \(( H_0 )\) ditolak, artinya minimal ada 1 variabel independen yang berpengaruh signifikan terhadap variabel dependen.
  • Jika \(( p\text{-value} \geq 0.05 )\), maka \(( H_0 )\) tidak ditolak, artinya tidak ada pengaruh signifikan variabel independen terhadap variabel dependen.

d. Uji t (Parsial)

Digunakan untuk mengetahui apakah masing-masing variabel independen berpengaruh secara parsial terhadap variabel dependen.

1. Hipotesis (untuk setiap koefisien \((\beta_i)\))

  • \(H_0\) : \(\beta_i = 0 \quad\) (tidak ada pengaruh signifikan)
  • \(H_1\) : \(\beta_i \neq 0 \quad\) (ada pengaruh signifikan)

2. Taraf Signifikansi: \((\alpha)\)

3. Daerah Kritis: Tolak \(( H_0 )\) jika \(( p\text{-value} < \alpha )\)

4. Statistik Uji: Dihitung melalui fungsi summary(lm(...)) pada bagian koefisien model regresi.

5. Kesimpulan

  • Jika \(( p\text{-value} < 0.05 )\), maka \(( H_0 )\) ditolak, artinya variabel tersebut berpengaruh signifikan
  • Jika \(( p\text{-value} \geq 0.05 )\), maka \(( H_0 )\) tidak ditolak, artinya variabel tidak berpengaruh signifikan

e. Uji Normalitas Residual

Untuk memastikan bahwa residual dari model regresi berdistribusi normal.

1. Hipotesis

  • \(H_0\) : Residu berdistribusi normal
  • \(H_1\) : Residu tidak berdistribusi normal

2. Taraf Signifikansi: \((\alpha)\)

3. Daerah Kritis: Tolak \(( H_0 )\) jika \(( p\text{-value} < \alpha )\)

4. Statistik Uji: Uji dilakukan menggunakan fungsi shapiro.test() untuk menguji normalitas residual atau masing-masing variabel.

5. Kesimpulan

  • Jika \(( p\text{-value} < 0.05 )\), maka \(( H_0 )\) ditolak sehingga residu tidak berdistribusi normal.
  • Jika \(( p\text{-value} \geq 0.05 )\), maka \(( H_0 )\) tidak ditolak sehingga residu berdistribusi normal.

f. Uji Multikolinearitas

Untuk mendeteksi apakah terdapat hubungan linear yang tinggi antar variabel independen.

1. Hipotesis

  • \(H_0\) : Tidak terdapat multikolinearitas antar variabel independen
  • \(H_1\) : Terdapat multikolinearitas antar variabel independen

2. Taraf Signifikansi: Tidak digunakan, penilaian berdasarkan nilai VIF.

3. Daerah Kritis: Jika nilai \(VIF > 10\), maka terjadi multikolinearitas antar variabel independen.

4. Statistik Uji: Digunakan fungsi vif() dari paket car untuk menghitung nilai VIF:

\[ \text{VIF}_i = \frac{1}{1 - R_i^2} \]

5. Kesimpulan

  • Jika \(VIF ≤ 10\), maka tidak terjadi multikolinearitas antar variabel independen.
  • Jika \(VIF > 10\), maka terjadi multikolinearitas antar variabel independen.

g. Uji Autokorelasi

Untuk mengetahui apakah residual saling berkorelasi satu sama lain, terutama dalam data runtut waktu.

1. Hipotesis

  • \(H_0\) : Tidak terdapat autokorelasi residual
  • \(H_1\) : Terdapat autokorelasi residual

2. Taraf Signifikansi: \((\alpha)\)

3. Daerah Kritis: Tolak \(( H_0 )\) jika \(( p\text{-value} < \alpha )\)

4. Statistik Uji: Menggunakan fungsi dwtest() dari paket lmtest.

5. Kesimpulan

  • Jika \(( p\text{-value} < 0.05 )\), maka \(( H_0 )\) ditolak sehingga terdapat autokorelasi residual.
  • Jika \(( p\text{-value} \geq 0.05 )\), maka \(( H_0 )\) tidak terdapat autokorelasi residual.

h. Uji Heteroskedastisitas

Untuk memeriksa apakah varians residual bersifat konstan (homoskedastik) atau tidak (heteroskedastik).

1. Hipotesis

  • \(H_0\) : Tidak terdapat Heteroskedastisitas (varian residual konstan)
  • \(H_1\) : Terdapat Heteroskedastisitas (varian residual tidak konstan)

2. Taraf Signifikansi: \((\alpha)\)

3. Daerah Kritis: Tolak \(( H_0 )\) jika \(( p\text{-value} < \alpha )\)

4. Statistik Uji: Menggunakan fungsi bptest() dari paket lmtest.

5. Kesimpulan

  • Jika \(( p\text{-value} < 0.05 )\), maka \(( H_0 )\) ditolak sehingga terdapat heteroskedastisitas (varian residual tidak konstan).
  • Jika \(( p\text{-value} \geq 0.05 )\), maka \(( H_0 )\) tidak terdapat heteroskedastisitas (varian residual tidak konstan).

Data yang Digunakan

Import library() yang diperlukan

# Import library yang diperlukan
library(readxl)        # untuk membaca file Excel
library(dplyr)         # untuk manipulasi data
library(lmtest)        # untuk uji diagnostik regresi
library(car)           # untuk VIF
library(DT)            # untuk menampilkan tabel interaktif (data table) 
library(knitr)         # untuk menyusun dokumen R Markdown dan menampilkan hasil seperti tabel

Import dataset yang digunakan

# Import dataset
data <- read_excel("D:/SIM/CM/3. CM1 - Coffee Chain Datasets/3. CM1 - Coffee Chain Datasets.xlsx")
dataset1 <- datatable(data,
                     options = list(
                       scrollX = TRUE,
                       pageLength = 5,
                       lengthMenu = c(5, 5, 5, 5)
                       
                     ))
dataset1

Memilih data untuk state Massachusetts dan variabel yang dibutuhkan yaitu Sales, COGS, dan Marketing

ma_data <- data %>%
  filter(State == "Massachusetts") %>%
  select(Sales, COGS, Marketing)
dataset2 <- datatable(ma_data,
                     options = list(
                       scrollX = TRUE,
                       pageLength = 5,
                       lengthMenu = c(5, 5, 5, 5)
                     ))
dataset2

Statistik Deskriptif

# Menampilkan ringkasan data
summary(ma_data)
##      Sales            COGS          Marketing    
##  Min.   : 41.0   Min.   : 16.00   Min.   : 4.00  
##  1st Qu.: 80.0   1st Qu.: 32.00   1st Qu.: 8.00  
##  Median :117.0   Median : 52.00   Median :20.00  
##  Mean   :208.1   Mean   : 62.96   Mean   :23.81  
##  3rd Qu.:325.0   3rd Qu.: 67.25   3rd Qu.:41.00  
##  Max.   :665.0   Max.   :181.00   Max.   :57.00

Model Regresi Linear Berganda

Membuat model dengan:

  • Sales sebagai variabel dependen \((Y)\)
  • COGS sebagai variabel independen \((X_1)\)
  • Marketing sebagai variabel independen \((X_2)\)
model <- lm(Sales ~ COGS + Marketing, data = ma_data)
summary(model)
## 
## Call:
## lm(formula = Sales ~ COGS + Marketing, data = ma_data)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -89.63 -84.29 -72.80 -23.62 471.28 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  98.6572    24.3389   4.053 8.31e-05 ***
## COGS          2.4032     0.4035   5.955 1.97e-08 ***
## Marketing    -1.7588     1.1578  -1.519    0.131    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 157.2 on 141 degrees of freedom
## Multiple R-squared:  0.2599, Adjusted R-squared:  0.2494 
## F-statistic: 24.76 on 2 and 141 DF,  p-value: 6.088e-10

Berdasarkan hasil analisis regresi diatas didapatkan persamaan sebagai berikut: \[ Y = 98.6572 + 2.4032X_1 -1.7588X_2 \] Interpretasi:

  1. Intercept (98.6572) menunjukkan nilai Sales \((Y)\) saat COGS \((X_1)=0\) dan Marketing \((X_2)=0\). Artinya, jika kedua variabel independen tidak berpengaruh atau bernilai nol, maka nilai prediksi Sales \((Y)\) adalah 98.6572.

  2. Koefisien \((X_1)\) (2.4032) menunjukkan setiap kenaikan 1 satuan pada COGS \((X_1)\) akan meningkatkan nilai Sales \((Y)\) sebesar 2.4032, dengan asumsi Marketing \((X_2)\) tetap konstan. Ini menunjukkan hubungan positif antara COGS \((X_1)\) dan Sales \((Y)\).

  3. Koefisien \((X_2)\) (-1.7588) menunjukkan setiap kenaikan 1 satuan pada Marketing \((X_2)\) akan menurunkan nilai Sales \((Y)\) sebesar 1.7588, dengan asumsi COGS \((X_1)\) tetap konstan. Ini menunjukkan hubungan negatif antara Marketing \((X_2)\) dan Sales \((Y)\).

  4. Adjusted \(( R^2 )\) sebesar 0.2494 menunjukkan bahwa model hanya mampu menjelaskan 24.94% variasi pada variabel dependen Sales \((Y)\), sementara sisanya sebesar 75.06% dipengaruhi oleh faktor lain di luar model.

Uji Signifikansi

a. Uji F (Simultan)

# Uji F
summary(model)
## 
## Call:
## lm(formula = Sales ~ COGS + Marketing, data = ma_data)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -89.63 -84.29 -72.80 -23.62 471.28 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  98.6572    24.3389   4.053 8.31e-05 ***
## COGS          2.4032     0.4035   5.955 1.97e-08 ***
## Marketing    -1.7588     1.1578  -1.519    0.131    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 157.2 on 141 degrees of freedom
## Multiple R-squared:  0.2599, Adjusted R-squared:  0.2494 
## F-statistic: 24.76 on 2 and 141 DF,  p-value: 6.088e-10

Berdasarkan output didapatkan nilai \(p-value=6.088 \times 10^{-10} < \alpha=0.05\) maka \(H_0\) ditolak yang artinya bahwa minimal terdapat satu variabel yang berpengaruh signifikan terhadap Sales.

b. Uji t (Parsial)

# Uji t
summary(model)
## 
## Call:
## lm(formula = Sales ~ COGS + Marketing, data = ma_data)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -89.63 -84.29 -72.80 -23.62 471.28 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  98.6572    24.3389   4.053 8.31e-05 ***
## COGS          2.4032     0.4035   5.955 1.97e-08 ***
## Marketing    -1.7588     1.1578  -1.519    0.131    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 157.2 on 141 degrees of freedom
## Multiple R-squared:  0.2599, Adjusted R-squared:  0.2494 
## F-statistic: 24.76 on 2 and 141 DF,  p-value: 6.088e-10

Berdasarkan output:

  • Untuk variabel COGS \(X_1\) didapatkan nilai untuk \(p-value=1.97 \times 10^{-8} < \alpha=0.05\) maka \(H_0\) ditolak yang artinya bahwa COGS berpengaruh signifikan terhadap Sales \((Y)\).
  • Untuk variabel Marketing \(X_2\) didapatkan nilai untuk \(p-value=0.131 > \alpha=0.05\) maka \(H_0\) tidak ditolak yang artinya bahwa Marketing tidak berpengaruh signifikan terhadap Sales \((Y)\).

Hasil Uji Signifikansi

Variabel Keterangan
COGS Berpengaruh signifikan
Marketing Tidak berpengaruh signifikan

Uji Asumsi Klasik

a. Uji Normalitas Residual

# Normalitas residual
shapiro.test(residuals(model)) # Uji Shapiro-Wilk
## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(model)
## W = 0.59124, p-value < 2.2e-16
# Grafik QQ Plot untuk normalitas residual
qqnorm(resid(model))
qqline(resid(model))

Melalui plot normal Q-Q terlihat bahwa persebaran titik-titik tidak mengikuti garis diagonal, serta berdasarkan output didapatkan nilai \(p-value=2.2 \times 10^{-16} < \alpha=0.05\) maka \(H_0\) ditolak yang artinya bahwa residu tidak berdistribusi normal.

b. Uji Multikolinearitas

# Multikolinearitas
vif(model) # Variance Inflation Factor
##      COGS Marketing 
##  1.976275  1.976275

Berdasarkan output didapatkan nilai \(VIF<10\) maka \(H_0\) ditolak yang artinya bahwa tidak terdapat multikolinearitas antar variabel independen.

c. Uji Autokorelasi

# Autokorelasi
dwtest(model) # Durbin-Watson test
## 
##  Durbin-Watson test
## 
## data:  model
## DW = 2.3436, p-value = 0.981
## alternative hypothesis: true autocorrelation is greater than 0

Berdasarkan output didapatkan nilai \(p-value=0.981 > \alpha=0.05\) maka \(H_0\) tidak ditolak yang artinya bahwa tidak terdapat autokorelasi residual.

d. Uji Heteroskedastisitas

# Heteroskedastisitas
bptest(model) # Breusch-Pagan test
## 
##  studentized Breusch-Pagan test
## 
## data:  model
## BP = 4.1464, df = 2, p-value = 0.1258

Berdasarkan output didapatkan nilai \(p-value=0.1258 > \alpha=0.05\) maka \(H_0\) tidak ditolak yang artinya bahwa tidak terdapat heteroskedastisitas (varian residual konstan).

Hasil Uji Asumsi Klasik

Uji.Asumsi.Klasik Keterangan
Normalitas Residual Tidak Terpenuhi
Multikolinearitas Terpenuhi
Autokorelasi Terpenuhi
Heteroskedastisitas Terpenuhi

Karena model tidak memenuhi salah satu asumsi klasik yaitu Normalitas Residual maka kita bisa menggunakan Estimasi-M untuk membuat model regresinya.

Estimasi-M

#ESTIMASI M
n <- nrow(ma_data)
p <- ncol(ma_data)

modelM <- lm(Sales ~ COGS + Marketing, data = ma_data)
Beta <- matrix(nrow=n,ncol=p)
Beta[1,] <- modelM$coefficients
j <- 1
tol <- c(1,rep=p)
while (any(abs(tol)>0.001)){
  res <- modelM$residuals
  Yhat <- modelM$fitted.values
  sigma.hat <- 1.483*median(abs(res))
  for (i in 1:n){
    if (res[i]>(1.5*sigma.hat)){res[i]=1.5*sigma.hat}
    else if (res[i]<(-1.5*sigma.hat)){res[i]=-1.5*sigma.hat}
    else res[i]=res[i]
  }
  ma_data[,1] <- Yhat + res
  modelM <- lm(Sales ~ COGS + Marketing, data = ma_data)
  Beta[j+1,] <- modelM$coefficients
  tol <- Beta[j+1,]-Beta[j,]
  j <- j+1
}
Koef <- Beta[j,]
summary(modelM)
## 
## Call:
## lm(formula = Sales ~ COGS + Marketing, data = ma_data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -18.550  -8.338  -3.217   8.479  18.551 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 20.37765    1.72762  11.795   <2e-16 ***
## COGS         1.94865    0.02864  68.029   <2e-16 ***
## Marketing    0.01499    0.08218   0.182    0.856    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 11.16 on 141 degrees of freedom
## Multiple R-squared:  0.9849, Adjusted R-squared:  0.9847 
## F-statistic:  4590 on 2 and 141 DF,  p-value: < 2.2e-16

Berdasarkan hasil analisis Estimasi-M diatas didapatkan persamaan sebagai berikut: \[ Y = 20.37765 + 1.94865 X_1 + 0.01499 X_2 \] Interpretasi:

  1. Intercept (20.37765) menunjukkan nilai Sales \((Y)\) saat COGS \((X_1)=0\) dan Marketing \((X_2)=0\). Artinya, jika kedua variabel independen tidak berpengaruh atau bernilai nol, maka nilai prediksi Sales \((Y)\) adalah 20.37765.

  2. Koefisien \((X_1)\) (1.94865) menunjukkan setiap kenaikan 1 satuan pada COGS \((X_1)\) akan meningkatkan nilai Sales \((Y)\) sebesar 1.94865, dengan asumsi Marketing \((X_2)\) tetap konstan. Ini menunjukkan hubungan positif antara COGS \((X_1)\) dan Sales \((Y)\).

  3. Koefisien \((X_2)\) (0.01499) menunjukkan setiap kenaikan 1 satuan pada Marketing \((X_2)\) akan meningkatkan nilai Sales \((Y)\) sebesar 0.01499, dengan asumsi COGS \((X_1)\) tetap konstan. Ini menunjukkan hubungan positif antara Marketing \((X_2)\) dan Sales \((Y)\).

  4. Adjusted \(( R^2 )\) sebesar 0.9847 menunjukkan bahwa model hanya mampu menjelaskan 98.47% variasi pada variabel dependen Sales \((Y)\), sementara sisanya sebesar 1.53% dipengaruhi oleh faktor lain di luar model.

Kesimpulan

Berdasarkan analisis yang sudah dilakukan dapat disimpulkan bahwa:

  1. Variabel COGS \((X_1)\) berpengaruh secara signifikan terhadap Sales \((Y)\), sedangkan Marketing \((X_2)\) tidak berpengaruh secara signifikan terhadap Sales \((Y)\).

  2. Lalu dari estimasi-M didapatkan persamaan regresi: \[Y = 20.37765 + 1.94865 X_1 + 0.01499 X_2\]