agriflow-api / REAL_DATA_METHODOLOGY.md
masterAAA123's picture
Space deploy v5: orphan snapshot of main, zero binary files
b81a86b
|
Raw
History Blame Contribute Delete
7.61 kB
# Real Data Methodology β€” Surplus/Deficit 2022
## Status per commodity
| Commodity | Status | Source | Tahun |
|---|---|---|---|
| `beras_premium` | REAL (derived) | BPS per-kab produksi + konsumsi + populasi | 2022 |
| `beras_medium` | REAL (derived, grade-split assumption 60/40) | same | 2022 |
| `cabai_merah` | REAL produksi (BPS Hortikultura); konsumsi proxy nasional (Kementan) | BPS Jatim Hortikul. + Kementan PDF | 2022 |
| `cabai_rawit` | REAL produksi (BPS Hortikultura); konsumsi proxy nasional (Kementan) | same | 2022 |
| `bawang_merah` | REAL produksi (BPS Hortikultura); konsumsi proxy nasional (Kementan) | same | 2022 |
| `bawang_putih` | REAL produksi (BPS Hortikultura); konsumsi proxy nasional (Kementan) | same | 2022 |
| `daging_ayam` | EXCLUDED β€” data tidak lengkap (broiler hilang; ayam petelur 2 kab) | β€” | PENDING |
| `telur_ayam` | EXCLUDED β€” telur petelur hanya 2 kab | β€” | PENDING |
---
## Reference year: 2022
All three beras inputs AND semua 5 hortikultura source files have 2022 data.
**2022** is selected as the reference year because:
- Beras: 2022 is the latest year where produksi, konsumsi per-kab, AND populasi are all
present and plausible for all 38 kab/kota. (2025 populasi corrupted ~1000x.)
- Hortikultura: BPS Hortikultura files have `Produksi_2021` and `Produksi_2022` columns;
2022 is the most recent available year.
- Konsumsi per-kapita hortikultura: Kementan Statistik Konsumsi Pangan 2024 provides
2022 values in Tabel 4.6a (cabai) and 4.1a/4.2a (bawang).
---
## Data sources
### Beras (all BPS-grade, per-kabupaten)
| Dataset | File | Source | Unit |
|---|---|---|---|
| Produksi beras | `sample_data/bps_real/year_beras.csv` | BPS Jawa Timur | ton/tahun/kab |
| Konsumsi per kapita | `sample_data/bps_real/week_konsumsi_beras_perkapita.csv` | BPS Indonesia (Susenas) | kg/kapita/minggu |
| Populasi | `sample_data/bps_real/year_populasi_jatim.csv` | BPS Jawa Timur | jiwa |
### Hortikultura
| Dataset | File | Source | Unit | Konversi |
|---|---|---|---|---|
| Produksi cabai besar | `bps_real/cabai_besar.csv` | BPS Jatim Hortikul. | **KUINTAL**/tahun | Γ·10 = ton |
| Produksi cabai keriting | `bps_real/cabai_keriting.csv` | same | KUINTAL/tahun | Γ·10 = ton |
| Produksi cabai rawit | `bps_real/cabai_rawit.csv` | same | KUINTAL/tahun | Γ·10 = ton |
| Produksi bawang merah | `bps_real/bawang_merah.csv` | same | KUINTAL/tahun | Γ·10 = ton |
| Produksi bawang putih | `bps_real/bawang_putih.csv` | same | KUINTAL/tahun | Γ·10 = ton |
**Satuan konfirmasi**: Total row cabai_besar 2022 = 851,445 kuintal = 85,145 ton β†’ sesuai
BPS published figure Jatim. Konversi Γ·10 (kuintal β†’ ton) terverifikasi.
### Konsumsi per kapita hortikultura β€” NATIONAL PROXY (Kementan)
Sumber: **Statistik Konsumsi Pangan 2024**, Pusat Data dan Sistem Informasi Pertanian,
Kementerian Pertanian. Desember 2024.
URL: https://satudata.pertanian.go.id/assets/docs/publikasi/Buku_Statistik_Konsumsi_2024.pdf
| Komoditas | Tabel | Hal. | Nilai 2022 | Catatan |
|---|---|---|---|---|
| Cabai merah | 4.6a (Cabe merah/Chillies) | 30 | **1.909 kg/kapita/tahun** | Susenas per-kapita nasional |
| Cabai rawit | 4.6a (Cabe rawit/Cayenne pepper) | 30 | **2.073 kg/kapita/tahun** | same |
| Bawang merah | 4.1a (Bawang merah/Onion) | 25 | **3.024 kg/kapita/tahun** | same |
| Bawang putih | 4.2a (Bawang putih/Garlic) | 26 | **2.016 kg/kapita/tahun** | same |
**PROXY WARNING**: Angka ini adalah RATA-RATA NASIONAL dari Susenas. Tidak ada data konsumsi
per-kabupaten untuk hortikultura. Konsumsi aktual per kab bisa berbeda dari angka nasional
(terutama kota besar vs pedesaan, atau daerah produsen di mana konsumsi lokal bisa lebih tinggi).
Hasil surplus/deficit hortikultura harus dibaca dengan caveat ini.
---
## Derivation formula
### Beras
```
konsumsi_ton = avg_konsumsi_perkapita_kg_per_minggu Γ— 52 Γ— populasi / 1000
net_ton = produksi_ton βˆ’ konsumsi_ton
role = "SURPLUS" if net_ton > 0 else "DEFICIT"
volume_tons = abs(net_ton)
```
Per-kab BPS Susenas data digunakan untuk konsumsi beras (bukan proxy nasional).
### Hortikultura (cabai merah, cabai rawit, bawang merah, bawang putih)
```
produksi_ton = (Produksi_2022 kuintal) / 10 # BPS file, kuintal -> ton
konsumsi_ton = perkapita_kg_per_tahun Γ— populasi_2022 / 1000 # Kementan national avg
net_ton = produksi_ton βˆ’ konsumsi_ton
role = "SURPLUS" if net_ton > 0 else "DEFICIT"
volume_tons = abs(net_ton)
```
Cabai merah = cabai_besar + cabai_keriting (dijumlahkan sebelum derivasi).
---
## Grade split beras: ASSUMPTION
60% net beras β†’ `beras_premium`; 40% β†’ `beras_medium`. Working assumption.
---
## Harga (2022 PIHPS median dari sample_data/price_history/)
| Komoditas | Harga IDR/kg | Sumber |
|---|---|---|
| `beras_premium` | 11,500 | median(super1=12,000; super2=11,000) PIHPS 2022 |
| `beras_medium` | 10,325 | median(medium1=10,650; medium2=10,000) PIHPS 2022 |
| `cabai_rawit` | 41,000 | cabe_rawit_cleaned.csv 2022 median, PIHPS |
| `bawang_merah` | 32,500 | bawang_merah_cleaned.csv 2022 median, PIHPS |
| `bawang_putih` | 20,750 | bawang_putih_cleaned.csv 2022 median, PIHPS |
| `cabai_merah` | 45,000 | **FLAGGED: komoditas_constraints.csv baseline** β€” cabai merah tidak ada di PIHPS dataset |
---
## harvest_age_days
| Role | Value | Rationale |
|---|---|---|
| SURPLUS | 28 | Typical post-harvest/milling age when komoditas leaves origin kab (conservative estimate) |
| DEFICIT | 0 | Convention: deficit nodes are demand points; age irrelevant |
---
## Name-to-kab_id mapping
**Beras source files**: menggunakan nama BPS full ("Kabupaten X" / "Kota X") β†’
strip prefix untuk match ke `kabupaten_jatim.csv` short name.
**Hortikultura source files**: menggunakan nama pendek tanpa prefix positional:
- Baris 0-28 (29 baris): Kabupaten, urutan kode BPS 3501 (Pacitan) s/d 3529 (Sumenep)
- Baris 29-37 (9 baris): Kota, urutan kode BPS 3571 (Kota Kediri) s/d 3579 (Kota Batu)
- Baris 38: "Total" β€” EXCLUDED
Semua 38 kab/kota Jatim ter-map tanpa exception untuk tahun 2022.
---
## Sanity check results (2022)
### Beras β€” top surplus kabupaten
| kab_id | Kabupaten | Net beras (ton) | Role |
|---|---|---|---|
| 3524 | Kab. Lamongan | +409,023 | SURPLUS |
| 3521 | Kab. Ngawi | +366,367 | SURPLUS |
| 3522 | Kab. Bojonegoro | +295,679 | SURPLUS |
| 3523 | Kab. Tuban | +184,507 | SURPLUS |
| 3519 | Kab. Madiun | +195,419 | SURPLUS |
### Cabai merah β€” top surplus
| kab_id | Kabupaten | Surplus (ton) |
|---|---|---|
| 3507 | Kab. Malang | ~22,328 |
| 3513 | Kab. Probolinggo | ~9,823 |
| 3510 | Kab. Banyuwangi | ~7,177 |
### Cabai rawit β€” top surplus
| kab_id | Kabupaten | Surplus (ton) |
|---|---|---|
| 3510 | Kab. Banyuwangi | ~100,709 |
| 3507 | Kab. Malang | ~81,866 |
| 3506 | Kab. Kediri | ~77,761 |
### Bawang merah β€” top surplus
| kab_id | Kabupaten | Surplus (ton) |
|---|---|---|
| 3518 | Kab. Nganjuk | ~190,610 |
| 3513 | Kab. Probolinggo | ~54,731 |
| 3507 | Kab. Malang | ~43,099 |
### Bawang putih
Seluruh 38 kab/kota DEFICIT. Jatim total produksi ~855 ton vs kebutuhan ~80,000+ ton.
(Jatim bukan produsen bawang putih; pasokan dari Temanggung/Brebes Jateng dan impor.)
Semua hasil ini sesuai ekspektasi geografis.
---
## Excluded
- **Daging ayam**: Data folder download berisi `daging_ayam_kampung.csv` dan
`daging_ayam_petelur.csv`. Broiler (sumber utama produksi komersial) tidak ada.
Data tidak representatif untuk routing engine. **Status: PENDING.**
- **Telur ayam**: `telur_ayam_petelur.csv` hanya 2 kabupaten ter-cover.
**Status: PENDING.**