{"components": {"calibration_drift_factor": "abs(calibration_drift_pp) / 100 from the daily per-country calibration drift monitor.", "conformal_interval_width": "Half-width of the 90% prediction interval served by the live model. For the 7-day forecast we use the ACI `q_applied` value (online-updated). For multi-horizon we use the static per-horizon halfwidth. For the classifier (no native conformal) we use a proxy: distance from the per-country threshold, capped at 0.5.", "cross_model_disagreement": "1 - cross_model_agreement, where agreement = 1 - stdev(today's forecast-7day, multi-horizon-7d, classifier v3.3) / 0.5. If three models disagree wildly, uncertainty rises.", "data_age_factor": "1 - exp(-age_days / 7) where age_days is days since the most recent evidence row for this country. Older = more uncertain.", "sample_size_factor": "1 / (1 + sqrt(n_observations)) where n_observations = count of forecasts logged in the trailing 90 days."}, "description": "Per-(country, model) uncertainty score for today's prediction. Composite of conformal interval width (0.30), data freshness (0.20), calibration drift (0.20), sample size (0.15), and cross-model disagreement (0.15). Higher = more uncertain.", "endpoint": "/v1/atlas/uncertainty/{cc}", "honest_caveats": ["This is a HEURISTIC composite, not a formal Bayesian posterior. Components are normalized to [0,1] and combined linearly with hand-tuned weights.", "Weights are NOT learned from data. We chose them by prior intuition: model-internal uncertainty (conformal width) gets the heaviest weight, then evidence freshness + calibration drift, then sample-size + cross-model disagreement.", "'Uncertain' prediction does NOT mean 'wrong' \u2014 it means 'lower confidence'. A high-uncertainty country may still be correct; it just lacks the signal-density / track-record / model-agreement to back the call strongly.", "Cross-model disagreement uses three signals that target slightly different events (7d-forward forecast vs day-level classifier). Stdev of three numbers is a coarse signal.", "Data freshness uses evidence.observed_at, not incidents. A country with no recent evidence row gets a freshness penalty even if older OONI/IODA signals are still meaningful.", "Classifier conformal proxy is distance-to-threshold capped at 0.5, NOT a true conformal half-width. The v3.3 classifier doesn't ship a native conformal interval."], "least_uncertain_today": "BR", "most_uncertain_endpoint": "/v1/atlas/uncertainty/most-uncertain", "most_uncertain_today": "KP", "n_countries": 30, "refresh": "daily at 05:15 UTC via cron", "sidecar_last_modified": "2026-10-05T05:15:13Z", "sidecar_path": "[internal path]", "sidecar_size_bytes": 118237, "weights": {"calibration_drift_factor": 0.2, "conformal_interval_width": 0.3, "cross_model_disagreement": 0.15, "data_age_factor": 0.2, "sample_size_factor": 0.15}}