Ringkasan Isi

Laporan ini merupakan lanjutan dari analisis sebelumnya yang berfokus pada variabel kategorik. Kini perhatian dialihkan pada satu variabel kontinu yang paling fundamental dalam bisnis berlian, yaitu harga (price). Empat visualisasi univariat digunakan untuk memahami karakter dasar harga: histogram, density plot, boxplot, dan violin plot.

Hasil analisis menunjukkan distribusi harga yang sangat miring ke kanan dengan konsentrasi tertinggi di kisaran harga menengah ke bawah. Sebanyak 75% produk berada di bawah $5.324, dan banyak berlian mahal di atas $12.000 yang tergolong pencilan yang valid, bukan kesalahan data, melainkan produk premium eksklusif. Temuan ini menjadi landasan untuk strategi penentuan harga yang lebih terarah dan langkah analisis lanjutan.

A. PENDAHULUAN

1. Konteks Analisis

Dalam bisnis berlian, pertanyaan paling mendasar yang selalu muncul adalah: “Berapa harganya?”. Harga (price) menentukan posisi produk di pasar, menjadi pertimbangan utama konsumen, dan mencerminkan kombinasi seluruh atribut kualitas lainnya seperti berat, potongan, warna, dan kejernihan.

Analisis ini merupakan bagian dari tahap eksplorasi data univariat, langkah awal dalam alur kerja analisis data sebelum melihat hubungan antar variabel. Fokusnya adalah memahami karakteristik dasar harga:

  • Bagaimana bentuk distribusi harga berlian?

  • Apakah distribusinya simetris atau miring?

  • Apakah terdapat nilai-nilai ekstrem (pencilan) yang perlu perhatian khusus?

  • Seberapa besar keragaman data tersebut?

Pemahaman ini penting karena akan menentukan langkah analisis selanjutnya, seperti transformasi data atau pemilihan metode statistik yang tepat.

2. Struktur Data yang Dianalisis

Dataset yang digunakan masih sama, yaitu data internal diamonds dengan 53.940 catatan transaksi/unit berlian. Mari kita lihat struktur dan ringkasan statistik dari variabel yang menjadi fokus.

str(diamonds)
## tibble [53,940 × 10] (S3: tbl_df/tbl/data.frame)
##  $ carat  : num [1:53940] 0.23 0.21 0.23 0.29 0.31 0.24 0.24 0.26 0.22 0.23 ...
##  $ cut    : Ord.factor w/ 5 levels "Fair"<"Good"<..: 5 4 2 4 2 3 3 3 1 3 ...
##  $ color  : Ord.factor w/ 7 levels "D"<"E"<"F"<"G"<..: 2 2 2 6 7 7 6 5 2 5 ...
##  $ clarity: Ord.factor w/ 8 levels "I1"<"SI2"<"SI1"<..: 2 3 5 4 2 6 7 3 4 5 ...
##  $ depth  : num [1:53940] 61.5 59.8 56.9 62.4 63.3 62.8 62.3 61.9 65.1 59.4 ...
##  $ table  : num [1:53940] 55 61 65 58 58 57 57 55 61 61 ...
##  $ price  : int [1:53940] 326 326 327 334 335 336 336 337 337 338 ...
##  $ x      : num [1:53940] 3.95 3.89 4.05 4.2 4.34 3.94 3.95 4.07 3.87 4 ...
##  $ y      : num [1:53940] 3.98 3.84 4.07 4.23 4.35 3.96 3.98 4.11 3.78 4.05 ...
##  $ z      : num [1:53940] 2.43 2.31 2.31 2.63 2.75 2.48 2.47 2.53 2.49 2.39 ...
summary(diamonds$price)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##     326     950    2401    3933    5324   18823

Dari output di atas, kita bisa melihat ringkasan statistik untuk Harga (price):

  • Rentang: $326 – $18.823

  • Rata-rata: $3.933

  • Median: $2.401 (ini berarti 50% produk di bawah harga ini)

  • Kuartil: Q1 = $950, Q3 = $5.324

Perlu diketahui bahwa meskipun price tercatat dalam bilangan bulat (int), secara konsep harga bersifat kontinu karena dapat memiliki nilai di antaranya (misal $5.231,47).

Mengapa hanya price yang dianalisis? Dataset ini juga memiliki variabel kontinu lain seperti carat (berat) yang nantinya akan dianalisis secara terpisah dalam kajian hubungan antar variabel. Namun, laporan ini berfokus pada eksplorasi mendalam distribusi harga sebagai fondasi awal sebelum melangkah ke analisis yang lebih kompleks. Adapun variabel numerik lain, seperti depth, table, x, y, z lebih bersifat teknis dan akan lebih sesuai untuk analisis terpisah yang berfokus pada aspek gemologi.

B. VISUALISASI DAN ANALISIS

1. Histogram: Struktur Dasar Distribusi Harga

Bagaimana sebaran harga berlian? Apakah datanya simetris atau miring?

Fokus analisis ini adalah melihat bentuk distribusi harga secara utuh, sehingga visualisasi yang tepat adalah histogram yang mengelompokkan data ke dalam interval (bin) sehingga bentuk distribusi dapat terlihat.

Adapun pemilihan jumlah bin dilakukan dengan mempertimbangkan aturan Sturges (bins ≈ 17) sehingga 17 bin dipilih sebagai kompromi antara cukup detail untuk melihat pola dan tidak terlalu ramai untuk dibaca.

# Menghitung Q3 untuk highlight
q3_price <- quantile(diamonds$price, 0.75)

ggplot(diamonds, aes(x = price)) +
  geom_histogram(bins = 17, fill = "lightgray", color = "white") +
  geom_histogram(data = subset(diamonds, price < q3_price), 
                 aes(x = price), bins = 17, fill = "#8E44AD", color = "white") +
  scale_x_continuous(labels = dollar, breaks = seq(0, 20000, by = 5000)) +
  scale_y_continuous(labels = comma) +
  labs(
    title = "Distribusi Harga Berlian",
    subtitle = "Area biru = 75% produk dengan harga di bawah Q3 ($5.324)",
    x = "Harga (USD)",
    y = "Jumlah Berlian",
    caption = "Sumber: ggplot2::diamonds"
  ) +
  theme_minimal(base_size = 12) +
  theme(plot.caption = element_text(margin = margin(t = 15)),
        axis.text.x = element_text(angle = 45, hjust = 1))  # miringkan label

Dari histogram di atas, kita bisa melihat gambaran lengkap sebaran harga 53.940 berlian yang tercatat. Grafik ini memperlihatkan bahwa sebagian besar berlian berada di kisaran harga bawah hingga menengah, dengan frekuensi tertinggi terlihat pada rentang harga di bawah $2.000.

Bentuk distribusi yang terlihat sangat timpang ke kanan (skewed to the right) menunjukkan bahwa semakin mahal harga berlian, semakin sedikit jumlahnya. Harga-harga tinggi ($10.000 ke atas) hanya diisi oleh sedikit berlian, sementara produk-produk dengan harga terjangkau mendominasi pasar.

Area berwarna ungu menandai 75% produk dengan harga di bawah $5.324 (batas Q3). Ini berarti tiga perempat dari total produk kita berada di segmen harga menengah ke bawah, dan hanya seperempatnya yang masuk kategori menengah atas hingga premium.

2. Density Plot: Pola Konsentrasi Harga

Di kisaran harga mana produk paling banyak terkonsentrasi?

Jika histogram menampilkan distribusi dalam bentuk batang, density plot menyajikannya sebagai kurva kontinu sehingga pola konsentrasi data terlihat lebih jelas. Visualisasi ini juga dapat menjawab pertanyaan: apakah ada pola tersembunyi yang tidak terlihat di histogram?

ggplot(diamonds, aes(x = price)) +
  geom_density(fill = "#8E44AD", alpha = 0.6) +
  scale_x_continuous(labels = dollar, breaks = seq(0, 20000, by = 5000)) +
  scale_y_continuous(labels = comma) +
  labs(
    title = "Konsentrasi Distribusi Harga Berlian",
    subtitle = "Semakin tinggi kurva, semakin banyak produk di kisaran harga tersebut",
    x = "Harga (USD)",
    y = "Kepadatan",
    caption = "Sumber: ggplot2::diamonds"
  ) +
  theme_minimal(base_size = 12)

Density plot ini menyajikan pola konsentrasi harga dalam bentuk kurva yang lebih halus dibanding histogram. Semakin tinggi kurva, semakin banyak produk di kisaran harga tersebut.

Terlihat jelas bahwa konsentrasi tertinggi berada di kisaran harga sangat rendah, dengan puncak kurva menjulang di area sekitar $1.000–$2.000. Dari sana, kurva turun drastis dan terus mengecil seiring kenaikan harga. Ini mengonfirmasi temuan histogram sebelumnya bahawa produk kita didominasi oleh berlian dengan harga terjangkau, sementara segmen premium hanya mengisi porsi kecil.

3. Boxplot: Ringkasan Statistik dan Deteksi Pencilan

Apakah ada berlian dengan harga yang jauh di luar kewajaran?

Boxplot menampilkan ringkasan statistik dalam bentuk visual: median, kuartil, dan pencilan (outlier). Kelebihannya adalah tahan terhadap pencilan dan memberikan gambaran cepat tentang sebaran data.

Dari ringkasan statistik price sebelumnya kita tahu:

  • Q1 = $950, median = $2.401, Q3 = $5.324

  • Rentang antar-kuartil (IQR) = Q3 - Q1 = $4.374

  • Batas atas wajar = Q3 + 1,5×IQR ≈ $11.885

  • Data di atas $11.885 bakal dianggap sebagai pencilan (outlier)

ggplot(diamonds, aes(y = price)) +
  geom_boxplot(fill = "#8E44AD", alpha = 0.6, width = 0.3) +
  scale_y_continuous(labels = dollar, breaks = seq(0, 20000, by = 5000)) +
  scale_x_continuous(breaks = NULL) +
  labs(
    title = "Ringkasan Harga dan Pencilan",
    subtitle = "Titik-titik di atas adalah berlian dengan harga sangat mahal",
    x = "",
    y = "Harga (USD)",
    caption = "Sumber: ggplot2::diamonds"
  ) +
  theme_minimal(base_size = 12)

Boxplot ini merangkum distribusi harga dalam bentuk yang sangat ringkas. Kotak ungu mewakili 50% data di tengah, dari harga $950 (Q1) hingga $5.324 (Q3). Garis tebal di dalam kotak adalah median ($2.401), yang menandakan separuh produk kita berharga di bawah angka tersebut.

Yang paling menarik untuk dicermati adalah banyaknya titik-titik di bagian atas yang melebihi batas wajar (di atas $11.885). Titik-titik ini adalah pencilan (outlier) berlian dengan harga sangat mahal yang berada jauh di luar kebanyakan produk.

Namun, dalam bisnis berlian kita, pencilan ini bukanlah kesalahan atau anomali, melainkan produk premium eksklusif yang menjadi ciri khas pasar: sedikit berlian dengan kualitas dan harga sangat tinggi, sementara sebagian besar produk berada di kisaran menengah ke bawah. Garis hitam tebal di bagian atas terjadi karena banyaknya pencilan yang saling bertumpuk bukan hanya satu dua, tapi ratusan bahkan ribuan berlian dengan harga di atas $12.000.

4. Violin Plot: Bentuk Distribusi dan Ringkasan dalam Satu Grafik

Bagaimana bentuk distribusi sekaligus ringkasan statistik dalam satu tampilan?

Histogram, density plot, dan boxplot telah menampilkan harga dari berbagai sudut pandang. Violin plot memadukan kelebihan ketiganya, dengan lebar area menunjukkan kepadatan data (seperti density plot), sementara kotak di dalamnya menampilkan ringkasan statistik (seperti boxplot).

ggplot(diamonds, aes(x = "", y = price)) +
  geom_violin(fill = "#8E44AD", alpha = 0.6) +
  geom_boxplot(width = 0.1, fill = "white", alpha = 0.7) +
  scale_y_continuous(labels = dollar, breaks = seq(0, 20000, by = 5000)) +
  labs(
    title = "Gambaran Lengkap Sebaran Harga",
    subtitle = "Area lebar = banyak data, kotak putih = ringkasan statistik",
    x = "",
    y = "Harga (USD)",
    caption = "Sumber: ggplot2::diamonds"
  ) +
  theme_minimal(base_size = 12)

Violin plot ini menggabungkan semua informasi dari visualisasi sebelumnya ke dalam satu tampilan. Lebar area menunjukkan kepadatan data (seperti density plot), sementara kotak putih di dalamnya menampilkan ringkasan statistik (seperti boxplot).

Bentuknya yang gemuk di bagian bawah dan sangat kurus di bagian atas dengan jelas menunjukkan distribusi yang sangat miring ke kanan seperti pada histogram dan density plot tadi. Area paling lebar berada di kisaran harga terendah, di sinilah mayoritas produk kita berada. Semakin ke atas, area menyempit drastis, menandakan semakin sedikit produk di harga tinggi.

Kotak putih di bagian bawah (sekitar $1.000–$5.000) menegaskan bahwa 50% data terkonsentrasi di rentang tersebut. Sementara ekor panjang yang menjulang hingga $18.000 menunjukkan keberadaan produk-produk premium dalam jumlah lebih terbatas.

C. KESIMPULAN DAN SARAN

1. Kesimpulan

Dari keempat visualisasi yang telah dilakukan, tergambar jelas karakteristik harga berlian dalam dataset produk. Distribusi harga sangat miring ke kanan, yang berarti sebagian besar produk terkonsentrasi di kisaran harga menengah ke bawah, sementara produk dengan harga tinggi hanya mengisi porsi kecil. Sebanyak 75% produk berada di harga di bawah $5.324, dan separuh dari total produk bahkan berada di bawah $2.401. Keberadaan banyak pencilan di atas $12.000 bukanlah anomali, melainkan ciri khas pasar berlian: sedikit produk premium dengan harga sangat tinggi, sementara mayoritas produk berada di kategori harga yang lebih terjangkau.

Konsistensi pola yang ditunjukkan oleh keempat jenis visualisasi mengonfirmasi bahwa data dapat dipercaya dan pola bisnis bersifat stabil. Pemahaman tentang distribusi ini menjadi fondasi penting sebelum melangkah ke analisis yang lebih kompleks, seperti melihat hubungan antara harga dengan variabel lain atau menyusun model prediksi.

2. Saran

Bagi Tim Bisnis:

Berdasarkan temuan bahwa pasar didominasi produk dengan harga di bawah $5.000, strategi pengadaan dan pemasaran sebaiknya tetap berfokus pada kelompok produk utama ini. Di sinilah kekuatan perusahaan berada, yakni produk dengan harga terjangkau yang menjadi pilihan mayoritas konsumen. Namun, keberadaan produk premium hingga $18.000 tetap perlu dipertahankan sebagai pembeda merek yang menunjukkan kapabilitas perusahaan menghasilkan berlian berkualitas tinggi, meskipun jumlahnya terbatas.

Dalam menentukan harga produk baru, titik-titik seperti median ($2.401) dan kuartil bawah ($950) dapat dijadikan acuan untuk memastikan harga kompetitif di pasar. Sementara itu, keberadaan banyak pencilan di atas $12.000 bisa dimanfaatkan sebagai peluang untuk menonjolkan keistimewaan produk dalam kampanye pemasaran produk premium.

Bagi Analisis Lanjutan:

Visualisasi univariat yang telah dilakukan merupakan tahap diagnostik awal yang sangat penting. Dengan hasil yang menunjukkan bahwa distribusi harga sangat miring, sehingga untuk analisis selanjutnya perlu dipertimbangkan:

  1. Transformasi data (misalnya log transformasi) pada variabel price jika akan digunakan dalam model regresi atau analisis yang mengasumsikan normalitas.

  2. Identifikasi dan perlakuan khusus terhadap pencilan, tergantung pada tujuan analisis, apakah akan dipertahankan sebagai produk premium eksklusif atau justru menjadi fokus investigasi lebih lanjut.

  3. Analisis bivariat untuk melihat bagaimana distribusi harga bervariasi antar kelompok potongan (cut), warna (color), atau kejernihan (clarity). Ini akan menjawab pertanyaan seperti: apakah potongan Ideal selalu lebih mahal? atau apakah warna yang lebih jernih konsisten dengan harga lebih tinggi?

  4. Analisis multivariat untuk memahami faktor-faktor apa saja yang paling berpengaruh terhadap harga, dengan tetap mempertimbangkan karakter distribusi yang telah diketahui.

Pemahaman yang baik tentang karakter dasar data ini akan membuat analisis lanjutan menjadi lebih terarah dan interpretasi hasilnya lebih akurat.

Catatan Teknis

  • Tools: RStudio, RMarkdown, ggplot2, dplyr, scales

  • Dataset: diamonds (bawaan paket ggplot2)

  • Publikasi: Laporan ini diunggah ke RPubs sebagai bagian dari portofolio profesional