INFRAIMPACT — Methodology Note (v1.0)
INFRAIMPACT — Methodology Note (v1.0)
Authoritative reference for the scoring engine implemented in assets/js/scoring.js and assets/js/aggregation.js.
1. Conceptual Framework
INFRAIMPACT decomposes the performance of a sanitation asset into two orthogonal blocks:
- Blok CAUSE / Origin Stage — prasyarat sebelum/saat aset dibangun.
- Institusi (C-I*): status hukum UPTD/BUMD, struktur organisasi, SDM, koordinasi lintas sektor.
- Regulasi (C-R*): Perda ALD, SOP LLTT, mandatory connection, konsistensi RISPALD–RPJMD.
- Finansial (C-F*): earmark APBD O&M, rasio terhadap kebutuhan normatif, cost-recovery, subsidi silang.
- Blok IMPACT / Runtime Stage — kinerja pasca-konstruksi.
- Layanan/Proses (I-S*): idle capacity ratio, LLTT coverage, off-taker activity, service continuity, response time.
- Fisik/Teknis (I-T*): structural integrity, MTBF, effluent compliance, sludge compliance, energy efficiency.
Output utama bukan satu skor tunggal, melainkan pasangan (S_CAUSE, S_IMPACT) yang ditempatkan di matriks 2×2:
| IMPACT < 0.5 | IMPACT ≥ 0.5 | |
|---|---|---|
| CAUSE ≥ 0.5 | Operational Decay | Resilient Asset |
| CAUSE < 0.5 | Investment-in-Failure | Compensated Failure |
2. Normalization
For each indicator $i$ with raw value $v$:
\[x_i = \begin{cases} (v - v_{\min}) / (v_{\max} - v_{\min}) & \text{min-max} \\ \mathrm{map}[v] & \text{categorical ordinal} \\ [v=\text{true}] & \text{boolean} \end{cases}\]Then clip $x_i$ to $[0, 1]$, and if indicator orientation is negative (e.g., idle capacity ratio), invert: $x_i \leftarrow 1 - x_i$.
3. Aggregation
- Dimension score (weighted arithmetic mean within available indicators):
- Block score (weighted geometric mean — non-compensatory partial):
The geometric mean penalises any dimension that collapses to zero, preventing institusi-strong/finansial-zero assets from looking healthy on arithmetic mean.
4. Bobot (Best-Worst Method)
Weights derive from a three-tier BWM (Rezaei, 2015, 2016):
- Block weights (CAUSE vs IMPACT) — MVP default 0.5 / 0.5.
- Dimension weights within block.
- Indicator weights within dimension.
The MVP 1 weights in weights.json are placeholders (panel PANEL-SIM-A). The consistency ratio (CR) of the placeholder panel is 0.18, marginally acceptable (< 0.25). For publication, the panel must be replaced with a documented expert elicitation.
5. Quadrant Classification
function classifyQuadrant(sCause, sImpact, threshold = 0.5) {
if (sCause >= threshold && sImpact >= threshold) return 'resilient';
if (sCause >= threshold && sImpact < threshold) return 'operational_decay';
if (sCause < threshold && sImpact >= threshold) return 'compensated_failure';
return 'investment_in_failure';
}
6. Risk Zone (with absolute override)
The composite zone uses the average of the block scores:
- Composite < 0.33 → red
- 0.33 ≤ Composite < 0.66 → yellow
- Composite ≥ 0.66 → green
Absolute compliance override: if effluent_compliance_rate < 0.50 (proxy for pelanggaran baku mutu), the zone is forced to red regardless of composite. This avoids the situation where institusi-strong assets mask serious environmental non-compliance.
7. Trajectory Classification
Given a series of yearly observations for one asset, the trajectory class is:
- recovered: zone[start] = red ∧ zone[end] ≠ red.
- relapse: zone[start] ≠ red ∧ zone[end] = red.
- volatile: stddev of composite > 0.15 across the series.
- improving: mean OLS slope (cause, impact) > +0.015 / year.
- declining: mean OLS slope < −0.015 / year.
- stagnant: otherwise.
8. Treatment of Missing Data and Left-Censoring
- An asset with
construction_year > selected_yearis rendered asnot_yet_constructed(hatch pattern) and excluded from idle/failed metrics for that year. - An observation with
data_quality_flag = "missing"is excluded from all aggregations; it is not imputed as zero. - If a series has fewer than 2 observations, trajectory class defaults to
stagnant.
9. Aggregation Across Assets (Spatial)
Province/district aggregation uses median + IQR for $(S_{CAUSE}, S_{IMPACT})$ to be robust against outlier assets. Dominant quadrant is computed by majority count. Tooltips display dispersion to mitigate ecological fallacy (Robinson, 1950).
10. Sensitivity Considerations (advisory for MVP 2)
- BWM weights are uncertain. Future versions should support perturbation ±20% with on-the-fly reclassification.
- The threshold
0.5is conventional; consider quantile-based thresholds when working with the empirical distribution rather than the normative.
11. Versioning
Every observation carries:
scoring_method_version(e.g.,v1.0)data_quality_flag(observed | estimated | imputed | missing)data_sourcelast_updated
When weights.json or the aggregation rule changes, bump the version and add an entry to scoring_versions.json. Do not silently overwrite scores from older versions.
12. References
- Rezaei, J. (2015). Best-worst multi-criteria decision-making method. Omega, 53, 49–57.
- Rezaei, J. (2016). Best-worst multi-criteria decision-making method: Some properties and a linear model. Omega, 64, 126–130.
- Robinson, W. S. (1950). Ecological correlations and the behavior of individuals. American Sociological Review, 15(3), 351–357.
- Hart, O., Shleifer, A., & Vishny, R. W. (1997). The proper scope of government: Theory and an application to prisons. Quarterly Journal of Economics, 112(4), 1127–1161.
- Williamson, O. E. (2000). The new institutional economics. Journal of Economic Literature, 38(3), 595–613.
