Main Logo
  • Home
  • About
  • Kursus
    • Paket Kursus
    • Roadmap Profesi
  • Elearning
  • Blog
Daftar
Main Logo
  • Home
  • About
  • Kursus
    • Paket Kursus
    • Roadmap Profesi
  • Elearning
  • Blog

Dari Data Mentah ke Insight Bisnis: Analisis Lengkap Dataset Retail dengan Python & Excel

  • March 31, 2026
  • oleh Edusoft Center

Artikel ini mendokumentasikan proses analisis data end-to-end — dari pemahaman dataset, data cleaning, eksplorasi, hingga rekomendasi bisnis. Cocok dijadikan referensi portofolio Junior Data Analyst.


🧭 Background: Mengapa Analisis Ini Penting?

Perusahaan retail modern menghasilkan ribuan transaksi setiap bulannya. Tanpa analisis yang tepat, data tersebut hanya menjadi angka-angka tak bermakna di dalam spreadsheet. Pertanyaan bisnis yang sering muncul di level manajemen adalah:

  • Produk mana yang paling menguntungkan?
  • Apakah program diskon kita benar-benar efektif?
  • Kapan waktu terbaik untuk meningkatkan stok?
  • Kategori mana yang perlu mendapat perhatian lebih?

Sebagai Junior Data Analyst, tugas saya adalah menjawab pertanyaan-pertanyaan tersebut menggunakan data — secara sistematis, akurat, dan mudah dikomunikasikan kepada manajemen.

Dalam artikel ini, saya akan membawa kamu melalui seluruh proses analisis dataset retail dengan 12,418 transaksi selama 3 tahun (2022–2025).


📦 Dataset yang Digunakan

Dataset yang digunakan adalah Data_Retail.xlsx — dataset transaksi retail internal yang mencakup berbagai kategori produk dari makanan hingga elektronik.

Spesifikasi Dataset

AtributDetail
Jumlah baris12,418 transaksi
Jumlah kolom15 variabel
PeriodeJanuari 2022 – Januari 2025
SumberDataset internal perusahaan retail

Variabel Kunci

Transaction_id    → ID unik transaksi
Category          → 8 kategori produk
Sub-Category      → Lebih dari 100 sub-item
Sales             → Nilai penjualan (Rp)
Profit            → Estimasi profit = 20% dari Sales
Discount_Value    → 0.0 (tanpa diskon) atau 0.2 (diskon 20%)
Payment_Method    → Cash / Credit Card / Digital Wallet
Location          → Online / In-store
Transaction_Date  → Tanggal transaksi
Region            → East / West / Central (⚠️ dummy data)

Penting: Dua hal perlu dicatat sejak awal — (1) kolom Region adalah dummy data dan tidak mencerminkan lokasi geografis nyata, dan (2) kolom Profit adalah estimasi tetap 20% dari Sales, bukan profit aktual yang memperhitungkan biaya operasional.


🧹 Proses Data Cleaning

Langkah pertama sebelum analisis adalah memastikan kualitas data. Saya menggunakan Python (pandas) untuk proses ini.

import pandas as pd

# Load dataset
df = pd.read_excel('Data_Retail.xlsx')

# 1. Cek ukuran dataset
print(f"Shape: {df.shape}")
# Output: (12418, 15)

# 2. Cek missing values
print(df.isnull().sum())
# Output: Semua 0 — tidak ada missing value

# 3. Cek duplikasi
print(f"Duplicates: {df.duplicated().sum()}")
# Output: 0 — tidak ada duplikat

# 4. Konversi format tanggal
df['Transaction_Date'] = pd.to_datetime(df['Transaction_Date'])

# 5. Ekstraksi fitur waktu
df['Year'] = df['Transaction_Date'].dt.year
df['Month_Num'] = df['Transaction_Date'].dt.month

# 6. Validasi nilai numerik
print(df[['Sales', 'Profit', 'Price_per_unit']].describe())

Ringkasan Hasil Cleaning

PemeriksaanHasil
Missing values✅ 0 — dataset lengkap
Duplikasi baris✅ 0 — tidak ada duplikat
Format tanggal✅ Berhasil dikonversi ke datetime
Nilai negatif✅ Tidak ditemukan pada Sales & Profit
Konsistensi kategori✅ 8 kategori, penulisan konsisten
Nilai Discount_Value✅ Hanya 0.0 dan 0.2 — sesuai ekspektasi

Kesimpulan: Dataset sudah dalam kondisi bersih dan siap dianalisis tanpa memerlukan imputasi atau koreksi data yang signifikan.


🔍 Exploratory Data Analysis (EDA)

Visualisasi 1 — Sales by Region

sales_region = df.groupby('Region')[['Sales','Profit']].sum().sort_values('Sales', ascending=False)
print(sales_region)

Hasil:

RegionSales (Rp)Profit (Rp)% Kontribusi
East680,757136,15143.8%
West517,519103,50433.3%
Central357,28571,45723.0%

Insight: Region East mendominasi penjualan dengan kontribusi 43.8% dari total sales. Namun karena region adalah dummy data, temuan ini lebih mencerminkan distribusi data daripada performa wilayah geografis yang sesungguhnya.

Pertanyaan kritis: Apakah sales tinggi = profit tinggi? Dalam dataset ini, ya — karena profit adalah 20% flat dari sales. Dalam bisnis nyata, relasi ini bisa jauh lebih kompleks.


Visualisasi 2 — Profit by Category

profit_cat = df.groupby('Category')[['Sales','Profit']].sum().sort_values('Profit', ascending=False)
print(profit_cat)

Hasil:

CategorySales (Rp)Profit (Rp)
Butchers204,14040,828
Electric Household203,26140,652
Computers & Electric197,49139,498
Food196,32639,265
Beverages195,56139,112
Furniture191,42638,285
Patisserie184,61536,923
Milk Products182,74136,548

Insight: Selisih profit antar kategori relatif kecil (Rp 40,828 vs Rp 36,548). Ini wajar karena margin ditetapkan seragam 20%. Yang membedakan adalah volume sales per kategori — Butchers dan Electric Household unggul karena volume transaksinya lebih tinggi.


Visualisasi 3 — Discount vs Profit Analysis

disc_analysis = df.groupby('Discount_Value')[['Sales','Profit']].agg(['count','sum','mean'])
print(disc_analysis)

Hasil:

Tipe DiskonJumlah Txn% TxnTotal SalesTotal ProfitAvg Profit/Txn
Tanpa Diskon (0%)4,10733.1%516,356103,27125.15
Dengan Diskon (20%)8,31166.9%1,039,205207,84125.01

Insight: Transaksi dengan diskon 20% mencapai 66.9% dari total transaksi — jauh lebih banyak dari transaksi tanpa diskon. Ini menunjukkan bahwa diskon sangat efektif mendorong pembelian. Rata-rata profit per transaksi hampir identik (Rp 25.15 vs Rp 25.01) karena profit ditetapkan sebagai persentase sales.


Visualisasi 4 — Top 10 Sub-Category by Sales

top10 = df.groupby('Sub-Category')['Sales'].sum().sort_values(ascending=False).head(10)
print(top10)

Hasil:

RankSub-CategorySales (Rp)
🥇 1Item_2_BEV145,446
2Item_25_FUR21,976
3Item_22_BUT19,710
4Item_25_EHE19,393
5Item_20_BUT18,861
6Item_19_MILK18,848
7Item_19_CEA17,856
8Item_20_FOOD17,487
9Item_25_BUT17,384
10Item_16_MILK17,243

Insight paling mengejutkan: Item_2_BEV (Beverages) menghasilkan sales Rp 145,446 — hampir 6.6× lebih besar dari sub-kategori peringkat kedua (Rp 21,976). Ini adalah “outlier positif” yang luar biasa dan layak menjadi fokus strategi penjualan.


Visualisasi 5 — Monthly Sales Trend

monthly = df.groupby(['Year', 'Month_Num', 'Month'])['Sales'].sum().reset_index()
monthly = monthly.sort_values(['Year', 'Month_Num'])

Temuan Trend:

Puncak Tertinggi  : Januari 2022   → Rp 52,549
Terendah (lengkap): Oktober 2022   → Rp 38,309
Desember 2024     : Rp 48,933 (tertinggi sepanjang 2024)
Rata-rata bulanan : ~Rp 43,209 per bulan

Pola yang teridentifikasi:

  • Sales meningkat di awal tahun (Januari) dan akhir tahun (Desember)
  • Bulan Agustus–Oktober cenderung melemah
  • Sales 2024 secara keseluruhan lebih stabil dibanding 2022–2023

💡 Business Insights — 5 Temuan Utama

🔵 Insight 1: East Region Mendominasi, Tapi Perlu Konteks

Region East mencatat 43.8% dari total sales dengan 5,421 transaksi. Namun karena Region adalah dummy data, insight ini perlu dikonfirmasi dengan data lokasi aktual sebelum dijadikan dasar keputusan strategis wilayah.

Implikasi bisnis: Jika data region diperbarui dengan data geografis nyata, perusahaan bisa mengoptimalkan distribusi dan logistik berdasarkan performa wilayah yang terukur.


🟢 Insight 2: Butchers & Electric Household adalah Tulang Punggung Bisnis

Dari 8 kategori, Butchers (Rp 204,140) dan Electric Household (Rp 203,261) secara konsisten memimpin baik dari sisi sales maupun profit absolut. Keduanya berkontribusi ~26% dari total sales perusahaan.

Implikasi bisnis: Gangguan pada supply chain atau stok kedua kategori ini akan berdampak besar pada revenue. Perlu prioritas dalam manajemen inventaris dan vendor relationship.


🟡 Insight 3: Satu Produk Mendominasi Keseluruhan Sales

Item_2_BEV menghasilkan Rp 145,446 — 9.4% dari TOTAL sales perusahaan dari satu sub-kategori saja. Ketergantungan besar pada satu item menciptakan risiko bisnis (single point of failure).

Implikasi bisnis: Jika item ini mengalami masalah ketersediaan atau kompetitor menawarkan alternatif, impact-nya ke revenue bisa sangat signifikan.


🟠 Insight 4: Diskon 20% Efektif Mendorong Volume, Margin Tetap Stabil

66.9% transaksi terjadi dengan diskon 20%, menghasilkan 2× lebih banyak transaksi dibanding non-diskon. Rata-rata profit per transaksi hampir identik (Rp 25.15 vs Rp 25.01).

Implikasi bisnis: Diskon terbukti mendorong lebih banyak transaksi. Pertanyaan selanjutnya: apakah transaksi diskon mendatangkan pelanggan baru atau hanya memindahkan pembelian yang sudah akan terjadi (purchase pull-forward)?


🔴 Insight 5: Patisserie & Milk Products Butuh Perhatian

Kedua kategori ini berada di posisi terbawah dari sisi kontribusi sales dan profit absolut. Patisserie (Rp 184,615 sales) dan Milk Products (Rp 182,741) memiliki selisih hampir Rp 21,000 dibanding kategori teratas.

Implikasi bisnis: Perlu kajian apakah kelemahan ini disebabkan oleh harga yang kurang kompetitif, demand yang rendah, atau kurangnya promosi yang tertarget.


📋 Business Recommendations

Rekomendasi 1 — Jadikan Item_2_BEV sebagai “Hero Product”

Dengan sales 9.4% dari total hanya dari satu sub-kategori, Item_2_BEV harus menjadi flagship product. Strategi: pastikan stok selalu tersedia, jadikan anchor dalam paket bundling, dan gunakan sebagai traffic driver untuk meningkatkan cross-selling ke kategori lain.

Rekomendasi 2 — Diversifikasi Portfolio Produk Beverages

Ketergantungan besar pada satu item (Item_2_BEV) adalah risiko. Kembangkan 2–3 sub-kategori Beverages lainnya untuk menjadi “rising stars” yang dapat mengurangi ketergantungan pada satu SKU.

Rekomendasi 3 — Evaluasi Program Diskon dengan Data Lebih Dalam

Diskon 20% efektif mendorong volume, tapi perlu dievaluasi apakah mendatangkan pelanggan baru atau hanya akselerasi pembelian dari pelanggan yang sama. Pertimbangkan A/B test: sebagian pelanggan mendapat diskon, sebagian mendapat poin loyalitas — lalu bandingkan Lifetime Value-nya.

Rekomendasi 4 — Manfaatkan Seasonality untuk Perencanaan Stok & Promosi

Dengan pola yang jelas: puncak di Desember–Januari dan lemah di Agustus–Oktober, perusahaan bisa merencanakan lebih baik. Tingkatkan stok dan anggaran marketing menjelang peak season. Di off-season, gunakan flash sale atau bundle untuk menjaga cash flow.

Rekomendasi 5 — Lakukan Analisis Profitabilitas Real untuk Patisserie & Milk Products

Analisis saat ini menggunakan estimasi profit 20% dari sales. Untuk keputusan bisnis yang lebih akurat, perlu integrasi data biaya produksi, biaya logistik, dan biaya overhead per kategori — terutama untuk Patisserie dan Milk Products yang memerlukan cold chain dan memiliki umur simpan pendek.


🛠️ Tools & Tech Stack

📊 Analisis Data    : Python 3.10, pandas 2.x
📁 File Processing  : openpyxl (Excel formatting)
📈 Visualisasi      : Google Looker Studio
📑 Presentasi       : PowerPoint (pptxgenjs)
🗄️ Dataset          : Excel (.xlsx), 12,418 rows

🎯 Refleksi & Pembelajaran

Proyek ini mengajarkan beberapa hal penting:

  1. Data quality adalah fondasi — Dataset bersih memungkinkan analis fokus pada insight, bukan debugging data.
  2. Konteks bisnis sangat penting — Angka profit 20% yang seragam mengubah cara interpretasi: fokus bukan pada margin, tapi pada volume. Tanpa memahami konteks ini, kesimpulan bisa menyesatkan.
  3. Satu outlier bisa mengubah seluruh narasi — Item_2_BEV yang 6.6× lebih besar dari sub-kategori kedua adalah temuan yang mengubah seluruh strategi rekomendasi.
  4. Visualisasi yang baik mempercepat keputusan — Manajemen tidak membaca tabel angka; mereka membaca grafik. Investasi dalam visualisasi yang bersih dan komunikatif adalah kunci adoption dari rekomendasi analisis.

📁 Repository & File

FileDeskripsi
README.mdDokumentasi proyek lengkap
Data_Retail.xlsxDataset utama (12,418 transaksi)
Data_Retail_Dashboard_Full.xlsxDashboard Excel + 5 sheet analisis
Retail_Sales_Analysis_W6.pptxLaporan presentasi 6 slide

🔗 Referensi & Sumber Belajar

  • pandas Documentation
  • Google Looker Studio Help
  • openpyxl Documentation
  • Storytelling with Data — Cole Nussbaumer Knaflic

Artikel ini ditulis sebagai bagian dari tugas Minggu 7: Final Project & Portfolio — Junior Data Analyst Program.

Ditulis oleh: Junior Data Analyst | Dipublikasikan: 2025

Tags: #Python Data Visualizationanalisis bisnis retailanalisis dataAnalisis dataset excelanalisis dataset pythondata analystData Analyst PortofolioInsight Bisnisvisualisasi data
Previous Post
Next Post

Post comment

Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • Panduan Lengkap Clean Code dalam Rekayasa Perangkat Lunak: Prinsip, Teknik, dan Contoh Praktis
  • Website Toko Digital Siap Pakai: Solusi Otomatis untuk Bisnis Digital Anda
  • 🔐 Cara Membuat Show/Hide Password dengan JavaScript (Simple & Langsung Bisa!)
  • Tampilan Aplikasi SIPPO Berbasis Google Apps Script Web App
  • SIPADU RT: Solusi Modern Pengelolaan Pengaduan Warga RT/RW Berbasis Google Apps Script

Arsip

  • April 2026
  • March 2026
  • February 2026
  • January 2026
  • September 2025
  • August 2025
  • July 2025
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
  • February 2018
  • January 2018
  • December 2017
  • November 2017
  • October 2017
  • September 2017
  • August 2017
  • July 2017
  • June 2017
  • May 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • December 2016
  • November 2016
  • October 2016
  • September 2016
  • August 2016
  • July 2016
  • June 2016
  • May 2016
  • April 2016
  • March 2016
  • February 2016
  • January 2016
  • December 2015
  • November 2015
  • October 2015
  • September 2015
  • August 2015
  • July 2015
  • June 2015
  • May 2015
  • April 2015
  • March 2015
  • February 2015
  • January 2015
  • December 2014
  • November 2014
  • October 2014
  • September 2014
  • August 2014
  • July 2014
  • June 2014
  • May 2014
  • April 2014
  • March 2014
  • February 2014
  • January 2014
  • December 2013
  • November 2013
  • October 2013
  • September 2013
  • August 2013
  • July 2013
  • June 2013
  • May 2013
  • April 2013
  • March 2013
  • February 2013
  • January 2013
  • December 2012
  • November 2012
  • October 2012
  • September 2012
  • August 2012
  • July 2012
  • June 2012
  • May 2012
  • April 2012
  • December 2011
  • November 2011

Tags

#EdusoftCenter apache web server dns server kursus android kursus database kursus dns dan web server kursus dns server kursus ethical hacking kursus hacking kursus jaringan kursus jaringan linux Kursus Komputer kursus komputer di solo kursus komputer di solo / surakarta kursus komputer di surakarta kursus linux Kursus Linux Forensics kursus linux networking kursus linux security kursus linux server kursus mikrotik kursus networking kursus network security kursus php Kursus PHP dan MySQL kursus php mysql kursus proxy kursus security kursus ubuntu kursus ubuntu server kursus web kursus web security kursus web server kursus wordpress kursus wordpress theme linux MySQL pelatihan komputer di solo PHP security training komputer training komputer di solo tutorial php ubuntu wordpress

© Edusoft Center - Kursus Komputer di Solo | 2010 - 2025 | Privacy Policy | Site Map

All Right Reserved

WhatsApp us