Methodology
Three independent calculation pipelines run side-by-side on the same procurement data, each with its own database, characterization factors, geographic attribution, and output metric. Pick a pipeline to see how its number gets produced.
nios-spend
Spend × intensity factor × characterization factor → PDF·yr. Inspired by Kulionis et al. (2024). GLORIA covers most pressures; EXIOBASE adds nitrogen and phosphorus; LC-Impact turns midpoints into biodiversity impact.
- Input unit
- EUR
- Sector classification
- GLORIA (~120 sectors)
- Intensity factors
- GLORIA v059a (14 sub-categories) and EXIOBASE 3.10 (5 N&P sub-categories), looked up at calc time.
- Characterization factors
- LC-Impact v1.3, applied at calc time. Producer-country CF for scope-1; per-source-country CF for scope-3 (toggleable).
- Geographic attribution
- Country of production, via the MRIO supply-chain inverse. Impacts are attributed where they physically occur.
- Spend harmonization
- Spend is inflated using producer-country CPI (World Bank) to the database's reference year — 2022 USD for GLORIA, 2022 EUR for N&P — and converted to basic prices using a Finnish (consumption-country) BPCF, correct for Finnish customers.
- Output metric
- PDF·yr per sub-category, optionally aggregated to BDe.
Underlying data
- GLORIA v059a (raw data: Footprintlab)
- EXIOBASE 3.10 (nitrogen and phosphorus only)
- LC-Impact v1.3
Out of scope
- Invasive species
- Ocean acidification
- Ecotoxicity
- Downstream and use-phase impacts
References
- Kulionis, Pfister & Fernandez (2024) — Biodiversity impact assessment for finance, J. Industrial Ecology 28:1321–1335
- Lenzen et al. (2022) — GLORIA: A high-resolution global MRIO
- Verones et al. (2020) — LC-IMPACT
- Stadler et al. (2018) — EXIOBASE 3
- Román-Palacios et al. (2022) — Global biodiversity origins
- Footprintlab (GLORIA raw data provider)
Outlier control
The source databases contain occasional extreme values that can skew results. The same trimming protocol is applied to all four (BIOVALENT, GLORIA, EXIOBASE N&P, LC-Impact) and is opt-in per source on the Calculate page.
About the outlier-control protocolshowhide
Winsorization protocol
How "pruned" snapshots are produced from the raw databases.
Pruning replaces a small number of extreme values in the raw data with a percentile threshold — values above the 99th percentile (or below the 1st) get clipped to that threshold. Most values are untouched. The aim is to prevent obvious data-entry errors and unrealistic extremes from skewing results.
When a value counts as extreme
- GLORIA, EXIOBASE N&P, BIOVALENT — two-tier: a value is clipped only when it exceeds the percentile both locally (in its bucket) and globally (across the source for that metric). One-tier outliers stay — a real outlier looks extreme from both angles.
- LC-Impact — bucket only. Pooling sub-categories would mix incomparable damages (eutrophication vs land use vs GHG vs ozone), so a global percentile would be meaningless.
A bucket is (sector × metric)for GLORIA and EXIOBASE N&P, (product × stressor) for BIOVALENT, and sub-category for LC-Impact.
Domestic supply links are never pruned
In the source-resolved Scope-3 data, a value describes how much pressure flows from one country's sector into another's. When those two countries are the same — e.g. a Finnish sawmill buying from Finnish sawmills — the value is legitimately large, because domestic supply chains genuinely dominate. Treating that as an outlier and clipping it would understate a real, and often the biggest, part of the footprint. So same-country (source = destination) links are left exactly as they are: they are never clipped, and they are also kept out of the percentile calculation, so their size does not pull the threshold up or down for the cross-border links.
Zero-gates
Some columns legitimately have many real zeros — for example a Scope-3 pressure that simply isn't relevant for a given sector. Others, typically producer-country Scope-1 emissions, should almost always be positive, so a zero usually signals missing data rather than reality. The zero-gate is per-bucket: if the share of zeros in a bucket exceeds the source's gate threshold, the lower clip is skipped (we don't try to "fix" zeros that are likely real).
- BIOVALENT — 50%
- GLORIA cradle-to-gate — 50% (Scope-1 20%)
- GLORIA by-source S3 — 50% (Scope-1 passes through)
- EXIOBASE N&P — Scope-1 20%, Scope-3 50% (by-source passes through)
- LC-Impact — 0% (lower clip always applies)
- Technical — Type-7 linear-interpolation percentile (NumPy / Excel default). NULLs excluded from the pool. True zeros count toward the zero-gate but are preserved in the output. Negatives are excluded silently. Winsorization is idempotent.