Dataset yang digunakan adalah Coffee Chain Dataset.
Tujuan analisis ini adalah untuk melihat hubungan antara
penjualan (Sales) dan profit pada
produk kopi.
Tujuan dari analisis ini adalah untuk mengetahui hubungan antara penjualan (Sales) dan profit, serta mengeksplorasi faktor-faktor lain seperti Market dan Marketing yang dapat mempengaruhi kinerja penjualan.
Analisis dilakukan menggunakan pendekatan visualisasi data dan analisis statistik. Visualisasi digunakan untuk memahami pola distribusi dan hubungan antar variabel, sedangkan uji statistik digunakan untuk menguji perbedaan rata-rata secara signifikan.
Sebelum dilakukan proses analisis dan visualisasi data, langkah awal yang perlu dilakukan adalah menghubungkan R dengan database serta mengambil data yang akan digunakan. Tahap ini penting untuk memastikan bahwa data yang digunakan dalam analisis telah sesuai dan siap diolah.
Proses ini meliputi pembuatan koneksi ke database serta pengambilan data menggunakan file xlsx yang relevan.
Pada tahap ini, digunakan library
readxl,dplyr dan ggplot2 untuk
menghubungkan R dengan database MySQL. Koneksi ini diperlukan agar data
dapat diakses dan dianalisis secara langsung dari database.
library(readxl)
## Warning: package 'readxl' was built under R version 4.5.2
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.5.2
##
## 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.5.2
data <- read_excel("C:/Users/lenovo/Downloads/Coffee Chain Datasets.xlsx")
head(data)
## # A tibble: 6 × 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 Colombian Beans
## 3 970 2012-01-01 00:00:00 Central Major Market Decaf Ir… Beans
## 4 303 2012-01-01 00:00:00 Central Major Market Green Tea Leaves
## 5 303 2012-01-01 00:00:00 Central Major Market Caffe Mo… Beans
## 6 720 2012-01-01 00:00:00 Central Major Market Decaf Es… Beans
## # ℹ 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>
Eksplorasi data dilakukan untuk memahami struktur dan karakteristik dataset sebelum dilakukan analisis lebih lanjut. Fungsi str() digunakan untuk melihat struktur data dan tipe variabel, head() untuk menampilkan sebagian data awal, serta dim() untuk mengetahui jumlah baris dan kolom. Selanjutnya, colnames() digunakan untuk mengidentifikasi nama variabel. Data kemudian diseleksi menggunakan fungsi select() untuk mengambil variabel yang relevan, dan fungsi summary() digunakan untuk memperoleh gambaran statistik deskriptif dari data tersebut.
str(data)
## tibble [4,248 × 20] (S3: tbl_df/tbl/data.frame)
## $ Area Code : num [1:4248] 719 970 970 303 303 720 970 719 970 719 ...
## $ Date : POSIXct[1:4248], format: "2012-01-01" "2012-01-01" ...
## $ Market : chr [1:4248] "Central" "Central" "Central" "Central" ...
## $ Market Size : chr [1:4248] "Major Market" "Major Market" "Major Market" "Major Market" ...
## $ Product : chr [1:4248] "Amaretto" "Colombian" "Decaf Irish Cream" "Green Tea" ...
## $ Product Line : chr [1:4248] "Beans" "Beans" "Beans" "Leaves" ...
## $ Product Type : chr [1:4248] "Coffee" "Coffee" "Coffee" "Tea" ...
## $ State : chr [1:4248] "Colorado" "Colorado" "Colorado" "Colorado" ...
## $ Type : chr [1:4248] "Regular" "Regular" "Decaf" "Regular" ...
## $ Budget COGS : num [1:4248] 90 80 100 30 60 80 140 50 50 40 ...
## $ Budget Margin : num [1:4248] 130 110 140 50 90 130 160 80 70 70 ...
## $ Budget Profit : num [1:4248] 100 80 110 30 70 80 110 20 40 20 ...
## $ Budget Sales : num [1:4248] 220 190 240 80 150 210 300 130 120 110 ...
## $ COGS : num [1:4248] 89 83 95 44 54 72 170 63 60 58 ...
## $ Inventory : num [1:4248] 777 623 821 623 456 ...
## $ Margin : num [1:4248] 130 107 139 56 80 108 171 87 80 72 ...
## $ Marketing : num [1:4248] 24 27 26 14 15 23 47 57 19 22 ...
## $ Profit : num [1:4248] 94 68 101 30 54 53 99 0 33 17 ...
## $ Sales : num [1:4248] 219 190 234 100 134 180 341 150 140 130 ...
## $ Total Expenses: num [1:4248] 36 39 38 26 26 55 72 87 47 55 ...
head(data)
## # A tibble: 6 × 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 Colombian Beans
## 3 970 2012-01-01 00:00:00 Central Major Market Decaf Ir… Beans
## 4 303 2012-01-01 00:00:00 Central Major Market Green Tea Leaves
## 5 303 2012-01-01 00:00:00 Central Major Market Caffe Mo… Beans
## 6 720 2012-01-01 00:00:00 Central Major Market Decaf Es… Beans
## # ℹ 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>
dim(data)
## [1] 4248 20
colnames(data)
## [1] "Area Code" "Date" "Market" "Market Size"
## [5] "Product" "Product Line" "Product Type" "State"
## [9] "Type" "Budget COGS" "Budget Margin" "Budget Profit"
## [13] "Budget Sales" "COGS" "Inventory" "Margin"
## [17] "Marketing" "Profit" "Sales" "Total Expenses"
data_selected <- data %>%
select("Sales","Profit","Product Type","Market")
summary(data_selected)
## Sales Profit Product Type Market
## Min. : 17 Min. :-638.0 Length:4248 Length:4248
## 1st Qu.:100 1st Qu.: 17.0 Class :character Class :character
## Median :138 Median : 40.0 Mode :character Mode :character
## Mean :193 Mean : 61.1
## 3rd Qu.:230 3rd Qu.: 92.0
## Max. :912 Max. : 778.0
Pada visualisasi ini, digunakan library ggplot2 untuk
membuat grafik histogram. Pada visualisasi ini digunakan grafik scatter
plot untuk melihat hubungan antara Sales dan Profit.
ggplot(data_selected, aes(x = Sales, y = Profit, color = Profit)) +
geom_point() +
scale_color_gradient(low = "#E8F5BD",high = "#5B7E3C") +
labs(
title = "Hubungan Sales dan Profit",
x = "Sales",
y = "Profit")
Berdasarkan grafik yang ditampilkan, terlihat adanya kecenderungan
hubungan positif antara Sales dan Profit. Hal ini menunjukkan bahwa
semakin tinggi nilai penjualan, maka profit yang dihasilkan juga
cenderung meningkat. Selain itu, penggunaan gradasi warna menunjukkan
tingkat profit, dimana warna yang lebih gelap merepresentasikan profit
yang lebih tinggi.
Pada visualisasi ini, digunakan library ggplot2 untuk
membuat grafik histogram.Pada visualisasi ini digunakan grafik bar chart
untuk melihat jumlah transaksi pada setiap Market.
ggplot(data, aes(x = Market)) +
geom_bar(fill = "#A2CB8B") +
labs(
title = "Jumlah Transaksi per Market",
x = "Market",
y = "Jumlah"
) +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
Grafik menunjukkan bahwa jumlah transaksi pada setiap market
berbeda-beda. Beberapa market memiliki jumlah transaksi yang lebih
tinggi dibandingkan market lainnya. Hal ini mengindikasikan bahwa
aktivitas penjualan tidak merata di setiap wilayah, sehingga market
tertentu berpotensi menjadi kontributor utama dalam penjualan
perusahaan.
Pada visualisasi ini, digunakan library ggplot2 untuk
membuat grafik histogram. Pada visualisasi ini digunakan histogram untuk
melihat distribusi biaya Marketing
ggplot(data, aes(x = Marketing, fill = after_stat(count))) +
geom_histogram(bins = 15, color = "black", alpha=0.8) +
scale_fill_gradient(low = "#E8F5BD", high = "#5B7E3C") +
labs(
title = "Distribusi Biaya Marketing",
x = "Marketing",
y = "Frekuensi"
)
Histogram menunjukkan sebaran nilai Marketing pada dataset. Terlihat
bahwa sebagian besar data berada pada rentang tertentu, yang menunjukkan
bahwa perusahaan cenderung mengeluarkan biaya marketing dalam kisaran
tertentu. Jika terdapat beberapa nilai yang jauh lebih tinggi, hal ini
menunjukkan adanya variasi dalam strategi pemasaran yang dilakukan.
Untuk memperkuat hasil analisis, dilakukan uji statistik menggunakan uji t dua sampel independen untuk mengetahui apakah terdapat perbedaan rata-rata profit antar kelompok inventory tinggi dan inventory rendah.
Hipotesis
H0: Tidak terdapat perbedaan rata-rata profit antara kelompok inventory tinggi dan inventory rendah.
H1: Terdapat perbedaan rata-rata profit antara kelompok inventory tinggi dan inventory rendah
#uji t-test
data$Kategori_Inventory <- ifelse(
data$Inventory > mean(data$Inventory, na.rm = TRUE),
"High", "Low")
head(data$Kategori_Inventory)
## [1] "High" "Low" "High" "Low" "Low" "Low"
t.test(Profit ~ Kategori_Inventory, data = data)
##
## Welch Two Sample t-test
##
## data: Profit by Kategori_Inventory
## t = 13.304, df = 2494.8, p-value < 2.2e-16
## alternative hypothesis: true difference in means between group High and group Low is not equal to 0
## 95 percent confidence interval:
## 37.87105 50.96438
## sample estimates:
## mean in group High mean in group Low
## 86.23427 41.81656
Berdasarkan hasil analisis:
Nilai p-value yang sangat kecil (lebih kecil dari 0.05) menunjukkan bahwa H0 ditolak. Dengan demikian, dapat disimpulkan bahwa terdapat perbedaan rata-rata profit yang signifikan antara kelompok Inventory tinggi dan Inventory rendah.
Selain itu, rata-rata profit pada kelompok inventory tinggi lebih besar dibandingkan kelompok inventory rendah. Hal ini mengindikasikan bahwa inventory memiliki pengaruh terhadap profit yang dihasilkan perusahaan.
Berdasarkan hasil analisis yang telah dilakukan, dapat disimpulkan bahwa terdapat hubungan positif antara Sales dan Profit, dimana peningkatan penjualan cenderung diikuti oleh peningkatan profit.
Selain itu, hasil uji statistik menunjukkan bahwa terdapat perbedaan yang signifikan antara profit pada kelompok inventory tinggi dan inventory rendah. Hal ini menunjukkan bahwa pengelolaan inventory merupakan salah satu faktor penting dalam meningkatkan profit perusahaan.
Dengan demikian, perusahaan perlu memperhatikan strategi peningkatan penjualan serta pengelolaan inventory yang optimal untuk meningkatkan kinerja bisnis secara keseluruhan.