The Impact Model

One independent, sourced way to score impact, so every project measures it the same way and the numbers are comparable across a museum, a mapping campaign, and a school program. Not our invention: the established scale x depth x duration decomposition, held in one place any project can reference.
v0.2
Why this exists. If each project scores its own impact its own way, you cannot compare them or add them up. This model is defined once, here, project-neutral. A project supplies four numbers (scale, depth, duration, cost) and gets back one comparable score: impact per euro. That is the number that answers "does the museum come before the mapping project?" and it drops straight into a proposal.
The frame · Impact Frontiers

Five dimensions of impact

Any impact claim can be assessed across five questions, the shared standard from the Impact Management Project (now stewarded by Impact Frontiers). Four are qualitative framing a project states in a sentence. The third, how much, is the one this model computes.

The engine · the "how much" dimension

Scale × depth × duration

"How much" breaks into three factors. Multiply them for the impact magnitude, then divide by cost for the comparable score.

magnitude = scale × depth × duration   →   impact per euro = magnitude ÷ cost

Magnitude is in "stakeholder-change-years": how many people, times how much each one changes (0 to 1), times how many years it lasts. It behaves like a QALY for stewardship, one composite unit you can rank on.

Try it · illustrative, neutral archetypes

The trade-off, made visible

Three intervention shapes with the same idea behind them: deep-but-small, broad-but-shallow, and balanced. Edit any number. The point is that the winner on impact per euro is not obvious until you compute it, which is exactly why the model exists.

Ranked best-first on the highlighted column.
Value of one stakeholder-change-year: € an impact-valuation assumption (Impact Institute / IWAF); keep it explicit
Intervention Scale Depth (0–1) Duration (yr) Cost (€) Impact / €
Independence · reference it, do not copy it

How a project uses this model

The model lives in one file and one URL. A project never re-implements the maths; it imports the module and passes its own numbers, so if the method improves, every project improves at once.

Stable page: /impact-model Module: /apps/_shared/impact-model.js Template: /apps/_shared/data/impact-model.template.json
<!-- one line in any project page -->
<script src="/apps/_shared/impact-model.js"></script>

// score one project
const r = ImpactModel.score({ scale: 2000, depth: 0.2, duration: 3, cost: 40000 });
r.impactPerCost;  // the comparable number

// rank a whole portfolio, best-first (museum vs mapping vs school)
const ordered = ImpactModel.rank(projects);  // each project keeps its id/name

Node and tests can require('./apps/_shared/impact-model.js') too. Any project references the same module rather than forking it: the framework stays neutral, each project keeps its own numbers in its own template file.

Sources · every claim traces here

Where the metric comes from

Monetization (the "monetize" mode above) is optional and follows the Impact-Weighted Accounts Framework. Because it rests on a value-per-unit assumption, prefer the plain impact-per-euro index until inputs are validated, then monetize for proposal language.