Proyek analisis data komprehensif untuk kategori FMCG Personal Care dengan pendekatan end-to-end dari data profiling hingga modeling dan evaluasi. Analisis ini mencakup:
- Data Profiling & Cleaning - Analisis kualitas data dan pembersihan menyeluruh
- Feature Engineering - Pembuatan fitur bisnis FMCG-specific yang relevan
- Exploratory Data Analysis - Eksplorasi data dengan visualisasi komprehensif
- Modeling & Evaluation - Pembangunan model prediksi dengan uji asumsi statistik
- Bias & Validity Analysis - Identifikasi bias dan validitas data
- Business Insights - Insight bisnis yang actionable
- 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
- Analisis tren penjualan per kategori, brand, dan channel
- Analisis tren harga dan diskon
- Identifikasi pola musiman (seasonal patterns)
- Visualisasi tren dengan interactive charts
- Memprediksi tren penjualan 6-12 bulan ke depan
- Modeling pergeseran preferensi konsumen
- Analisis time series dengan SARIMA, Prophet, dan Ensemble methods
- Evaluasi apakah peluncuran produk baru mengurangi penjualan produk lain
- Source of Volume (SOV) analysis
- Net portfolio impact calculation
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
- Python 3.8 or higher
- pip package manager
- Clone or navigate to the project directory:
cd Gelar-Rasa- Create a virtual environment (recommended):
python -m venv env
source env/bin/activate # On Windows: env\Scripts\activate- Install dependencies:
pip install -r requirements.txtEnsure your data files are located at:
Gelar_Rasa/data/fmcg_personalcare/fmcg_personalcare/
├── sales.csv
├── products.csv
├── marketing.csv
└── reviews.csv
- Buka notebook
DSC2025_Analysis_FMCG_PersonalCare.ipynb - Jalankan semua cells secara berurutan
- Hasil analisis akan tersimpan di:
reports/profiling/- Data profiling reportsreports/eda/- Visualisasi EDAreports/insights.md- Insight bisnisdata/clean/- Dataset yang sudah dibersihkan
- ✅ Load dan analisis semua dataset (sales, products, marketing, reviews)
- ✅ Profiling komprehensif: missing values, distribusi, tipe data
- ✅ Simpan hasil profiling ke CSV
- ✅ 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)
- ✅ 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)
- ✅ 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
- ✅ 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
- ✅ 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
- ✅ README dengan penjelasan proyek
- ✅ Laporan insights bisnis (insights.md)
- ✅ Struktur repository yang rapi
reports/profiling/profiling_*.csv- Data profiling untuk setiap datasetreports/eda/*.png- Visualisasi EDA (12+ grafik)reports/insights.md- Insight bisnis komprehensifreports/bias_analysis.csv- Hasil analisis biasreports/cleaning_log.csv- Log proses data cleaning
data/clean/sales_with_features.csv- Dataset yang sudah dibersihkan dan di-feature engineering
- Tren penjualan total
- Tren penjualan per kategori
- Distribusi harga, quantity, discount, promo lift
- Korelasi heatmap
- Analisis musiman
- Top performer (toko & SKU)
- Promo effectiveness
- Residual normality
- Residual homoskedasticity
- Feature importance (Linear Regression)
- Feature importance (Random Forest)
- Predicted vs Actual
- Buka Jupyter Notebook:
jupyter notebook DSC2025_Analysis_FMCG_PersonalCare.ipynb- Atau menggunakan JupyterLab:
jupyter lab DSC2025_Analysis_FMCG_PersonalCare.ipynb- Jalankan semua cells secara berurutan (Cell → Run All)
- Random Seed: 42 (untuk reproducibility)
- Package Versions: Dicatat di awal notebook
- Semua output disimpan dengan timestamp untuk tracking
Notebook dibagi menjadi 9 bagian utama:
- Setup Environment & Reproducibility
- Analisis Struktur Repository
- Data Ingestion & Profiling
- Data Cleaning
- Feature Engineering
- Exploratory Data Analysis
- Modeling & Evaluasi
- Analisis Bias & Validitas Data
- Ringkasan & Insight Bisnis
- 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
- 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)
- 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)
- 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²
- 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
- 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
- Data Quality Report: Validation results, missing values, outliers
- Market Snapshot: Overall market metrics, market share, growth rates
- Product Portfolio Analysis: Detailed metrics per product/SKU
- Innovation Radar Report: Growth outliers, rising stars, emerging keywords
- Forecast Report: Sales forecasts with confidence intervals
- Cannibalization Report: SOV analysis, net portfolio impact
Lihat file reports/insights.md untuk insight bisnis lengkap.
- Dataset mencakup 1M+ transaksi dari 15 SKU
- Periode analisis: 2020-2025
- Total revenue dalam triliunan IDR
- Promo menunjukkan lift signifikan pada penjualan
- Channel e-commerce mendominasi penjualan
- Promo efektif namun perlu optimasi timing
- Elastisitas harga bervariasi antar SKU
- Pola musiman terdeteksi untuk perencanaan inventory
- Fokus investasi marketing pada channel e-commerce dengan ROI tertinggi
- Optimasi strategi promo berdasarkan analisis musiman
- Implementasi dynamic pricing untuk SKU dengan elastisitas tinggi
- Pengembangan model forecasting untuk perencanaan inventory
- Monitoring dan mitigasi bias data untuk analisis yang lebih representatif
- Each module contains detailed docstrings
- Method documentation explains parameters and returns
- Code comments explain complex logic
This is a competition project for Gelar Rasa 2025. For questions or issues, please refer to the project documentation.
This project is for educational and competition purposes.
- Analyst: Gemini (Pakar Bisnis & Data)
- Requester: User (Pimpinan)
- Project: Data Science Competition Gelar Rasa 2025
November 2025
Prepared for: Data Science Competition Gelar Rasa 2025
Dataset: FMCG Personal Care - Synthetic Dataset
Analysis Period: 2020-2025