Analisis performa penjualan retail berbasis pipeline MySQL → Power BI, menggabungkan segmentasi pelanggan, tren musiman, dan kontribusi kategori produk untuk mendukung keputusan bisnis berbasis data.
- Executive Summary
- Dashboards
- Business Questions
- Key Metrics
- Dataset Overview
- Repository Structure
- Technical Workflow
- Key Insights & Business Recommendations
- Tools & Skills
- Limitations
Proyek ini menganalisis data transaksi retail periode 2014–2015 untuk memahami pola penjualan, kontribusi kategori produk, dan perilaku pelanggan. Data mentah (customers, products, purchases, invoice_items) diproses menggunakan MySQL untuk data cleaning dan agregasi, kemudian dimodelkan dalam star schema dan divisualisasikan melalui Power BI dengan perhitungan DAX custom.
Temuan utama:
- Total revenue tercatat $1M dari 16K order, dengan AOV sebesar $78.
- Penjualan didominasi oleh segmen private customer (95,7%), sementara wholesaler hanya berkontribusi 4,3% — mengindikasikan ketergantungan tinggi pada transaksi ritel individu.
- Kategori Kitchen & Dining menjadi kontributor revenue terbesar, jauh di atas kategori lain seperti Toys & Games dan Home Decor.
- Pola penjualan bulanan menunjukkan penurunan tajam setelah Januari, dengan sedikit pemulihan di kuartal keempat (Oktober–November).
- Produk medium ceramic top storage jar menjadi best-seller baik dari sisi volume (74.576 unit) maupun kontribusi revenue ($77.564) di antara top 5 produk.
Dashboard interaktif dibangun di Power BI dengan filter dinamis (Time Period, Category, Customer Segmentation) untuk eksplorasi data secara self-service.
Komponen dashboard:
| Visual | Insight yang Disampaikan |
|---|---|
| KPI Cards | Total Revenue, Total Orders, AOV, Total Quantity Sold |
| Monthly Sales Performance | Tren revenue & volume penjualan bulanan |
| Revenue Contribution by Category | Ranking kategori produk berdasarkan kontribusi revenue |
| Sales Mix by Customer Type | Proporsi revenue dari private vs wholesaler |
| Top 5 Best-Selling Products | Produk dengan volume & revenue tertinggi |
Analisis ini dirancang untuk menjawab pertanyaan bisnis berikut:
- Bagaimana tren revenue dan volume penjualan sepanjang tahun 2014–2015?
- Kategori produk mana yang menjadi kontributor revenue terbesar?
- Bagaimana komposisi pelanggan private vs wholesaler, dan bagaimana dampaknya terhadap strategi penjualan?
- Produk apa yang paling laris, dan apakah volume tinggi selalu berbanding lurus dengan revenue tinggi?
- Kapan periode puncak dan periode lemah penjualan terjadi dalam setahun?
| Metrik | Nilai |
|---|---|
| Total Revenue | $1M |
| Total Orders | 16K |
| Average Order Value (AOV) | $78 |
| Total Quantity Sold | 562K unit |
| Kontribusi Private Customer | 95,7% |
| Kontribusi Wholesaler | 4,3% |
Dataset terdiri dari 4 tabel utama yang direlasikan dalam skema star/snowflake sederhana:
| Tabel | Deskripsi | Relasi |
|---|---|---|
customers |
Data pelanggan (CustomerID, customer_type) | 1 customer → banyak purchases |
products |
Master data produk (product_id, item, category, price) | 1 product → banyak invoice_items |
purchases |
Transaksi/order (InvoiceID, date, CustomerID, product_id, quantity) | 1 purchase → banyak invoice_items |
invoice_items |
Detail baris item per transaksi (InvoiceID, product_id, quantity, price, line_total) | Tabel fakta penghubung purchases & products |
Skema relasi:
customers (1) ──< (N) purchases (1) ──< (N) invoice_items (N) >── (1) products
purchases dan invoice_items berperan sebagai fact table, sementara customers dan products berperan sebagai dimension table — struktur ini memungkinkan agregasi revenue, quantity, dan segmentasi pelanggan secara efisien di Power BI.
retail-performance-analysis/
├── asset/
│ └── dashboard_overview.png
├── dashboard/
│ └── Sales_analysis.pbix
├── data/
│ └── customers.csv
│ └── invoice_items.csv
│ └── products.csv
│ └── purchases.csv
├── sql/
│ └── clean_data.csv
│ └── query_clean_data.sql
└── README.md
- Data Preparation (MySQL)
- Import dataset mentah (
customers,products,purchases,invoice_items) ke MySQL. - Data cleaning: menangani duplikasi, missing value, dan standardisasi format.
- Exploratory Data Analysis (EDA) menggunakan query agregasi (
GROUP BY,JOIN,WINDOW FUNCTION) untuk validasi awal pola data.
- Import dataset mentah (
- Data Modeling (Power BI)
- Membangun star schema dengan
purchasesdaninvoice_itemssebagai fact table. - Membuat measure custom menggunakan DAX (Total Revenue, AOV, Total Quantity Sold, Revenue by Category).
- Membangun star schema dengan
- Visualization & Reporting
- Merancang dashboard interaktif dengan filter (Time Period, Category, Customer Segmentation).
- Menyusun visual storytelling: tren bulanan, kontribusi kategori, komposisi pelanggan, dan ranking produk.
Dengan 95,7% revenue berasal dari private customer dan hanya 4,3% dari wholesaler, bisnis berisiko tinggi terhadap fluktuasi daya beli individu.
Rekomendasi: Kembangkan program B2B outreach atau insentif volume untuk menumbuhkan segmen wholesaler sebagai diversifikasi sumber revenue.
Kategori ini secara konsisten unggul jauh di atas kategori lain dalam kontribusi revenue.
Rekomendasi: Prioritaskan alokasi stok, promosi, dan bundling produk pada kategori ini, sekaligus evaluasi strategi cross-selling ke kategori dengan performa lebih rendah seperti Administrative dan Beverages.
Produk medium ceramic top storage jar memimpin volume (74.576 unit) dan revenue ($77.564), namun other vegetables menghasilkan revenue lebih tinggi ($25.911) dengan volume jauh lebih rendah (5.203 unit) dibanding whole milk (6.980 unit, $15.286) — menunjukkan margin per unit yang berbeda signifikan antar produk.
Rekomendasi: Lakukan analisis margin per produk, bukan hanya volume, untuk menentukan prioritas inventory dan strategi harga.
Revenue dan volume turun signifikan setelah Januari, dengan pemulihan moderat di Oktober–November (kemungkinan efek musim belanja akhir tahun).
Rekomendasi: Rancang kampanye promosi pada periode lemah (Februari–September) untuk menstabilkan cash flow, dan siapkan stok lebih awal menjelang lonjakan Q4.
| Kategori | Tools/Skills |
|---|---|
| Database & Query | MySQL |
| Data Modeling | Relational Database Design, Star Schema |
| Business Intelligence | Power BI, DAX |
| Analytical Skills | EDA, Business Requirement Translation, Data Storytelling |
- Dataset terbatas pada periode 2014–2015, sehingga tren yang teridentifikasi belum tentu merepresentasikan kondisi pasar saat ini.
- Analisis tidak mencakup data biaya (cost) produk, sehingga insight terbatas pada revenue dan volume — belum mencakup profitabilitas riil per produk.
- Segmentasi pelanggan hanya berdasarkan tipe (private/wholesaler), tanpa dimensi demografis atau perilaku pembelian yang lebih granular (mis. RFM).
- Dashboard bersifat retrospective (historical reporting), belum mencakup elemen prediktif seperti forecasting revenue.
Proyek ini merupakan bagian dari portofolio Data Analyst — dibuat untuk mendemonstrasikan kemampuan end-to-end mulai dari data preparation, data modeling, hingga business storytelling.
