ExperienceDec 2025·5 min read·0 views
/

E-Commerce Sales: End-to-End Data Management & BI

BNSP Data Management & Data Analyst — from Power Query cleaning to Tableau dashboards

Organization / CompanyBadan Nasional Sertifikasi Profesi (BNSP) & Universitas Sebelas Maret
RoleCertified Data Management & Analytics Practitioner
PeriodDec 2025
LocationSurakarta, Indonesia

TL;DR — Studi kasus sertifikasi BNSP Data Management & Data Analyst: membersihkan 10.400 baris data e-commerce yang penuh anomali lewat Power Query M, membangun model relasional left-join, lalu menghasilkan dashboard Tableau — hasil akhir: Revenue Rp 1,39M, transaksi berhasil 99,01%, dan tiga produk fashion menopang ~50% pendapatan.

Konteks & Metodologi

Data transaksi mentah dari multi-platform hampir selalu penuh anomali — salah input, format teks campur aduk, nilai null, hingga foreign key rusak. Studi kasus ini dikembangkan untuk pembuktian kompetensi sertifikasi BNSP skema Data Management System & Data Analyst di UNS, mencakup siklus penuh: audit integritas, preprocessing di Excel + Power Query, modeling relasional, hingga dashboard BI di Tableau Desktop.

Alur kerja mengikuti enam tahapan standar kompetensi nasional:

  1. Koleksi data — konsolidasi seluruh sumber transaksi, katalog, pelanggan.
  2. Pemahaman data — profiling struktur dan distribusi nilai.
  3. Validasi data — uji integritas primary–foreign key.
  4. Definisi objek data — rancang skema relasional terpusat.
  5. Pembersihan data — hapus baris korup via Power Query M Code.
  6. Konstruksi & utilisasi — metrik turunan, insight, dan dashboard eksekutif.

Tahap 1–2: Profiling & Deteksi Anomali

Tiga tabel mentah diaudit: sales.csv (10.400 baris), customers.csv (1.000 baris), dan products.csv (10 baris).

Inkonsistensi data profil pelanggan
Anomali pelanggan: singkatan kota tak standar, usia 'Unknown', prefix ID acak
Anomali teks dan format pada tabel penjualan
Anomali penjualan: harga 'fifty', kuantitas -8,0, tanggal 'Invalid Date'

Temuan kunci:

  • Teks di kolom numerik — harga tertulis "fifty".
  • Tanggal tak valid — string literal "Invalid Date".
  • Kategori inkonsisten — "BDG" vs "Bandung", "DKI Jakarta" vs "Jakarta".
  • Foreign key rusak — prefix acak seperti "xyz463", "abc767".
  • Kuantitas negatif & null — 102 baris retur dan 105 baris null.
Filter data transaksi negatif di Power Query
102 transaksi kuantitas negatif diklasifikasikan sebagai retur
Filter data kuantitas null di Power Query
105 baris null diisolasi demi akurasi volume transaksi

Tahap 3: Pembersihan via Power Query M

Tantangan terbesar: normalisasi ID Pelanggan yang terdistorsi prefix huruf. Solusinya, satu formula M:

= Text.Select([ID Pelanggan], {"0".."9"})

Hasilnya: xyz463 → 463, abc767 → 767, ID908 → 908.

Power Query Custom Column M Formula
Text.Select menghasilkan kolom ID Pelanggan_Cleaned yang seragam

Transformasi lanjutan:

  • Tanggal dinormalisasi ke ISO YYYY-MM-DD.
  • Tipe numerik dikasting ke Whole Number.
  • String kategori di-trim, proper casing, alias kota disatukan.
  • Status transaksi: kuantitas positif = Penjualan, negatif = Retur (dipertahankan, bukan dihapus) agar rasio checkout tetap terukur.

Output akhir: 9.950 baris transaksi valid, nol error tipe data.

Tabel hasil pembersihan data di Excel
Dataset bersih: 9.950 baris valid di Microsoft Excel

Tahap 4–5: Model Relasional & Validasi

sales_cleaned.csv menjadi fact table yang dihubungkan ke dua dimensi via Left Join — memastikan tidak ada transaksi yang hilang.

Model Relasional Tableau
Arsitektur relasional di Tableau: sales ↔ customers ↔ products
  1. Sales → Customers (kunci ID Pelanggan): memperkaya transaksi dengan usia, gender, lokasi.
  2. Sales → Products (kunci Produk ↔ Nama Produk): menambahkan harga master dan stok.
Konfigurasi Left Join Sales ke Customers
Left Join pertama: transaksi ↔ profil pelanggan
Konfigurasi Left Join Sales ke Products
Left Join kedua: transaksi ↔ katalog master produk

Beberapa baris pasca-join bernilai null pada atribut demografi (ID pelanggan tak tercatat di master). Karena Left Join, baris tersebut tetap dipertahankan agar total pendapatan tidak terdistorsi — konsistensi foreign key tetap di atas 99%.

Validasi data dan nilai null pasca-join
Validasi: 26 atribut, 11.217 baris master relasional dengan penanganan null terdokumentasi

Tahap 6: Feature Engineering

Calculated fields dibangun di Tableau sebelum visualisasi:

  • Total Revenue = [Kuantitas] * [Harga per Unit]
  • Revenue per Customer = SUM([Total Revenue]) / COUNTD([ID Pelanggan])
  • Monthly Growth (MoM) via fungsi LOOKUP
  • Binning usia per interval 5 tahun untuk segmentasi demografis
Calculated Field Total Revenue di Tableau
Formula Total Revenue
Calculated Field Monthly Growth di Tableau
Formula MoM growth dengan window LOOKUP

Tahap 7: Dashboard & Temuan Utama

Tableau Executive KPI Dashboard
Executive KPI: Revenue Rp 1,39M · AOV 419,7 · Success Rate 99,01%

KPI Eksekutif:

  • Total Revenue Rp 1.398.939 sepanjang periode analisis.
  • AOV 419,7 — rata-rata belanja per keranjang.
  • Success rate 99,01% (11.000+ transaksi berhasil); retur hanya 0,99%.
Tren Penjualan Bulanan Tableau
Tren bulanan: puncak Januari (~130K) dan Maret (~128K)

Seasonality: pendapatan bergerak stabil di rentang 110K–130K. Puncak di Januari (~130K) dan Maret (~128K), koreksi Februari (~105K), lalu stabil di pertengahan tahun.

Top 10 Produk Berdasarkan Revenue
Top 10 produk: Sweater, Celana Jeans, Kaos dominan
Product Sales Breakdown Share
Pangsa kategori: Sweater 18,37% · Jeans 16,29% · Kaos 15,28%

Pareto produk:

  1. Sweater — ~250K (18,37%)
  2. Celana Jeans — ~228K (16,29%)
  3. Kaos — ~214K (15,28%)

Trio wardrobe essential ini menyumbang 49,94% total pendapatan. Kacamata (13,79%), jaket (11,65%), dan sarung tangan (11,00%) jadi tier menengah; sepatu, scarf, tas, dan topi jauh lebih lambat.

Segmentasi Pelanggan Gender dan Usia
Demografi: gender hampir seimbang, kontribusi omzet puncak di usia 30

Demografi: pembeli nyaris berimbang — Pria 47,68% vs Wanita 47,29% (Other 5,03%). Kelompok usia 30 tahun menyumbang omzet terbesar (130K+), disusul kelompok 45 dan 65 tahun (masing-masing 120K+). Rentang 20–65 tahun adalah motor ekonomi utama.

Tiga Rekomendasi Strategis

  1. Protect safety stock top 3 — Sweater, Jeans, Kaos menopang separuh pendapatan. Terapkan lead-time reordering ketat menjelang lonjakan Januari–Maret; stockout langsung memukul omzet bulanan.
  2. Marketing inklusif, target usia produktif — narasi tetap gender-netral, namun ad spend fokus ke usia 25–60 tahun dengan bundle deal untuk mengangkat AOV dari 419,7.
  3. Bedah akar masalah 102 retur — telusuri apakah dipicu sizing chart, keterlambatan kurir, atau payment gateway demi menuju zero-defect.

Kesimpulan

Satu prinsip terkonfirmasi: kualitas insight berbanding lurus dengan disiplin data preparation. Dari dataset penuh anomali menjadi master relasional yang solid — fondasi yang membuat dashboard Tableau tidak hanya estetis, tapi akurat dan dapat dipertanggungjawabkan.

TagsData AnalystBNSPTableauPower QueryMicrosoft ExcelBusiness IntelligenceData Management