{
  "name": "Warconomy — data series explorer",
  "page": "https://warconomy.com/data-series",
  "note": "Multi-class economic-impact series. Each point is labeled by epistemic class: observed (reported), reconstructed (a modeled historical estimate), nowcast (an estimate of the recent present), forecast (a model-based prediction), or scenario (a conditional path). Modeled points are never presented as reported history. Values anchor to the cited sources; see /methods/epistemic-model.",
  "seriesCount": 14,
  "domains": [
    {
      "domain": "human-cost",
      "count": 1
    },
    {
      "domain": "displacement",
      "count": 2
    },
    {
      "domain": "shipping",
      "count": 3
    },
    {
      "domain": "energy",
      "count": 2
    },
    {
      "domain": "commodities",
      "count": 1
    },
    {
      "domain": "sanctions",
      "count": 2
    },
    {
      "domain": "trade",
      "count": 1
    },
    {
      "domain": "military-spending",
      "count": 1
    },
    {
      "domain": "reconstruction",
      "count": 1
    }
  ],
  "series": [
    {
      "id": "sudan-displacement",
      "title": "Sudan internal displacement (IDPs)",
      "unit": "people",
      "domain": "displacement",
      "metricId": "sudan-internally-displaced-persons",
      "metricName": "Sudan internally displaced persons",
      "subjectType": "conflict",
      "subjectId": "sudan",
      "summaryFinding": "Internal displacement in Sudan peaked at roughly 11.5 million in January 2025 and had fallen to close to 9 million by end-March 2026 as some people returned to contested or unstable areas — a decline that reflects fragile, not necessarily safe or durable, returns. Warconomy interpolates the unreported months between IOM's survey rounds and nowcasts the present, both clearly marked as estimates.",
      "geographicCoverage": "Sudan (nationwide); some contested areas access-constrained for direct verification",
      "coveredThrough": "2026-03-31",
      "lastReviewed": "2026-07-22",
      "page": "https://warconomy.com/data-series/sudan-displacement",
      "points": [
        {
          "period": "Jan 2025",
          "date": "2025-01-31",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": 11500000,
          "interval": null,
          "sourceIds": [
            "iom-dtm-sudan"
          ],
          "recordRef": null,
          "note": "IOM DTM peak displacement figure."
        },
        {
          "period": "Oct 2025",
          "date": "2025-10-31",
          "epistemicClass": "reconstructed",
          "evidenceStatus": "provisional",
          "value": null,
          "interval": {
            "low": 9700000,
            "high": 10100000,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "iom-dtm-sudan"
          ],
          "recordRef": {
            "kind": "historical-estimate",
            "id": "he-sudan-idp-2025-10"
          },
          "note": "Interpolated between the Jan-2025 peak and the end-March-2026 round; not an IOM-published point."
        },
        {
          "period": "Mar 2026",
          "date": "2026-03-31",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": null,
          "interval": {
            "low": 8500000,
            "high": 9000000,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "iom-dtm-sudan"
          ],
          "recordRef": null,
          "note": "IOM DTM 'close to nine million' as of end-March 2026."
        },
        {
          "period": "Q2 2026",
          "date": "2026-06-30",
          "epistemicClass": "nowcast",
          "evidenceStatus": "provisional",
          "value": null,
          "interval": {
            "low": 8300000,
            "high": 8700000,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "iom-dtm-sudan"
          ],
          "recordRef": {
            "kind": "nowcast",
            "id": "nc-sudan-idp-2026-q2"
          },
          "note": "Trend-continuation nowcast; replaced when IOM's next round publishes."
        },
        {
          "period": "End-2026 (continued conflict)",
          "date": "2026-12-31",
          "epistemicClass": "scenario",
          "evidenceStatus": "unverified-lead",
          "value": null,
          "interval": {
            "low": 8500000,
            "high": 9200000,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "iom-dtm-sudan"
          ],
          "recordRef": {
            "kind": "scenario",
            "id": "sc-sudan-idp-continued-conflict-2026-12"
          },
          "note": "Conditional path — access does not improve. Not a prediction."
        },
        {
          "period": "End-2026 (de-escalation)",
          "date": "2026-12-31",
          "epistemicClass": "scenario",
          "evidenceStatus": "unverified-lead",
          "value": null,
          "interval": {
            "low": 5500000,
            "high": 7000000,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "iom-dtm-sudan"
          ],
          "recordRef": {
            "kind": "scenario",
            "id": "sc-sudan-idp-deescalation-2026-12"
          },
          "note": "Conditional path — ceasefire enables faster returns. Not a prediction."
        }
      ],
      "competingSeries": [],
      "sourceTransitions": [],
      "definitionChanges": [],
      "missingPeriods": [
        {
          "start": "2025-02-01",
          "end": "2025-09-30",
          "reason": "not-published"
        },
        {
          "start": "2025-11-01",
          "end": "2026-02-28",
          "reason": "not-published"
        }
      ],
      "methodologyIds": [
        "sudan-idp-linear-interp",
        "sudan-idp-trend-continuation",
        "sudan-idp-scenario-bracket"
      ]
    },
    {
      "id": "ukraine-refugees-recorded",
      "title": "Refugees from Ukraine recorded worldwide",
      "unit": "people",
      "domain": "displacement",
      "metricId": "ukraine-refugees-recorded",
      "metricName": "Refugees from Ukraine recorded worldwide",
      "subjectType": "conflict",
      "subjectId": "russia-ukraine",
      "summaryFinding": "UNHCR's recorded/registered refugee count from Ukraine rose fastest in 2022, then broadly stabilised. Because the portal count is a registration-based figure — not a real-time headcount, and it moves as registrations are reconciled or people return — Warconomy presents this series range-only rather than as false point precision. Recent snapshots put the recorded total in the low-to-high 5-million range.",
      "geographicCoverage": "Refugees from Ukraine recorded worldwide (great majority in Europe)",
      "coveredThrough": "2026-04-30",
      "lastReviewed": "2026-07-22",
      "page": "https://warconomy.com/data-series/ukraine-refugees-recorded",
      "points": [
        {
          "period": "2022",
          "date": "2022-12-31",
          "epistemicClass": "reconstructed",
          "evidenceStatus": "provisional",
          "value": null,
          "interval": {
            "low": 5900000,
            "high": 8000000,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "unhcr-ukraine-portal"
          ],
          "recordRef": {
            "kind": "historical-estimate",
            "id": "he-ukr-refugees-2022"
          },
          "note": "Reconstructed stock during 2022's rapid rise; border crossings (a flow) ran higher."
        },
        {
          "period": "2024",
          "date": "2024-12-31",
          "epistemicClass": "reconstructed",
          "evidenceStatus": "provisional",
          "value": null,
          "interval": {
            "low": 5800000,
            "high": 6700000,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "unhcr-ukraine-portal"
          ],
          "recordRef": {
            "kind": "historical-estimate",
            "id": "he-ukr-refugees-2024"
          },
          "note": "Reconstructed 2024 recorded stock."
        },
        {
          "period": "Dec 2025-Apr 2026",
          "date": "2026-04-30",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": null,
          "interval": {
            "low": 5200000,
            "high": 5900000,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "unhcr-ukraine-portal"
          ],
          "recordRef": null,
          "note": "UNHCR-recorded band across Dec-2025-Apr-2026 snapshots, as cited on /human-cost. A registration-based count, not a headcount."
        },
        {
          "period": "Mid-2026",
          "date": "2026-07-31",
          "epistemicClass": "nowcast",
          "evidenceStatus": "provisional",
          "value": null,
          "interval": {
            "low": 5100000,
            "high": 5900000,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "unhcr-ukraine-portal"
          ],
          "recordRef": {
            "kind": "nowcast",
            "id": "nc-ukr-refugees-2026-mid"
          },
          "note": "Proxy nowcast of the mid-2026 recorded stock."
        }
      ],
      "competingSeries": [],
      "sourceTransitions": [],
      "definitionChanges": [],
      "missingPeriods": [
        {
          "start": "2023-01-01",
          "end": "2025-11-30",
          "reason": "source-inaccessible"
        }
      ],
      "methodologyIds": [
        "trend-backcast-v1",
        "anchor-interpolation-v1",
        "proxy-nowcast-v1"
      ]
    },
    {
      "id": "gaza-cumulative-fatalities",
      "title": "Gaza Strip — cumulative reported fatalities",
      "unit": "people killed (cumulative)",
      "domain": "human-cost",
      "metricId": "gaza-cumulative-fatalities",
      "metricName": "Gaza Strip cumulative reported fatalities",
      "subjectType": "conflict",
      "subjectId": "israel-gaza",
      "summaryFinding": "Ministry-of-Health-reported cumulative fatalities in the Gaza Strip, relayed by OCHA and labelled by the UN as 'yet-to-be-verified', rose past widely-reported milestones to at least 58,573 by 16 July 2025. Warconomy interpolates the months between reported milestones and shows the present as range-only, because no verified current cumulative exists. An independent demographically-adjusted estimate (77,000-109,000, ~May 2025) is preserved as a competing figure — not averaged into the MoH count, because the two measure different things.",
      "geographicCoverage": "Gaza Strip",
      "coveredThrough": "2025-07-16",
      "lastReviewed": "2026-07-22",
      "page": "https://warconomy.com/data-series/gaza-cumulative-fatalities",
      "points": [
        {
          "period": "Oct 2023",
          "date": "2023-10-31",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": 8500,
          "interval": null,
          "sourceIds": [
            "ochaopt"
          ],
          "recordRef": null,
          "note": "MoH-reported cumulative by end-Oct 2023 (approx.), relayed by OCHA; UN-unverified."
        },
        {
          "period": "Dec 2023",
          "date": "2023-12-31",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": 21700,
          "interval": null,
          "sourceIds": [
            "ochaopt"
          ],
          "recordRef": null,
          "note": "MoH-reported cumulative, end-2023 (approx.)."
        },
        {
          "period": "Feb 2024",
          "date": "2024-02-29",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": 30000,
          "interval": null,
          "sourceIds": [
            "ochaopt"
          ],
          "recordRef": null,
          "note": "MoH-reported cumulative passed ~30,000 in late Feb 2024."
        },
        {
          "period": "May 2024",
          "date": "2024-05-31",
          "epistemicClass": "reconstructed",
          "evidenceStatus": "provisional",
          "value": null,
          "interval": {
            "low": 35000,
            "high": 37000,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "ochaopt"
          ],
          "recordRef": null,
          "note": "Interpolated between reported Feb-2024 and Aug-2024 milestones; not a distinct MoH milestone."
        },
        {
          "period": "Aug 2024",
          "date": "2024-08-31",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": 40700,
          "interval": null,
          "sourceIds": [
            "ochaopt"
          ],
          "recordRef": null,
          "note": "MoH-reported cumulative passed ~40,000 in mid-Aug 2024."
        },
        {
          "period": "Dec 2024",
          "date": "2024-12-31",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": 45500,
          "interval": null,
          "sourceIds": [
            "ochaopt"
          ],
          "recordRef": null,
          "note": "MoH-reported cumulative, approx. end-2024."
        },
        {
          "period": "Jul 2025",
          "date": "2025-07-16",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": 58573,
          "interval": null,
          "sourceIds": [
            "ochaopt"
          ],
          "recordRef": null,
          "note": "OCHA Humanitarian Situation Update #306 — the most recent whole-war cumulative this repo directly confirmed. A documented floor."
        },
        {
          "period": "Present (mid-2026)",
          "date": "2026-07-16",
          "epistemicClass": "reconstructed",
          "evidenceStatus": "disputed",
          "value": null,
          "interval": {
            "low": 59000,
            "high": 75000,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "ochaopt"
          ],
          "recordRef": null,
          "note": "Range-only: no verified current cumulative exists. The Jul-2025 figure is a stale floor; OCHA's mid-2026 updates report ceasefire-period casualties over a different, shorter window that cannot simply be added. See the competing adjusted estimate."
        }
      ],
      "competingSeries": [
        {
          "label": "Demographically-adjusted estimate (Washington Institute)",
          "note": "An independent statistical adjustment for possible undercounting in the MoH tally — a different method than MoH's direct identified-casualty count, so shown alongside, never averaged in. As of roughly May 2025.",
          "sourceIds": [
            "washington-institute-gaza-toll-assessment"
          ],
          "points": [
            {
              "period": "~May 2025",
              "date": "2025-05-31",
              "epistemicClass": "reconstructed",
              "evidenceStatus": "disputed",
              "value": null,
              "interval": {
                "low": 77000,
                "high": 109000,
                "intervalMeaning": "plausible-range"
              },
              "sourceIds": [
                "washington-institute-gaza-toll-assessment"
              ],
              "recordRef": null,
              "note": "Adjusted estimate; midpoint ~93,000."
            }
          ]
        }
      ],
      "sourceTransitions": [],
      "definitionChanges": [],
      "missingPeriods": [
        {
          "start": "2025-07-17",
          "end": "2026-07-16",
          "reason": "definition-incompatible"
        }
      ],
      "methodologyIds": [
        "anchor-interpolation-v1"
      ]
    },
    {
      "id": "suez-canal-monthly-transits",
      "title": "Suez Canal monthly vessel transits",
      "unit": "vessels/month",
      "domain": "shipping",
      "metricId": "suez-canal-monthly-transits",
      "metricName": "Suez Canal monthly vessel transits",
      "subjectType": "chokepoint",
      "subjectId": "red-sea-shipping",
      "summaryFinding": "Suez Canal transits ran around 2,200 vessels a month before the late-2023 Red Sea attacks, then roughly halved through 2024 as carriers diverted around the Cape of Good Hope. Early-2026 SCA figures show a partial recovery (+5.8% vessels year over year, against an already-depressed 2025 base — not against the pre-disruption 2023 level). Warconomy's active forecast expects December-2026 transits to remain well below the 2023 baseline.",
      "geographicCoverage": "Suez Canal / Red Sea corridor",
      "coveredThrough": "2026-06-30",
      "lastReviewed": "2026-07-22",
      "page": "https://warconomy.com/data-series/suez-canal-monthly-transits",
      "points": [
        {
          "period": "2023 (baseline)",
          "date": "2023-12-31",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": 2200,
          "interval": null,
          "sourceIds": [
            "suez-canal-authority"
          ],
          "recordRef": null,
          "note": "Pre-disruption monthly average (~26,400 ships in 2023)."
        },
        {
          "period": "2024 (trough)",
          "date": "2024-12-31",
          "epistemicClass": "reconstructed",
          "evidenceStatus": "provisional",
          "value": null,
          "interval": {
            "low": 950,
            "high": 1250,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "suez-canal-authority",
            "imf-portwatch-red-sea"
          ],
          "recordRef": {
            "kind": "historical-estimate",
            "id": "he-suez-2024-trough"
          },
          "note": "Reconstructed monthly trough after the ~50-60% collapse."
        },
        {
          "period": "2025",
          "date": "2025-12-31",
          "epistemicClass": "reconstructed",
          "evidenceStatus": "provisional",
          "value": null,
          "interval": {
            "low": 1050,
            "high": 1300,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "imf-portwatch-chokepoints"
          ],
          "recordRef": null,
          "note": "Reconstructed 2025 depressed level."
        },
        {
          "period": "Early 2026",
          "date": "2026-04-30",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": null,
          "interval": {
            "low": 1200,
            "high": 1350,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "sca-chairman-statement-2026"
          ],
          "recordRef": null,
          "note": "SCA chairman: +5.8% vessels YoY vs an already-depressed 2025 base."
        },
        {
          "period": "Mid-2026",
          "date": "2026-07-31",
          "epistemicClass": "nowcast",
          "evidenceStatus": "provisional",
          "value": null,
          "interval": {
            "low": 1150,
            "high": 1450,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "sca-chairman-statement-2026"
          ],
          "recordRef": {
            "kind": "nowcast",
            "id": "nc-suez-2026-mid"
          },
          "note": "Nowcast of the current monthly level."
        },
        {
          "period": "Dec 2026 (forecast)",
          "date": "2026-12-31",
          "epistemicClass": "forecast",
          "evidenceStatus": "reported",
          "value": null,
          "interval": {
            "low": 1100,
            "high": 1650,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "suez-canal-authority",
            "imf-portwatch-chokepoints"
          ],
          "recordRef": {
            "kind": "forecast",
            "id": "fc-2026-07-18-suez-transits-depressed"
          },
          "note": "Warconomy forecast: December-2026 transits remain at least 25% below the 2023 baseline."
        }
      ],
      "competingSeries": [],
      "sourceTransitions": [
        {
          "transitionDate": "2025-01-01",
          "fromSourceId": "suez-canal-authority",
          "toSourceId": "imf-portwatch-chokepoints",
          "reason": "The SCA portal was intermittently unreachable for direct reading; IMF PortWatch (satellite AIS) provides a continuous proxy for the depressed 2025 stretch.",
          "comparabilityNote": "PortWatch transit-call counts and SCA vessel counts are close but not identically defined; the transition is marked so the reader knows the underlying source changed."
        }
      ],
      "definitionChanges": [],
      "missingPeriods": [
        {
          "start": "2024-01-01",
          "end": "2025-12-31",
          "reason": "source-inaccessible"
        }
      ],
      "methodologyIds": [
        "anchor-interpolation-v1",
        "proxy-nowcast-v1"
      ]
    },
    {
      "id": "bab-el-mandeb-oil-transit",
      "title": "Bab el-Mandeb oil & petroleum-liquids transit",
      "unit": "million bbl/day",
      "domain": "shipping",
      "metricId": "bab-el-mandeb-oil-transit",
      "metricName": "Bab el-Mandeb oil & petroleum-liquids transit",
      "subjectType": "chokepoint",
      "subjectId": "bab-el-mandeb",
      "summaryFinding": "Bab el-Mandeb carried on the order of 6 million barrels a day of oil and petroleum liquids before the late-2023 Red Sea disruption, then fell sharply as tankers rerouted around the Cape of Good Hope. EIA's quarterly figures show a partial recovery from 3.7 (1Q2025) to 4.3 (2Q2025) million bbl/day. Normalization and continued-disruption scenarios bracket the rest of 2026.",
      "geographicCoverage": "Bab el-Mandeb strait (southern Red Sea gateway)",
      "coveredThrough": "2025-06-30",
      "lastReviewed": "2026-07-22",
      "page": "https://warconomy.com/data-series/bab-el-mandeb-oil-transit",
      "points": [
        {
          "period": "2023 (baseline)",
          "date": "2023-12-31",
          "epistemicClass": "reconstructed",
          "evidenceStatus": "corroborated",
          "value": null,
          "interval": {
            "low": 5.8,
            "high": 6.6,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "eia-steo-chokepoints",
            "eia"
          ],
          "recordRef": {
            "kind": "historical-estimate",
            "id": "he-babelmandeb-2023-baseline"
          },
          "note": "Reconstructed pre-disruption level (~6 mb/d)."
        },
        {
          "period": "2024 (collapse)",
          "date": "2024-12-31",
          "epistemicClass": "reconstructed",
          "evidenceStatus": "provisional",
          "value": null,
          "interval": {
            "low": 3,
            "high": 4.2,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "eia-steo-chokepoints"
          ],
          "recordRef": {
            "kind": "historical-estimate",
            "id": "he-babelmandeb-2024-collapse"
          },
          "note": "Reconstructed 2024 collapse."
        },
        {
          "period": "1Q2025",
          "date": "2025-03-31",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": 3.7,
          "interval": null,
          "sourceIds": [
            "eia-steo-chokepoints"
          ],
          "recordRef": null,
          "note": "EIA STEO chokepoint table."
        },
        {
          "period": "2Q2025",
          "date": "2025-06-30",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": 4.3,
          "interval": null,
          "sourceIds": [
            "eia-steo-chokepoints"
          ],
          "recordRef": null,
          "note": "EIA STEO chokepoint table."
        },
        {
          "period": "H1 2026",
          "date": "2026-06-30",
          "epistemicClass": "nowcast",
          "evidenceStatus": "provisional",
          "value": null,
          "interval": {
            "low": 4,
            "high": 5.2,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "eia-steo-chokepoints"
          ],
          "recordRef": {
            "kind": "nowcast",
            "id": "nc-babelmandeb-2026"
          },
          "note": "Nowcast pending EIA's next quarters."
        },
        {
          "period": "End-2026 (normalization)",
          "date": "2026-12-31",
          "epistemicClass": "scenario",
          "evidenceStatus": "unverified-lead",
          "value": null,
          "interval": {
            "low": 5.5,
            "high": 6.5,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "eia-steo-chokepoints"
          ],
          "recordRef": {
            "kind": "scenario",
            "id": "sc-babelmandeb-normalization-2026"
          },
          "note": "Conditional path — security stabilises."
        },
        {
          "period": "End-2026 (continued disruption)",
          "date": "2026-12-31",
          "epistemicClass": "scenario",
          "evidenceStatus": "unverified-lead",
          "value": null,
          "interval": {
            "low": 3.3,
            "high": 4.5,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "eia-steo-chokepoints"
          ],
          "recordRef": {
            "kind": "scenario",
            "id": "sc-babelmandeb-disruption-2026"
          },
          "note": "Conditional path — attacks continue."
        }
      ],
      "competingSeries": [],
      "sourceTransitions": [],
      "definitionChanges": [],
      "missingPeriods": [
        {
          "start": "2023-01-01",
          "end": "2024-12-31",
          "reason": "not-published"
        }
      ],
      "methodologyIds": [
        "trend-backcast-v1",
        "anchor-interpolation-v1",
        "proxy-nowcast-v1",
        "conditional-scenario-v1"
      ]
    },
    {
      "id": "hormuz-daily-transits",
      "title": "Strait of Hormuz daily ship transits (2026 crisis)",
      "unit": "ship transits/day",
      "domain": "shipping",
      "metricId": "hormuz-daily-transits",
      "metricName": "Strait of Hormuz daily ship transits",
      "subjectType": "chokepoint",
      "subjectId": "strait-of-hormuz",
      "summaryFinding": "Before the 2026 crisis the Strait of Hormuz saw well over 100 ship transits a day. After the 17-18 June 2026 U.S.-Iran memorandum of understanding, independent trackers reported a partial recovery to roughly 38-43 daily transits; renewed vessel strikes were then reported from 7 July 2026. This series is deliberately range-only and weak-sourced — no Tier-A body publishes a consolidated verified daily-transit count, and Warconomy is not a vessel tracker. (The much larger ~20 million bbl/day oil-transit metric is tracked separately from stronger EIA data.)",
      "geographicCoverage": "Strait of Hormuz",
      "coveredThrough": "2026-07-16",
      "lastReviewed": "2026-07-22",
      "page": "https://warconomy.com/data-series/hormuz-daily-transits",
      "points": [
        {
          "period": "Pre-crisis (early 2026)",
          "date": "2026-06-15",
          "epistemicClass": "claim",
          "evidenceStatus": "unverified-lead",
          "value": null,
          "interval": {
            "low": 100,
            "high": 115,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "hormuz-crisis-tracking"
          ],
          "recordRef": null,
          "note": "Reported pre-crisis level (>100 daily transits). Weak-sourced."
        },
        {
          "period": "Post-MoU (late June 2026)",
          "date": "2026-06-30",
          "epistemicClass": "claim",
          "evidenceStatus": "unverified-lead",
          "value": null,
          "interval": {
            "low": 38,
            "high": 43,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "hormuz-crisis-tracking"
          ],
          "recordRef": null,
          "note": "Reported recovery to 38-43 daily transits (attributed to Kpler). Weak-sourced."
        },
        {
          "period": "July 2026",
          "date": "2026-07-31",
          "epistemicClass": "nowcast",
          "evidenceStatus": "unverified-lead",
          "value": null,
          "interval": {
            "low": 25,
            "high": 45,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "hormuz-crisis-tracking"
          ],
          "recordRef": {
            "kind": "nowcast",
            "id": "nc-hormuz-2026-jul"
          },
          "note": "Nowcast amid renewed strikes reported from 7 July 2026."
        },
        {
          "period": "End-2026 (de-escalation)",
          "date": "2026-12-31",
          "epistemicClass": "scenario",
          "evidenceStatus": "unverified-lead",
          "value": null,
          "interval": {
            "low": 70,
            "high": 110,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "hormuz-crisis-tracking"
          ],
          "recordRef": {
            "kind": "scenario",
            "id": "sc-hormuz-normalization-2026"
          },
          "note": "Conditional path — understanding holds."
        },
        {
          "period": "End-2026 (renewed disruption)",
          "date": "2026-12-31",
          "epistemicClass": "scenario",
          "evidenceStatus": "unverified-lead",
          "value": null,
          "interval": {
            "low": 10,
            "high": 40,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "hormuz-crisis-tracking"
          ],
          "recordRef": {
            "kind": "scenario",
            "id": "sc-hormuz-closure-risk-2026"
          },
          "note": "Conditional path — strikes broaden."
        }
      ],
      "competingSeries": [],
      "sourceTransitions": [],
      "definitionChanges": [],
      "missingPeriods": [
        {
          "start": "2026-06-16",
          "end": "2026-06-17",
          "reason": "source-not-located"
        }
      ],
      "methodologyIds": [
        "proxy-nowcast-v1",
        "conditional-scenario-v1"
      ]
    },
    {
      "id": "brent-crude-monthly",
      "title": "Brent crude monthly spot price",
      "unit": "USD/bbl (nominal)",
      "domain": "energy",
      "metricId": "brent-crude-monthly",
      "metricName": "Brent crude monthly spot price",
      "subjectType": "commodity",
      "subjectId": "oil-benchmarks",
      "summaryFinding": "Brent crude averaged around $100/bbl in 2022, eased to the low-$80s in 2023-2024, spiked briefly during the June-2026 Strait of Hormuz crisis, then fell back sharply after the 18 June 2026 U.S.-Iran understanding reopened the strait. The EIA's own Short-Term Energy Outlook — shown here as EIA's forecast, not Warconomy's — cut its 2026 outlook from $95.39/bbl (June STEO) to $81.91/bbl (July STEO), with $74.03 for 3Q2026 and $70.00 for 4Q2026. Both vintages are preserved side by side.",
      "geographicCoverage": "Global (Europe Brent benchmark)",
      "coveredThrough": "2026-07-01",
      "lastReviewed": "2026-07-22",
      "page": "https://warconomy.com/data-series/brent-crude-monthly",
      "points": [
        {
          "period": "2022 (avg)",
          "date": "2022-12-31",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": 101,
          "interval": null,
          "sourceIds": [
            "eia-brent"
          ],
          "recordRef": null,
          "note": "Annual average; Brent spiked above $120 in mid-2022 after the invasion."
        },
        {
          "period": "2023 (avg)",
          "date": "2023-12-31",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": 82,
          "interval": null,
          "sourceIds": [
            "eia-brent"
          ],
          "recordRef": null,
          "note": "Annual average."
        },
        {
          "period": "2024 (avg)",
          "date": "2024-12-31",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": 81,
          "interval": null,
          "sourceIds": [
            "eia-brent"
          ],
          "recordRef": null,
          "note": "Annual average."
        },
        {
          "period": "1H 2025",
          "date": "2025-06-30",
          "epistemicClass": "reconstructed",
          "evidenceStatus": "provisional",
          "value": null,
          "interval": {
            "low": 72,
            "high": 82,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "eia-spot-prices"
          ],
          "recordRef": null,
          "note": "Reconstructed first-half 2025 range."
        },
        {
          "period": "Jun 2026 (Hormuz spike)",
          "date": "2026-06-30",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": null,
          "interval": {
            "low": 78,
            "high": 95,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "eia-spot-prices",
            "hormuz-crisis-tracking"
          ],
          "recordRef": null,
          "note": "Brief spike during the Hormuz crisis, then a sharp fall after the 18 June understanding."
        },
        {
          "period": "3Q2026 (EIA forecast)",
          "date": "2026-09-30",
          "epistemicClass": "forecast",
          "evidenceStatus": "reported",
          "value": 74.03,
          "interval": null,
          "sourceIds": [
            "eia-steo"
          ],
          "recordRef": null,
          "note": "EIA's OWN July-2026 STEO forecast — an external institutional projection, not a Warconomy model."
        },
        {
          "period": "4Q2026 (EIA forecast)",
          "date": "2026-12-31",
          "epistemicClass": "forecast",
          "evidenceStatus": "reported",
          "value": 70,
          "interval": null,
          "sourceIds": [
            "eia-steo"
          ],
          "recordRef": null,
          "note": "EIA's OWN July-2026 STEO forecast."
        },
        {
          "period": "H2 2026 (disruption scenario)",
          "date": "2026-12-31",
          "epistemicClass": "scenario",
          "evidenceStatus": "unverified-lead",
          "value": null,
          "interval": {
            "low": 90,
            "high": 120,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "eia-steo",
            "hormuz-crisis-tracking"
          ],
          "recordRef": {
            "kind": "scenario",
            "id": "sc-brent-disruption-2026"
          },
          "note": "Warconomy conditional path — renewed Gulf disruption."
        },
        {
          "period": "H2 2026 (normalization scenario)",
          "date": "2026-12-31",
          "epistemicClass": "scenario",
          "evidenceStatus": "unverified-lead",
          "value": null,
          "interval": {
            "low": 62,
            "high": 78,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "eia-steo"
          ],
          "recordRef": {
            "kind": "scenario",
            "id": "sc-brent-normalization-2026"
          },
          "note": "Warconomy conditional path — continued normalization."
        }
      ],
      "competingSeries": [
        {
          "label": "EIA June-2026 STEO vintage (superseded by the July STEO)",
          "note": "The EIA's OWN prior-month forecast, preserved as a vintage: the June STEO put 2026 Brent at $95.39/bbl before the Hormuz de-escalation prompted the July STEO's large downward revision to $81.91/bbl. Vintages are kept side by side, not overwritten.",
          "sourceIds": [
            "eia-steo"
          ],
          "points": [
            {
              "period": "2026 avg (June STEO)",
              "date": "2026-06-30",
              "epistemicClass": "forecast",
              "evidenceStatus": "reported",
              "value": 95.39,
              "interval": null,
              "sourceIds": [
                "eia-steo"
              ],
              "recordRef": null,
              "note": "EIA June-2026 STEO 2026 annual-average Brent forecast, since revised down."
            }
          ]
        }
      ],
      "sourceTransitions": [],
      "definitionChanges": [],
      "missingPeriods": [],
      "methodologyIds": [
        "anchor-interpolation-v1",
        "external-forecast-passthrough-v1",
        "conditional-scenario-v1"
      ]
    },
    {
      "id": "henry-hub-gas-monthly",
      "title": "Henry Hub natural gas monthly spot price",
      "unit": "USD/MMBtu (nominal)",
      "domain": "energy",
      "metricId": "henry-hub-gas-monthly",
      "metricName": "Henry Hub natural gas monthly spot price",
      "subjectType": "commodity",
      "subjectId": "natural-gas",
      "summaryFinding": "U.S. Henry Hub gas spiked to multi-year highs in 2022 (annual average around $6.4/MMBtu, briefly near $9 in late summer), then collapsed to roughly $2.5 in 2023 and $2.2 in 2024 as domestic supply stayed ample, before firming toward $2.8-2.9 by spring 2026. A cold-winter / rising-LNG-demand scenario brackets the upside.",
      "geographicCoverage": "United States (Henry Hub)",
      "coveredThrough": "2026-05-31",
      "lastReviewed": "2026-07-22",
      "page": "https://warconomy.com/data-series/henry-hub-gas-monthly",
      "points": [
        {
          "period": "2022 (avg)",
          "date": "2022-12-31",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": 6.4,
          "interval": null,
          "sourceIds": [
            "eia-henry-hub"
          ],
          "recordRef": null,
          "note": "Annual average; briefly near $9 in late summer 2022."
        },
        {
          "period": "2023 (avg)",
          "date": "2023-12-31",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": 2.5,
          "interval": null,
          "sourceIds": [
            "eia-henry-hub"
          ],
          "recordRef": null,
          "note": "Annual average."
        },
        {
          "period": "2024 (avg)",
          "date": "2024-12-31",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": 2.2,
          "interval": null,
          "sourceIds": [
            "eia-henry-hub"
          ],
          "recordRef": null,
          "note": "Annual average."
        },
        {
          "period": "2025",
          "date": "2025-12-31",
          "epistemicClass": "reconstructed",
          "evidenceStatus": "provisional",
          "value": null,
          "interval": {
            "low": 2.8,
            "high": 3.8,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "eia-henry-hub"
          ],
          "recordRef": null,
          "note": "Reconstructed 2025 range."
        },
        {
          "period": "Apr 2026",
          "date": "2026-04-30",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": 2.77,
          "interval": null,
          "sourceIds": [
            "eia-henry-hub"
          ],
          "recordRef": null,
          "note": "EIA monthly spot."
        },
        {
          "period": "May 2026",
          "date": "2026-05-31",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": 2.94,
          "interval": null,
          "sourceIds": [
            "eia-henry-hub"
          ],
          "recordRef": null,
          "note": "EIA monthly spot."
        },
        {
          "period": "Summer 2026",
          "date": "2026-08-31",
          "epistemicClass": "nowcast",
          "evidenceStatus": "provisional",
          "value": null,
          "interval": {
            "low": 2.7,
            "high": 3.6,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "eia-henry-hub"
          ],
          "recordRef": {
            "kind": "nowcast",
            "id": "nc-henry-hub-2026-mid"
          },
          "note": "Nowcast of the mid-2026 level."
        },
        {
          "period": "Winter 2026-27 (scenario)",
          "date": "2027-01-31",
          "epistemicClass": "scenario",
          "evidenceStatus": "unverified-lead",
          "value": null,
          "interval": {
            "low": 3.5,
            "high": 5.5,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "eia-henry-hub"
          ],
          "recordRef": {
            "kind": "scenario",
            "id": "sc-henry-hub-cold-2026"
          },
          "note": "Conditional path — cold winter / rising LNG pull."
        }
      ],
      "competingSeries": [],
      "sourceTransitions": [],
      "definitionChanges": [],
      "missingPeriods": [],
      "methodologyIds": [
        "anchor-interpolation-v1",
        "proxy-nowcast-v1",
        "conditional-scenario-v1"
      ]
    },
    {
      "id": "fao-food-price-index",
      "title": "FAO Food Price Index",
      "unit": "index (2014-2016 = 100, nominal)",
      "domain": "commodities",
      "metricId": "fao-food-price-index-series",
      "metricName": "FAO Food Price Index",
      "subjectType": "commodity",
      "subjectId": "food-prices",
      "summaryFinding": "The FAO Food Price Index hit an all-time high near 160 in March 2022 as the invasion of Ukraine disrupted grain and vegetable-oil exports, then fell back toward the mid-120s through 2023-2024 as supply chains adjusted, firming again toward ~131 by spring 2026. A nowcast extends the most recent readings.",
      "geographicCoverage": "Global",
      "coveredThrough": "2026-05-31",
      "lastReviewed": "2026-07-22",
      "page": "https://warconomy.com/data-series/fao-food-price-index",
      "points": [
        {
          "period": "2020 (avg)",
          "date": "2020-12-31",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": 98,
          "interval": null,
          "sourceIds": [
            "fao-fpi"
          ],
          "recordRef": null,
          "note": "Annual average."
        },
        {
          "period": "2021 (avg)",
          "date": "2021-12-31",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": 125,
          "interval": null,
          "sourceIds": [
            "fao-fpi"
          ],
          "recordRef": null,
          "note": "Annual average."
        },
        {
          "period": "Mar 2022 (record)",
          "date": "2022-03-31",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": 159.7,
          "interval": null,
          "sourceIds": [
            "fao-fpi"
          ],
          "recordRef": null,
          "note": "All-time monthly record after the invasion of Ukraine."
        },
        {
          "period": "2023 (avg)",
          "date": "2023-12-31",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": 124,
          "interval": null,
          "sourceIds": [
            "fao-fpi"
          ],
          "recordRef": null,
          "note": "Annual average."
        },
        {
          "period": "2024 (avg)",
          "date": "2024-12-31",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": 122,
          "interval": null,
          "sourceIds": [
            "fao-fpi"
          ],
          "recordRef": null,
          "note": "Annual average."
        },
        {
          "period": "Apr 2026",
          "date": "2026-04-30",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": 131,
          "interval": null,
          "sourceIds": [
            "fao-fpi"
          ],
          "recordRef": null,
          "note": "Revised April 2026 level."
        },
        {
          "period": "May 2026",
          "date": "2026-05-31",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": 130.8,
          "interval": null,
          "sourceIds": [
            "fao-fpi"
          ],
          "recordRef": null,
          "note": "Down 0.2 from revised April."
        },
        {
          "period": "Mid-2026",
          "date": "2026-07-31",
          "epistemicClass": "nowcast",
          "evidenceStatus": "provisional",
          "value": null,
          "interval": {
            "low": 128,
            "high": 134,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "fao-fpi"
          ],
          "recordRef": {
            "kind": "nowcast",
            "id": "nc-fao-fpi-2026-mid"
          },
          "note": "Nowcast pending FAO's next release."
        }
      ],
      "competingSeries": [],
      "sourceTransitions": [],
      "definitionChanges": [],
      "missingPeriods": [],
      "methodologyIds": [
        "anchor-interpolation-v1",
        "proxy-nowcast-v1"
      ]
    },
    {
      "id": "eu-shadow-fleet-listed-vessels",
      "title": "EU-listed Russian shadow-fleet vessels (cumulative)",
      "unit": "vessels",
      "domain": "sanctions",
      "metricId": "eu-shadow-fleet-listed-vessels",
      "metricName": "EU-listed Russian shadow-fleet vessels (cumulative)",
      "subjectType": "sanctions",
      "subjectId": "shadow-fleet-shipping-insurance",
      "summaryFinding": "The EU's cumulative count of listed Russian 'shadow-fleet' vessels climbed package by package to an officially-reported 632 at the 20th sanctions package (23 April 2026). That legal-designation count is far smaller than researchers' estimates of the TOTAL shadow fleet (many hundreds to well over a thousand tankers depending on definition) — the two are shown separately because a designation count is not a fleet size.",
      "geographicCoverage": "European Union vessel listings (port-access and maritime-service bans)",
      "coveredThrough": "2026-04-23",
      "lastReviewed": "2026-07-22",
      "page": "https://warconomy.com/data-series/eu-shadow-fleet-listed-vessels",
      "points": [
        {
          "period": "End-2024",
          "date": "2024-12-31",
          "epistemicClass": "reconstructed",
          "evidenceStatus": "provisional",
          "value": null,
          "interval": {
            "low": 50,
            "high": 100,
            "intervalMeaning": "min-max-bound"
          },
          "sourceIds": [
            "eu-council-shadow-fleet"
          ],
          "recordRef": null,
          "note": "Early EU listings (14th-15th packages). Reconstructed floor."
        },
        {
          "period": "Mid-2025",
          "date": "2025-06-30",
          "epistemicClass": "reconstructed",
          "evidenceStatus": "provisional",
          "value": null,
          "interval": {
            "low": 250,
            "high": 400,
            "intervalMeaning": "min-max-bound"
          },
          "sourceIds": [
            "eu-council-shadow-fleet"
          ],
          "recordRef": {
            "kind": "historical-estimate",
            "id": "he-eu-shadow-fleet-2024-25"
          },
          "note": "Reconstructed cumulative after mid-2025 packages."
        },
        {
          "period": "Before 20th package",
          "date": "2026-03-31",
          "epistemicClass": "reconstructed",
          "evidenceStatus": "reported",
          "value": 597,
          "interval": null,
          "sourceIds": [
            "eu-council-shadow-fleet"
          ],
          "recordRef": null,
          "note": "Implied pre-20th cumulative (632 − 46 added + 11 delisted), per the EU's own package description."
        },
        {
          "period": "20th package (Apr 2026)",
          "date": "2026-04-23",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": 632,
          "interval": null,
          "sourceIds": [
            "eu-council-shadow-fleet"
          ],
          "recordRef": null,
          "note": "Officially-reported cumulative total at the 20th package."
        },
        {
          "period": "Mid-2026",
          "date": "2026-07-31",
          "epistemicClass": "nowcast",
          "evidenceStatus": "provisional",
          "value": null,
          "interval": {
            "low": 632,
            "high": 700,
            "intervalMeaning": "min-max-bound"
          },
          "sourceIds": [
            "eu-council-sanctions"
          ],
          "recordRef": {
            "kind": "nowcast",
            "id": "nc-eu-shadow-fleet-2026-mid"
          },
          "note": "Nowcast allowing for interim listings and a possible 21st package."
        }
      ],
      "competingSeries": [
        {
          "label": "Estimated TOTAL shadow-fleet size (research estimate)",
          "note": "Independent research (CREA and others) estimates the total 'shadow'/'dark' tanker fleet carrying Russian oil at many hundreds to well over a thousand vessels, depending on definition and period — much larger than the EU-listed subset, and a fundamentally different measure (fleet size vs. legal designations). A weaker, methodology-dependent estimate, shown for context, never as the legal count.",
          "sourceIds": [
            "crea-shadow-tankers",
            "crea-russia-fossil-tracker"
          ],
          "points": [
            {
              "period": "2023-2026 (estimate)",
              "date": "2026-01-01",
              "epistemicClass": "claim",
              "evidenceStatus": "disputed",
              "value": null,
              "interval": {
                "low": 600,
                "high": 1400,
                "intervalMeaning": "plausible-range"
              },
              "sourceIds": [
                "crea-shadow-tankers"
              ],
              "recordRef": null,
              "note": "Estimated total shadow-fleet size; varies widely by definition."
            }
          ]
        }
      ],
      "sourceTransitions": [],
      "definitionChanges": [],
      "missingPeriods": [
        {
          "start": "2024-06-01",
          "end": "2025-12-31",
          "reason": "not-published"
        }
      ],
      "methodologyIds": [
        "step-series-reconstruction-v1",
        "proxy-nowcast-v1"
      ]
    },
    {
      "id": "russia-fossil-export-revenue",
      "title": "Russia fossil-fuel export revenue (CREA estimate)",
      "unit": "EUR million/day",
      "domain": "sanctions",
      "metricId": "russia-fossil-export-revenue-series",
      "metricName": "Russia fossil-fuel export revenue (CREA)",
      "subjectType": "sanctions",
      "subjectId": "russia-energy-trade",
      "summaryFinding": "CREA's independent estimate of Russia's daily fossil-fuel export revenue peaked near €1 billion a day in 2022, then fell through the price-cap era toward roughly €500-600 million a day by 2025-2026. These are research estimates, not official Russian data, and are tracked alongside the sanctions/price-cap channel and many other factors — not a causal attribution.",
      "geographicCoverage": "Russia (fossil-fuel exports, all destinations)",
      "coveredThrough": "2026-04-30",
      "lastReviewed": "2026-07-22",
      "page": "https://warconomy.com/data-series/russia-fossil-export-revenue",
      "points": [
        {
          "period": "2022 (peak)",
          "date": "2022-06-30",
          "epistemicClass": "reconstructed",
          "evidenceStatus": "provisional",
          "value": null,
          "interval": {
            "low": 900,
            "high": 1100,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "crea-russia-fossil-tracker"
          ],
          "recordRef": null,
          "note": "CREA estimated revenue near €1bn/day at the 2022 peak. Reconstructed range."
        },
        {
          "period": "2023 (avg)",
          "date": "2023-12-31",
          "epistemicClass": "reconstructed",
          "evidenceStatus": "provisional",
          "value": null,
          "interval": {
            "low": 580,
            "high": 720,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "crea-russia-fossil-tracker"
          ],
          "recordRef": null,
          "note": "Price-cap-era decline. Reconstructed range."
        },
        {
          "period": "2024 (avg)",
          "date": "2024-12-31",
          "epistemicClass": "reconstructed",
          "evidenceStatus": "provisional",
          "value": null,
          "interval": {
            "low": 520,
            "high": 640,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "crea-russia-fossil-tracker"
          ],
          "recordRef": null,
          "note": "Reconstructed range."
        },
        {
          "period": "2025 (avg)",
          "date": "2025-12-31",
          "epistemicClass": "reconstructed",
          "evidenceStatus": "provisional",
          "value": null,
          "interval": {
            "low": 500,
            "high": 600,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "crea-russia-fossil-tracker"
          ],
          "recordRef": null,
          "note": "Reconstructed range."
        },
        {
          "period": "Apr 2026",
          "date": "2026-04-30",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": null,
          "interval": {
            "low": 480,
            "high": 580,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "crea-russia-fossil-tracker"
          ],
          "recordRef": null,
          "note": "CREA April-2026 monthly analysis (research estimate)."
        },
        {
          "period": "Mid-2026",
          "date": "2026-07-31",
          "epistemicClass": "nowcast",
          "evidenceStatus": "provisional",
          "value": null,
          "interval": {
            "low": 470,
            "high": 580,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "crea-russia-fossil-tracker"
          ],
          "recordRef": {
            "kind": "nowcast",
            "id": "nc-russia-fossil-revenue-2026-mid"
          },
          "note": "Nowcast pending CREA's next release."
        }
      ],
      "competingSeries": [],
      "sourceTransitions": [],
      "definitionChanges": [],
      "missingPeriods": [
        {
          "start": "2022-01-01",
          "end": "2026-03-31",
          "reason": "estimation-feasible"
        }
      ],
      "methodologyIds": [
        "anchor-interpolation-v1",
        "proxy-nowcast-v1"
      ]
    },
    {
      "id": "world-military-expenditure",
      "title": "World military expenditure",
      "unit": "USD billion (current)",
      "domain": "military-spending",
      "metricId": "world-military-expenditure",
      "metricName": "World military expenditure",
      "subjectType": "dashboard",
      "subjectId": "defense-spending",
      "summaryFinding": "World military spending rose for an 11th consecutive year to a SIPRI-estimated $2,887 billion in 2025 (up from $2,718 billion in 2024, itself the steepest rise since at least 1988). Warconomy reconstructs SIPRI's own 2015-2023 series to show the decade-long climb, and a continued-growth scenario brackets 2026-2027. Figures are current USD and revised in later SIPRI releases.",
      "geographicCoverage": "World",
      "coveredThrough": "2025-12-31",
      "lastReviewed": "2026-07-22",
      "page": "https://warconomy.com/data-series/world-military-expenditure",
      "points": [
        {
          "period": "2015",
          "date": "2015-12-31",
          "epistemicClass": "reconstructed",
          "evidenceStatus": "corroborated",
          "value": 1670,
          "interval": null,
          "sourceIds": [
            "sipri-milex-2024"
          ],
          "recordRef": {
            "kind": "historical-estimate",
            "id": "he-world-milex-2015-2023"
          },
          "note": "SIPRI world total (current USD), transcribed from SIPRI's historical series."
        },
        {
          "period": "2020",
          "date": "2020-12-31",
          "epistemicClass": "reconstructed",
          "evidenceStatus": "corroborated",
          "value": 2010,
          "interval": null,
          "sourceIds": [
            "sipri-milex-2024"
          ],
          "recordRef": {
            "kind": "historical-estimate",
            "id": "he-world-milex-2015-2023"
          },
          "note": "SIPRI world total (current USD)."
        },
        {
          "period": "2022",
          "date": "2022-12-31",
          "epistemicClass": "reconstructed",
          "evidenceStatus": "corroborated",
          "value": 2240,
          "interval": null,
          "sourceIds": [
            "sipri-milex-2024"
          ],
          "recordRef": {
            "kind": "historical-estimate",
            "id": "he-world-milex-2015-2023"
          },
          "note": "SIPRI world total (current USD)."
        },
        {
          "period": "2023",
          "date": "2023-12-31",
          "epistemicClass": "reconstructed",
          "evidenceStatus": "corroborated",
          "value": 2440,
          "interval": null,
          "sourceIds": [
            "sipri-milex-2024"
          ],
          "recordRef": {
            "kind": "historical-estimate",
            "id": "he-world-milex-2015-2023"
          },
          "note": "SIPRI world total (current USD)."
        },
        {
          "period": "2024",
          "date": "2024-12-31",
          "epistemicClass": "observed",
          "evidenceStatus": "verified",
          "value": 2718,
          "interval": null,
          "sourceIds": [
            "sipri-milex-2024"
          ],
          "recordRef": null,
          "note": "SIPRI 2024 world total (+9.4%), steepest rise since at least 1988."
        },
        {
          "period": "2025",
          "date": "2025-12-31",
          "epistemicClass": "observed",
          "evidenceStatus": "verified",
          "value": 2887,
          "interval": null,
          "sourceIds": [
            "sipri-milex-2025"
          ],
          "recordRef": null,
          "note": "SIPRI 2025 world total (+2.9% real); 11th consecutive year of growth."
        },
        {
          "period": "2026-27 (scenario)",
          "date": "2027-12-31",
          "epistemicClass": "scenario",
          "evidenceStatus": "unverified-lead",
          "value": null,
          "interval": {
            "low": 2950,
            "high": 3250,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "sipri-milex-2025"
          ],
          "recordRef": {
            "kind": "scenario",
            "id": "sc-world-milex-2026-27"
          },
          "note": "Conditional continued-growth path."
        }
      ],
      "competingSeries": [],
      "sourceTransitions": [],
      "definitionChanges": [
        {
          "changeDate": "2024-01-01",
          "oldDefinition": "Reconstructed points 2015-2023 transcribed from SIPRI's historical release.",
          "newDefinition": "Observed points 2024-2025 are directly-cited SIPRI fact-sheet figures.",
          "comparabilityNote": "Both are SIPRI current-USD world totals on the same definition; the break is only in Warconomy's provenance (reconstruction vs. direct citation), not in what is measured."
        }
      ],
      "missingPeriods": [],
      "methodologyIds": [
        "anchor-interpolation-v1",
        "conditional-scenario-v1"
      ]
    },
    {
      "id": "ukraine-reconstruction-need",
      "title": "Ukraine reconstruction & recovery need (RDNA vintages)",
      "unit": "USD billion",
      "domain": "reconstruction",
      "metricId": "ukraine-reconstruction-need",
      "metricName": "Ukraine reconstruction & recovery need",
      "subjectType": "conflict",
      "subjectId": "russia-ukraine",
      "summaryFinding": "Successive joint Rapid Damage and Needs Assessments (RDNA) have raised Ukraine's estimated 10-year reconstruction need with each vintage: roughly $349bn (2022) → $411bn (2023) → $486bn (2024) → $524bn (RDNA4, Feb 2025) → almost $588bn (RDNA5, Feb 2026). Each vintage is preserved, not overwritten — the point of the series is to show how the estimate has grown. Values are shown as ranges because a reconstruction-cost point estimate is not defensible.",
      "geographicCoverage": "Ukraine",
      "coveredThrough": "2026-02-23",
      "lastReviewed": "2026-07-22",
      "page": "https://warconomy.com/data-series/ukraine-reconstruction-need",
      "points": [
        {
          "period": "RDNA1 (2022)",
          "date": "2022-09-01",
          "epistemicClass": "reconstructed",
          "evidenceStatus": "reported",
          "value": null,
          "interval": {
            "low": 330,
            "high": 360,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "wb-rdna4",
            "worldbank"
          ],
          "recordRef": null,
          "note": "Earliest RDNA vintage (~$349bn), transcribed from the assessment lineage."
        },
        {
          "period": "RDNA2 (2023)",
          "date": "2023-03-01",
          "epistemicClass": "reconstructed",
          "evidenceStatus": "reported",
          "value": null,
          "interval": {
            "low": 400,
            "high": 420,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "wb-rdna4",
            "worldbank"
          ],
          "recordRef": null,
          "note": "~$411bn vintage."
        },
        {
          "period": "RDNA3 (2024)",
          "date": "2024-02-01",
          "epistemicClass": "reconstructed",
          "evidenceStatus": "reported",
          "value": null,
          "interval": {
            "low": 475,
            "high": 495,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "wb-rdna4",
            "worldbank"
          ],
          "recordRef": null,
          "note": "~$486bn vintage."
        },
        {
          "period": "RDNA4 (Feb 2025)",
          "date": "2025-02-25",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": 524,
          "interval": null,
          "sourceIds": [
            "wb-rdna4"
          ],
          "recordRef": null,
          "note": "RDNA4: $524bn over 10 years, data as of Dec 2024 (directly cited)."
        },
        {
          "period": "RDNA5 (Feb 2026)",
          "date": "2026-02-23",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": 588,
          "interval": null,
          "sourceIds": [
            "worldbank-rdna5"
          ],
          "recordRef": null,
          "note": "RDNA5: almost $588bn over 10 years, data as of Dec 2025 (directly cited)."
        },
        {
          "period": "Next RDNA (scenario)",
          "date": "2027-02-28",
          "epistemicClass": "scenario",
          "evidenceStatus": "unverified-lead",
          "value": null,
          "interval": {
            "low": 600,
            "high": 700,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "worldbank-rdna5"
          ],
          "recordRef": {
            "kind": "scenario",
            "id": "sc-ukraine-reconstruction-next"
          },
          "note": "Conditional continued-war path for the next vintage."
        }
      ],
      "competingSeries": [],
      "sourceTransitions": [],
      "definitionChanges": [
        {
          "changeDate": "2025-02-25",
          "oldDefinition": "RDNA1-3 vintages transcribed from the assessment lineage (reconstructed provenance).",
          "newDefinition": "RDNA4-5 are directly-cited from registered World Bank sources.",
          "comparabilityNote": "All are the same joint-assessment methodology over a 10-year horizon; each vintage covers a longer war period, which is WHY the number grows — the vintages are not directly substitutable as a like-for-like time series."
        }
      ],
      "missingPeriods": [],
      "methodologyIds": [
        "anchor-interpolation-v1",
        "conditional-scenario-v1"
      ]
    },
    {
      "id": "eu-russian-gas-import-share",
      "title": "Russian gas share of EU gas imports",
      "unit": "% of EU gas imports",
      "domain": "trade",
      "metricId": "eu-russian-gas-import-share",
      "metricName": "Russian gas share of EU gas imports",
      "subjectType": "sanctions",
      "subjectId": "russia-energy-trade",
      "summaryFinding": "The Russian share of EU gas imports fell from about 45% in 2021 toward roughly 19% by 2024 (a partial rebound from a 2023 low) as the EU diversified under REPowerEU, and Warconomy's nowcast puts 2026 lower still. The EU's stated roadmap is to fully end dependence on Russian energy. Annual figures may be revised.",
      "geographicCoverage": "European Union",
      "coveredThrough": "2024-12-31",
      "lastReviewed": "2026-07-22",
      "page": "https://warconomy.com/data-series/eu-russian-gas-import-share",
      "points": [
        {
          "period": "2021",
          "date": "2021-12-31",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": 45,
          "interval": null,
          "sourceIds": [
            "ec-repowereu"
          ],
          "recordRef": null,
          "note": "Pre-invasion Russian share of EU gas imports (EC)."
        },
        {
          "period": "2023",
          "date": "2023-12-31",
          "epistemicClass": "reconstructed",
          "evidenceStatus": "reported",
          "value": null,
          "interval": {
            "low": 13,
            "high": 17,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "ec-repowereu"
          ],
          "recordRef": null,
          "note": "Reconstructed 2023 low before a partial 2024 rebound."
        },
        {
          "period": "2024",
          "date": "2024-12-31",
          "epistemicClass": "observed",
          "evidenceStatus": "reported",
          "value": 19,
          "interval": null,
          "sourceIds": [
            "ec-repowereu"
          ],
          "recordRef": null,
          "note": "EC-stated 2024 share (a partial rebound from the 2023 low)."
        },
        {
          "period": "2026",
          "date": "2026-12-31",
          "epistemicClass": "nowcast",
          "evidenceStatus": "provisional",
          "value": null,
          "interval": {
            "low": 8,
            "high": 15,
            "intervalMeaning": "plausible-range"
          },
          "sourceIds": [
            "ec-repowereu"
          ],
          "recordRef": {
            "kind": "nowcast",
            "id": "nc-eu-russian-gas-2026"
          },
          "note": "Nowcast of the continued decline pending a fresh official figure."
        }
      ],
      "competingSeries": [],
      "sourceTransitions": [],
      "definitionChanges": [],
      "missingPeriods": [],
      "methodologyIds": [
        "anchor-interpolation-v1",
        "proxy-nowcast-v1"
      ]
    }
  ]
}