What do we know about VECTR's accuracy, precision, and validity?
VECTR is New Zealand's economics platform: scenario analysis across the whole economy, run as a deterministic program. Which matters most when you have to defend the number. Ask the same question and you get the same answer; every run carries an ID; every coefficient is inspectable; the method is written down. This page shows the work.
We trust code because code is checkable.
A forecast you can't reproduce is an opinion. VECTR is a deterministic engine: the same inputs produce the same outputs, every time. That one property is what makes the rest possible — testing, auditing, and the confidence to put the number in the advice you sign.
Deterministic
No seed. Run the scenario 100 times and get the same result 100 times, so a disagreement is about inputs, never about luck.
Convergent
The solver iterates until the equilibrium residual is under a strict tolerance, and reports how far it got. Convergence you can read off the run, not assume.
Stamped
Every run mints a unique run ID — printed on the report as a 2D barcode — carrying its data vintages and parameters. Hand it to anyone and the same number comes back, exactly. The same test applies to our runs as to yours.
We don't ask you to trust the maths: we let you check it for yourselves.
“Show the work” can't just mean printing equations: anyone can print an equation. It means following the chain from the formula we describe, to the code that runs, to the number it returns — and confirming each link yourself. Three things make that possible, and none of them needs a maths degree.
A fourth is coming. Prove It returns the full derivation behind any number, back to checkable public data. It works today as a command-line audit tool; with v1.04 it arrives in the console, on any figure in a result. When someone asks where a number came from — and they ask weeks later — you can show them.
The formula in the code is the formula.
VECTR is plain, readable Python — not a compiled black box. So the formula we publish and the line that actually runs aren't two separate things you have to take on faith are aligned: they're the same object. Put the equation next to the source and confirm it matches. There's no place for an error to hide.
See a worked example — the CES substitution correction
One place this matters: most implementations let a sector self-substitute. VECTR holds those diagonal terms at their pre-shock values, because a sector's use of its own output is fixed by the production process, not by price: think of a steel mill using steel to compensate for lack of steel.
The point isn't the equation — it's that this published formula maps one-to-one onto the function that computes it. Read the code and you can confirm they're the same. (σ = elasticity of substitution, $s_j$ = cost share, $p_j$ = input price, $P$ = composite price index.)
The output is fully computed — not sampled, not rounded off.
The solver runs until the equilibrium residual drops below a strict tolerance and reports how far it got — so “it converged” is a number you can read, not a promise. A representative national scenario settles in about 42 iterations to a residual under 1×10⁻⁴. And the full range of assumptions is computed outright, not sampled at a handful of points and interpolated between them.
See why the whole range can be computed exactly
The substitution adjustment only changes the size of entries that already exist — it never creates new ones — so the maths keeps the sparsity of the underlying input-output table (only ~2–5% of it is filled for New Zealand's 109 sectors).
That sparsity is what drops the cost of solving far enough to compute the whole grid of assumptions outright, where other models are forced to sample a few and guess between them. So when you test an assumption, you're reading a result that was actually computed — not interpolated.
It's checked against the things that have to be true.
An economy-wide model has to obey its own accounting: the books have to balance, every market has to clear, nothing can leak. Those identities are checked on every run, and a result that breaks one doesn't get returned. The checks themselves are in the source, available under licence: a reader can confirm which ones run and what each one tests.
The full derivations belong to the technical papers, which are being prepared for publication. But satisfying yourself the number is sound shouldn't require them — that's the whole idea.
Direct calculation, not indirect estimation.
Take the shadow economy. Most approaches estimate it indirectly — currency-demand proxies, electricity-use models, MIMIC methods. VECTR calculates it from the model's own structural equations: the gap between observed activity and what the formal input-output structure implies. It falls out of the same equilibrium solution that produces GDP and employment, so it is exactly as checkable as the rest of the answer.
Change the assumption and see what survives.
“Is this still true if my elasticity is different?” is the question that kills most analyses, because answering it used to mean re-running the model for weeks. VECTR's grid already holds the result for every supported combination of σ values, closure rules, and shock magnitudes. So you can test robustness directly: change the assumption, see whether the sign, the ranking, and the recommendation survive.
Usually they do — and that's evidence the conclusion is real, not an artefact of one prior. When they don't, you've learned something precise: which parameter matters, and by how much. Either way the disagreement resolves into a number instead of a stalemate. A Jacobian sensitivity score ships with every run.
Not a black box.
Every matrix, every coefficient, every calibration parameter is inspectable. The source is available for audit under commercial licence — verify the Jacobian structure, check the sparsity pattern, audit the SAM balancing.
Every measure has a definition you can hold us to.
22 measures, each with a mathematical definition, a variable mapping, and an implementation spec — from standard CGE outputs to welfare and distributional measures most models don't produce. Precise definitions are part of being checkable: you always know exactly what a number means.
- Total GDP impact$M and % change
- Total employment impactheadcount and % by sector
- Equivalent Variationcost to make households whole
- Compensating Variationwelfare change valued
- Net social welfareall costs considered
- Price level & real exchange rateprice effects
- Sectoral output gapby industry
- Terms of trade shiftimport/export prices
- Effective tax base erosionfiscal effect
- Spillover amplificationcross-regional flow-on
- Capital–labour displacementfactor reallocation
- Quarters to equilibriumrecovery horizon
- Regional Giniconcentration of gains
- Economic Value at Riskworst-case exposure
- Hauora-efficiencywell-being per dollar
- Iwi asset growthMāori capital value
- Iwi regional GDPMāori activity by region
- Parameter confidence intervalsrobustness bounds
- Marginal efficiency frontierbest value lever
- Jacobian sensitivity scoreassumption exposure
- Regional convergence/divergenceare regions pulling apart
- Structural bifurcationtipping-point analysis
Built across disciplines, with the maths first.
VECTR draws on eight domains, with mathematics first. Not breadth for its own sake — the engineering and the economics were decided together, which is why the speed and the rigour aren't in tension.
Advanced mathematics
CES Jacobian structure, sparse factorisation, convergence proofs, sensitivity theory.
Economic theory
Keynesian, Johansen, and Neoclassical closures; welfare economics; trade theory. The model implements them all and lets you choose.
Māori & well-being frameworks
Ethnic-dimension structuring, hauora measurement, and the iwi economic circuit.
Social investment
Hauora-efficiency, distributional weighting, the requirements behind the Social Auditing Layer.
Functional programming
Immutable pipelines, type-safe computation, and reproducible builds, with side effects isolated and state explicit.
Data ethics
New Zealand's public-sector data-ethics rules: suppression, fairness, and Tiriti considerations, applied programmatically to every output. The Australian APS framework is embedded in the design, not added afterwards.
Front-end engineering
A console usable by non-economists: a harder problem than it sounds.
Back-end engineering
Columnar storage, sparse LU pipeline, partitioned manifold indexing. The sparsity enables the precomputation enables the speed.
What the models can measure.
A capability comparison across New Zealand, Australia's CoPS ecosystem, and international references — a map of who measures what.
| Model | Est. | NZ- specific | Dynamic | Multi- regional |
Māori / indigenous | Sectoral detail | Trade / policy |
Social / equity | Sequenced closure | Self-sub. correction |
Reproducible provenance |
|---|---|---|---|---|---|---|---|---|---|---|---|
| New Zealand | |||||||||||
| VECTR v1.03 | 2026 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| NZTM (WP 02/07) | 2002 | ✓ | ✓ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ |
| C-PLAN v1.0 | 2022 | ✓ | ✓ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| Australia — CoPS ecosystem (VU Melbourne) | |||||||||||
| ORANI / ORANI-G | 1977 | ✗ | ✗ | ◑ | ✗ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ |
| MONASH / VU-National | 1993 | ✗ | ✓ | ✓ | ✗ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ |
| MMRF / MMRF-Green | ~1996 | ✗ | ✓ | ✓ | ✗ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ |
| TERM | ~2002 | ✗ | ✗ | ✓ | ✗ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ |
| International reference models | |||||||||||
| IFPRI Standard CGE | 2002 | ✗ | ✓ | ✓ | ✗ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ |
| Baker Institute Tax CGE | — | ✗ | ✓ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
The Australian CoPS models represent roughly 50 years of continuous institutional development and are excellent at what they do. The narrow point of the table: no model in the ecosystem combines indigenous disaggregation, a social audit layer, sequenced closure, self-substitution correction, and reproducible provenance. VECTR's ethics checks are aligned with the Algorithm Charter for Aotearoa New Zealand. ◑ = partial or prototype.