Skip to content

Latest commit

Β 

History

History
341 lines (270 loc) Β· 10.9 KB

File metadata and controls

341 lines (270 loc) Β· 10.9 KB

πŸ“Š Analisis Data FMCG Personal Care - End-to-End Analysis

πŸ“‹ Project Overview

Proyek analisis data komprehensif untuk kategori FMCG Personal Care dengan pendekatan end-to-end dari data profiling hingga modeling dan evaluasi. Analisis ini mencakup:

  1. Data Profiling & Cleaning - Analisis kualitas data dan pembersihan menyeluruh
  2. Feature Engineering - Pembuatan fitur bisnis FMCG-specific yang relevan
  3. Exploratory Data Analysis - Eksplorasi data dengan visualisasi komprehensif
  4. Modeling & Evaluation - Pembangunan model prediksi dengan uji asumsi statistik
  5. Bias & Validity Analysis - Identifikasi bias dan validitas data
  6. Business Insights - Insight bisnis yang actionable

🎯 Project Goals

1. Innovation Radar

  • Mengidentifikasi produk dengan potensi pertumbuhan tinggi atau inovasi yang menarik minat konsumen
  • Analisis growth outlier dan rising stars
  • Analisis sentimen konsumen dan emerging keywords
  • Identifikasi white space opportunities

2. Trend Analysis

  • Analisis tren penjualan per kategori, brand, dan channel
  • Analisis tren harga dan diskon
  • Identifikasi pola musiman (seasonal patterns)
  • Visualisasi tren dengan interactive charts

3. Trend Forecasting

  • Memprediksi tren penjualan 6-12 bulan ke depan
  • Modeling pergeseran preferensi konsumen
  • Analisis time series dengan SARIMA, Prophet, dan Ensemble methods

4. Product Cannibalization Analysis

  • Evaluasi apakah peluncuran produk baru mengurangi penjualan produk lain
  • Source of Volume (SOV) analysis
  • Net portfolio impact calculation

πŸ“ Project Structure

Gelar-Rasa/
β”œβ”€β”€ DSC2025_Analysis_FMCG_PersonalCare.ipynb  # Main analysis notebook
β”œβ”€β”€ Gelar_Rasa/
β”‚   └── data/
β”‚       └── fmcg_personalcare/
β”‚           └── fmcg_personalcare/
β”‚               β”œβ”€β”€ sales.csv
β”‚               β”œβ”€β”€ products.csv
β”‚               β”œβ”€β”€ marketing.csv
β”‚               β”œβ”€β”€ reviews.csv
β”‚               └── README_FMCG_Personal_Care.txt
β”œβ”€β”€ data/
β”‚   └── clean/              # Cleaned & engineered datasets
β”œβ”€β”€ reports/
β”‚   β”œβ”€β”€ profiling/          # Data profiling reports
β”‚   β”œβ”€β”€ eda/                # EDA visualizations
β”‚   β”œβ”€β”€ insights.md         # Business insights
β”‚   β”œβ”€β”€ bias_analysis.csv   # Bias analysis results
β”‚   └── cleaning_log.csv    # Data cleaning log
β”œβ”€β”€ archive/
β”‚   └── unneeded/           # Archived files
β”œβ”€β”€ src/                    # Source code modules (optional)
β”œβ”€β”€ requirements.txt        # Python dependencies
└── README.md              # This file

πŸš€ Getting Started

Prerequisites

  • Python 3.8 or higher
  • pip package manager

Installation

  1. Clone or navigate to the project directory:
cd Gelar-Rasa
  1. Create a virtual environment (recommended):
python -m venv env
source env/bin/activate  # On Windows: env\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt

Data Setup

Ensure your data files are located at:

Gelar_Rasa/data/fmcg_personalcare/fmcg_personalcare/
β”œβ”€β”€ sales.csv
β”œβ”€β”€ products.csv
β”œβ”€β”€ marketing.csv
└── reviews.csv

Menjalankan Analisis

  1. Buka notebook DSC2025_Analysis_FMCG_PersonalCare.ipynb
  2. Jalankan semua cells secara berurutan
  3. Hasil analisis akan tersimpan di:
    • reports/profiling/ - Data profiling reports
    • reports/eda/ - Visualisasi EDA
    • reports/insights.md - Insight bisnis
    • data/clean/ - Dataset yang sudah dibersihkan

πŸ“Š Analisis yang Dilakukan

1. Data Profiling & Ingestion

  • βœ… Load dan analisis semua dataset (sales, products, marketing, reviews)
  • βœ… Profiling komprehensif: missing values, distribusi, tipe data
  • βœ… Simpan hasil profiling ke CSV

2. Data Cleaning

  • βœ… Normalisasi nama kolom (snake_case)
  • βœ… Konversi kolom waktu ke datetime
  • βœ… Handling missing values (impute dengan median/mode/default)
  • βœ… Hapus duplikat
  • βœ… Deteksi outlier (IQR method)
  • βœ… Validasi data numerik (harga, quantity tidak negatif)

3. Feature Engineering (FMCG-Specific)

  • βœ… Fitur waktu: day_of_week, month, year, is_weekend, is_holiday
  • βœ… Fitur promosi: promo_flag, promo_depth, promo_intensity
  • βœ… Fitur harga: price_ratio_to_base, relative_price_to_avg, price_tier
  • βœ… Fitur historis: lag_qty (1, 7, 30 hari), rolling_mean (7, 30 hari)
  • βœ… Fitur kategori: sku_category, store_type, pack_size
  • βœ… Elastisitas harga: correlation log(qty) vs log(price)

4. Exploratory Data Analysis (EDA)

  • βœ… Visualisasi tren penjualan (total & per kategori)
  • βœ… Distribusi harga, quantity, dan promo lift
  • βœ… Korelasi antar fitur (heatmap)
  • βœ… Analisis musiman
  • βœ… Top performer: toko & SKU
  • βœ… SKU dengan promo paling efektif

5. Modeling & Evaluation

  • βœ… Baseline models: Linear Regression, Ridge, Lasso, Random Forest, Gradient Boosting
  • βœ… Metrik evaluasi: MAE, RMSE, MAPE, RΒ²
  • βœ… Uji asumsi model:
    • Normalitas residual (Shapiro-Wilk / Jarque-Bera)
    • Homoskedastisitas (Breusch-Pagan)
    • Autokorelasi (Durbin-Watson, Ljung-Box)
    • Multikolinearitas (VIF)
  • βœ… Interpretasi feature importance
  • βœ… Evaluasi komprehensif dengan rekomendasi perbaikan

6. Bias & Validity Analysis

  • βœ… Deteksi bias waktu (distribusi per tahun/bulan)
  • βœ… Deteksi bias lokasi (distribusi per region)
  • βœ… Deteksi bias promo (distribusi dengan/tanpa promo)
  • βœ… Analisis confounding (promo vs musim)
  • βœ… Kuantifikasi tingkat bias

7. Documentation

  • βœ… README dengan penjelasan proyek
  • βœ… Laporan insights bisnis (insights.md)
  • βœ… Struktur repository yang rapi

πŸ“ˆ Output Files

Reports

  • reports/profiling/profiling_*.csv - Data profiling untuk setiap dataset
  • reports/eda/*.png - Visualisasi EDA (12+ grafik)
  • reports/insights.md - Insight bisnis komprehensif
  • reports/bias_analysis.csv - Hasil analisis bias
  • reports/cleaning_log.csv - Log proses data cleaning

Clean Data

  • data/clean/sales_with_features.csv - Dataset yang sudah dibersihkan dan di-feature engineering

Visualizations (EDA)

  1. Tren penjualan total
  2. Tren penjualan per kategori
  3. Distribusi harga, quantity, discount, promo lift
  4. Korelasi heatmap
  5. Analisis musiman
  6. Top performer (toko & SKU)
  7. Promo effectiveness
  8. Residual normality
  9. Residual homoskedasticity
  10. Feature importance (Linear Regression)
  11. Feature importance (Random Forest)
  12. Predicted vs Actual

πŸ”§ Usage

Menjalankan Analisis Lengkap

  1. Buka Jupyter Notebook:
jupyter notebook DSC2025_Analysis_FMCG_PersonalCare.ipynb
  1. Atau menggunakan JupyterLab:
jupyter lab DSC2025_Analysis_FMCG_PersonalCare.ipynb
  1. Jalankan semua cells secara berurutan (Cell β†’ Run All)

Reproducibility

  • Random Seed: 42 (untuk reproducibility)
  • Package Versions: Dicatat di awal notebook
  • Semua output disimpan dengan timestamp untuk tracking

Struktur Notebook

Notebook dibagi menjadi 9 bagian utama:

  1. Setup Environment & Reproducibility
  2. Analisis Struktur Repository
  3. Data Ingestion & Profiling
  4. Data Cleaning
  5. Feature Engineering
  6. Exploratory Data Analysis
  7. Modeling & Evaluasi
  8. Analisis Bias & Validitas Data
  9. Ringkasan & Insight Bisnis

πŸ“ˆ Key Features

  • Modular Architecture: Each phase is independently executable
  • Comprehensive Analysis: Covers all aspects from data integration to strategic insights
  • Statistical Rigor: Uses advanced statistical methods (DiD, time series, clustering)
  • Visualization: Interactive dashboards using Plotly
  • Reproducibility: Clear documentation and structured code

πŸ“ Methodology

Data Preprocessing

  • Missing value analysis dan imputation (median/mode/default)
  • Outlier detection menggunakan IQR method (1.5 Γ— IQR)
  • Normalisasi nama kolom ke snake_case
  • Validasi data numerik (harga, quantity tidak negatif)

Feature Engineering

  • 30+ fitur yang dibuat mencakup:
    • Fitur waktu (8 fitur)
    • Fitur promosi (5 fitur)
    • Fitur harga (4 fitur)
    • Fitur historis (8 fitur)
    • Fitur kategori (5 fitur)
    • Elastisitas harga (1 fitur)

Modeling

  • Multiple baseline models: Linear, Ridge, Lasso, Random Forest, Gradient Boosting
  • Time-based train-test split (80-20)
  • StandardScaler untuk normalisasi fitur
  • Evaluasi dengan MAE, RMSE, MAPE, RΒ²

Statistical Testing

  • Uji Asumsi Model:
    • Normalitas residual (Shapiro-Wilk / Jarque-Bera)
    • Homoskedastisitas (Breusch-Pagan)
    • Autokorelasi (Durbin-Watson, Ljung-Box)
    • Multikolinearitas (VIF)
  • Bias Detection:
    • Chi-square test untuk confounding
    • Distribusi persentase untuk bias waktu/lokasi/promo

πŸ› οΈ Technologies Used

  • Python 3.8+
  • pandas - Data manipulation
  • numpy - Numerical computing
  • scikit-learn - Machine learning
  • statsmodels - Statistical modeling
  • prophet - Time series forecasting
  • plotly - Interactive visualizations
  • scipy - Scientific computing

πŸ“Š Expected Outputs

  1. Data Quality Report: Validation results, missing values, outliers
  2. Market Snapshot: Overall market metrics, market share, growth rates
  3. Product Portfolio Analysis: Detailed metrics per product/SKU
  4. Innovation Radar Report: Growth outliers, rising stars, emerging keywords
  5. Forecast Report: Sales forecasts with confidence intervals
  6. Cannibalization Report: SOV analysis, net portfolio impact

🎯 Key Insights & Recommendations

Lihat file reports/insights.md untuk insight bisnis lengkap.

Temuan Utama

  • Dataset mencakup 1M+ transaksi dari 15 SKU
  • Periode analisis: 2020-2025
  • Total revenue dalam triliunan IDR
  • Promo menunjukkan lift signifikan pada penjualan

Dampak Bisnis

  • Channel e-commerce mendominasi penjualan
  • Promo efektif namun perlu optimasi timing
  • Elastisitas harga bervariasi antar SKU
  • Pola musiman terdeteksi untuk perencanaan inventory

Rekomendasi Aksi

  1. Fokus investasi marketing pada channel e-commerce dengan ROI tertinggi
  2. Optimasi strategi promo berdasarkan analisis musiman
  3. Implementasi dynamic pricing untuk SKU dengan elastisitas tinggi
  4. Pengembangan model forecasting untuk perencanaan inventory
  5. Monitoring dan mitigasi bias data untuk analisis yang lebih representatif

πŸ“š Documentation

  • Each module contains detailed docstrings
  • Method documentation explains parameters and returns
  • Code comments explain complex logic

🀝 Contributing

This is a competition project for Gelar Rasa 2025. For questions or issues, please refer to the project documentation.

πŸ“„ License

This project is for educational and competition purposes.

πŸ‘₯ Authors

  • Analyst: Gemini (Pakar Bisnis & Data)
  • Requester: User (Pimpinan)
  • Project: Data Science Competition Gelar Rasa 2025

πŸ“… Project Date

November 2025


Prepared for: Data Science Competition Gelar Rasa 2025
Dataset: FMCG Personal Care - Synthetic Dataset
Analysis Period: 2020-2025