Profitabilitas merupakan indikator utama keberhasilan bisnis. Bagi perusahaan Coffee Chain yang beroperasi di berbagai wilayah Amerika Serikat, memahami faktor-faktor yang paling signifikan memengaruhi profit menjadi sangat penting untuk pengambilan keputusan strategis — mulai dari pengelolaan biaya operasional, alokasi anggaran pemasaran, hingga strategi ekspansi pasar.
Dataset yang digunakan mencakup 4.248 observasi transaksi pada periode Januari 2012 hingga Desember 2013, dengan cakupan 20 negara bagian, 4 region pasar, dan 4 jenis produk utama (Coffee, Tea, Espresso, Herbal Tea).
Insight Utama: Variabel mana yang paling signifikan memengaruhi Profit Coffee Chain?
Analisis ini bertujuan untuk:
library(readxl)
library(dplyr)
library(ggplot2)
library(corrplot)
library(car)
library(sandwich)
library(lmtest)
library(nortest)
library(gridExtra)
library(scales)
library(kableExtra)
df <- read_excel("C:/Users/AXIOO/Downloads/1. Tugas SIM 2025B - Coffee Chain Datasets/1. Tugas SIM 2025B - Coffee Chain Datasets.xlsx")
# Dimensi data
cat("Jumlah observasi :", nrow(df), "\n")
## Jumlah observasi : 4248
cat("Jumlah variabel :", ncol(df), "\n")
## Jumlah variabel : 20
# Struktur data
glimpse(df)
## 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…
# Cek missing values
cat("Missing values per kolom:\n")
## Missing values per kolom:
colSums(is.na(df))
## Area Code Date Market Market Size Product
## 0 0 0 0 0
## Product Line Product Type State Type Budget COGS
## 0 0 0 0 0
## Budget Margin Budget Profit Budget Sales COGS Inventory
## 0 0 0 0 0
## Margin Marketing Profit Sales Total Expenses
## 0 0 0 0 0
# Cek duplikat
cat("Jumlah baris duplikat:\n")
## Jumlah baris duplikat:
sum(duplicated(df))
## [1] 0
Tidak semua variabel dapat digunakan sebagai prediktor sehingga perlu dilakukan pemilihan variabel.
Variabel yang digunakan:
Variabel yang tidak digunakan:
df_model <- df %>%
select(Profit, Sales, COGS, Marketing, Inventory,
Market, `Market Size`, `Product Type`, Type) %>%
rename(
Market_Size = `Market Size`,
Product_Type = `Product Type`
) %>%
mutate(
Market = factor(Market),
Market_Size = factor(Market_Size),
Product_Type = factor(Product_Type),
Type = factor(Type)
)
# Variabel numerik
summary_num <- df_model %>%
select(Profit, Sales, COGS, Marketing, Inventory) %>%
summary()
print(summary_num)
## Profit Sales COGS Marketing
## Min. :-638.0 Min. : 17 Min. : 0.00 Min. : 0.00
## 1st Qu.: 17.0 1st Qu.:100 1st Qu.: 43.00 1st Qu.: 13.00
## Median : 40.0 Median :138 Median : 60.00 Median : 22.00
## Mean : 61.1 Mean :193 Mean : 84.43 Mean : 31.19
## 3rd Qu.: 92.0 3rd Qu.:230 3rd Qu.:100.00 3rd Qu.: 39.00
## Max. : 778.0 Max. :912 Max. :364.00 Max. :156.00
## Inventory
## Min. :-3534.0
## 1st Qu.: 432.0
## Median : 619.0
## Mean : 749.4
## 3rd Qu.: 910.5
## Max. : 8252.0
# Distribusi variabel kategorikal
cat("\nDistribusi Market:\n"); table(df_model$Market)
##
## Distribusi Market:
##
## Central East South West
## 1344 888 672 1344
cat("\nDistribusi Market Size:\n"); table(df_model$Market_Size)
##
## Distribusi Market Size:
##
## Major Market Small Market
## 1704 2544
cat("\nDistribusi Product Type:\n"); table(df_model$Product_Type)
##
## Distribusi Product Type:
##
## Coffee Espresso Herbal Tea Tea
## 1056 1176 1056 960
cat("\nDistribusi Type:\n"); table(df_model$Type)
##
## Distribusi Type:
##
## Decaf Regular
## 1848 2400
profit_neg <- sum(df_model$Profit < 0)
pct_neg <- round(profit_neg / nrow(df_model) * 100, 1)
p1 <- ggplot(df_model, aes(Profit)) +
geom_histogram(bins = 40, fill = "steelblue", color = "white") +
geom_vline(xintercept = mean(df_model$Profit),
linetype = "dashed", color = "red", linewidth = 0.8) +
annotate("text",
x = mean(df_model$Profit) + 30, y = Inf, vjust = 1.5,
label = paste0("Mean = ", round(mean(df_model$Profit), 1)),
color = "red", size = 3.5) +
labs(title = "Distribusi Profit",
subtitle = paste0(profit_neg, " observasi (", pct_neg, "%) dengan Profit negatif"),
x = "Profit", y = "Frekuensi") +
theme_minimal()
p1
Interpretasi: Distribusi Profit bersifat right-skewed dengan rata-rata 61.1 dan rentang -638 hingga 778. Terdapat 528 observasi (12.4%) dengan nilai profit negatif, mencerminkan kondisi bisnis nyata di mana sebagian transaksi mengalami kerugian operasional. Observasi ini dipertahankan dalam analisis untuk menghindari selection bias.
cor_matrix <- cor(df_model[, c("Profit","Sales","COGS","Marketing","Inventory")])
corrplot(cor_matrix,
method = "color",
addCoef.col = "black",
tl.col = "black",
tl.srt = 45,
title = "Matriks Korelasi Variabel Numerik",
mar = c(0, 0, 2, 0))
Interpretasi:
Salesmemiliki korelasi tertinggi denganProfit(r = 0,80), diikutiCOGS(r = 0,46).SalesdanCOGSsendiri berkorelasi cukup tinggi (r = 0,87), yang akan dievaluasi lebih lanjut melalui uji VIF. Nilai R² yang tinggi pada model perlu diinterpretasikan secara hati-hati karena sebagian besar dapat dijelaskan oleh hubungan mekanistik antara Sales, COGS, dan Profit — bukan semata-mata karena kekuatan prediktif model secara umum.
p_market <- ggplot(df_model, aes(Market, Profit, fill = Market)) +
geom_boxplot(show.legend = FALSE) +
coord_flip() +
labs(title = "Profit per Market", x = "Market", y = "Profit") +
theme_minimal()
p_size <- ggplot(df_model, aes(Market_Size, Profit, fill = Market_Size)) +
geom_boxplot(show.legend = FALSE) +
labs(title = "Profit per Market Size", x = "Market Size", y = "Profit") +
theme_minimal()
p_prodtype <- ggplot(df_model, aes(Product_Type, Profit, fill = Product_Type)) +
geom_boxplot(show.legend = FALSE) +
coord_flip() +
labs(title = "Profit per Product Type", x = "Product Type", y = "Profit") +
theme_minimal()
p_type <- ggplot(df_model, aes(Type, Profit, fill = Type)) +
geom_boxplot(show.legend = FALSE) +
labs(title = "Profit per Type", x = "Type", y = "Profit") +
theme_minimal()
gridExtra::grid.arrange(p_market, p_size, p_prodtype, p_type, ncol = 2)
Interpretasi:
- Market: Region Central dan East memiliki median profit tertinggi; region South cenderung lebih rendah.
- Market Size: Major Market secara konsisten menghasilkan profit lebih tinggi dibanding Small Market, dengan perbedaan median yang mencolok.
- Product Type: Coffee memiliki median profit tertinggi secara deskriptif (univariate). Namun perlu dicatat, gambaran ini belum mengontrol variabel lain — hasil regresi multivariat pada bagian selanjutnya akan memberikan perspektif yang berbeda setelah ceteris paribus diterapkan.
- Type: Produk Regular cenderung menghasilkan profit sedikit lebih tinggi dibanding Decaf.
ggplot(df_model, aes(Sales, Profit)) +
geom_point(alpha = 0.3, size = 1) +
geom_smooth(method = "lm", se = TRUE, color = "red") +
facet_wrap(~Product_Type) +
labs(title = "Sales vs Profit per Product Type",
subtitle = "Garis merah = regresi linear; area abu-abu = confidence interval 95%",
x = "Sales", y = "Profit") +
theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'
Interpretasi: Hubungan positif antara
SalesdanProfitkonsisten di semua jenis produk. Kemiringan garis (slope) terlihat paling curam pada Espresso, mengindikasikan setiap kenaikan penjualan Espresso memberikan tambahan profit yang lebih besar dibanding jenis produk lainnya.
model <- lm(Profit ~ Sales + COGS + Marketing + Inventory +
Market + Market_Size + Product_Type + Type,
data = df_model)
summary(model)
##
## Call:
## lm(formula = Profit ~ Sales + COGS + Marketing + Inventory +
## Market + Market_Size + Product_Type + Type, data = df_model)
##
## Residuals:
## Min 1Q Median 3Q Max
## -129.799 -10.393 -0.062 9.011 104.807
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -2.467e+01 1.187e+00 -20.789 < 2e-16 ***
## Sales 1.225e+00 5.763e-03 212.533 < 2e-16 ***
## COGS -1.311e+00 1.756e-02 -74.655 < 2e-16 ***
## Marketing -1.433e+00 2.039e-02 -70.274 < 2e-16 ***
## Inventory 6.564e-03 7.824e-04 8.390 < 2e-16 ***
## MarketEast -1.595e+00 8.896e-01 -1.793 0.07311 .
## MarketSouth 1.959e+00 1.004e+00 1.951 0.05113 .
## MarketWest -8.340e-01 8.173e-01 -1.020 0.30762
## Market_SizeSmall Market -3.359e+00 7.165e-01 -4.688 2.84e-06 ***
## Product_TypeEspresso 4.330e+00 8.656e-01 5.003 5.88e-07 ***
## Product_TypeHerbal Tea 2.773e+00 1.059e+00 2.619 0.00886 **
## Product_TypeTea 5.166e+00 9.808e-01 5.267 1.46e-07 ***
## TypeRegular -1.593e+00 9.137e-01 -1.743 0.08139 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 20.19 on 4235 degrees of freedom
## Multiple R-squared: 0.9607, Adjusted R-squared: 0.9606
## F-statistic: 8628 on 12 and 4235 DF, p-value: < 2.2e-16
Dalam model regresi ini, variabel kategorikal dikodekan menggunakan dummy variables dengan satu kategori sebagai referensi. Semua koefisien kategorikal diinterpretasikan relatif terhadap kategori referensi berikut:
Market : Central Market Size : Major Market Product Type : Coffee Type : Decaf
Sebelum menginterpretasikan koefisien regresi, perlu dipastikan bahwa asumsi-asumsi Classical Linear Regression Model (CLRM) terpenuhi. Lima asumsi utama yang diuji adalah: (1) Normalitas residual, (2) Homoskedastisitas, (3) Multikolinearitas, (4) Independensi residual, dan (5) Linearitas.
residuals_df <- data.frame(
resid = residuals(model),
fitted = fitted(model)
)
p_hist <- ggplot(residuals_df, aes(x = resid)) +
geom_histogram(aes(y = after_stat(density)),
bins = 40, fill = "steelblue", color = "white") +
geom_density(color = "red", linewidth = 1) +
stat_function(fun = dnorm,
args = list(mean = mean(residuals_df$resid),
sd = sd(residuals_df$resid)),
color = "orange", linewidth = 1, linetype = "dashed") +
labs(title = "Histogram Residual",
subtitle = "Merah = density aktual; Oranye = kurva normal teoritis",
x = "Residual", y = "Density") +
theme_minimal()
p_qq <- ggplot(residuals_df, aes(sample = resid)) +
stat_qq(alpha = 0.3, size = 1) +
stat_qq_line(color = "red", linewidth = 1) +
labs(title = "Q-Q Plot Residual",
subtitle = "Titik idealnya mengikuti garis merah",
x = "Theoretical Quantiles", y = "Sample Quantiles") +
theme_minimal()
gridExtra::grid.arrange(p_hist, p_qq, ncol = 2)
ad_test <- ad.test(residuals(model))
print(ad_test)
##
## Anderson-Darling normality test
##
## data: residuals(model)
## A = 80.835, p-value < 2.2e-16
Interpretasi Normalitas: Uji Anderson-Darling menghasilkan p-value < 0,05, sehingga secara formal asumsi normalitas residual ditolak. Namun pada sampel besar (n = 4.248), uji ini sangat sensitif terhadap deviasi kecil yang tidak bermakna secara praktis. Q-Q plot menunjukkan distribusi residual mendekati normal di bagian tengah, dengan deviasi hanya pada ekor (heavy tails) akibat outlier — kondisi yang lazim pada data keuangan. Asumsi normalitas tidak menjadi syarat mutlak untuk validitas koefisien; koreksi inferensi dilakukan melalui robust standard error pada tahap berikutnya.
p_rvf <- ggplot(residuals_df, aes(fitted, resid)) +
geom_point(alpha = 0.3, size = 1) +
geom_hline(yintercept = 0, linewidth = 0.8) +
geom_smooth(method = "loess", se = FALSE, color = "red") +
labs(title = "Residuals vs Fitted",
x = "Fitted Values", y = "Residuals") +
theme_minimal()
p_scale <- ggplot(residuals_df, aes(fitted, sqrt(abs(resid)))) +
geom_point(alpha = 0.3, size = 1) +
geom_smooth(method = "loess", se = FALSE, color = "red") +
labs(title = "Scale-Location",
x = "Fitted Values", y = expression(sqrt("|Residuals|"))) +
theme_minimal()
gridExtra::grid.arrange(p_rvf, p_scale, ncol = 2)
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
bp_test <- bptest(model)
print(bp_test)
##
## studentized Breusch-Pagan test
##
## data: model
## BP = 1113.8, df = 12, p-value < 2.2e-16
Interpretasi Homoskedastisitas: Uji Breusch-Pagan menghasilkan p-value < 0,05, mengindikasikan adanya heteroskedastisitas. varians residual tidak konstan dan cenderung membesar seiring meningkatnya nilai fitted. Kondisi ini umum terjadi pada data keuangan dengan skala nilai yang bervariasi. Keberadaan heteroskedastisitas menyebabkan standard error OLS menjadi tidak konsisten sehingga uji signifikansi standar tidak dapat diandalkan.
vif(model)
## GVIF Df GVIF^(1/(2*Df))
## Sales 7.903145 1 2.811253
## COGS 14.531994 1 3.812085
## Marketing 3.162011 1 1.778205
## Inventory 2.786649 1 1.669326
## Market 1.340252 3 1.050020
## Market_Size 1.284958 1 1.133560
## Product_Type 2.285431 3 1.147699
## Type 2.137982 1 1.462184
Interpretasi Multikolinearitas: Semua variabel memiliki nilai VIF di bawah ambang batas kritis (VIF < 5 untuk prediktor numerik, GVIF yang disesuaikan untuk variabel kategorikal). Tidak ada indikasi multikolinearitas yang mengkhawatirkan. Meskipun
SalesdanCOGSberkorelasi tinggi secara bivariat (r = 0,87), keduanya masih memberikan kontribusi informasi yang cukup berbeda dalam model multivariat sehingga estimasi koefisien tetap stabil.
dw_test <- dwtest(model)
print(dw_test)
##
## Durbin-Watson test
##
## data: model
## DW = 1.708, p-value < 2.2e-16
## alternative hypothesis: true autocorrelation is greater than 0
Interpretasi Autokorelasi: Uji Durbin-Watson menghasilkan p-value < 0,05, namun karena data tidak dimodelkan sebagai deret waktu terstruktur, indikasi autokorelasi ini kemungkinan berasal dari urutan data, bukan dependensi temporal yang bermakna. Oleh karena itu, hasil ini diinterpretasikan secara hati-hati.
Untuk memastikan inferensi yang robust, digunakan Newey-West HAC standard error yang mampu mengakomodasi heteroskedastisitas dan potensi autokorelasi secara bersama-sama.
nw_se <- NeweyWest(model)
nw_test <- coeftest(model, vcov = nw_se)
print(nw_test)
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -24.6741438 1.8875321 -13.0722 < 2.2e-16 ***
## Sales 1.2248225 0.0236115 51.8740 < 2.2e-16 ***
## COGS -1.3111150 0.0462109 -28.3724 < 2.2e-16 ***
## Marketing -1.4326742 0.0275009 -52.0956 < 2.2e-16 ***
## Inventory 0.0065642 0.0021513 3.0514 0.002292 **
## MarketEast -1.5946559 1.9287348 -0.8268 0.408403
## MarketSouth 1.9588549 1.7879750 1.0956 0.273329
## MarketWest -0.8339772 1.8308497 -0.4555 0.648763
## Market_SizeSmall Market -3.3588751 0.7846388 -4.2808 1.904e-05 ***
## Product_TypeEspresso 4.3302030 0.9493310 4.5613 5.227e-06 ***
## Product_TypeHerbal Tea 2.7727213 1.0132802 2.7364 0.006238 **
## Product_TypeTea 5.1657770 0.9820121 5.2604 1.508e-07 ***
## TypeRegular -1.5925795 0.5063549 -3.1452 0.001671 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Catatan metodologis: Semua kesimpulan signifikansi variabel pada bagian Interpretasi mengacu pada hasil Newey-West HAC di atas, bukan pada output OLS standar maupun HC1.
ggplot(residuals_df, aes(fitted, resid)) +
geom_point(alpha = 0.3, size = 1) +
geom_hline(yintercept = 0, color = "black", linewidth = 0.8) +
geom_smooth(method = "loess", se = FALSE, color = "red", linewidth = 1) +
labs(title = "Uji Linearitas: Residuals vs Fitted",
subtitle = "Garis merah idealnya mendatar di sekitar nol",
x = "Fitted Values", y = "Residuals") +
theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'
Interpretasi Linearitas: Garis loess (merah) relatif mendatar di sekitar nol tanpa pola kurvilinear yang sistematis, sehingga asumsi linearitas terpenuhi secara memadai. Penyebaran yang melebar pada nilai fitted yang lebih tinggi merupakan cerminan dari heteroskedastisitas yang telah terdeteksi sebelumnya.
|
Berdasarkan hasil model regresi, R² = 0.9607 dan Adjusted R² = 0.9606, artinya model mampu menjelaskan sekitar 96.1% variasi Profit. F-test signifikan (p < 0,001), artinya model secara keseluruhan valid secara statistik.
Sales (β = 1.2248, p < 0,001 ***): Setiap kenaikan 1 unit Sales meningkatkan Profit sebesar ≈ 1.2248 unit. Sales adalah prediktor numerik paling dominan dengan pengaruh positif terbesar.
COGS (β = -1.3111, p < 0,001 ***): Setiap kenaikan 1 unit COGS menurunkan Profit sebesar ≈ 1.3111 unit. Hubungan negatif ini sesuai ekspektasi teoritis — biaya produksi langsung yang lebih tinggi menekan profitabilitas secara langsung.
Marketing (β = -1.4327, p < 0,001 ***): Setiap kenaikan 1 unit biaya Marketing menurunkan Profit sebesar ≈ 1.4327 unit. Koefisien negatif pada Marketing mengindikasikan bahwa peningkatan biaya pemasaran tidak diikuti peningkatan profit dalam jangka pendek.
Inventory (β = 0.0066, p = 0,002 **): Meskipun koefisiennya sangat kecil, pengaruh Inventory terhadap Profit terbukti signifikan.
Market Size - Small Market (β = -3.3589, p < 0,001 ***): Transaksi di Small Market menghasilkan profit lebih rendah sekitar 3.3589 unit dibanding Major Market (referensi).
Market - East, South, West (tidak signifikan): Setelah koreksi Newey-West, tidak ada satu pun region yang menunjukkan perbedaan profit signifikan dibanding Central (referensi). East (β ≈ −1,59, p = 0,41), South (β ≈ 1,96, p = 0,27), dan West (β ≈ −0,83, p = 0,65) semuanya tidak signifikan. Artinya, perbedaan antar region yang tampak pada visualisasi deskriptif tidak terbukti secara statistik setelah mengontrol variabel lain.
Product Type - Espresso, Tea, Herbal Tea (signifikan): Dibandingkan Coffee (referensi), ketiga jenis produk lainnya menghasilkan profit inkremental yang lebih tinggi dan signifikan setelah mengontrol faktor lain:
Hasil ini berbeda dari gambaran boxplot deskriptif yang menunjukkan Coffee memiliki median profit tertinggi secara univariate. Perbedaan ini wajar: regresi multivariat mengontrol variabel lain (Sales, COGS, Market, dsb.), sehingga koefisien mencerminkan pengaruh ceteris paribus dari jenis produk — bukan perbandingan rata-rata mentah.
Type - Regular (β = -1.5926, p = 0,002 **): Produk Regular menghasilkan profit lebih rendah sekitar 1.5926 unit dibanding Decaf (referensi), dan perbedaan ini signifikan secara statistik setelah koreksi Newey-West.
Analisis regresi linear berganda terhadap data Coffee Chain dengan koreksi Newey-West HAC standard error menghasilkan beberapa kesimpulan penting:
Model cukup kuat: Adjusted R² sebesar 96.1% menunjukkan kemampuan prediktif yang tinggi. Namun nilai ini perlu dibaca dengan konteks bahwa sebagian besar variansi dijelaskan oleh hubungan mekanistik Sales–COGS–Profit, bukan semata-mata oleh keragaman prediktor lainnya.
Empat faktor numerik semuanya signifikan setelah koreksi HAC:
Uji asumsi mendeteksi dua pelanggaran heteroskedastisitas dan autokorelasi, yang telah dikoreksi secara simultan menggunakan Newey-West HAC. Beberapa variabel yang tampak signifikan di bawah OLS standar (misalnya perbedaan antar region Market) terbukti tidak signifikan setelah koreksi HAC, menunjukkan adanya bias estimasi pada pendekatan naif.
Market region tidak terbukti signifikan, namun Market Size terbukti signifikan: Small Market secara struktural menghasilkan profit lebih rendah ≈ 3,36 unit dibanding Major Market.