Analisis kali ini akan berfokus untuk melihat apa saja variabel yang berpengaruh dan bagaimana pengaruhnya terhadap keuntungan bersih (profit) bisnis yang ada di daerah California. Variabel yang dianalisis lebih jauh adalah variabel bertipe numerik, yaitu variabel Cost of Goods Sold (COGS), Margin, Marketing, Profit, Sales, dan Total Expenses. Profit bertindak sebagai variabel dependen dan variabel lainnya bertindak sebagai variabel independen. Variabel numerik yang lain, seperti Budget COGS, Budget Margin, Budget Profit, Budget Sales, dan Inventory tidak dimasukkan ke dalam analisis karena tidak terlalu relevan dengan tujuan analisis. Pengetahuan terkait variabel numerik apa saja yang berpengaruh terhadap profit dapat membantu pebisnis di California dalam menentukan bagaimana mereka mengelola variabel-variabel tersebut sehingga dapat memaksimalkan profit yang didapatkan.
Bagian ini berisi teori-teori yang menjadi dasar untuk analisis kali ini.
*tekan tab untuk melihat isi.
Regresi Linear Berganda digunakan untuk mengetahui bagaimana pengaruh tiap variabel independen terhadap variabel dependen. Secara umum, persamaan Regresi Linear Berganda dapat dituliskan sebagai berikut (Yule, 1897).
\[Y = \beta_0 + \beta_1X_1 + \beta_2X_2 + ... + \beta_nX_n + \epsilon\]
Keterangan:
\(Y = \text{variabel dependen}\)
\(\beta_0 = \text{konstanta}\)
\(\beta_1, \beta_2, ..., \beta_n = \text{koefisien}\)
\(X_1, X_2, ..., X_n = \text{variabel independen}\)
\(\epsilon = error\)
Terdapat beberapa uji yang perlu dilakukan untuk memastikan apakah model yang telah dibuat sudah cukup untuk data yang digunakan. Uji-uji tersebut meliputi uji linearitas, uji normalitas, uji homoskedastisitas, uji non autokorelasi, dan uji non multikolinearitas.
1. Uji Linearitas
Uji linearitas digunakan untuk mengetahui apakah hubungan antara variabel independen dan variabel dependen bersifat linear atau tidak. Uji yang digunakan adalah uji Ramsey RESET (Regression Equation Specification Error Test). Langkah-langkah untuk melakukan uji Ramsey RESET sebagai berikut (Ramsey, 1969).
2. Uji Normalitas
Uji normalitas digunakan untuk mengetahui apakah residu berdistribusi secara normal atau tidak (Kolmogorov, 1933). Uji yang digunakan adalah uji Kolmogorov-Smirnov karena sampel pada analisis kali ini berukuran besar (>30). Langkah-langkah untuk melakukan uji Kolmogorov-Smirnov sebagai berikut.
3. Uji Homoskedastisitas
Uji homoskedastisitas digunakan untuk mengetahui apakah variansi residu homogen atau tidak. Uji yang digunakan adalah uji Breusch-Pagan (Breusch & Pagan, 1979). Langkah-langkah untuk melakukan uji Breusch-Pagan sebagai berikut.
4. Uji Non Autokorelasi
Uji non autokorelasi digunakan untuk mengetahui tidak adanya autokorelasi antar residu. Uji yang digunakan adalah uji Durbin-Watson (Durbin & Watson, 1971). Langkah-langkah untuk melakukan uji Durbin-Watson sebagai berikut.
5. Uji Non Multikolinearitas
Uji non multikolinearitas digunakan untuk mengetahui tidak adanya multikolinearitas yang tinggi antar variabel independen. Nilai Variance Inflation Factor (VIF) adalah nilai yang dilihat pada uji non multikolinearitas (Kutner et al, 2004). Langkah-langkah untuk melakukan uji non multikolinearitas sebagai berikut.
Nilai DFFITS yang dihasilkan oleh model dibandingkan dengan nilai pembanding DFFITTS (Belsley et al, 1980).
\[\text{Nilai pembanding DFFITS} = 2 \sqrt{\frac{k}{n}}\]
Keterangan:
k = banyak variabel independen
n = banyak observasi
Apabila absolut nilai DFFITS suatu observasi melebihi nilai pembanding DFFITS maka observasi tersebut adalah outlier.
Regresi Robust digunakan ketika terdapat outlier dan asumsi normalitas pada model regresi dengan metode kuadrat terkecil tidak terpenuhi. Metode robust yang digunakan adalah Least Trimmed Square (LTS). LTS menggunakan h kuadrat residu yang nilainya diurutkan dari terkecil ke terbesar (h \(\le\) n). Metode ini meminimalkan nilai berikut.
\[\sum_{i = 1}^{h} e_i^2\]
dengan \(h = (\frac{n}{2}) + (\frac{k+2}{2})\)
\(e_i^2\) = kuadrat residu yang diurutkan dari terkecil ke terbesar
n = banyak sampel
k = banyak variabel independen
Nilai h harus dalam bentuk bilangan bulat sehingga jika nilai h dalam bentuk pecahan maka dilakukan pembulatan ke atas. Menurut Rousseeuw dan Hubert (1997), estimator LTS dapat didapatkan dengan cara
\[s_{LTS} = d_{h,n} \sqrt{\frac{1}{h} \sum_{i=1}^{h} e_i^2}\]
dengan
\(d_{h,n} = \frac {1} {\sqrt{1 - \frac{2n}{h c_{h,n}} \phi\left(\frac{1}{c_{h,n}}\right)}}\)
\(c_{h,n} = \frac{1} {\phi^{-1}\left(\frac{h + n}{2n}\right)}\)
Setelah didapatkan nilai \(s_{LTS}\), hitung pembobot \(w_i\) dengan rumus
\[ w_i = \begin{cases} 0 & \text{jika } \left| \frac{e_i}{S_{LTS}} \right| > 2,5 \\ 1 & \text{untuk lainnya} \end{cases} \]
Algoritma Metode LTS
Estimasi koefisien regresi \(\hat \beta_i\) dengan metode kuadrat terkecil dengan i = 1,2,…,n.
Hitung n kuadrat residu \(e_i^2\) yang bersesuaian dengan \(\hat \beta_i\).
Hitung \(h = (\frac{n}{2}) + (\frac{k+2}{2})\).
Estimasi parameter \(\hat \beta_{baru(i)}\) dari \(h_{baru(i)}\) pengamatan.
Hitung \(\hat \beta_{baru(i)}\) dan ulangi menghitung h berikutnya hingga konvergen.
Hitung pembobot \(w_i\).
Estimasi koefisien regresi \(\hat \beta_{LTS}\) dengan pembobot w.
Setelah uji asumsi pada model dilakukan, uji signifikansi simultan dan uji signifikan parsial diterapkan. Uji ini digunakan untuk mengetahui apakah variabel yang digunakan pada model yang dibangun berpengaruh signifikan atau tidak.
1. Uji Signifikansi SimultanUji Signifikansi Simultan digunakan untuk menguji pengaruh seluruh variabel independen terhadap variabel dependen secara bersama-sama (Fisher, 1925). Langkah-langkah untuk melakukan uji ini adalah sebagai berikut.
Uji signifikansi parsial digunakan untuk mengetahui pengaruh variabel independen terhadap variabel dependen secara parsial atau sendiri-sendiri (STUDENT, 1908). Langkah untuk melakukan uji ini adalah sebagai berikut.
library(readxl)
library(readr)
library(car)
library(MASS)
library(lmtest)
library(ggplot2)
library(corrplot)
library(robustbase)
library(dplyr)
data <- read_excel("D:/Kuliah/Smt 4/SIM/CM 1/3. CM1 - Coffee Chain Datasets.xlsx")
data
## # A tibble: 4,248 × 20
## `Area Code` Date Market `Market Size` Product `Product Line`
## <dbl> <dttm> <chr> <chr> <chr> <chr>
## 1 719 2012-01-01 00:00:00 Central Major Market Amaretto Beans
## 2 970 2012-01-01 00:00:00 Central Major Market Colombi… Beans
## 3 970 2012-01-01 00:00:00 Central Major Market Decaf I… Beans
## 4 303 2012-01-01 00:00:00 Central Major Market Green T… Leaves
## 5 303 2012-01-01 00:00:00 Central Major Market Caffe M… Beans
## 6 720 2012-01-01 00:00:00 Central Major Market Decaf E… Beans
## 7 970 2012-01-01 00:00:00 Central Major Market Chamomi… Leaves
## 8 719 2012-01-01 00:00:00 Central Major Market Lemon Leaves
## 9 970 2012-01-01 00:00:00 Central Major Market Mint Leaves
## 10 719 2012-01-01 00:00:00 Central Major Market Darjeel… Leaves
## # ℹ 4,238 more rows
## # ℹ 14 more variables: `Product Type` <chr>, State <chr>, Type <chr>,
## # `Budget COGS` <dbl>, `Budget Margin` <dbl>, `Budget Profit` <dbl>,
## # `Budget Sales` <dbl>, COGS <dbl>, Inventory <dbl>, Margin <dbl>,
## # Marketing <dbl>, Profit <dbl>, Sales <dbl>, `Total Expenses` <dbl>
Analisis hanya fokus pada bisnis yang berada pada daerah California sehingga data difilter untuk mendapatkan bisnis yang berada di daerah California.
data <- data %>%
filter(`State` == "California")
Analisis fokus pada COGS, Margin, Marketing, Profit, Sales, Total Expenses sehingga variabel-variabel tersebut dipilih dan variabel yang lain diabaikan.
data <- data %>% select(c("COGS","Margin","Marketing","Profit","Sales","Total Expenses"))
data
## # A tibble: 288 × 6
## COGS Margin Marketing Profit Sales `Total Expenses`
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 228 228 63 140 456 88
## 2 105 145 95 17 250 128
## 3 234 312 77 203 546 109
## 4 95 139 26 102 234 37
## 5 207 245 64 160 452 85
## 6 83 107 27 67 190 40
## 7 89 130 24 94 219 36
## 8 54 80 15 54 134 26
## 9 72 108 23 54 180 54
## 10 95 50 30 -2 145 52
## # ℹ 278 more rows
Data berkurang dari 4248 baris dan 20 kolom hanya menjadi 288 baris dan 6 kolom.
vars <- c("COGS", "Margin", "Marketing", "Sales", "Total Expenses")
for (var in vars) {
p <- ggplot(data, aes(x = .data[[var]], y = Profit)) +
geom_point(color = "#A1E3F9", size = 3) +
labs(title = paste("Scatter Plot of", var, "vs. Profit"),
x = var,
y = "Profit") +
theme_minimal() +
theme(
plot.title = element_text(color = "white"),
axis.title.x = element_text(color = "white"),
axis.title.y = element_text(color = "white")
)
print(p)
}
## Error : The fig.showtext code chunk option must be TRUE
## Error : The fig.showtext code chunk option must be TRUE
## Error : The fig.showtext code chunk option must be TRUE
## Error : The fig.showtext code chunk option must be TRUE
## Error : The fig.showtext code chunk option must be TRUE
Semua variabel independen berkorelasi positif dengan variabel dependen. Hal ini berarti kenaikan nilai variabel independen sebanding dengan kenaikan variabel dependen.
vars <- c("COGS", "Margin", "Marketing", "Sales", "Total Expenses", "Profit")
cor_matrix <- cor(data[vars], use = "complete.obs", method = "pearson")
corrplot(cor_matrix, method = "color", type = "upper",
addCoef.col = "white",
tl.col = "white",
tl.srt = 45,
diag = FALSE,
cl.cex = 0.8,
cl.col = "white",
plot.bg = "black",
col = colorRampPalette(c("red", "white", "blue"))(100))
## Error : The fig.showtext code chunk option must be TRUE
Variabel Margin dan Sales memiliki hubungan yang positif kuat dengan Profit. COGS memiliki hubungan positif yang sedang dengan Profit. Sementara itu, Marketing dan Total Expenses memiliki hubungan yang lemah dengan Profit.
ggplot(data = data, aes(x = Profit)) +
geom_histogram(aes(y = after_stat(density)), fill = "lightblue", color = "black", bins = 50) +
geom_density(color = "red", linewidth = 1) +
labs(title = "Histogram dari Profit", x = "Profit", y = "Frekuensi") +
theme_minimal() +
theme(
plot.title = element_text(hjust = 0.5, colour = "white"),
axis.title.x = element_text(colour = "white"),
axis.title.y = element_text(colour = "white")
)
## Error : The fig.showtext code chunk option must be TRUE
Variabel Profit memiliki skewness positif. Dengan kata lain, terdapat outlier yang memiliki nilai besar jika dibandingkan pusat data.
Pemodelan regresi linear berganda dilakukan beberapa kali untuk mendapatkan variabel independen yang benar-benar berpengaruh signifikan terhadap variabel dependen.
model <- lm(Profit ~
COGS +
Margin +
Marketing +
Sales +
data$"Total Expenses", data = data)
summary(model)
##
## Call:
## lm(formula = Profit ~ COGS + Margin + Marketing + Sales + data$"Total Expenses",
## data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -50.941 -19.949 0.379 12.572 86.422
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.6853 3.4964 0.482 0.6302
## COGS -1.6615 0.1121 -14.816 < 2e-16 ***
## Margin -0.5044 0.1132 -4.455 1.21e-05 ***
## Marketing 0.6320 0.1946 3.248 0.0013 **
## Sales 1.6763 0.1087 15.421 < 2e-16 ***
## data$"Total Expenses" -1.7562 0.1538 -11.422 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 24.46 on 282 degrees of freedom
## Multiple R-squared: 0.9725, Adjusted R-squared: 0.972
## F-statistic: 1996 on 5 and 282 DF, p-value: < 2.2e-16
model <- lm(Profit ~
COGS +
Marketing +
Sales +
data$"Total Expenses", data = data)
summary(model)
##
## Call:
## lm(formula = Profit ~ COGS + Marketing + Sales + data$"Total Expenses",
## data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -57.300 -21.236 1.957 15.999 74.350
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.76846 3.61095 0.490 0.6247
## COGS -1.20030 0.04452 -26.963 <2e-16 ***
## Marketing 0.40488 0.19396 2.087 0.0377 *
## Sales 1.19711 0.01624 73.718 <2e-16 ***
## data$"Total Expenses" -1.57720 0.15328 -10.290 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 25.26 on 283 degrees of freedom
## Multiple R-squared: 0.9706, Adjusted R-squared: 0.9702
## F-statistic: 2335 on 4 and 283 DF, p-value: < 2.2e-16
model <- lm(Profit ~
COGS +
Marketing +
Sales, data = data)
summary(model)
##
## Call:
## lm(formula = Profit ~ COGS + Marketing + Sales, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -73.743 -15.839 -4.257 20.348 81.769
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -13.32461 3.86107 -3.451 0.000643 ***
## COGS -1.33324 0.04985 -26.746 < 2e-16 ***
## Marketing -1.46568 0.07912 -18.525 < 2e-16 ***
## Sales 1.23646 0.01847 66.952 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 29.56 on 284 degrees of freedom
## Multiple R-squared: 0.9596, Adjusted R-squared: 0.9592
## F-statistic: 2248 on 3 and 284 DF, p-value: < 2.2e-16
Didapatkan hasil bahwa variabel COGS, Marketing, dan Sales berpengaruh secara signifikan terhadap Profit. Hal ini dapat dilihat dari nilai p-value ketiga variabel tersebut yang kurang dari 0,05.
resettest(model, power = 2:3, type = "fitted")
##
## RESET test
##
## data: model
## RESET = 2.3766, df1 = 2, df2 = 282, p-value = 0.09472
residu = resid(model)
ks.test(residu, 'pnorm')
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: residu
## D = 0.51832, p-value < 2.2e-16
## alternative hypothesis: two-sided
bptest(model)
##
## studentized Breusch-Pagan test
##
## data: model
## BP = 94.361, df = 3, p-value < 2.2e-16
dwtest(model)
##
## Durbin-Watson test
##
## data: model
## DW = 2.1143, p-value = 0.8416
## alternative hypothesis: true autocorrelation is greater than 0
vif(model)
## COGS Marketing Sales
## 5.438527 2.340838 4.817219
dffits_values <- dffits(model)
nilai_pembanding_dffits <- 2 * sqrt(3 / 288)
outliers <- abs(dffits_values) > nilai_pembanding_dffits
jumlah_outlier <- sum(outliers)
cat("Jumlah observasi yang termasuk outlier berdasarkan DFFITS:", jumlah_outlier, "\n")
## Jumlah observasi yang termasuk outlier berdasarkan DFFITS: 37
indeks_outlier <- which(outliers)
if (length(indeks_outlier) > 0) {
cat("Indeks observasi outlier:", paste(indeks_outlier, collapse = ", "), "\n")
} else {
cat("Tidak ada observasi outlier.\n")
}
## Indeks observasi outlier: 11, 23, 36, 41, 53, 65, 73, 74, 81, 85, 86, 98, 116, 128, 140, 141, 154, 166, 179, 192, 203, 213, 215, 220, 224, 226, 227, 228, 233, 236, 238, 239, 240, 249, 263, 275, 288
Asumsi normalitas pada model di atas tidak terpenuhi dan terdapat 37 outlier sehingga model dengan metode kuadrat terkecil di atas tidak cukup. Dikarenakan kedua hal tersebut, maka pencarian model regresi dilanjutkan dengan metode robust. Selain itu, asumsi homoskedastisitas juga tidak terpenuhi pada model dengan metode kuadrat terkecil.
model_robust <- ltsReg(Profit ~ COGS + Marketing + Sales, data = data, alpha = 0.5)
summary(model_robust)
##
## Call:
## ltsReg.formula(formula = Profit ~ COGS + Marketing + Sales, data = data,
## alpha = 0.5)
##
## Residuals (from reweighted LS):
## Min 1Q Median 3Q Max
## -54.909 -4.883 0.000 9.336 55.862
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## Intercept -2.68040 3.20224 -0.837 0.403
## COGS -1.18196 0.04238 -27.888 <2e-16 ***
## Marketing -1.27596 0.06285 -20.303 <2e-16 ***
## Sales 1.07242 0.01627 65.896 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 23.31 on 247 degrees of freedom
## Multiple R-Squared: 0.9597, Adjusted R-squared: 0.9592
## F-statistic: 1959 on 3 and 247 DF, p-value: < 2.2e-16
model_robust$raw.weights
## [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [38] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [75] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [112] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [149] 1 1 0 1 1 0 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 0 1 1 1 1 1 0 1 0 0 0 0 0 1 1 1
## [186] 1 0 1 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 0 1 0 0 1 0
## [223] 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 1 1 0 0 1 1
## [260] 0 0 0 0 0 0 1 1 1 0 1 1 0 1 0 0 1 0 1 1 1 0 1 0 1 0 0 0 0
h <- sum(model_robust$raw.weights)
cat("Jumlah observasi dalam subset h:", h, "\n")
## Jumlah observasi dalam subset h: 206
mkt_dg_bobot <- lm(Profit ~ COGS + Marketing + Sales, data = data, weights = model_robust$raw.weights)
summary(mkt_dg_bobot)
##
## Call:
## lm(formula = Profit ~ COGS + Marketing + Sales, data = data,
## weights = model_robust$raw.weights)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -33.804 -3.075 0.000 2.027 36.963
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -2.68040 2.08343 -1.287 0.2
## COGS -1.18196 0.02997 -39.442 <2e-16 ***
## Marketing -1.27596 0.04098 -31.133 <2e-16 ***
## Sales 1.07242 0.01210 88.645 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 14.4 on 202 degrees of freedom
## Multiple R-squared: 0.9823, Adjusted R-squared: 0.9821
## F-statistic: 3741 on 3 and 202 DF, p-value: < 2.2e-16
\(R^2_{adjusted}\) berhasil ditingkatkan menjadi 98,21% dengan metode LTS. Hal ini berarti 98,21% variabilitas dari variabel Profit dapat dijelaskan oleh variabel COGS, Marketing, dan Sales. Sementara itu, sebanyak 1,79% variabilitas variabel Profit yang lain dijelaskan oleh variabel yang belum masuk ke dalam model.
resettest(mkt_dg_bobot, power = 2:3, type = "fitted")
##
## RESET test
##
## data: mkt_dg_bobot
## RESET = 2.3766, df1 = 2, df2 = 282, p-value = 0.09472
bptest(mkt_dg_bobot)
##
## studentized Breusch-Pagan test
##
## data: mkt_dg_bobot
## BP = 0.043676, df = 3, p-value = 0.9976
idx_clean <- which(model_robust$raw.weights == 1)
data_clean <- data[idx_clean, ]
mkt_dg_clean <- lm(Profit ~ COGS + Marketing + Sales, data = data_clean)
dwtest(mkt_dg_clean)
##
## Durbin-Watson test
##
## data: mkt_dg_clean
## DW = 2.0526, p-value = 0.6547
## alternative hypothesis: true autocorrelation is greater than 0
vif(mkt_dg_bobot)
## COGS Marketing Sales
## 5.388342 2.056551 5.100883
dffits_values <- dffits(mkt_dg_bobot)
nilai_pembanding_dffits <- 2 * sqrt(3 / 206)
outliers <- abs(dffits_values) > nilai_pembanding_dffits
jumlah_outlier <- sum(outliers)
cat("Jumlah observasi yang termasuk outlier berdasarkan DFFITS:", jumlah_outlier, "\n")
## Jumlah observasi yang termasuk outlier berdasarkan DFFITS: 21
indeks_outlier <- which(outliers)
if (length(indeks_outlier) > 0) {
cat("Indeks observasi outlier:", paste(indeks_outlier, collapse = ", "), "\n")
} else {
cat("Tidak ada observasi outlier.\n")
}
## Indeks observasi outlier: 11, 23, 36, 41, 53, 65, 73, 95, 98, 116, 128, 140, 146, 152, 154, 176, 179, 180, 183, 200, 201
Jumlah outlier berkurang pada model dengan metode LTS ini.
summary(mkt_dg_bobot)
##
## Call:
## lm(formula = Profit ~ COGS + Marketing + Sales, data = data,
## weights = model_robust$raw.weights)
##
## Weighted Residuals:
## Min 1Q Median 3Q Max
## -33.804 -3.075 0.000 2.027 36.963
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -2.68040 2.08343 -1.287 0.2
## COGS -1.18196 0.02997 -39.442 <2e-16 ***
## Marketing -1.27596 0.04098 -31.133 <2e-16 ***
## Sales 1.07242 0.01210 88.645 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 14.4 on 202 degrees of freedom
## Multiple R-squared: 0.9823, Adjusted R-squared: 0.9821
## F-statistic: 3741 on 3 and 202 DF, p-value: < 2.2e-16
Performa model meningkat, jumlah outlier berkurang, dan asumsi homoskedastisitas berhasil terpenuhi pada model ini.
Diperoleh model regresi dengan metode LTS sebagai berikut.
\[Y = -2,68040-1,18196X_1-1,27596X_2+1,07242X_3\]
Interpretasi Model:
Peningkatan variabel \(X_1\) (COGS) sebesar 1 satuan akan mengakibatkan penurunan variabel Profit sebesar 1,18196 satuan.
Peningkatan variabel \(X_2\) (Marketing) sebesar 1 satuan akan mengakibatkan penurunan variabel Profit sebesar 1,27596 satuan.
Peningkatan variabel \(X_3\) (Sales) sebesar 1 satuan akan mengakibatkan peningkatan variabel Profit sebesar 1,07242 satuan.
Berdasarkan hal tersebut, beberapa hal yang perlu dilakukan oleh pebisnis di daerah California untuk mencapai Profit maksimal adalah meningkatkan Sales atau penjualan, menurunkan COGS, dan menurunkan Marketing atau pemasaran. Beberapa strategi yang dapat dilakukan adalah sebagai berikut.
Kirim promosi khusus melalui email & SMS berdasarkan riwayat pembelian pelanggan (Dilworth Coffee Provision Co., 2024).
Buat program loyalitas untuk pelanggan lama dan berikan after-sales service agar pelanggan melakukan pembelian berulang (Houston, 2024).
Lakukan cross-selling melalui analisis pola pembelian, pelanggan yang pernah membeli A lebih mungkin tertarik untuk membeli B jika ditawarkan pada waktu yang tepat (Houston, 2024).
Bangun hubungan jangka panjang dengan pemasok lokal (dekat dengan lokasi bisnis anda) untuk mendapatkan harga lebih murah dan dapat memangkas ongkos kirim (Rivero, 2025).
Beli bakan baku yang tahan lama dalam volume besar (FoodRazor, 2021).
Sediakan sesuatu yang dapat mendorong pelanggan membagikan konten ke sosial media, seperti dinding dengan mural atau cangkir yang estetik (Dilworth Coffee Provision Co., 2024).
Berikan diskon pada pelanggan yang mereferensikan bisnis anda kepada temannya (The Team, 2023).
Belsley, David, A., Kuh, Edwin, Welsh, Roy, E. 1980. Regression Diagnostics: Identifying Influential Data and Sources of Collinearity. New York. John Wiley & Sons.
Breusch, T. S. & Pagan, A. R. (1979). A Simple Test for Heteroskedasticity and Random Coefficient Variation. Econometrica. 47(5): 1287–1294.
Dilworth Coffee Provision Co. 2024. Coffee Shop Marketing Strategies on A Budget. tautan: https://pro.dilworthcoffee.com/blogs/news/coffee-shop-marketing-strategies-on-a-budget?srsltid=AfmBOorKlBck10YjFpYDNdppL2YNRS4taBWDX_9IqAHs6w6PMmDYM0dw&utm.com. Diakses pada 10 Mei 2025.
Durbin, J. & Watson, G. S. (1971). Testing for serial correlation in least squares regression.III. Biometrika. 58 (1): 1–19.
Fisher, R. A. 1925. Statistical Methods for Research Workers. Edinburgh. Oliver and Boyd.
FoodRazor. 2021. 6 Ways to Lower Your COGS. tautan: https://modernrestaurantmanagement.com/6-ways-to-lower-your-cogs-sponsored-post/.com. Diakses pada 10 Mei 2025.
Houston, M. 2024. 7 Tips to Increase Sales and Make More Money in Your Business. tautab: https://www.forbes.com/sites/melissahouston/2024/09/28/7-tips-to-increase-sales-and-make-more-money-in-your-business.com. Diakses pada 10 Mei 2025.
Kolmogorov, A. N. 1933. Sulla determinazione empirica di una legge di distribuzione. Giornale dell’ Instituto Italiano degli Attuari. 4:83–91.
Kutner, M. H., Nachtsheim, C. J., & Neter, J. 2004. Applied Linear Regression Models (4th ed.). McGraw-Hill Irwin.
Ramsey, J. B. 1969. Tests for Specification Errors in Classical Linear Least Squares Regression Analysis. Journal of the Royal Statistical Society, Series B. 31(2): 350–371.
Rivero, L. 2025. How Much Does It Cost to Open a Coffee Shop in 2024? Managing COst of Goods Sold and Labor. tautan: https://www.taxfyle.com/blog/cost-of-goods-sold-and-labor-for-coffee-shops.com. Diakses pada 10 Mei 2025.
Rousseeuw, P. J. & Hubert, M. 1997. Robust Regression with Continuous and Binary Regressors. Journal of Statistical Planning an Inference. 57:153-163.
STUDENT. 1908. The Probable Error of A Mean. Biometrika. 6(1):1-25.
The Team. 2023. 7 Low-cost Marketing Strategies for Small Business. tautan: https://employmenthero.com/blog/low-cost-marketing-strategies.com. Diakses pada 10 Mei 2025.
Yule, G. U. 1897. On the Theory of Correlation. Journal of the Royal Statistical Society. 60(4):812-854.