Phase 2 · Step 5 — FM Build & Portfolio Rollup
Working memo on the per-SPV financial model build and portfolio consolidation. Revised 2026-05-16 for FM v02 — supersedes prior v01 build.
1. What was built
Four Excel files in 05_generated_FM/:
| File | Purpose |
|---|---|
| FM_PDPasarjaya_v02.xlsx | Pasarjaya standalone — 11 sheets |
| FM_Bandung_v02.xlsx | Bandung standalone — 11 sheets |
| FM_Lamsel_v02.xlsx | Lamsel standalone — 11 sheets |
| FM_Portfolio_Summary_v02.xlsx | Consolidated portfolio — 5 sheets |
Each per-SPV file uses an identical 11-sheet template (see p2s4 §2.1 for the full sheet list). The portfolio file aggregates the three per-SPV outputs on a calendar-year basis (CY 2026 through CY 2051).
Build and validation scripts at 06_code_files/:
build_per_spv_FMs_v02.py— canonical Python model (compute_model()); regenerates all 3 per-SPV filesbuild_portfolio_v02.py— calendar-year aggregation, portfolio IRR/NPV computationvalidate_FMs_v02.py— 8-check validation suite (BS balance, CF reconciliation, IRR sanity, DSCR sanity, VAT receivable range, DSCR floor)run_cbg_price_sensitivity_v02.py— invokescompute_model()with parameter overrides at USD 9 / 11 / 13 / 15 per MMBTU
Build discipline: Python is the canonical model, .xlsx files are read-only renderings; no Excel formulas. Single SHARED dictionary of parameters; all 25 years modeled annually (1 approvals + 2 construction + 22 ops); interest during construction PIK'd and capitalized to PP&E per PSAK 26; VAT treated as a working-capital line with 12-month refund lag.
2. Per-SPV base-case results (v02 final)
| Metric | Pasarjaya | Bandung | Lamsel |
|---|---|---|---|
| CAPEX (USD M) | 11.00 | 15.00 | 14.00 |
| PP&E gross at COD incl IDC (USD M) | 11.61 | 15.83 | 14.78 |
| Loan balance at COD (USD M) | 8.31 | 11.33 | 10.58 |
| Equity contribution (USD M) | 3.64 | 4.96 | 4.63 |
| Total organic feedstock (tpd) | 390 | 425 | 350 |
| ‒ MSW organic | 315 | 350 | 250 |
| ‒ Animal co-digestion | 75 | 75 | 100 |
| Award month | Oct 2026 | Apr 2027 | Oct 2027 |
| COD | Oct 2029 | Apr 2030 | Oct 2030 |
| Concession end | Oct 2051 | Apr 2052 | Oct 2052 |
| Project IRR | 30.9% | 25.1% | 22.5% |
| Equity IRR | 65.6% | 52.7% | 46.6% |
| Min DSCR (ops years with DS > 0) | 4.74x | 3.80x | 3.39x |
| Avg DSCR | 5.02x | 4.02x | 3.59x |
| Peak VAT receivable (USD K) | 500 | 681 | 636 |
| Lifetime NPAT (USD M) | ~62 | ~64 | ~50 |
All three SPVs now include animal co-digestion (Pasarjaya 75 tpd, Bandung 75 tpd, Lamsel 100 tpd). Bandung tipping-fee share is set at 20% of the Kota Bandung disposal payment (USD 5/tonne to SPV; 80% retained by Kota Bandung to fund the in-kind MRF and program oversight). Per-SPV equity contribution exceeds 30% of CAPEX because equity also funds the PPN working-capital drag during construction (input VAT on equipment paid upfront, refunded ~12 months later).
3. Portfolio base-case results (v02 final)
Portfolio metrics computed from calendar-year aggregated cashflow streams (each SPV's cashflow added on the calendar timeline rather than its own project-year clock).
| Metric | Value |
|---|---|
| Total CAPEX (USD M) | 40.00 |
| Total PP&E gross incl IDC (USD M) | 42.22 |
| Total debt at COD (USD M) | 30.22 |
| Total equity contributed (USD M) | 13.23 |
| Total organic feedstock (tpd) | 1,165 |
| ‒ MSW organic | 915 |
| ‒ Animal co-digestion | 250 |
| Portfolio Project IRR | 26.21% |
| Portfolio Equity IRR | 55.92% |
| Peak equity outstanding (USD M) | 10.18 |
| Portfolio min DSCR | 3.60x |
| Portfolio avg DSCR | 4.17x |
| Lifetime NPAT (USD M) | ~176 |
| Cash-on-cash multiple | 14.38x |
Peak equity outstanding (USD 10.18M) sits well below the USD 13.23M total equity contribution — the cross-cover effect from Pasarjaya's October 2029 COD reduces the LP's net exposure by approximately USD 3.05M at peak. Pasarjaya's first-year distributable cash (now much stronger with animal co-digestion added) partially offsets Bandung and Lamsel's Construction Year 2 equity calls in calendar 2029-2030.
Portfolio Project IRR (26.2%) and Equity IRR (55.9%) both sit well above the 15% / 20% targets. Min DSCR at 3.60x clears the 1.30x covenant floor with substantial headroom — better than original v02 (1.67x) and better than v01 (2.22x).
4. Assumptions for sensitivity
All assumptions below are set in the SHARED dictionary in build_per_spv_FMs_v02.py and can be overridden per-scenario by the sensitivity runner.
Revenue and pricing
- CBG offtake price: USD 15/MMBTU (sensitivity at USD 13 / 11 / 9)
- Carbon credit revenue: 10% × CBG sales — kept as a separate line; moves with CBG price in sensitivities
- Tipping fee (Bandung only): USD 25/tonne × 20% SPV share = USD 5/tonne to SPV (Kota Bandung retains 80% to fund in-kind MRF and program oversight)
- Operating ramp: 80% utilization Year 1 of ops, 90% steady state Year 2+
OPEX
- Feedstock handling base rate: USD 5/tonne organic processed
- Pasarjaya multiplier 0.40 (PD Pasarjaya BUMD in-kind logistics)
- Bandung multiplier 0.90 (in-kind Full MRF)
- Lamsel multiplier 1.05 (Light MRF in CAPEX)
- Plant operations: USD 800,000/year at Pasarjaya 315 tpd baseline, scaled linearly by tpd
- Maintenance: 4% of CAPEX per year from COD
- Insurance: 1% of CAPEX per year from COD
- G&A: USD 200,000/year per SPV, flat
- Land rental: USD 1,000/month per SPV across approvals + construction + 22 ops years
Operating parameters
- MSW organic biogas yield: 100 m³/tonne (mid of 80-120 range)
- Animal feedstock biogas yield: 400 m³/tonne (mid of 300-500 range)
- Raw biogas methane content: 60%, upgraded to ≥97% CBG via membrane or PSA
- Parasitic load: 7.5% of gross biogas
Capital structure (v02 — corrected):
- Debt / equity split: 70 / 30 at start of construction
- Construction loan rate: 7.0% (v01: 8.5%); interest PIK'd during Y1-Y3 and capitalized to PP&E per PSAK 26
- Loan tenor: notional 10 years (refinances at end of Y3)
- Bond rate at COD: 7.0% (v01: 7.5%); 22-year amortizing
- DSCR floor: 1.30x
Tax
- PMK 130/2020 holiday: 5 years from COD at 100% corporate tax exemption
- Post-holiday corporate tax rate: 22% Indonesia statutory (working — verify with tax counsel)
VAT (v02 — new):
- PPN rate: 11% (Indonesia standard)
- VAT-creditable share of CAPEX: 70% (equipment portion; remainder is land / services / fees outside scope)
- VAT refund processing lag: 12 months (Indonesian DJP standard)
- PMK 115/2021 Strategic Goods exemption: upside subject to tax-counsel confirmation, not in base case
Discounting
- Project NPV discount rate: 10%
- Equity NPV discount rate: 15%
5. Validation outcomes
Validation suite validate_FMs_v02.py runs 8 checks per SPV; all 24 pass.
| Check | Pasarjaya | Bandung | Lamsel |
|---|---|---|---|
| BS balances every period (max |A-L-E|) | USD 0.00 | USD 0.00 | USD 0.00 |
| CFO = NPAT + D&A − ΔVAT (max diff) | USD 0.00 | USD 0.00 | USD 0.00 |
| DSCR only computed when DS > 0 | ✓ | ✓ | ✓ |
| Project IRR matches independent recalc | ✓ | ✓ | ✓ |
| Equity IRR matches independent recalc | ✓ | ✓ | ✓ |
| VAT receivable peak in expected range | ✓ | ✓ | ✓ |
| Min DSCR ≥ 1.30x floor | 4.74x ✓ | 3.80x ✓ | 3.39x ✓ |
| Peak equity = sum of construction draws | ✓ | ✓ | ✓ |
Portfolio BS balances every calendar year (max diff USD 0.00).
6. Reading vs v01 and earlier v02 iterations
v02 final delivers portfolio Project IRR 26.2% (vs v01 25.7%) and Equity IRR 55.9% (vs v01 54.2%) — broadly comparable headline returns with materially stronger DSCR coverage (3.60x portfolio min vs v01 2.22x) and lower peak equity (USD 10.18M vs v01 11.13M). The compression seen in the original v02 build (20.5% portfolio Project IRR) has been recovered through four structural improvements:
- Pasarjaya animal co-digestion added (75 tpd) — Pasarjaya Project IRR rose from 10.9% to 30.9%, eliminating the binding-constraint problem
- Lamsel animal feedstock scaled (75 → 100 tpd) — Lamsel Project IRR rose from 17.4% to 22.5%, taking advantage of the established dairy/poultry catchment near Kec. Natar
- Bandung tipping share calibrated (40% → 20%, USD 5/tonne to SPV) — Bandung Project IRR moved from 30.6% to 25.1% but remains comfortably above the 15% target. The lower share keeps deal economics aligned with Kota Bandung's interest (city retains 80% of tipping budget to fund the in-kind MRF and program oversight)
- Capital structure correction — 10-yr loan @ 7.0% + 22-yr bond @ 7.0% matches the investor brief; v01's 8.5% bridge + 7.5% bond was over-aggressive
All three SPVs now clear the 15% Project IRR target at base case. The portfolio holds DSCR above the 1.30x covenant floor at every CBG price down to USD 9/MMBTU. Full delta memo at References/v02_vs_v01_deltas.md.