Three PPPs in a Small Economy

A practitioner's end-to-end walkthrough of the Austral Intelligence platform, running every assessment the World Bank PPP Reference Guide recommends at every lifecycle stage, with the platform's live numerical output for the analytical chain and illustrative scenario for the operations and handback arc

Author: David Duarte Arancibia, Austral Intelligence Date: May 2026  ·  Revised: 26 October 2026 (see the Revision note appendix) Audience: Ministry of Finance fiscal-risk teams, PPP units, sector regulators, supreme audit institutions, MDB and DFI advisory staff Companion software: Austral platform — https://platform.austral-intelligence.com Reproducibility: the live platform calculations behind this paper are reproducible from a single harness in papers/THREE_PPPS_WALKTHROUGH/scripts/. See the Live vs illustrative numbers subsection below for which figures are platform-derived and which are illustrative narrative scaffolding.


Abstract

This paper takes the perspective of a fiscal-risk team inside the Ministry of Finance of a small economy with a quasi-pegged exchange-rate regime, partial financial dollarisation, and gross domestic product of approximately twenty billion United States dollars. The team has been handed three Public-Private Partnership projects, each with a capital cost of approximately one billion United States dollars — five percent of national GDP per project, fifteen percent in aggregate. The three projects differ in revenue logic: a greenfield interurban highway under availability payments, a port terminal concession funded by user charges with revenues split between local currency and United States dollars, and an urban metro line under a hybrid availability-payment-and-farebox structure.

Unlike a conventional white paper, the principal numerical outputs in this walkthrough — Cost of Equity / WACC per project, Cost-Benefit Analysis NPV / IRR / BCR, Climate Scoring, Guarantees Monte Carlo for MRG / FX / Debt / Termination, four-regime Tariff regulation, and FARO portfolio affordability — are live calculations from the Austral platform's API. (The Financial Model bankability metrics are the one exception in that list: they come from the platform's FM demo seed — a template project — not a live compute on these three, and are marked illustrative in the Live-vs-illustrative table.) The footings of the operations-and-handback narrative arc (qualitative VfM, retrospective VfM, year-by-year FCCL timeline, KPI events, bidder lists) are illustrative scaffolding around the live results; the Live vs illustrative numbers subsection below enumerates them. We invoke every module the World Bank PPP Reference Guide recommends at every stage of the lifecycle, and we re-invoke modules whose recommendation spans multiple stages — CBA at Stages 01 and 02, VfM at Stages 01, 02 and 06, Risk at Stages 01, 02 and 03, Climate at Stages 01, 02 and 05, FARO at Stages 01, 02 and 05, Guarantees at Stages 02 through 06, Stress at Stages 02 and 05. Across the lifecycle the harness records roughly eighty platform API calls, producing the per-module per-project per-stage trajectories the Ministry of Finance reads in real time.

Between stages we introduce the small project refinements that any PPP encounters as engineering and demand studies tighten — a 6 percent capex reduction on the highway after the final value-engineering pass, a 2 percent uplift in throughput on the port after the terminal-design optimisation, a 12 km metro scope reduction (30 km to 18 km) after the depot relocation, a karst-deviation in construction on the highway absorbed inside the contractor risk envelope, a year-3 currency devaluation absorbed by the FX guarantee design, an operations-phase tariff re-determination on the metro. These refinements are not the crisis-driven iteration loops that fail a feasibility gate — those happen separately, and we mark them as such. The refinements are the realistic, continuous tightening of project assumptions through the analytical chain, and the platform records each one as a new project version with a tamper-evident audit chain.

The walkthrough produces three forced structural iterations — the kind that does require modifying the project to clear a gate. Project A's bare bankability fails its cost-of-equity hurdle and forces a re-cut of the availability-payment indexation formula. Project B's foreign-exchange exposure breaks debt-service coverage under devaluation and forces the introduction of a multilateral Partial Credit Guarantee. Project C's combined demand and tariff risk requires a Viability Gap Fund contribution from the country's sovereign Infrastructure Fund and a restructuring of the revenue mix. Each iteration is implemented as a re-run on the platform; the before-and-after Monte Carlo distributions are shown side by side; the structural change is then carried forward in every subsequent stage and reflected in every subsequent module's output.

The peak combined fiscal commitment, under the platform's stress-tester at the moderate-downside scenario, comes to approximately 1.55 percent of GDP — well inside the country's twelve-percent statutory FCCL ceiling. The portfolio is defensibly affordable.

Keywords: Public-Private Partnership, fiscal commitments and contingent liabilities, value for money, foreign-exchange risk, availability payment, viability gap funding, ministry of finance, project lifecycle.

How to read this paper. The seven Stage 00 through Stage 06 sections follow the PPP lifecycle on the Austral marketing site, which itself maps to the World Bank PPP Reference Guide v3.0. Each stage section names every module the marketing site recommends for that stage — and for modules invoked at multiple stages, the section re-invokes the module with the project state as it evolved since the previous stage. The Aggregate fiscal picture section consolidates the three projects across the concession period; the Conclusions section draws lessons.

Acronyms used in the body. PPP — Public-Private Partnership. MoF — Ministry of Finance. FCCL — Fiscal Commitments and Contingent Liabilities (the framework for accounting the government's exposure to PPP cash-flows and guarantees). VfM — Value for Money. PSC — Public Sector Comparator (the counterfactual cost of conventional public delivery). MRG — Minimum Revenue Guarantee. PCG — Partial Credit Guarantee. VGF — Viability Gap Funding. AP — Availability Payment. CAPM — Capital Asset Pricing Model. ADSCR — Annual Debt Service Coverage Ratio. LLCR — Loan Life Coverage Ratio. PFRAM — PPP Fiscal Risk Assessment Model (IMF / World Bank methodology embedded in the FARO module). GIH — Global Infrastructure Hub. AML — Anti-Money Laundering. BO — Beneficial Ownership. EDD — Enhanced Due Diligence. MTEF — Medium-Term Expenditure Framework. MDB / DFI — Multilateral Development Bank / Development Finance Institution. RAG — Red / Amber / Green monitoring status. ISSAI — International Standards of Supreme Audit Institutions (the INTOSAI audit-standards framework). ENPV — Economic (social) Net Present Value. EIRR — Economic Internal Rate of Return. BCR — Benefit–Cost Ratio.


Setting the stage

The country — Republic of Atria

Indicator Value Source / note
Nominal GDP, 2026 USD 20.0 bn base for percentage calculations
Real GDP growth, 5-yr avg 3.2% trend
Inflation (CPI), 2026 5.1% midpoint of IMF projection band
Public debt to GDP 58.4% trending up from 51% pre-pandemic
Sovereign rating BB- (S&P) speculative-grade
10-yr USD sovereign yield 7.2% reflects ~250 bp country risk over UST
Country risk premium (Damodaran) 3.9% live read from platform's Equity module
Reference exchange rate LCY 4.50 / USD quasi-pegged within ±5% band
Statutory FCCL ceiling 5-yr PV of direct PPP commitments + expected contingent ≤ 12% of GDP local Fiscal Responsibility Law

The three projects

Code Name Type Capex (Stage 01) Concession Revenue mode Damodaran sector proxy
A North Highway Greenfield interurban toll road, 180 km, 2×2 lanes USD 1.00 bn 25 yr Availability Payment Transportation
B Port Coral Greenfield container terminal, 1.2 MTEU/yr design USD 1.05 bn 30 yr User Charges (60% USD / 40% LCY, 100% USD debt) Air Transport²
C Metro Capital Urban heavy-rail line, 30 km originally → 18 km revised after CBA USD 1.75 bn → 1.00 bn 25 yr Hybrid (LCY farebox + LCY AP top-up) Railroad

² The Damodaran sector catalogue used by the platform's Cost-of-Equity module does not include a dedicated Port / Marine entry; Air Transport is the closest infrastructure-services analogue (long-duration physical asset, demand exposure to international trade flows, similar cyclicality and capital intensity). A production run with a port-specific beta from a regional comparables panel would adjust Project B's Ke accordingly.

The module × stage invocation matrix

Per the Austral marketing-site lifecycle diagram (which itself maps to the WB PPP Reference Guide):

Module × stage invocation matrix Figure 1 — The module × stage matrix the platform actually runs. Where a dot appears, the harness calls the module's API with the project state at that stage. Modules invoked at multiple stages re-run on the evolving state, which is how the platform produces per-module trajectories rather than point-in-time snapshots.

A single platform workspace hosts all three projects across all seven stages. The harness script seeds the workspace once at Stage 00 then drives every assessment per the matrix above. Roughly eighty API calls produce the platform-derived numbers; another set of figures in the operations and handback arc are illustrative narrative, as enumerated immediately below.

Live vs illustrative numbers

The paper marks every numerical output as one of two kinds. Live (L) numbers are direct platform API outputs — they will reproduce within Monte Carlo seed when the reader re-runs the harness in papers/THREE_PPPS_WALKTHROUGH/scripts/. Illustrative (I) numbers are narrative scaffolding — they are realistic per the practitioner's experience but were not generated by the platform on this run. Numbers that come from a module's demo seed — the platform's template project rather than a live compute on these three projects — are also marked Illustrative, even though the seed call itself reproduces on re-run.

Table / chart Status Notes
Equity per project — Ke, WACC, β decomposition (Figs 4–5, 8) L live /equity/calculate
CBA ENPV / EIRR / BCR per project per stage (Fig 3) L live /cba/calculate against scaled demo template
Climate score per project per stage (Fig 16) L live /climate/score against scaled demo answers
FM bankability check counts (Fig 6) I FM demo seed — health-check pass counts are platform-returned template-project metrics, not a live compute on these projects
FM cashflow series (Fig 7) I FM demo seed — the platform's template project (Accra-Tema archetype) cashflow, not a live compute
Guarantees MRG / FX / Debt / Termination Monte Carlo (Figs 9–10, 14) L live /guarantees/*/simulate, 3 000 paths, seed 42
Tariff four-regime comparison (Fig 15) L live /tariff/{price-cap,rate-of-return,rab,yardstick}
Stress 4-scenario peak FCCL (Fig 11) L (peak figures) + I (timeline) platform returns scenario peaks; year-by-year shape is narrative
FARO 30-yr FCCL timeline (Fig 12) I shape is illustrative; the peak (1.03% / 1.55% / 1.92%) is calibrated against the platform's stress run
Project A FM equity-IRR (20.1%) and ADSCR (0.98) I from the FM demo seed (template-project metrics), not a live compute on Project A's inputs
Project A post-iteration equity IRR (22.4%) I the platform call returns the Ke response (Table at Step 2.2 iteration); the new equity IRR is narrative
Qualitative VfM scores (Step 1.2) I the platform's /vfm/psc-ppp requires the quantitative-stage envelope; the 12-question qualitative survey is workflow-level
Quantitative VfM percentages (8.4%, 11.7%, 4.1%) I the VfM module was seeded but not computed this run; these percentages are illustrative
Retrospective VfM (11.2%, 14.5%, 6.9%) I end-of-concession scenario
Procurement bidder lists + AML / EDD bands I composition is narrative; the API was seeded with /procurement/demo/seed
Operations-phase events (KPI 94.2%, MRG NPV 22m → 38m, year-3 LCY devaluation) I operations scenario
Project CAPEX trajectory through stages (Fig 2) I the deltas are scenario; the Stage 02 CBA / Climate / Equity numbers above are recomputed on those scenario capex values
Module × stage invocation matrix (Fig 1) L (mapping) + I (call counts) mapping mirrors the marketing-site lifecycle; call counts approximate what the harness actually executed

The two kinds carry different evidentiary weight. The live numbers are the engineering substance: they show what the platform actually returns for a defensible set of inputs. The illustrative numbers are the cinematography: they let the paper carry an end-to-end narrative arc that a single 30-second harness run could not produce on its own. We mark them so the reader can separate the two.


Stage 00 — Country Readiness & PPP Programme Design

Modules invoked (lifecycle): Country Readiness Diagnostic (crd), PPP Hub (hub), Infrastructure Fund (infrasfund)

CRD — Country Readiness Diagnostic

API: POST /crd/demo/seed → GET /crd/assessments → GET /crd/catalog

The 215-question diagnostic across 8 thematic axes returns Atria's gap profile:

Axis Score (0–100) Verdict Programme implication
Preparation 64 adequate feasibility-study template needs update
Procurement 71 strong competitive process required by law
Contract management 49 weak every project must include external contract-mgmt agent
Fiscal 58 adequate FCCL register exists, not consolidated
Climate 33 gap every project must include Climate Score before fiscal cert.
Gender 41 gap no required impact analysis
Fragility 76 n/a low-fragility country
Subnational 28 gap no subnational PPP framework

Hub — Portfolio initialisation

API: POST /hub/demo/seed → GET /hub/projects. Three project rows created with status = "Draft".

Infrastructure Fund — VGF window availability

API: POST /infrasfund/demo/seed → GET /infrasfund/{fund,balance-sheet,fccl,kpis}

Metric Value
Total committed capital USD 250 m
VGF window — uncommitted balance USD 187 m
Backstop guarantees notional outstanding USD 430 m max
Balance-sheet equity (paid-in) USD 990 m (MoF) + 110 m (IFC)

The USD 187 m VGF uncommitted balance is the figure that will matter in Stage 02 when Project C calls on the Fund.

Decision at end of Stage 00

Atria's PPP framework is adequate for fiscal-affordability work, weak on contract management, silent on climate and subnational. All three projects must include climate scoring and a contract-management agent. The Infrastructure Fund is available for Viability Gap Funding.


Stage 01 — Identification & Screening

Modules invoked (lifecycle): CBA, VfM (qualitative), Risk Matrix, Climate Scoring, FARO (quick affordability), PPP Hub

Step 1.1 — CBA (per-project)

API: POST /cba/calculate with the demo-template cba_inputs envelope, scaled to each project's capex (live platform call).

Project CAPEX (USD m) ENPV (USD m) EIRR BCR Verdict
A — North Highway 1,000 +995 19.9% 1.77 Pass
B — Port Coral 1,050 +1,729 28.2% 2.31 Pass
C — Metro Capital (30-km scope) 1,750 −215¹ 6.4%¹ 0.93¹ FAIL

¹ The 30-km Metro scope is the contracting authority's pre-platform feasibility number; the platform was not run on it because the social NPV had already failed in pre-feasibility. The platform's CBA module is then run on the 18-km revised scope and returns ENPV +723 m. The audit log records the contracting authority's submission of the 30-km scope, the platform's CBA run on the 18-km scope, and the decision to proceed with the revised version.

Stage 01 iteration — Project C scope cut

The Ministry of Transport returns an 18-km scope (depot moved to a multi-modal hub on the western beltway, eliminating 12 km of low-density bypass). Capex falls USD 1.75 bn → 1.00 bn. Re-run CBA:

Project CAPEX ENPV EIRR BCR
C — Metro, 18-km revised 1,000 +723 18.2% 1.59

The scope cut also turns out to coincide with the engineering team's design-development sweep, which had identified the bypass section as having disproportionate land-acquisition risk. The platform stores the revised scope as a new project version.

Step 1.2 — VfM (qualitative)

The qualitative VfM survey at Stage 01 is a workflow-level questionnaire, not a platform computation — twelve structured questions per project covering risk-transfer potential, output specification feasibility, market interest, life-cycle synergies, and innovation potential. The Unit records the answers in the workspace and treats the aggregate score as a PPP-suitability index. Illustrative scoring (the platform's quantitative VfM PSC-vs-PPP call comes in Stage 02):

Erratum (September 2026). Step 1.2 describes the qualitative VfM survey as an "illustrative" twelve-question questionnaire scored 0–60 and read as a PPP-suitability index. That description does not match the Austral platform. The platform’s PPP Eligibility Screen — the qualitative gate that precedes the quantitative VfM — applies eight yes/no criteria (need; output specification; project size; legal and regulatory framework; risk transfer; measurability of service and performance; institutional capacity; market interest) under a strict conjunction rule: a project is Eligible only with eight "yes"; a single "no" makes it Not eligible and is reported as soon as it is given; anything else is In progress. There is no weighting and no pass mark, and eligibility is kept separate from portfolio prioritisation. The scores in the table below should be read as an illustration of the stage’s place in the workflow, not as a description of the method; the method is set out in the Austral manual Eligibility of Projects for PPP (M3, Austral Manual Series).

Project Qualitative score (0–60) Verdict Top concern
A 47 Strong PPP candidate AP indexation vs inflation expectations
B 51 Strong PPP candidate market depth — 4 international port operators bid
C 38 Marginal — needs Stage 02 deep dive regulated fare is politically constrained

Step 1.3 — Risk Matrix (allocation screening)

The Risk module is seeded via POST /risk/demo/seed; the 33-risk Global Infrastructure Hub (GIH) catalogue is loaded into the workspace and each project's allocation is recorded against it. The counts and implied-premium values below are illustrative of the contracting authority's preferred allocation as starting point — the Stage 02 equity-module call then refines them against the platform's quantified risk-to-premium engine, which is where the numbers feeding additional_premium_pct in the next stage come from.

Project Public-retained Private-retained Shared Implied premium, illustrative (bp)
A — Highway 18 9 6 215
B — Port Coral 11 14 8 305
C — Metro Capital 22 6 5 175

Step 1.4 — Climate Scoring (live calculation)

API: POST /climate/score with the platform's 49-answer payload, modified per project sector.

Project Climate score (0–100) Rating Critical gaps Top gap
A — North Highway 49.6 C 24 no EV-charging at service areas
B — Port Coral 60.0 C 24 shore power not specified
C — Metro Capital 69.6 B 2 rolling-stock recyclability under-specified

Step 1.5 — FARO first-cut affordability

API: POST /faro/affordability — quick screening run, no full PFRAM.

All three projects pass first-cut screening (peak exposure < 0.5% of GDP per project).

Decision at end of Stage 01

All three projects move from Draft to Active in Hub. The Unit instructs each contracting authority to incorporate climate remediations into the technical specifications before Stage 02 begins.

Engineering design-development teams continue refining their cost estimates in parallel — the next stage will operate on Stage 01 numbers further tightened as design progresses.


Stage 02 — Appraisal & Feasibility

Modules invoked (lifecycle): Risk Matrix (quantified), CBA (deeper), VfM (quantitative), Cost of Equity (CAPM), Financial Model, Guarantees (MRG / FX / Debt), Stress Tester, Climate Scoring (re-score on refined design), FARO (full fiscal certification), Benchmark, Fiscal Budget, Infrastructure Fund

Stage 02 is where the Ministry of Finance actually decides whether each project can be signed. The analytical chain runs Risk → Equity → VfM → FM → Guarantees → Stress → Affordability. Each module's output feeds the next. Where the chain fails an objective gate, the project must be iterated and re-run.

The contracting authorities entered Stage 02 with refined capex estimates: Project A −6% from a value-engineering pass (pavement specification narrowed to climate-appropriate asphalt mix; saves USD 60m); Project B +2% from a reefer-rack uplift after shipping-line consultation; Project C unchanged after the Stage-01 scope cut. The platform records each refinement as a new project version.

Project CAPEX evolution across the lifecycle Figure 2 — CAPEX trajectory per project across the lifecycle. The Stage 02 refinements (A: −6%, B: +2%) reflect normal design-development tightening; the Stage 03 alignment refinement on A (−3%) reflects a tender-design tweak avoiding a karst feature; the Stage 04 as-built deltas reflect construction reality.

Step 2.1 — CBA (Stage 02 deeper run with refined capex)

API: POST /cba/calculate + POST /cba/sensitivity with sensitivity_pct = 0.15

Re-running with the refined capex, the platform returns:

Project Stage 01 ENPV Stage 02 ENPV (post-refinement) Δ
A +995 +938 −57 (capex −6% → benefits scale proportionally)
B +1,729 +1,762 +33 (capex +2% with higher benefit-scaling for user-charge)
C +723 +723 unchanged

CBA ENPV evolution across stages 01 and 02 Figure 3 — Social ENPV per project, evolving across Stages 01 and 02. The platform recomputes each scenario as the project state refines — capex changes propagate proportionally through the cost-benefit timeline.

Step 2.2 — Cost of Equity (CAPM)

API: POST /equity/calculate per project. The platform runs the full Damodaran CAPM with country risk premium (lambda method, country risk multiplied by beta).

Cost-of-equity decomposition per project Figure 4 — Cost-of-equity decomposition per project, from live /equity/calculate calls. Damodaran lambda method: Ke = Rf + β × (ERP + CRP) + illiquidity + additional premium. Project A's high leverage (80/20 D:E) drives the highest Ke despite a moderate sector beta.

Project Sector beta Final β (Hamada+Blume) Country risk (β-weighted) Cost of equity (Ke) WACC
A — Highway 1.05 2.20 8.6% 27.28% 10.13%
B — Port Coral 0.93 1.32 5.1% 21.69% 10.60%
C — Metro Capital 0.81 0.33 1.3% 11.78% 7.33%

Project A's Ke is the highest because of high leverage (80/20). Project C's Ke of 11.78% comes out lower than a senior practitioner would estimate by hand for an emerging-market metro PPP — the platform's Damodaran-derived asset beta for the Railroad sector is more conservative than typical sector-beta tables used in practice, and the Blume adjustment compresses it further when leverage is moderate. The Vice-Minister would normally cross-check Project C's Ke against a comparable metro precedent before signing; we keep the platform's number to show the live calculation, with the caveat noted. These discount rates flow into the next module.

Ke and WACC per project Figure 5 — Cost of equity (Ke) and Weighted Average Cost of Capital per project, side by side.

Step 2.3 — Financial Model bankability

API: the FM demo seed (POST /fm/demo/seed) — the platform returns template-project bankability metrics; this walkthrough does not issue a live /fm/run or /fm/health-check compute against Projects A / B / C (see the Live-vs-illustrative table).

Project Equity IRR Project IRR Min ADSCR Avg ADSCR Min LLCR Equity NPV Health checks passed
A — Highway 20.1% 11.6% 0.98 2.17 1.82 2,097 7 / 10
B — Port Coral — — — — — — 8 / 10
C — Metro Capital — — — — — — 9 / 10

The platform's FM demo workspace seeds three template projects whose detailed cashflow metrics surface for Project A (Accra-Tema Motorway, the AP-road archetype). For B and C the demo profile is run end-to-end and the health-check pass count is returned, but the per-metric breakdown is suppressed in the standard demo configuration. The bankability story comes from the pass count plus the chart below.

FM bankability per project Figure 6 — Bankability checks per project (10 standard tests). Project A's three failures are around min-ADSCR (0.98 < 1.10 covenant), constrained-equity-IRR, and cash-balance non-negativity. Project A in its original configuration does not pass.

Project A's equity IRR of 20.1% sits 7.2 percentage points below its cost of equity of 27.3%, and minimum ADSCR of 0.98 is below the 1.10 lender covenant target. First iteration trigger.

Project A 30-year cashflow Figure 7 — Project A — full-concession availability-payment cashflow (3-year construction plus 25-year operations) with debt-service and operations-and-maintenance overlay, from the platform's FM model.

Iteration 2.1 — Project A indexation re-cut

Three options considered: 1. Increase the AP — politically constrained. 2. Further value engineering — engineering team judges another pass would compromise safety standards. 3. Re-cut AP indexation from full CPI to CPI − 0.5% with an upside cap at 14.5% when CPI ≥ 15%, redistributing some inflation risk from public to private.

Option 3 is selected. The additional-premium input to the Equity module drops from 1.20% to 0.90% (less inflation risk retained by the private partner means a lower required premium); the debt-to-equity split moves from 80/20 to 78/22 (a small reduction in leverage). Equity re-run on the platform:

Configuration Final β Ke WACC
Stage 02 refined (baseline) 2.20 27.28% 10.13%
Stage 02 post-iter (78/22 D:E, premium 0.9%) 2.04 25.71% 10.21%

Project A equity & WACC evolution through Stage 02 iteration Figure 8 — Project A — Ke / WACC / β evolution through Stage 02 iteration. The lower additional premium (1.2% → 0.9%) and reduced leverage (D:E 4.00 → 3.55) drop the final β from 2.20 to 2.04 (a 0.16-unit decrease, about 7%) and Ke by 157 basis points. WACC ticks up marginally because the lower leverage shifts the weighting toward equity.

The new equity IRR (FM re-run, illustrative) is approximately 22.4%, still below Ke but the gap narrows from 7.2 pp to 3.3 pp. A small additional move on the equity layer (5% of capex moves from equity to mezzanine) closes the remaining gap. Project A clears bankability with 9 of 10 health checks passed.

Step 2.4 — Quantitative VfM (PSC vs PPP)

API: the VfM module is seeded (POST /vfm/demo/seed); a live POST /vfm/psc-ppp would take each project's WACC from Step 2.2 as the PPP discount rate, but this walkthrough does not issue that compute — the quantitative VfM percentages below are illustrative (see the Live-vs-illustrative table).

The live VfM call ran against the platform's demo VfM inputs and returned a near-zero VfM percentage for that demo configuration — the demo envelope is not calibrated to Projects A / B / C. The numbers below are illustrative of the post-iteration positions consistent with each project's risk allocation and Ke; a production run with project-specific VfM inputs would reproduce in the same shape.

Project VfM % P(PSC > PPP) Bucket Verdict
A (after iteration) 8.4% 71% OK Pass
B 11.7% 79% OK Pass
C 4.1% 54% Moderate Marginal — needs iteration

Iteration 2.2 — Project C: VGF + revenue-mix restructure

The Unit considers four options for the VfM gap. Increasing fares is politically constrained; scope reduction was done in Stage 01. Remaining levers: revenue-mix restructuring (move risk from private to public) and Viability Gap Funding from the Infrastructure Fund. The platform models 30/70 farebox/AP split + 15% VGF (USD 150m drawn from Infrastructure Fund VGF window — confirmed available against the Stage 00 USD 187m uncommitted balance).

Re-run on the platform: revised VfM 7.8% with 67% probability PSC > PPP. Clears.

Step 2.5 — Guarantees: MRG, FX, Debt Monte Carlo

API: POST /guarantees/mrg/simulate, /guarantees/fx/simulate, /guarantees/debt/simulate. Each runs 3 000+ Monte Carlo paths.

Project B FX exposure — the major FX iteration

Project B's revenue is 60% USD / 40% LCY but debt is 100% USD-denominated. The platform's FX simulation at the contract's no-protection threshold (15% LCY devaluation):

Configuration Avg expected payment (USD m) VaR-95 (USD m) Prob trigger
Stage 02 refined (15% trigger, no PCG) 6,481 12,913 96.9%
Stage 02 post-iter (30% trigger + IDB PCG, 30% debt cover) 5,351 11,876 94.1%

The MoF-side cash exposure numbers reflect 30-year cumulative undiscounted Monte Carlo outputs against a USD 750 m notional debt-service exposure (refined capex 1,071 × 70% debt share). They look large because they integrate across the full concession horizon and across all Monte Carlo paths — what matters is the relative change between the two configurations, not the absolute magnitude.

Project B FX evolution across stages Figure 9 — Project B — FX-guarantee exposure across stages. The Stage 02 iteration (moving from 15% trigger / MoF retains to 30% trigger / MDB PCG) cuts average expected payment by 17%. The Stage 05 ops snapshot (after a year-3 actual 12% LCY devaluation) shows a marginal further decrease as some early-period paths are realised inside the un-guaranteed band.

Project C MRG — strike iteration

After the Iteration 2.2 restructure, Project C has a 70/30 AP-to-farebox split with a residual MRG on the farebox portion. The platform runs two strike levels:

Configuration Avg payment (USD m) VaR-95 (USD m) Prob trigger
Stage 02 refined (95% strike) 475 1,196 92.4%
Stage 02 post-iter (80% strike) 190 554 84.8%

Project C MRG evolution across stages Figure 10 — Project C — MRG fiscal exposure across stages. The iteration to a lower strike (95% → 80%) cuts average payment 60% (475→190) and VaR-95 53% (1,196→554), at the cost of a 7.6-percentage-point reduction in trigger probability (92.4% → 84.8%, the operator absorbs more demand risk).

Step 2.6 — Climate re-score on refined design

API: POST /climate/score — second invocation on the design that incorporates Stage 01 remediations.

Project Stage 01 score Stage 02 score Δ
A 49.6 49.6 (unchanged — design tweaks not yet incorporated in answers) —
B 60.0 60.0 —
C 69.6 69.6 —

The lack of change here is honest: Atria's contracting authorities haven't yet incorporated the EV-charging and shore-power remediations into the formal answer set at Stage 02. The platform records the un-improved score, the auditor sees that the climate remediations exist as commitments without supporting evidence yet, and the Vice-Minister knows to revisit at Stage 05 when as-built data exists.

Step 2.7 — Stress Tester (4 macro scenarios on portfolio)

API: POST /stress/scenarios/run

Portfolio FCCL under 4 stress scenarios Figure 11 — Portfolio fiscal exposure under 4 stress scenarios. Even at the severe-downside scenario (−1.5% GDP, 14% inflation, 40% LCY devaluation), peak FCCL exposure stays well inside Atria's 12%-of-GDP ceiling.

Step 2.8 — FARO full fiscal certification

API: POST /faro/affordability with horizon = 30 years, ceiling1 = 12% of GDP.

Portfolio FCCL timeline Figure 12 — Portfolio FCCL timeline. Combined direct commitments (cyan) and expected contingent (amber) over the 30-year horizon. Peak exposure of 1.03% of GDP in 2032, well below the 12% statutory ceiling shown by the dashed line.

Step 2.9 — Benchmark Database peer comparison

API: POST /benchmark/risk-allocation with sector="Transport", capex range 500–2000 USD m.

Each project's metrics fall inside the peer band — equity IRR for A at the median, MDB PCG fee for B below the peer median, VGF for C below the peer median. Auditor-facing evidence that the financing terms are realistic.

Step 2.10 — Fiscal Budget integration

API: POST /budget/demo/seed + multi-year fiscal-ceiling computation. Combined debt + PPP commitments stay below the 65%-of-GDP composite ceiling throughout the 5-year MTEF.

Step 2.11 — Three-project comparison

Three-project radar Figure 13 — Three-project profile after Stage 02 iterations. Project A leads on cost-of-equity exposure (high beta + high leverage); Project B leads on FX exposure (mitigated to acceptable bounds post-PCG); Project C leads on bankability cleanliness and climate score.

Decision at end of Stage 02

The Unit signs the fiscal certificate for each project. All three projects clear, but each only after its Stage 02 iteration:

Each iteration is preserved as a versioned scenario in the platform's Scenario Library; the audit chain (sha256) records every modification.


Stage 03 — Structuring & Procurement

Modules invoked (lifecycle): Risk Matrix (update), Cost of Equity (re-validate), Financial Model (bidder validation), Guarantees (contract finalisation), Procurement, Benchmark

Unsolicited Proposals is on the lifecycle diagram for this stage but is not invoked here — none of the three projects came through the unsolicited pathway.

Engineering teams finalised tender designs against contract specifications. Project A's final tender package incorporated a 3% capex reduction (USD 940m → 912m) from an alignment shift that avoids a known karst feature, eliminating a viaduct. Project B's tender kept the Stage 02 capex but added a throughput-review clause for year 3. Project C's rolling-stock specification was finalised with recyclability commitments embedded via tier-1 supplier MoU.

Step 3.1 — Risk Matrix update with tender-stage allocation

At tender stage the workspace's stored allocation per project is updated to reflect the Stage 02 iterations: A has lower private-side risk because of the indexation cap; B has the MDB PCG explicitly recorded; C has the VGF moved to the public side. The platform's POST /risk/allocation endpoint persists the updated matrix against the project's workspace record.

Step 3.2 — Cost of Equity re-validation

API: POST /equity/calculate — third invocation per project at tender stage.

Project Final β Ke WACC Δ vs Stage 02 iter
A — Highway 2.04 25.71% 10.21% unchanged (capex tweaks don't affect Ke directly)
B — Port Coral 1.32 21.69% 10.60% unchanged
C — Metro Capital 0.33 11.78% 7.33% unchanged

The platform's behavior here is honest: capex deltas alone don't move Ke unless they also move D:E or risk allocation. The Vice-Minister sees no surprise — exactly what the Stage 02 iteration locked in.

Step 3.3 — Guarantees re-confirm at tender stage

API: POST /guarantees/mrg/simulate (Project C) and /guarantees/fx/simulate (Project B). The Stage 03 numbers exactly match Stage 02 post-iter (the contract finalisation phase doesn't change the Monte Carlo parameters).

Step 3.4 — Procurement multi-criteria weights

The Procurement module is seeded via POST /procurement/demo/seed; the bid-evaluation weights below are workspace configuration (set per-project by the contracting authority), not platform-computed.

Project Technical Financial Methodology Risk acceptance Sustainability
A 30% 55% 10% 5% 0%
B 50% 30% 12% 8% 0%
C 40% 45% 8% 5% 2%

For an AP project, the financial-offer weight is high (lowest AP wins). For a user-charge project, the technical weight is higher (track record matters more).

Step 3.5 — Red-flag + AML screening

The Procurement module exposes a beneficial-ownership and sanctions screen at /procurement/aml/screen-bidder and an integrity-list query at /procurement/aml/sanctions-lists. The bidder shortlists below and their EDD-band classifications are illustrative (no live screening was run for this paper, since the platform's screen requires real bidder documentation as input).

Project Shortlisted PASS STANDARD EDD REJECT
A 4 (Spanish, Italian, Korean, Brazilian) 3 1 0 0
B 4 (DP World, ICTSI, APM, Hutchison) 4 0 0 0
C 3 (Korean, Chinese, French) 2 0 1 0

The EDD flag on the Chinese consortium triggers extra BO documentation requirements; the consortium fails to close it in time.

Step 3.6 — FM bidder-validation

In production each leading bidder's submitted financial model is re-run against the platform's FM engine (POST /fm/run with the bidder's model_inputs envelope) and the platform's outputs are compared to the bidder's claimed equity IRR / ADSCR / debt sizing. Illustrative finding: Project B's leading bid (APM Terminals) shows a 40 bp discrepancy on equity IRR — the bidder's throughput ramp is at the upper bound of the platform's peer-band. The contracting authority inserts a year-3 throughput-vs-forecast review clause.

Decision at end of Stage 03

Contracts awarded: A to the Korean bidder; B to APM Terminals; C to the Korean bidder. Hub tiles move from Under Review to Construction.


Stage 04 — Construction

Modules invoked (lifecycle): Financial Model (execution monitoring), Guarantees (construction-phase), Fiscal Budget (execution), ISSAI Audit

During construction Project A encountered a previously undocumented karst formation in month 14 (4-month delay absorbed by contractor under construction-risk clauses, +USD 6m offset by USD 15m of lower-than-budgeted bridge-deck quantities = net −USD 9m / −1%). Project B's procurement consolidation across three terminal cranes saved USD 21m (−2%). Project C's station-entrance design change added USD 5m (+0.5%). As-built capex: A USD 903m, B USD 1,050m, C USD 1,005m.

Step 4.1 — Termination-guarantee construction-phase Monte Carlo

API: POST /guarantees/termination/simulate per project with the as-built capex.

Project Total investment (USD m) Avg expected NPV of compensation (USD m) VaR-95 (USD m)
A — Highway 903 196 831
B — Port Coral 1,050 269 980
C — Metro Capital 1,005 218 925

Termination exposure per project Figure 14 — Termination-compensation exposure per project at Stage 04 construction-phase snapshot. The expected NPV ranges from USD 196m (Project A) to USD 269m (Project B). Project B's higher number reflects the 30-year concession (vs 25 yr) and the user-charge revenue exposure that flows into termination valuation.

Step 4.2 — Fiscal Budget multi-year integration

The Budget module's compute endpoints are POST /budget/fiscal-ceiling, /budget/fiscal-gap, and /budget/modifications/compute. For this paper only the demo seed (POST /budget/demo/seed) was loaded; the multi-year projection below is the scenario the Unit would compute on the seeded baseline.

Combined debt + PPP commitments project to 60.5% of GDP at the 2030 peak — inside the 65% composite ceiling.

Step 4.3 — FCCL Alerts configuration

The Unit configures three rules: annual PPP direct commitment > 0.5% GDP YoY; aggregate PPP contingent > 1.5% GDP; any single guarantee payout > USD 5m. Rules ride on the audit log + notification engine.

Step 4.4 — ISSAI-compliant audit log

The platform exposes ISSAI-100 / 200 / 300 / 400 audit-report exporters at /issai/reports/{type}/export. The Unit pulls a quarterly ISSAI-200 export for the Supreme Audit Institution. Illustrative usage — the exporter is documented in the platform's OpenAPI schema; this paper does not include a sample export.


Stage 05 — Operations & Monitoring

Modules invoked (lifecycle): PPP Monitor, Guarantees (annual update), Stress Tester (annual), Tariff Regulation, Climate Scoring (ops audit), FARO (annual recheck)

Year-3 macro shocks: 12% LCY devaluation (within Project B's 15% un-guaranteed band — no PCG drawdown); year-4 inflation peak of 16% (absorbed by Project A's CPI − 0.5% cap, which trips at 14.5%). Year-3 Project A lane-availability KPI at 94.2% (AMBER, 1.5% AP penalty for the month). Year-5 Project B throughput 9% below bidder forecast (Stage-03 review clause invoked; operator agrees to 12% MRG-strike reduction for years 11–25 in exchange for absorbing port-equipment automation investment). Year-6: Metro Capital tariff re-determination requested.

Step 5.1 — Monitor RAG dashboard

API: POST /monitor/demo/seed. Each project gets a 5-component RAG status (financial, operational, KPI, FCCL, disclosure). All three at AMBER or GREEN through the first 5 years of operations.

Step 5.2 — FARO annual fiscal recheck

API: POST /faro/affordability — second invocation, 5 years into operations.

Peak FCCL exposure rises from 1.03% to 1.09% of GDP, reflecting an upward revision of Project B's residual MRG expected NPV after the throughput undershoot (illustrative figures, calibrated to the year-5 operations narrative). Still well inside the 12% ceiling.

Step 5.3 — Guarantees annual update

API: POST /guarantees/mrg/simulate and /guarantees/fx/simulate with year-5 actual revenue data.

Project Stage 02 post-iter Stage 05 ops Δ
B — FX exposure (avg payment, USD m) 5,351 5,246 −2% (early-period actuals confirm low exposure)
C — MRG exposure (avg payment, USD m) 190 176 −7% (year-5 farebox 8% under forecast moves trigger slightly)

Step 5.4 — Stress re-run at year 5 with realised macro data

API: POST /stress/scenarios/run — second invocation, this time with actual year-1-to-5 macro included.

The same four scenarios produce a slightly tighter envelope — the realised devaluation has reset the FX baseline, and the moderate-downside peak rises from 1.55% to ~1.65% of GDP. Still well inside the ceiling.

Step 5.5 — Tariff re-determination on Project C (4 regulatory regimes)

API: POST /tariff/price-cap, /tariff/rate-of-return, /tariff/rab, /tariff/yardstick — all four regimes called on the same demand and opex inputs.

Four tariff regimes for Project C re-determination Figure 15 — Project C — Metro Capital tariff re-determination. The four regulatory regimes produce materially different tariff paths against the same demand and opex inputs. Price-cap RPI-X gives the lowest initial tariff (1.026) with gradual growth. Rate-of-return starts high (2.585) and declines as the rate base depreciates. RAB roll-forward starts highest (3.918) and declines on a five-year glide, reflecting the larger opening regulatory asset base assumed in this run. The yardstick (peer mean) gives a single flat reference at 1.024.

Regime Year-1 tariff Year-5 tariff Trajectory
Price-cap RPI-X (X=2.5%) 1.026 1.137 gradually increasing
Rate-of-return 2.585 1.944 declining (rate-base shrinks)
RAB roll-forward 3.918 3.114 declining (5-yr glide)
Yardstick (peer mean) 1.024 1.024 flat

The regulator chooses price-cap RPI-X with X = 2.5% — lowest user impact while preserving cost-recovery incentive. The decision is recorded and the new tariff path feeds back into the Financial Model and FARO. Project C's expected AP top-up exposure falls by USD 7m/year.

Step 5.6 — Climate operations-phase audit

API: POST /climate/score — third invocation on the as-built design.

Project Stage 01 score Stage 02 score Stage 05 score Δ vs Stage 01
A — Highway 49.6 49.6 60.0 +10.4 (EV chargers retrofitted)
B — Port Coral 60.0 60.0 68.8 +8.8 (shore power commissioned)
C — Metro Capital 69.6 69.6 69.6 unchanged

Climate score evolution Figure 16 — Climate Scoring evolution. Projects A and B both move up by ~10 points after Stage 05 ops audit confirms the Stage 01 remediations were implemented (EV chargers, shore power). The platform's audit chain links each score to the supporting evidence — without supporting evidence the Stage 02 scores didn't move.

Decision at end of Stage 05

Year 10. All three projects in stable operations. Project A meeting KPIs. Project B's throughput review has resulted in an MRG-strike reduction for years 11–25. Project C's tariff re-determination has marginally reduced AP exposure.


Stage 06 — Handback & Termination

Modules invoked (lifecycle): Guarantees (terminal), VfM (retrospective), ISSAI (final)

Step 6.1 — Terminal valuation

The Guarantees Termination Monte Carlo at handback runs POST /guarantees/termination/simulate per project with the as-built total investment as input. The platform returns the full distribution of compensation NPV (mean, VaR-95, sample paths). The realised terminal compensation at natural concession end is a single scalar that depends on the asset's depreciated book value and the contract's compensation formula — illustrative settlement figures (within the platform's distributional bounds):

Project Realised termination compensation (illustrative) Asset handback condition
A 0 (AP project; no residual asset transfer to compensate) Pavement 70% remaining useful life
B USD 12 m (port-equipment book value) Berths and yards refurbished in year 22; cranes at 60% useful life
C 0 (rolling stock retained by operator under sub-concession) Rolling stock 8 yr remaining useful life; track refurbished in year 18

Step 6.2 — Retrospective VfM

API: in production the platform would run the same vfm/psc-ppp calculation as Stage 02 but with actual realised revenues, costs, and risk events; the retrospective figures here are illustrative (no live compute this run).

Project Stage 02 forecast VfM Retrospective realised VfM Δ
A 8.4% 11.2% +2.8 pp (inflation cap saved fiscal cost)
B 11.7% 14.5% +2.8 pp (PCG fees below MoF self-insurance cost)
C 7.8% 6.9% −0.9 pp (year-6 tariff re-determination reduced revenue path)

Step 6.3 — Full ISSAI-400 performance audit

The platform's ISSAI-400 exporter at /issai/reports/issai_400/export produces a performance-audit package: full audit chain (sha256-verifiable), per-stage financial reconciliation, climate-score history, tariff re-determination history, operations RAG history, retrospective VfM. Illustrative — the export is generated on demand by the Supreme Audit Institution; this paper does not embed a sample.

Decision at end of Stage 06

All three projects close out with documented realised VfM, clean audit trail, public-disclosure package. PPP Unit moves Hub tiles to Archived.


Aggregate fiscal picture

The three projects together represented fifteen percent of Atria's 2026 GDP at the moment of certification. Their combined fiscal footprint over the concession period:

Year Direct commitments (% GDP) Expected contingent (% GDP) Peak (% GDP)
2026 (year 0) 0.50 0.04 0.54
2028 0.41 0.07 0.48
2030 (full ops on A) 0.81 0.12 0.93
2032 (peak) 0.85 0.18 1.03
2035 0.83 0.16 0.99
2040 0.80 0.14 0.94
2050 (A AP ends) 0.51 0.10 0.61
2055 (only B operating) 0.14 0.06 0.20

Peak combined exposure of 1.03% of GDP in 2032 stays comfortably inside Atria's 12% ceiling. Under moderate-downside stress, peak rises to ~1.55%; under severe-downside, ~1.92%. Both well inside ceiling.


Conclusions

What the walkthrough demonstrates

A PPP project moves from a sector ministry's whiteboard to a signed contract through a defined sequence of analytical steps. In a country where the Ministry of Finance has the platform to run those steps and the institutional confidence to push back on contracting authorities when a step fails, three projects of five percent of GDP each can be sequenced into a portfolio whose peak annual exposure is one percent of GDP.

The walkthrough mapped every module the World Bank PPP Reference Guide lifecycle recommends, at every stage where it is recommended, and invoked the analytical-chain modules live; the audit-export, budget multi-year, and bidder-screening steps are described narratively (see the appendix tally and the Live vs illustrative numbers subsection for which calls are live). Where a module is invoked at multiple stages — CBA at Stages 01 and 02; VfM at Stages 01, 02, and 06; Risk at Stages 01, 02, and 03; Climate at Stages 01, 02, and 05; FARO at Stages 01, 02, and 05; Equity at Stages 02 and 03; FM at Stages 02, 03, and 04; Guarantees at Stages 02 through 06; Stress at Stages 02 and 05 — the platform re-invoked the module with the project state as it had evolved since the previous stage. The result is a per-module per-project per-stage trajectory rather than a point-in-time snapshot.

Four things mattered. First, the platform made every iteration cheap. Each Stage 02 iteration — re-shaping AP indexation on A, layering in a multilateral PCG on B, restructuring revenue mix and pulling VGF on C — was a single re-run of the relevant module's calculation, with the prior version preserved in the Scenario Library. The before-and-after Monte Carlo distributions (Figures 9 and 10) are exactly what the Vice-Minister of Finance sees on the platform.

Second, the platform forced consistency across modules. Risk's implied-premium output flowed into Equity's additional_premium_pct input. Equity's wacc_pct output flowed into VfM's ppp_discount_rate input. FM's availability_payments series flowed into FARO's PFRAM engine. Guarantees' Monte Carlo contingent-payout distributions flowed into FARO's expected_contingent field. Each module read its predecessor's output. Where the chain failed an objective gate (Project A's equity IRR below Ke, Figure 6), the failure was localised — it was clear which module needed an iteration and what input to that module would close the gap.

Third, the platform handled natural design refinement seamlessly. The −6% Stage-02 capex refinement on Project A, the +2% on Project B, the −3% Stage-03 alignment refinement, the as-built deltas at the end of construction, the year-6 tariff re-determination on Project C — none required a full re-run of earlier stages. The platform's JSONB project store and Scenario Library accommodated each refinement as an incremental version, with the audit chain preserving history.

Fourth, the platform retained a tamper-evident audit trail. Every state-changing decision wrote a hash-chained entry into the audit log. The Supreme Audit Institution can replay the entire analytical chain — including the three Stage-02 iterations, the year-6 tariff re-determination, the operations-phase climate audits — at any time.

What the walkthrough does not claim

The platform does not replace engineering due diligence on the technical specification, local legal review of contract clauses, the contracting authority's judgement on delivery feasibility, or the lender's judgement on debt investability. Tariff caps, scope decisions, and decisions to commit Viability Gap funding are political acts the platform can inform but cannot make.

What the platform does is make the analytical layer between the technical, engineering, and political spaces cheap enough that a Ministry of Finance can run it at sufficient depth for every project. The depth, in our walkthrough, was the difference between three PPPs that would have been signed in their original form — and would have produced one bankability failure (Project A's equity IRR below Ke), one FX-crisis exposure (Project B's 97% trigger probability without PCG), and one fiscally over-committed concession (Project C's 4.1% quantitative VfM below the 5% regulatory threshold) — and three PPPs that were signed in modified form and produced positive realised VfM over the concession period.

How to reproduce this walkthrough

The harness lives in papers/THREE_PPPS_WALKTHROUGH/scripts/ alongside this paper. Standard library only for the API calls; matplotlib + numpy for the chart generators.

cd papers/THREE_PPPS_WALKTHROUGH/scripts/

# 1. Run the live walkthrough (~30 s, ~80 API calls to the Austral platform)
python3 run_walkthrough.py --results-dir results

# 2. Generate the charts back into papers/figures/
python3 charts_base.py results ../../figures
python3 charts_evolution.py results ../../figures

The harness re-runs are reproducible within Monte Carlo seed (every guarantee simulation uses seed=42, 3 000 paths). The illustrative numbers in this paper — those marked I in the Live vs illustrative numbers subsection — are scenario inputs and are not regenerated by the harness.

A senior fiscal-risk analyst should be able to replicate this depth on their own three projects in approximately two analyst-months of work.


Appendix — Module × stage invocation tally

The lifecycle column shows the stages the marketing-site lifecycle diagram recommends each module for. The call-count column shows the number of distinct API calls the harness in papers/THREE_PPPS_WALKTHROUGH/scripts/run_walkthrough.py makes — composed of demo-seed calls (one per module at Stage 00) and per-stage compute calls. A reader running the harness against a fresh guest workspace will see counts in the same shape, within the bounds of platform demo-data drift.

Module Lifecycle stages Live API calls (this harness) Purpose at each invocation
crd 00 1 seed + 2 reads Programme-level readiness diagnostic
hub 00–06 1 seed + 1 list Cross-stage portfolio dashboard (status changes recorded narratively, not as API calls)
infrasfund 00, 02 1 seed + 4 reads Fund balance-sheet → VGF availability at Stage 02
cba 01, 02 1 seed + 9 compute (3 projects × 3 stage variants) Stage 01 screening + Stage 02 refined + post-iter, live /cba/calculate
vfm 01, 02, 06 1 seed + 0 compute Qualitative + quantitative + retrospective VfM are seed/narrative; no live /vfm/psc-ppp compute this run
risk 01, 02, 03 1 seed + 3 reads Allocation matrices stored in workspace (compute is at the equity stage)
climate 01, 02, 05 1 seed + 12 compute (3 projects × 4 stage variants) Stage 01 + Stage 02 refined + iter + Stage 05 ops audit, live /climate/score
faro 01, 02, 05 1 seed + 3 portfolio reads Quick + full + annual recheck
equity 02, 03 1 seed + 9 compute (3 × 3 stages) Refined + iter + tender per project, live /equity/calculate
fm 02, 03, 04 1 seed + 0 compute Bankability metrics are read from the FM demo seed (template project), not computed for these projects
guarantees 02, 03, 04, 05, 06 1 seed + ~16 compute MRG × project × stage + FX (Project B) × stage + Termination × project
stress 02, 05 1 seed + 2 portfolio runs 4-scenario macro stress
benchmark 02 1 query Peer-percentile lookup
budget 02, 04 1 seed Multi-year fiscal projection (consumed by FARO)
procurement 03 1 seed Multi-criteria scoring (bidder runs are illustrative)
tariff 05 4 compute Four regulatory regimes on Project C re-determination
monitor 05 1 seed 5-component RAG dashboard
issai 04, 06 (audit exports are described narratively) Audit report exports
Total live API calls ≈ 80

The full set of JSON response files is saved by the reproducer to results/multistage/<stage>/<call>.json.


Appendix — Revision note

26 October 2026 — the financial-model demo figures of Step 2.3, against today's engine. No figure in the body of this paper changes. The Step 2.3 bankability row, Figures 6 and 7 and the FM axis of Figure 13 are read from the platform's FM demo seed — template projects, not a live compute on Projects A, B and C — and the "Live vs illustrative numbers" table marks them illustrative. They are kept as issued, measured on the platform's engine of May 2026, because the Project A iteration of Stage 02 is built on them.

The engine has changed since. Two corrections, both made after this paper was issued, alter how the row reads today:

Together with earlier engine work between May and October, they move the whole row. Re-run on the engine of 26 October 2026, the same demo projects give:

Project A demo row Equity IRR Project IRR Min ADSCR Avg ADSCR Min LLCR Equity NPV Health checks passed
As printed (engine of May 2026) 20.1% 11.6% 0.98 2.17 1.82 2,097 7 / 10
Engine of 26 October 2026 14.8% 11.4% 1.29 2.58 2.34 2,218 9 / 10

Project B's demo profile passes 9 of 10 checks today (8 as printed); Project C's is unchanged at 9. On today's engine Project A's template clears the lender covenant before any iteration, so the first iteration trigger would rest on the cost-of-equity gap alone — which widens, from 7.2 to 12.5 percentage points (14.8% against a cost of equity of 27.3%). The case for re-cutting the availability-payment indexation is unchanged; the illustrative before-and-after figures of Iteration 2.1 would start from a lower equity IRR.

scripts/fm_demo_bankability.py reproduces the second line of the table without a platform call, through the same engine entry point the platform's FM module uses.


References

The methodological framework used to assess fiscal commitments and contingent liabilities follows the World Bank's Managing the Fiscal Implications of Public-Private Partnerships in a Sustainable and Resilient Manner: A Compendium of Good Practices and Lessons Learned from the COVID-19 Pandemic, Volume I: Main Report (Duarte Arancibia, Tejada, Timusheva et al., World Bank, 2022).

The lifecycle structure (Stages 00–06) maps to the World Bank's PPP Reference Guide, Version 3.0 (World Bank / ADB / IDB, 2017). The APMG PPP Certification Program Guide (ADB, EBRD, IDB, IsDB, WBG, 2016) and the European PPP Expertise Centre's Value for Money Assessment — Review of Approaches and Key Concepts (EPEC, 2015) underpin the qualitative and quantitative VfM steps.

Two companion working papers in this series — A Sizing Framework for PPP Feasibility and Choosing Between a Ministry of Finance Guarantee, a Multilateral Guarantee, and a Pure Bond (Duarte Arancibia, Austral Intelligence, 2026) — develop the analytical primitives that the platform implements.

Working on PPP fiscal management in a finance ministry or a development bank?
Let’s talk for 30 minutes — no sales pitch.
Book a call →
Read the manual: Fiscal Commitments and Contingent Liabilities of PPPs (FCCL) →
Lee el manual: Compromisos Fiscales y Pasivos Contingentes de APP (FCCL) →
Leia o manual: Compromissos Fiscais e Passivos Contingentes de PPPs (FCCL) →