Simulation
A structural what-if, not a forecast
The published score rests on a few deliberate choices: an equal-weight geometric mean of two components (vulnerability to recruitment and the conditions for unchecked exploitation). Those choices are arguable, and a good index should show what hangs on them. This tool recomputes the whole field live from the real per-country data: adjust any of a country’s structural domains, shift the weight, switch the combining operator (geometric vs arithmetic mean), or apply a governance what-if, and the map, the rankings, and any country’s score move with you.
Real data, real formula Every value is the country’s actual R and E score from the published build. The default settings reproduce the published index exactly. Nothing here is simulated dynamics; it is the same aggregation, recomputed under your assumptions.
–
–Simulated ranks carry no uncertainty band. The published 90% bands quantify measurement uncertainty of the published scores; once you change the assumptions, that calibration no longer applies. Treat simulated ranks as illustrative re-orderings, not estimates.
Domain shape, drag to explore
This country's structural shape. Drag any solid point to change a domain and watch the score, rank, map and leaderboard respond. It stays in sync with the domain sliders in the controls.
Top of the ranking, recomputed
| Rank (simulated — bands do not apply) | Country | Now | Published | Move |
|---|
That the top of the table barely moves as you swing the weight is itself a finding: the highest-risk countries score high on both components, so they stay near the top regardless of the balance; the published equal weight is defensible because the ranking is not fragile to it. Switch to the arithmetic operator and the spread compresses (low halves no longer drag scores down); turn on the governance what-if and the field flattens toward its mean, leaving the forced-labor-specific residual that survives once governance is held constant.
What this tool does, exactly. It reads each scored country’s real R and E from data/scores.json and its per-domain scores from data/domains.json, recomputes the composite under the domain adjustments, operator and weights you choose, then re-ranks all 184 scored countries and repaints the map. With the controls at their defaults it returns the published score for every country (matching the index to within rounding). It is the genuine aggregation formula, not an approximation.
How far down it goes. The shipped data exposes the two phase components and their domains, so you can move any of a country’s structural domains and watch R, E, the score and rank respond: a faithful recompute, because each phase is exactly the mean of its domains (verified to reproduce the published R and E). It does not expose every raw indicator within a domain, so sub-domain indicators can’t be moved one at a time, and it does not re-run the upstream pipeline. The governance what-if is a transparent spread-shrink grounded in the published discriminant R² (0.628), clearly labelled as such. Read the whole tool as a sensitivity check on the structure and the choices that turn it into a published score.
Where the structure could be acted on · See full country profiles · How the score is built · The published rankings