Metodologi
1. Pendekatan 3-Layer
IPU mengukur kondisi persaingan dari tujuh dimensi melalui tiga kelompok responden:
- Pakar (L1): akademisi, pejabat ekonomi, jurnalis ekonomi — 8 per provinsi.
- Pelaku Usaha (L2): perusahaan/UMKM aktif di sektor — 24 per provinsi.
- Regulator (L3): KPPU, DPMPTSP, KADIN/asosiasi payung — 3 per provinsi.
Bobot: L1 = 20%, L2 = 60%, L3 = 20%.
2. Tujuh Dimensi
- Struktur
- Perilaku
- Kinerja
- Regulasi
- Permintaan
- Penawaran
- Kelembagaan
3. Pipeline Penghitungan Indeks Provinsi
- Skor responden per dimensi = rata-rata item valid.
- Skor layer per sel (sektor × dimensi) = rata-rata responden dalam layer tsb.
- Skor matriks tertimbang = Σ wₗ × skor_layer / Σ wₗ. Bobot didistribusikan ulang jika satu layer absen.
- Indeks Provinsi = rata-rata seluruh sel matriks.
Indeks Sektor = mean baris; Indeks Dimensi = mean kolom.
Properti Konsistensi: Indeks Provinsi = mean(Indeks Sektor) = mean(Indeks Dimensi) = grand_mean(Matriks).
4. Pendekatan Berbasis Dimensi (IPU Wilayah/Nasional)
Tahap 1: hitung Indeks Dimensi tiap provinsi.
Tahap 2: rata-ratakan Indeks Dimensi antar provinsi.
Indeks Dimensi Wilayah(d) = mean_p [Indeks Dimensi(p, d)] IPU Wilayah / Nasional = mean_d [Indeks Dimensi Wilayah(d)]
- Tidak bergantung pada komposisi sektor.
- Direkomendasikan sebagai indeks utama.
5. Pendekatan Sektor Bersama (apple-to-apple)
Sektor lolos jika hadir di ≥ ⌈n/2⌉ provinsi (mayoritas). Skor sel = rata-rata skor tertimbang antar provinsi yang memiliki sektor itu.
M_rep(s, d) = mean_p [M(p, s, d)] untuk p memiliki s IPU Sektor Bersama = grand_mean(M_rep)
- Komparasi setara antar provinsi.
- Sektor spesifik (B, D, E, K, L, MN, P, Q, RSTU) tidak masuk.
6. Stack Teknis & Output
- Database: PostgreSQL 16
- Backend: FastAPI 0.115 + SQLAlchemy 2 (asyncpg)
- Frontend: Next.js 14 + Tailwind + Recharts
- Deploy: Docker Compose + webhook (auto-deploy on push) + Caddy reverse proxy
- Dokumen rujukan: Metodologi_IPU_6Provinsi.docx · IPU_Agregasi_6Provinsi_Weighted.xlsx