Pendahuluan

Latar Belakang

Perkembangan teknologi digital menyebabkan peningkatan jumlah data, khususnya pada transaksi penjualan ritel. Data transaksi menyimpan berbagai informasi seperti waktu pembelian, jenis produk, jumlah transaksi, dan karakteristik pelanggan yang dapat dianalisis untuk memahami pola pembelian dan perilaku konsumen.

Sebelum analisis dilakukan, diperlukan eksplorasi data awal untuk memahami struktur, jenis variabel, dan distribusi data. Analisis deskriptif membantu peneliti memahami kondisi data secara menyeluruh sehingga dapat mengurangi kesalahan interpretasi.

Visualisasi data merupakan metode efektif untuk menyajikan data dalam bentuk grafik sehingga pola, hubungan antar variabel, serta tren data dapat diamati dengan lebih mudah. Visualisasi juga membantu memperoleh insight dari data yang kompleks.

Dalam proyek ini digunakan Retail Sales Dataset dari Kaggle yang memiliki variabel kategorik, numerik, dan waktu. Dataset ini digunakan untuk mendukung eksplorasi dan visualisasi data.

Rumusan Masalah

  1. Bagaimana karakteristik dan struktur dataset retail sales?
  2. Bagaimana distribusi data berdasarkan kategori dan variabel numerik?
  3. Apakah terdapat hubungan antar variabel?
  4. Bagaimana pola dan tren transaksi berdasarkan waktu?

Tujuan dan Manfaat

Tujuan

  1. Mengidentifikasi karakteristik dataset.
  2. Melakukan eksplorasi distribusi data.
  3. Menganalisis hubungan antar variabel.
  4. Menyajikan visualisasi yang informatif.

Manfaat

Proyek ini membantu meningkatkan pemahaman mengenai visualisasi data sebagai alat eksplorasi. Selain itu, membantu menyederhanakan data kompleks menjadi informasi yang mudah dipahami serta melatih kemampuan analisis data, interpretasi grafik, dan penyusunan laporan ilmiah.

Tinjauan Pustaka

Visualisasi Data

Visualisasi data merupakan proses penyajian data dalam bentuk grafis seperti grafik atau diagram agar informasi dapat dipahami dengan lebih mudah. Melalui visualisasi, pola, tren, dan hubungan antar data dapat terlihat tanpa harus membaca angka secara rinci.

Selain sebagai alat penyajian, visualisasi juga berperan dalam membantu proses analisis dan pengambilan keputusan. Visualisasi yang baik harus mampu menyampaikan informasi secara jelas, ringkas, dan tepat dengan memperhatikan keseimbangan antara tampilan dan fungsi.

Jenis Visualisasi Data

Pemilihan jenis visualisasi harus disesuaikan dengan karakteristik data dan tujuan analisis.

Beberapa jenis visualisasi yang umum digunakan antara lain:

  • Visualisasi kategorik: digunakan untuk membandingkan data antar kategori, seperti bar chart dan pie chart.
  • Visualisasi kontinu: digunakan untuk melihat distribusi data numerik, seperti histogram dan boxplot.
  • Visualisasi bivariat: digunakan untuk melihat hubungan antar dua variabel, seperti scatter plot.
  • Visualisasi time series: digunakan untuk melihat tren data dari waktu ke waktu, seperti line chart.

Pemilihan visualisasi yang tepat akan membantu dalam menyajikan informasi secara lebih jelas dan mudah dipahami.

Prinsip Visualisasi yang Baik

Visualisasi data harus disusun dengan memperhatikan kejelasan, ketepatan, dan kesederhanaan.

  • Kejelasan: informasi harus mudah dipahami tanpa menimbulkan makna ganda.
  • Ketepatan: data yang disajikan harus mencerminkan kondisi sebenarnya dan tidak menyesatkan.
  • Kesederhanaan: visualisasi sebaiknya tidak terlalu kompleks agar mudah dipahami oleh pembaca.

Selain itu, penggunaan elemen visual seperti skala, warna, label, dan judul harus diperhatikan agar visualisasi dapat berfungsi secara optimal sebagai alat komunikasi data.

Eksplorasi Awal Data

Eksplorasi awal data dilakukan untuk memahami karakteristik dataset yang digunakan dalam penelitian. Dataset yang digunakan adalah retail_sales_dataset yang terdiri dari 1000 data transaksi penjualan. Data ini memuat informasi terkait aktivitas pembelian pelanggan, mulai dari identitas transaksi, karakteristik pelanggan, hingga detail produk dan nilai penjualan. Dataset ini digunakan untuk menganalisis pola penjualan serta perilaku konsumen dalam kegiatan transaksi ritel.

Variabel yang terdapat dalam dataset ini berjumlah 9, yaitu:

  • Transaction ID: nomor unik untuk setiap transaksi
  • Date: tanggal terjadinya transaksi
  • Customer ID: identitas unik pelanggan
  • Gender: jenis kelamin pelanggan
  • Age: usia pelanggan
  • Product Category: kategori produk yang dibeli
  • Quantity: jumlah produk yang dibeli
  • Price per Unit: harga per unit produk
  • Total Amount: total nilai pembelian dalam satu transaksi

Variabel dalam dataset ini terdiri dari dua jenis, yaitu variabel kategorik seperti Gender dan Product Category, serta variabel numerik seperti Age, Quantity, Price per Unit, dan Total Amount. Selain itu, terdapat juga variabel berbentuk identitas seperti Transaction ID dan Customer ID.

Struktur data yang dianalisis berbentuk data frame dengan 1000 baris (observasi) dan 9 kolom (variabel). Setiap baris merepresentasikan satu transaksi penjualan, sedangkan setiap kolom menunjukkan atribut dari transaksi tersebut. Data ini bersifat cross-sectional karena mencatat berbagai transaksi dalam periode waktu tertentu tanpa mengikuti satu individu secara berkelanjutan. Struktur data yang terorganisir ini memudahkan dalam proses analisis statistik maupun visualisasi data.

# load library
library(tidyverse)
library(lubridate)
library(zoo)
# import data
data <- read.csv("D:/TUGAS/SEMESTER 4/VISUALISASI DATA/retail_sales_dataset.csv")
# data cleaning
data$Date <- as.Date(data$Date, format = "%m/%d/%Y")
colnames(data) <- make.names(colnames(data))

data$Gender <- as.factor(data$Gender)
data$Product.Category <- as.factor(data$Product.Category)
# tema biar grafik jelas
theme_bersih <- function() {
  theme_minimal() +
    theme(
      panel.border = element_rect(color = "black", fill = NA, linewidth = 0.7),
      panel.grid.major = element_line(color = "grey70"),
      panel.grid.minor = element_line(color = "grey90"),
      axis.line = element_line(color = "black"),
      plot.title = element_text(face = "bold")
    )
}

Hasil dan Pembahasan

Gambaran Umum Data

Dataset yang digunakan merupakan data transaksi penjualan yang terdiri dari beberapa variabel utama, yaitu Gender, Age, Product Category, Quantity, Price per Unit, Total Amount, dan Date. Variabel-variabel tersebut mencakup data kategorik, numerik, dan waktu sehingga memungkinkan dilakukan analisis distribusi, hubungan antar variabel, serta tren dari waktu ke waktu.

Eksplorasi data pada penelitian ini bertujuan untuk mengidentifikasi pola pembelian, hubungan karakteristik pelanggan terhadap transaksi, serta perkembangan penjualan berdasarkan waktu.


Analisis Visualisasi Data

Distribusi Kategori Produk

# visualisasi 1: kategori produk
ggplot(data, aes(x = Product.Category)) +
  geom_bar(fill = "steelblue", color = "black") +
  labs(
    title = "Distribusi Kategori Produk",
    x = "Kategori Produk",
    y = "Jumlah Transaksi"
  ) +
  theme_bersih()

Visualisasi menunjukkan bahwa kategori Clothing memiliki jumlah transaksi tertinggi, diikuti oleh Electronics, dan Beauty sebagai yang terendah. Meskipun perbedaannya tidak terlalu besar, terdapat variasi preferensi pembelian pelanggan.

Hal ini mengindikasikan bahwa produk pakaian lebih sering dibeli, kemungkinan karena kebutuhan yang bersifat rutin dan variasi produk yang lebih banyak.

Distribusi Total Pembelian

# visualisasi 2: total amount (density plot)
ggplot(data, aes(x = Total.Amount)) +
  geom_density(fill = "steelblue", color = "black", alpha = 0.5) +
  labs(
    title = "Distribusi Total Pembelian",
    x = "Total Amount",
    y = "Density"
  ) +
  theme_bersih()

Distribusi menunjukkan bahwa sebagian besar transaksi berada pada nilai rendah hingga menengah, dengan distribusi yang condong ke kanan (right-skewed). Hal ini berarti hanya sedikit transaksi dengan nilai yang sangat tinggi.

Pola ini menunjukkan bahwa pelanggan cenderung melakukan pembelian dalam jumlah kecil hingga menengah secara rutin, sementara transaksi besar relatif jarang terjadi.

Distribusi Perbandingan Total Berdasarkan Gender

# visualisasi 3: gender vs total amount
ggplot(data, aes(x = Gender, y = Total.Amount)) +
  geom_violin(fill = "steelblue", color = "black", alpha = 0.5) +
  geom_boxplot(width = 0.2, fill = "white", color = "black") +
  labs(
    title = "Distribusi dan Perbandingan Total Pembelian Berdasarkan Gender",
    x = "Gender",
    y = "Total Amount"
  ) +
  theme_bersih()

Distribusi pembelian antara laki-laki dan perempuan terlihat relatif sama, baik dari segi median maupun sebaran data. Tidak terdapat perbedaan signifikan antar kedua kelompok.

Hal ini menunjukkan bahwa gender bukan merupakan faktor utama yang memengaruhi besarnya nilai transaksi.

Tren Penjualan dengan Moving Avarage

# visualisasi 4: tren penjualan (moving average)

# agregasi per tanggal
data_time <- data %>%
  group_by(Date) %>%
  summarise(Total_Sales = sum(Total.Amount), .groups = "drop") %>%
  arrange(Date)

# moving average 7 hari
data_time <- data_time %>%
  mutate(MA = rollmean(Total_Sales, k = 7, fill = NA, align = "right"))

# plot
ggplot(data_time, aes(x = Date)) +
  geom_line(aes(y = Total_Sales), color = "steelblue", alpha = 0.6) +
  geom_line(aes(y = MA), color = "red", linewidth = 1) +
  labs(
    title = "Tren Penjualan dengan Moving Average",
    x = "Tanggal",
    y = "Total Penjualan"
  ) +
  theme_bersih()

Data penjualan harian menunjukkan fluktuasi yang tinggi, namun garis moving average memperlihatkan tren yang lebih stabil. Terlihat adanya pola kenaikan di awal hingga pertengahan periode, kemudian menurun, dan kembali meningkat di akhir periode.

Hal ini mengindikasikan adanya pengaruh musiman atau faktor tertentu seperti promosi terhadap penjualan.


Insight dan Temuan Utama

Berdasarkan hasil analisis, diperoleh beberapa insight utama:

Kategori Clothing memiliki jumlah transaksi tertinggi, sehingga berpotensi menjadi fokus utama dalam strategi pemasaran. Sebagian besar transaksi bernilai kecil hingga menengah, menunjukkan pola pembelian rutin pelanggan. Tidak terdapat perbedaan signifikan berdasarkan gender, sehingga segmentasi dapat difokuskan pada faktor lain. Tren penjualan bersifat fluktuatif namun memiliki pola tertentu, yang dapat dimanfaatkan untuk strategi promosi dan pengelolaan stok.

Secara keseluruhan, visualisasi data membantu mengidentifikasi pola penting dalam perilaku pelanggan serta memberikan dasar dalam pengambilan keputusan yang lebih tepat.