Profit merupakan indikator utama dalam menilai kinerja bisnis. Dalam industri retail seperti Coffee Chain, profit dipengaruhi oleh berbagai faktor seperti jenis produk, wilayah penjualan, dan tingkat penjualan.
Oleh karena itu, analisis ini dilakukan untuk mengidentifikasi faktor-faktor yang paling berpengaruh terhadap profit.
Insight utama yang dianalisis dalam laporan ini adalah bagaimana profit dipengaruhi oleh tiga faktor utama, yaitu Product Type, Market, dan Sales.
Pertama, analisis dilakukan untuk melihat apakah terdapat perbedaan profit antar jenis produk, yang dapat menunjukkan produk mana yang lebih menguntungkan.
Kedua, analisis terhadap market dilakukan untuk mengetahui apakah terdapat perbedaan performa profit antar wilayah, sehingga dapat mengindikasikan potensi pasar tertentu.
Ketiga, hubungan antara sales dan profit dianalisis untuk melihat apakah peningkatan penjualan secara langsung berdampak pada peningkatan profit.
Dengan memahami ketiga aspek tersebut, perusahaan dapat menentukan strategi yang lebih efektif dalam meningkatkan profit.
Pada tahap ini dilakukan koneksi ke database MySQL yang berisi Coffee Chain Dataset. Koneksi ini diperlukan agar data dapat diakses dan dianalisis menggunakan R.
library(DBI)
library(odbc)
dbConnect(odbc(),
Driver = "MySQL ODBC 8.0 ANSI Driver",
Server = "127.0.0.1",
UID = "root",
PWD = "admin123",
Port = 3306)
## <OdbcConnection> root@127.0.0.1 via TCP/IP
## Database: null
## MySQL Version: 8.0.39
coffeection = dbConnect(odbc(),
Driver = "MySQL ODBC 8.0 ANSI Driver",
Server = "127.0.0.1",
UID = "root",
PWD = "admin123",
Port = 3306,
Database = "coffee")
library(ggplot2)
Data diambil dari beberapa tabel yang saling berhubungan, yaitu factTable, Product, dan Location. Penggabungan dilakukan menggunakan JOIN untuk mendapatkan informasi yang lengkap.
datakopi = dbGetQuery(coffeection, "SELECT
f.Profit,
f.Sales,
f.Marketing,
p.Product,
p.`Product Type`,
l.Market,
l.`Market Size`
FROM factTable f
JOIN Product p ON f.ProductId = p.ProductId
JOIN Location l ON f.`Area Code` = l.`Area Code`")
Eksplorasi data dilakukan untuk memahami struktur dataset, tipe data, nama kolom, serta ringkasan statistik dari setiap variabel sebelum dilakukan analisis lebih lanjut.
head(datakopi)
## Profit Sales Marketing Product Product Type Market Market Size
## 1 94 219 24 Amaretto Coffee Central Major Market
## 2 68 190 27 Colombian Coffee Central Major Market
## 3 101 234 26 Decaf Irish Cream Coffee Central Major Market
## 4 30 100 14 Green Tea Tea Central Major Market
## 5 54 134 15 Caffe Mocha Espresso Central Major Market
## 6 53 180 23 Decaf Espresso Espresso Central Major Market
tail(datakopi)
## Profit Sales Marketing Product Product Type Market Market Size
## 4243 68 128 13 Lemon Herbal Tea West Small Market
## 4244 19 60 7 Caffe Latte Espresso West Small Market
## 4245 34 155 24 Caffe Mocha Espresso West Small Market
## 4246 76 188 24 Decaf Espresso Espresso West Small Market
## 4247 86 188 23 Colombian Coffee West Small Market
## 4248 30 266 95 Decaf Irish Cream Coffee West Small Market
str(datakopi)
## 'data.frame': 4248 obs. of 7 variables:
## $ Profit : int 94 68 101 30 54 53 99 0 33 17 ...
## $ Sales : int 219 190 234 100 134 180 341 150 140 130 ...
## $ Marketing : int 24 27 26 14 15 23 47 57 19 22 ...
## $ Product : chr "Amaretto" "Colombian" "Decaf Irish Cream" "Green Tea" ...
## $ Product Type: chr "Coffee" "Coffee" "Coffee" "Tea" ...
## $ Market : chr "Central" "Central" "Central" "Central" ...
## $ Market Size : chr "Major Market" "Major Market" "Major Market" "Major Market" ...
colnames(datakopi) = c("Profit", "Sales", "Marketing", "Product", "Product_Type", "Market", "Market_Size")
colnames(datakopi)
## [1] "Profit" "Sales" "Marketing" "Product" "Product_Type"
## [6] "Market" "Market_Size"
summary(datakopi)
## Profit Sales Marketing Product
## Min. :-638.0 Min. : 17 Min. : 0.00 Length:4248
## 1st Qu.: 17.0 1st Qu.:100 1st Qu.: 13.00 Class :character
## Median : 40.0 Median :138 Median : 22.00 Mode :character
## Mean : 61.1 Mean :193 Mean : 31.19
## 3rd Qu.: 92.0 3rd Qu.:230 3rd Qu.: 39.00
## Max. : 778.0 Max. :912 Max. :156.00
## Product_Type Market Market_Size
## Length:4248 Length:4248 Length:4248
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
Visualisasi data dilakukan untuk membantu memahami pola dan hubungan antar variabel dalam dataset secara lebih intuitif. Dengan menggunakan visualisasi, perbedaan distribusi dan kecenderungan data dapat terlihat dengan lebih jelas dibandingkan hanya menggunakan tabel atau angka.
Visualisasi ini digunakan untuk melihat distribusi profit pada setiap jenis produk serta membandingkan rata-rata profit antar kategori.
meankopi = aggregate(Profit ~ Product_Type, data = datakopi, mean)
ggplot(datakopi, aes(x = Product_Type, y = Profit, fill = Product_Type)) +
geom_boxplot() +
stat_summary(fun = mean, geom = "point", shape = 23, size = 3, fill = "pink") +
geom_text(data = meankopi,
aes(x = Product_Type, y = Profit,
label = round(Profit,1)),
vjust = -1) +
labs(
title = "Distribusi Profit berdasarkan Product Type",
x = "Product Type",
y = "Profit"
) +
theme_minimal()
Terdapat perbedaan distribusi profit antar product type. Beberapa kategori memiliki rata-rata profit yang lebih tinggi, yang menunjukkan bahwa tidak semua produk memberikan kontribusi keuntungan yang sama.
Visualisasi ini bertujuan untuk melihat perbedaan distribusi profit antar wilayah (market) serta mengidentifikasi market yang memiliki performa lebih baik.
meanmarket = aggregate(Profit ~ Market, data = datakopi, mean)
ggplot(datakopi, aes(x = Market, y = Profit, fill = Market)) +
geom_boxplot() +
stat_summary(fun = mean, geom = "point", shape = 23, size = 3, fill = "lightblue") +
geom_text(data = meanmarket,
aes(x = Market, y = Profit,
label = round(Profit,1)),
vjust = -1) +
labs(
title = "Distribusi Profit berdasarkan Market",
x = "Market",
y = "Profit"
) +
theme_minimal()
Distribusi profit berbeda pada setiap market. Hal ini menunjukkan bahwa terdapat perbedaan performa antar wilayah, sehingga beberapa market lebih berpotensi menghasilkan profit yang lebih tinggi.
Visualisasi ini digunakan untuk melihat hubungan antara sales dan profit, serta mengetahui apakah peningkatan sales berdampak pada profit.
ggplot(datakopi, aes(x = Sales, y = Profit)) +
geom_point(color = "black", alpha = 0.6) +
geom_smooth(method = "lm", color = "red") +
labs(
title = "Hubungan Sales dan Profit",
x = "Sales",
y = "Profit"
) +
theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'
Grafik menunjukkan adanya hubungan positif antara sales dan profit. Hal ini berarti semakin tinggi penjualan, maka profit cenderung meningkat.
Analisis dilakukan untuk memperkuat hasil visualisasi dengan melihat rata-rata profit, hubungan antar variabel, serta tingkat variasi data.
aggregate(Profit ~ Product_Type, data = datakopi, mean)
## Product_Type Profit
## 1 Coffee 70.72254
## 2 Espresso 58.35034
## 3 Herbal Tea 59.89962
## 4 Tea 55.19375
Hasil menunjukkan bahwa rata-rata profit berbeda pada setiap product type. Hal ini mengindikasikan bahwa tidak semua jenis produk memberikan kontribusi keuntungan yang sama. Produk dengan rata-rata profit lebih tinggi dapat dianggap lebih menguntungkan bagi perusahaan.
aggregate(Profit ~ Market, data = datakopi, mean)
## Market Profit
## 1 Central 69.83036
## 2 East 66.68581
## 3 South 48.33036
## 4 West 55.05655
Terdapat perbedaan rata-rata profit antar market. Hal ini menunjukkan bahwa faktor wilayah berpengaruh terhadap kinerja profit. Perbedaan ini dapat disebabkan oleh karakteristik konsumen atau kondisi pasar yang berbeda di setiap wilayah.
cor(datakopi$Sales, datakopi$Profit)
## [1] 0.7973309
Nilai korelasi menunjukkan hubungan positif antara sales dan profit. Hal ini berarti peningkatan penjualan cenderung diikuti dengan peningkatan profit. Namun, hubungan ini tidak selalu kuat, sehingga peningkatan sales tidak selalu menghasilkan profit yang sebanding.
model <- lm(Profit ~ Sales, data = datakopi)
summary(model)
##
## Call:
## lm(formula = Profit ~ Sales, data = datakopi)
##
## Residuals:
## Min 1Q Median 3Q Max
## -606.28 -9.15 11.77 28.31 466.85
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -42.456004 1.527850 -27.79 <2e-16 ***
## Sales 0.536582 0.006233 86.08 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 61.39 on 4246 degrees of freedom
## Multiple R-squared: 0.6357, Adjusted R-squared: 0.6357
## F-statistic: 7410 on 1 and 4246 DF, p-value: < 2.2e-16
Hasil regresi menunjukkan bahwa Sales memiliki pengaruh positif terhadap Profit. Koefisien positif menunjukkan bahwa setiap peningkatan sales akan meningkatkan profit.
Namun, model ini masih sederhana karena hanya mempertimbangkan satu variabel. Hal ini terlihat dari kemungkinan masih adanya variasi profit yang tidak dapat dijelaskan oleh sales saja.
Dengan demikian, faktor lain seperti jenis produk dan market juga berperan dalam menentukan profit.
Profit dipengaruhi oleh jenis produk, market, dan tingkat penjualan. Perusahaan dapat meningkatkan profit dengan fokus pada produk dan market yang memiliki performa terbaik.
dbDisconnect(coffeection)
```