QAVCM
Carbon Markets

Methodology & Explainability

Scoring logic, mapping model, anomaly detection and data-source contribution overview. Score ID: quality-minimal-v1 · Version 2026.02.07

GOOD
≥ 75
MIXED
50 – 74
RISK
< 50
Scoring
ComponentWeightHow it is derived
Methodology risk (1 − risk)
methodology_risk
30%
Registry/scheme + project-type lookup (e.g., VCS REDD vs GS cookstove). Values from methodologyRiskByScheme and methodologyRiskBySchemeAndType.
Vintage penalty (1 − penalty)
vintage_penalty
18%
Latest batch vintage: <2012 high penalty · 2012–2015 medium · 2016+ low.
Country governance (1 − risk)
country_governance
18%
ISO3 lookup from governance_risk.csv (CPI 2023). Falls back to defaults if missing.
Permanence proxy
permanence_proxy
14%
Project-type proxy: REMOVAL/CDR > NBS > AVOIDANCE/OTHER.
Source reliability (1 − risk)
source_reliability
10%
Source tier + completeness + null-rate + freshness + validation errors. Ingest can override via sourceMetrics.
Cross-registry concordance
cross_registry_concordance
10%
Boosts when strong mappings exist; small penalty if conflicts detected. Requires mappingStats from Mapping table.
Final score = 100 × weighted sum, clamped 0–1.
Data
Project identifiers & type
From registry / meta-registry sources (see Sources catalog).
Vintage
Latest CreditBatch.vintageEnd.
Governance risk
CPI-derived ISO3 table (governance_risk.csv, CPI 2023). Falls back to defaults if missing.
Permanence proxy
Type-based; REMOVAL/CDR > NBS > AVOIDANCE/OTHER.
Source reliability
Tier + completeness/null-rate + freshness + validation errors. Ingest can override via sourceMetrics.
Cross-registry concordance
Reflects vintage/quantity conflicts when mappingStats includes conflict detail.
Mapping
Features scored
Identifier overlap
Name similarity
Country match
Scheme/standard match
Vintage proximity
Decision thresholds
≥ 85% → auto-merge
70–84% → review queue
< 70% → discarded
Thresholds are configurable in Mapping Review → Settings. Scores are weighted sums persisted as QualitySignal with component-level inputs for explainability.
Engineering
Weights & component logic
src/lib/scoring/recipe.ts
Lookup tables
src/lib/scoring/tables.ts
Governance data (CPI CSV)
npm run governance:build -- --input <path>