This note is the frontend handoff reference for the maintained web JSON exports.
All payloads are written to:
data_final/web/- mirrored into
web/public/data/
The UI should read the mirrored web/public/data/ copies.
- Global entry point.
- Important fields:
metricsmap_pathcountry_profiles_pathmodel_summary_pathrobustness_summary_pathcountry_contributions_summary_pathbundle_summary_pathbundle_feature_effects_pathbundle_country_contributions_index_pathbundle_permutation_importance_path
- Selected public income model diagnostics.
- Use for the current public-selected model only.
- Public income-model robustness summary.
- Includes weak holdouts and weak countries.
- Country-level top-k contributions for the selected public income model.
- One selected spec only.
predictionis now aligned to the maintained cross-validated prediction export, not a full-sample fitted value.
These are the new UI-builder payloads for all maintained targets and all non-empty tier combinations.
- Small comparison payload.
- Covers:
incomelife_expectancyinequalitywealthgender_inequalityfemale_lfprwomen_business_law
- For each target:
best_overallbundles[]
- Each bundle row includes:
feature_setfeature_tierfeature_tier_labelfeature_componentsspec_namemodel_namemodel_familyrow_countr2rmsemaespearman
- Global factor/effect summary for each target and bundle.
- Each target has
bundles[]. - Each bundle includes:
top_feature_importancetop_coefficientslowest_coverage_features
Note:
- Tree models usually populate
top_feature_importance. - Linear models would populate
top_coefficients. - Current maintained bundle runs are tree-heavy, so coefficient arrays may be empty.
- Small index file for per-target country contribution shards.
- Use this first, then lazy-load the target shard.
- One file per target:
bundle_country_contributions_income.jsonbundle_country_contributions_life_expectancy.jsonbundle_country_contributions_inequality.jsonbundle_country_contributions_wealth.jsonbundle_country_contributions_gender_inequality.jsonbundle_country_contributions_female_lfpr.jsonbundle_country_contributions_women_business_law.json
- Each target payload contains
bundles[]. - Each bundle contains
countries[]. - Each country row contains:
predictionbase_valuetarget_valuetop_absolutetop_positivetop_negative
Important:
predictionis aligned to the cross-validated bundle prediction export for the selected contributing spec.- For some bundles, the exact best-scoring spec may not have contribution rows. In those cases the payload uses the best available exported spec for that bundle instead of dropping the bundle entirely.
- Held-out permutation-importance summary for each target and bundle.
- Covers the same maintained targets as
bundle_summary.json. - Each target has
bundles[]. - Each bundle includes:
top_permutation_featuresblock_summary
Interpretation:
delta_r2_meanis the mean drop in held-outR^2when a feature or feature block is shuffled.- Larger positive
delta_r2_meanmeans the model depends more on that feature or block for predictive accuracy. - This is a predictive-value metric, not a causal-effect estimate and not the same thing as a country-level up/down contribution.
Maintained bundle payloads now use deterministic four-tier identifiers:
- Internal feature-set ids:
tier_bundle_<digits>_v1 - Exported tier keys:
tiers_<digits> - Exported
feature_components: ordered arrays like["tier1"],["tier1","tier4"],["tier1","tier2","tier3","tier4"]
Canonical components:
tier1:Naturetier2:Infrastructuretier3:Societytier4:Governance
Examples:
tier_bundle_1_v1->tiers_1->Naturetier_bundle_14_v1->tiers_14->Nature + Governancetier_bundle_23_v1->tiers_23->Infrastructure + Societytier_bundle_1234_v1->tiers_1234->All four
All 15 non-empty combinations are maintained. The canonical UI should prefer feature_components for checkbox state and feature_tier_label for display text.
bundle_summary.json uses the absolute best non-baseline spec per target/bundle.
The effects and country-contribution payloads use the best available exported spec for that target/bundle when the exact best-scoring spec had no contribution rows. This preserves full bundle coverage without forcing another heavy rerun. The main remaining case is the wealth bundle frontier, where the best hist_gb spec does not currently have a contribution payload, so the country-level shard falls back to the best exported contributing spec for that bundle.