Data yang digunakan

Data yang digunakan merupakan data Coffee Chain yang berisi tentang penjualan produk kopi dan teh dari sebuah rantai toko kopi. Dari data tersebut kita menggunakan data ‘Product’ dan ‘Sales’ untuk melihat persebaran penjualan yang ada pada rantai toko tersebut.

Analisis dilakukan menggunakan metode analisis deskriptif untuk memberikan gambaran umum dan ringkasan statistik dari penjualan tersebut. Hal itu akan membantu mengetahui rata-rata dan nilai tengah penjualan, dan menyajikan data dalam bentuk yang lebih mudah dipahami melalui grafik.

Memuat packages yang dibutuhkan

library(readxl)
library(ggplot2)
library(rmarkdown)
library(knitr)
library(tinytex)

Import dataset ke dalam Rstudio

#Import data Coffee Chain
CC <- read_excel("C:/Users/Hp/Documents/3. CM1 - Coffee Chain Datasets.xlsx")
CC

Membuat dataframe untuk data yang ingin digunakan

#Membuat data_frame
DataCC <- CC[, c("Product", "Product Line", "Product Type", "Sales")]
DataCC
## # A tibble: 4,248 × 4
##    Product           `Product Line` `Product Type` Sales
##    <chr>             <chr>          <chr>          <dbl>
##  1 Amaretto          Beans          Coffee           219
##  2 Colombian         Beans          Coffee           190
##  3 Decaf Irish Cream Beans          Coffee           234
##  4 Green Tea         Leaves         Tea              100
##  5 Caffe Mocha       Beans          Espresso         134
##  6 Decaf Espresso    Beans          Espresso         180
##  7 Chamomile         Leaves         Herbal Tea       341
##  8 Lemon             Leaves         Herbal Tea       150
##  9 Mint              Leaves         Herbal Tea       140
## 10 Darjeeling        Leaves         Tea              130
## # ℹ 4,238 more rows

Ukuran Pemusatan Data

Ukuran pemusatan data digunakan untuk memberikan gambaran umum tentang pusat distribusi data. Ukuran Pemusatan Data meliputi 3 ukuran utama yaitu, Mean, Median, dan Modus.

Rata-rata

Rata-rata (Mean) adalah ukuran pemusatan data yang merujuk pada penjumlahan semua data dan kemudian dibagi dengan jumlah data yang ada atau \(n\). Hal ini memberikan gambaran mengenai titik tengah atau pusat dari data. Untuk menghitung rata-rata kita dapat menggunakan rumus sebagai berikut:

\[\bar{x} = \frac{1}{n} \sum_{i=1}^{n} x_i\] Untuk menghitung rata-rata dalam R, kita dapat menggunakan function mean seperti berikut:

## Rata - rata dari sales setiap product
productsales_avg <- aggregate(Sales ~ Product, data = DataCC, FUN = mean)
productsales_avg
##              Product    Sales
## 1           Amaretto 136.8177
## 2        Caffe Latte 166.1991
## 3        Caffe Mocha 176.8833
## 4          Chamomile 196.8177
## 5          Colombian 267.3146
## 6         Darjeeling 190.4974
## 7     Decaf Espresso 191.5735
## 8  Decaf Irish Cream 162.1042
## 9          Earl Grey 231.8472
## 10         Green Tea 114.0625
## 11             Lemon 199.8458
## 12              Mint 185.9896
## 13  Regular Espresso 333.7639

Dari tabel yang dihasilkan diatas, kita dapat menyimpulkan bahwa produk Reguler Espresso mempunyai rata-rata penjualan tertinggi sebanyak 333.76. Sementara produk green tea mempunyai rata-rata penjualan terendah sebanyak 114.06.

Median

Median adalah nilai tengah dari data yang sudah diurutkan dari kecil hingga terbesar.

Data Ganjil

\[\frac{n+1}{2}\]

Data Genap

\[\frac{n}{2}\]

dan

\[\frac{n}{2} + 1\].

Untuk mencari median menggunakan R kita dapat menggunakan function median seperti berikut:

## Median dari sales setiap product
productsales_med <- aggregate(Sales ~ Product, data = DataCC, FUN = median)
productsales_med
##              Product Sales
## 1           Amaretto 129.0
## 2        Caffe Latte 119.0
## 3        Caffe Mocha 133.0
## 4          Chamomile 135.0
## 5          Colombian 170.0
## 6         Darjeeling 124.0
## 7     Decaf Espresso 131.0
## 8  Decaf Irish Cream 148.0
## 9          Earl Grey 189.0
## 10         Green Tea  91.0
## 11             Lemon 133.0
## 12              Mint 170.5
## 13  Regular Espresso 325.0

Dari tabel yang dihasilkan, kita dapat menyimpulkan bahwa Reguler Espresso mempunyai nilai tengah tertinggi yaitu sebanyak 325 penjualan. Hal ini menunjukkan bahwa setengah dari penjualan reguler espresso berada diatas angka 325.Sementara green tea mempunyai nilai tengah terendah yaitu sebanyak 91 penjualan. Dapat diartikan bahwa reguler espresso adalah produk yang sangat laris dan cocok untuk dilanjutkan perjualan, namun produk green tea tidak terlalu disukai oleh pengunjung dan sebaiknya ditinjau kembali.

Modus

Modus menunjukkan nilai yang paling sering muncul atau memiliki frekuensi tertinggi dalam suatu dataset. Untuk mencari modus dalam R, kita harus membuat suatu function yang dapat digunakan sebagai berikut:

## Modus dari sales setiap product
modus <- function(x) {
  uniqx <- unique(x)
  uniqx[which.max(tabulate(match(x, uniqx)))]
}
productsales_mode <- aggregate(Sales ~ Product, data = DataCC, FUN = modus)
productsales_mode
##              Product Sales
## 1           Amaretto   133
## 2        Caffe Latte    43
## 3        Caffe Mocha   104
## 4          Chamomile   110
## 5          Colombian   114
## 6         Darjeeling    80
## 7     Decaf Espresso    43
## 8  Decaf Irish Cream   190
## 9          Earl Grey   150
## 10         Green Tea    43
## 11             Lemon   190
## 12              Mint   190
## 13  Regular Espresso    65

Dari tabel yang dihasilkan, kita dapat menyimpulkan bahwa produk Decaf Irish Cream, Lemon, dan Mint mempunyai nilai modus yang tinggi yaitu sebanyak 190. Artinya penjualan tertinggi paling sering dicapai oleh 3 produk tersebut. Sementara produk caffe latte, decaf espresso, dan green tea mempunyai nilai modus terendah sebanyak 43. Artinya 3 produk tersebut sering kali mendapatkan penjualan terendah selama 2 tahun tersebut.

Ukuran Penyebaran Data

Ukuran Penyebaran Data menunjukkan seberapa tersebar atau bervariasinya data terhadap ukuran pemusatan (khususnya mean). Semakin besar penyebaran, semakin bervarias data tersebut. Ukuran Penyebaran Data meliputi 4 ukuran yaitu, Range, Variansi, Standar deviasi, dan Simpangan kuartil.

Range

Range adalah ukuran penyebaran data yang menunjukkan seberapa lebar suatu sebaran data itu berada. Nilai range didapatkan dengan mencari selisih dari nilai data tertinggi (maksimum) dengan nilai data terendah (minimum). Untuk mencarinya kita dapat menggunakan rumus sebagai berikut:

\[Range = Maks - Min\]

Dalam R tidak terdapat function yang dapat digunakan, oleh karena itu kita dapat membuat suatu function range untuk mencari nilai maksimum dan minimum kemudian mencari selisihnya.

productsales_range <- aggregate(Sales ~ Product, data = DataCC,
                                FUN = function(x) max(x, na.rm = TRUE) - min(x, na.rm = TRUE))
productsales_range
##              Product Sales
## 1           Amaretto   283
## 2        Caffe Latte   491
## 3        Caffe Mocha   648
## 4          Chamomile   648
## 5          Colombian   851
## 6         Darjeeling   648
## 7     Decaf Espresso   646
## 8  Decaf Irish Cream   353
## 9          Earl Grey   671
## 10         Green Tea   324
## 11             Lemon   741
## 12              Mint   286
## 13  Regular Espresso   770

Dari tabel yang dihasilkan kita dapat menyimpulkan bahwa produk Colombian mempunyai nilai range tertinggi sebanyak 851, artinya produk ini mempunyai penjualan yang cukup fluktuatif dengan adanya penjualan yang rendah kemudian diikuti dengan penjualan yang tinggi. Sementara itu produk amaretto mempunyai nilai range terendah sebanyak 283, artinya produk ini mempunyai penjualan yang lebih stabil dibanding produk produk yang lain.

Varians

Varians adalah ukuran penyebaran data yang menunjukkan penyebaran data yang menjauh dari rata rata. Ukuran ini membantu dalam menggambarkan keragaman dari dataset yang digunakan. Lebih besar nilai variansnya maka semakin besar juga penyebaran datanya, begitu juga sebaliknya.

Nilai varians dari sebuah sampel didapatkan dengan menggunakan rumus:

\[s^2 = \sum_{i=1}^{n} \frac{(x_i-\mu)^2}{n-1}\]

Untuk mencari nilai varians dalam R kita dapat menggunakan function var().

## Varians dari sales setiap product
productsales_var <- aggregate(Sales ~ Product, data = DataCC, FUN = function(x) var(x))
productsales_var
##              Product     Sales
## 1           Amaretto  3713.448
## 2        Caffe Latte 18154.011
## 3        Caffe Mocha 16816.500
## 4          Chamomile 20341.387
## 5          Colombian 47878.584
## 6         Darjeeling 24323.692
## 7     Decaf Espresso 23075.705
## 8  Decaf Irish Cream  6184.506
## 9          Earl Grey 25503.057
## 10         Green Tea  5065.850
## 11             Lemon 24275.897
## 12              Mint  4562.660
## 13  Regular Espresso 51624.774

Dari tabel yang dihasilkan, kita dapat menyimpulkan bahwa produk Reguler Espresso mempunyai nilai varians tertinggi sebanyak 51624.77, artinya produk ini mempunyai penyebaran yang fluktuatif dan tidak konsisten. Sementara itu, produk amaretto mempunyai nilai varians paling rendah sebanyak 3713.44, artinya produk ini mempunyai penyebaran penjualan yang lebih konsisten dibanding produk lainnya.

Standar Deviasi

Standar Deviasi atau simpangan baku adalah akar kuadrat dari varians. Ukuran ini lebih mudah digunakan dibandingkan varians karena berada pada skala yang sama dengan dataset.

Untuk mencari nilai simpangan baku dalam R, kita dapat menggunakan function sd().

## simpangan baku (standar deviasi) dari sales setiap product
productsales_sd <- aggregate(Sales ~ Product, data = DataCC, FUN = function(x) sd(x))
productsales_sd
##              Product     Sales
## 1           Amaretto  60.93807
## 2        Caffe Latte 134.73682
## 3        Caffe Mocha 129.67845
## 4          Chamomile 142.62323
## 5          Colombian 218.81175
## 6         Darjeeling 155.96055
## 7     Decaf Espresso 151.90689
## 8  Decaf Irish Cream  78.64163
## 9          Earl Grey 159.69676
## 10         Green Tea  71.17478
## 11             Lemon 155.80724
## 12              Mint  67.54746
## 13  Regular Espresso 227.21086

Dari tabel yang dihasilkan, kita dapat menyimpulkan bahwa produk Reguler Espresso mempunyai nilai simpangan baku tertinggi sebanyak 227.21, artinya produk ini mempunyai penyebaran yang fluktuatif dan tidak konsisten. Sementara itu, produk amaretto mempunyai nilai simpangan baku paling rendah sebanyak 60.93, artinya produk ini mempunyai penyebaran penjualan yang lebih konsisten dibanding produk lainnya.

Simpangan Kuartil

Simpangan Kuartil adalah penyebaran data yang menunjukan persebaran data pada 50% tengah dari kumpulan data. Ukuran ini akan menggambarkan penyebaran data di sekitar median.

Nilai simpangan kuartil didapatkan dari rumus:

\[IQR = Q_3 - Q_1\]

Untuk mendapatkan simpangan kuartil dalam R, kita dapat menggunakan function quantile() untuk mencari nilai \(Q_3\) dan \(Q_1\) kemudian membuat suatu function untuk mencari selisihnya.

simpqr <- function(x) {
  return((quantile(x, 0.75) - quantile(x,0.25)) / 2)
}
productsales_simpqr <- aggregate(Sales ~ Product, data = DataCC, FUN = simpqr)
productsales_simpqr
##              Product   Sales
## 1           Amaretto  19.500
## 2        Caffe Latte  55.500
## 3        Caffe Mocha  61.125
## 4          Chamomile  91.500
## 5          Colombian 116.125
## 6         Darjeeling  73.250
## 7     Decaf Espresso  58.250
## 8  Decaf Irish Cream  55.500
## 9          Earl Grey  79.625
## 10         Green Tea  49.750
## 11             Lemon  55.000
## 12              Mint  37.750
## 13  Regular Espresso 233.125

Dari tabel yang dihasilkan, kita dapat menyimpulkan bahwa produk Reguler Espresso mempunyai nilai simpangan kuartil, artinya produk ini mempunyai penjualan yang fluktuatif dan kemungkinan mengalami lonjakan penjualan pada waktu tertentu. Sementara produk amaretto mempunyai simpangan kuartil yang rendah, artinya produk ini mempunyai penjualan yang cenderung konsisten dan tidak fluktuatif.

Visualisasi Data

Visualisasi Data adalah reprentasi grafis dari informasi atau data untuk mempermudah pemahaman pola, tren dan hubungan antar data. Visualisasi yang digunakan pada analisis ini adalah histogram dan boxplot.

Histogram

Histogram adalah grafik batang yang menunjukkan distribusi frekuensi dari data numerik. Hal ini membantu untuk melihat bagaimana data tersebar dan apakah terdapat pola tertentu dalam data.

Histogram Average Sales per Product

## Histogram
ggplot(productsales_avg, aes(x = Product, y = Sales, fill = Product )) +
  geom_bar(stat = "identity") + geom_text(aes(label = round(Sales,2)), vjust = -0.5,
                                          color = "black") +
  labs(x = "Product", y = "Average Sales") +
  ggtitle("Average Sales Per Product") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
  scale_fill_discrete(name = "Product")

Dari grafik yang sudah dibuat kita dapat menyimpulkan bahwa:

Reguler Espresso : Rata-rata penjualan tertinggi yaitu sekitar 333.76, artinya produk ini paling populer dan sering dibeli oleh pelanggan

Green Tea : Rata-rata penjualan terendah yaitu sekitar 114.06, artinya produk ini kurang populer dibandingkan produk lain.

Colombian dan Earl Grey : Rata-rata penjualan yang tergolong tinggi, artinya mempunyai pasar yang cukup laris namun terkalahkan oleh reguler espresso

Produk lainnya : Rata-rata yang cukup stabil berada di tengah, artinya mempunyai pasar tertentu dan masih tergolong konsisten pembeliannya.

Boxplot

Boxplot adalah grafik yang menampilkan ringkasan lima angka penting dari data yaitu, nilai minimum, Q1, median, Q3, nilai maksimum, dan outlier (jika ada). Hal ini akan membantu menggambarkan penyebaran data dan variabilitas dari dataset, menemukan outlier dan membandingkan distribusi antar produknya.

Boxplot Sales For Each Product

## Boxplot
ggplot(DataCC, aes(x = Product, y = Sales, color = Product)) +
  geom_boxplot() +
  labs(x = "Product", y = "Sales", color = "Product") +
  ggtitle("Sales For Each Product")

Dari grafik yang sudah dibuat kita dapat menyimpulkan bahwa:

Variabilitas Penjualan

• Produk seperti Reguler Espresso, Colombian, dan Chamomile memiliki sebaran penjualan yang cukup besar. Hal ini terlihat dari panjangnya box dan whisker, serta banyaknya outlier.

• Produk seperti Amaretto dan Green Tea memiliki sebaran yang lebih sempit, hal ini menunjukkan bahwa penjualan mereka lebih konsisten dibanding produk lain.

Median Penjualan

Reguler Espresso tidak hanya memiliki nilai maksimum yang tinggi, tetapi juga median penjualan yang lebih tinggi dibanding sebagian besar produk lain. Hal ini menunjukkan reguler espresso mempunyai penjualan yang lebih besar secara konsisten dibanding produk lain.

Amaretto dan Green Tea memiliki median penjualan yang lebih rendah dibanding produk yang lainnnya. Hal ini menunjukkan bahwa kedua produk tersebut mempunyai penjualan yang relatif lebih rendah dari produk yang lain.

Outlier

• Hampir semua produk memiliki outlier, terutama pada produk seperti Reguler Espresso, Colombian, Lemon, dan Earl Grey. Hal ini menunjukkan bahwa produk tersebut mempunyai penjualan yang lebih fluktuatif dibanding produk lain.

Interpretasi

Terdapat beberapa produk yang mempunyai rata-rata penjualan yang tinggi namun penjualannya fluktuatif, seperti Reguler Espresso dan Colombian. Kedua produk tersebut mempunyai pasar yang ramai sehingga terdapat banyak pembeli, namun hal tersebut mungkin didukung dengan promosi atau event tertentu yang mendukung. Sementara itu produk Amaretto dan Green Tea cenderung mempunyai penjualan yang lebih rendah dan relatif stabil. Hal tersebut dapat disebabkan oleh promosi yang kurang, ataupun kurang peminat pasar. Oleh karena itu, dibutuhkan evaluasi lebih untuk produk tersebut agar dapat meningkatkan penjualannya.