Skip to content

📊 Update UCDP CED preview with Q2 2026 data - #6596

Open
lucasrodes wants to merge 3 commits into
masterfrom
update-ced-ucdp-2
Open

📊 Update UCDP CED preview with Q2 2026 data#6596
lucasrodes wants to merge 3 commits into
masterfrom
update-ced-ucdp-2

Conversation

@lucasrodes

@lucasrodes lucasrodes commented Aug 3, 2026

Copy link
Copy Markdown
Member

Written by Claude Opus 5 — @lucasrodes at the wheel.

Updates the UCDP CED preview to the Q2 2026 release (v26.01.26.06, Jan–Jun 2026), replacing the Q1 snapshot (v26.01.26.03). The stable 26.1 release already covers 2025, so no other CED snapshot remains in the DAG. Fixes https://github.com/owid/owid-issues/issues/2477.

Updated charts:

Update summary

TL;DR

  • The new release revises 2026 only — 1,897 changed values across 208 rows, and no pre-2026 value moves at all (verified cell-by-cell against the published catalog).
  • World total for 2026 H1: 76,671 reported deaths in 73 ongoing conflicts, up from 39,349 in 49 on the Q1 snapshot. That is 31% of 2025's full-year total.
  • Regional split: Europe 47,261 · Africa 15,272 · Middle East 9,035 · Asia & Oceania 3,700 · Americas 1,403.
  • Q2 also revises the Q1 window upward: the same Jan–Mar period is now 71,307 deaths vs 64,163 as published in the Q1 file (+11%), and 308 Q1 event IDs no longer appear — the expected churn for candidate data.

Top-20 countries by 2026 H1 deaths (conflict_type='all')

pace_vs_2025 = H1 2026 / (2025_full / 2) — i.e. 1.0 means H1 is on the same annual pace as 2025.

country H1 2026 full 2025 full 2024 pace vs 2025 flag
Ukraine 47,050 90,345 91,779 1.04 on track
Lebanon 4,365 347 4,335 25.16 escalating
Iran 3,559 1,243 218 5.73 escalating
Sudan 3,086 75,164 6,996 0.08 subsiding
Nigeria 2,291 4,021 3,058 1.14 on track
Somalia 2,282 3,869 2,400 1.18 on track
Ethiopia 2,054 5,419 4,140 0.76 on track
Pakistan 1,774 3,308 1,925 1.07 on track
Democratic Republic of Congo 1,767 8,860 5,089 0.40 subsiding
Burkina Faso 1,542 4,475 4,253 0.69 on track
Myanmar 960 2,309 2,859 0.83 on track
Mali 861 2,152 1,876 0.80 on track
Palestine 754 14,505 21,542 0.10 subsiding
Mexico 695 7,833 10,946 0.18 subsiding
Afghanistan 674 330 365 4.08 escalating
Niger 642 1,111 1,227 1.16 on track
Colombia 495 942 699 1.05 on track
Russia 211 4,420 10,585 0.10 subsiding
Cameroon 191 367 378 1.04 on track
Yemen 177 1,717 1,020 0.21 subsiding

Verification

  • Snapshot fidelity — the uploaded snapshot's md5 (40eca715…) matches an independent download of the source CSV. 10,051 events (Q1: 4,849), all year == 2026, date_start spanning 2026-01-01 → 2026-06-30, IDs unique. Column set and order identical to Q1 (49 columns), so no source schema drift.
  • Meadow reproduces the raw file exactly: 10,051 rows, best sum 104,501.
  • Garden reconciles with the raw file to the unit. The pipeline keeps only active_year events (conflicts that crossed UCDP's 25-death threshold), and the output matches the raw active_year==1 subtotals exactly — state-based 72,017 · non-state 1,717 · one-sided 2,937 · all 76,671. The 22,205 one-sided deaths excluded are actor-years below the threshold at export time, the same pattern as Q1.
  • Regional aggregates we compute sum to World exactly for 2024/2025/2026 across all conflict types and all five death metrics.
  • No unintended revisions: only 2026 differs from the published catalog; row index is unchanged (82,108 rows, no additions or removals).
  • Staging renders the new datadeaths-in-armed-conflicts-by-region.csv tops out at 2026 with World 76,671 / Europe 47,261 / Ukraine 47,050, matching the garden output.
  • FAUST is consistent across every surface on staging: 184/184 preview indicators carry the new note, and zero chart configs anywhere still say "first quarter" (the global-health explorer view that renders chart 8292 picked the new text up automatically).
  • make check passes.

Still open

Proposed (needs sign-off)

  • Chart 8292 opens on a map pinned to 2025 (map.time: 2025, a chart-level admin override; the chart's default tab is map). It is pre-existing, not introduced here, but it now contradicts the chart's own subtitle, which says 2026 is included. Options: bump to 2026 so the map shows the newest (half-)year, or leave it on the last complete year deliberately. I left it untouched — say which you want and I'll apply it on staging.
  • The note overrides on charts 8290/8292 are now redundant. They are byte-identical to the indicator-level ETL note, so deleting the two overrides would make the footnote inherit from ETL and remove one manual step from every future quarterly update. Not done, since the issue asks for the override to be set explicitly.

Handed off

  • Review by a second data scientist — @lucasrodes to pick a reviewer; the three staging links above are the entry points.
  • #data-updates-comms announcement — not drafted. Run /data-updates-comms when the PR is ready to merge.

Unverified

  • I did not visually screenshot the charts or MDIM views; verification was via the data endpoints and DB config, not rendered SVG.
  • The FAUST harmonization-rules doc was not re-read against the new copy; I applied the wording verbatim from the issue.
  • The map.time audit covered only the two charts on this dataset and the MDIM views. The MDIM has five views with timelineMinTime: 1989, which is a lower bound and cannot hide new data — no other time pins exist.

Replace the Q1 2026 Candidate Events Dataset snapshot (v26.01.26.03) with
the Q2 release (v26.01.26.06), covering January-June 2026.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ChnntjYYCJsSUcPtrB17u
@owidbot

owidbot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Quick links (staging server):

Site Dev Site Preview Admin Wizard Docs Docs Preview

Login: ssh owid@staging-site-update-ced-ucdp-2

chart-diff: ✅
  • 2/2 reviewed charts
  • Modified: 2/2
  • New: 0/0
  • Rejected: 0
  • Data changes: 2
  • Metadata changes: 2
data-diff: ❌ 1 changed — full report
~ garden/war/latest/ucdp_preview
    ~ dataset metadata changed
    ~ ucdp_preview (changed table metadata)
    ~ ucdp_preview.number_deaths_ongoing_conflicts (changed metadata, changed data)
        ~ Changed values: 208 / 82,108 (0.25%)
            2026 Niger intrastate (non-internationalized): 0 → 208
            2026 Mauritania all: 0 → 150
            2026 Mauritania intrastate: 0 → 150
            (+205 more)
    ~ ucdp_preview.number_deaths_ongoing_conflicts_civilians (changed metadata, changed data)
        ~ Changed values: 179 / 82,108 (0.22%)
            2026 Colombia one-sided violence: 0 → 61
            2026 Chad intrastate (internationalized): 0 → 24
            2026 Mozambique one-sided violence: 0 → 23
            (+176 more)
    ~ ucdp_preview.number_deaths_ongoing_conflicts_combatants (changed metadata, changed data)
        ~ Changed values: 171 / 82,108 (0.21%)
            2026 Mauritania all: 0 → 150
            2026 Mauritania intrastate: 0 → 150
            2026 Mauritania intrastate (internationalized): 0 → 150
            (+168 more)
    ~ ucdp_preview.number_deaths_ongoing_conflicts_high (changed metadata, changed data)
        ~ Changed values: 208 / 82,108 (0.25%)
            2026 Nigeria non-state conflict: 0 → 276
            2026 Niger intrastate (non-internationalized): 0 → 272
            2026 Mali non-state conflict: 0 → 201
            (+205 more)
    ~ ucdp_preview.number_deaths_ongoing_conflicts_high_per_capita (changed metadata, changed data)
        ~ Changed values: 208 / 82,108 (0.25%)
            2026 Mauritania all: 0.0 → 2.7465882301330566
            2026 Mauritania intrastate: 0.0 → 2.7465882301330566
            2026 Mauritania intrastate (internationalized): 0.0 → 2.7465882301330566
            (+205 more)
    ~ ucdp_preview.number_deaths_ongoing_conflicts_low (changed metadata, changed data)
        ~ Changed values: 208 / 82,108 (0.25%)
            2026 Mauritania all: 0 → 150
            2026 Mauritania intrastate: 0 → 150
            2026 Mauritania intrastate (internationalized): 0 → 150
            (+205 more)
    ~ ucdp_preview.number_deaths_ongoing_conflicts_low_per_capita (changed metadata, changed data)
        ~ Changed values: 208 / 82,108 (0.25%)
            2026 Mauritania all: 0.0 → 2.7465882301330566
            2026 Mauritania intrastate: 0.0 → 2.7465882301330566
            2026 Mauritania intrastate (internationalized): 0.0 → 2.7465882301330566
            (+205 more)
    ~ ucdp_preview.number_deaths_ongoing_conflicts_per_capita (changed metadata, changed data)
        ~ Changed values: 208 / 82,108 (0.25%)
            2026 Mauritania all: 0.0 → 2.7465882301330566
            2026 Mauritania intrastate: 0.0 → 2.7465882301330566
            2026 Mauritania intrastate (internationalized): 0.0 → 2.7465882301330566
            (+205 more)
    ~ ucdp_preview.number_deaths_ongoing_conflicts_unknown (changed metadata, changed data)
        ~ Changed values: 144 / 82,108 (0.18%)
            2026 Africa (UCDP) non-state conflict: 0 → 220
            2026 Sudan non-state conflict: 0 → 96
            2026 Niger intrastate (non-internationalized): 0 → 64
            (+141 more)
    ~ ucdp_preview.number_new_conflicts (changed metadata)
    ~ ucdp_preview.number_new_conflicts_per_country (changed metadata)
    ~ ucdp_preview.number_new_conflicts_per_country_pair (changed metadata)
    ~ ucdp_preview.number_ongoing_conflicts (changed metadata, changed data)
        ~ Changed values: 103 / 82,108 (0.13%)
            2026 Mali non-state conflict: 0 → 3
            2026 Nigeria non-state conflict: 0 → 3
            2026 Cameroon intrastate: 0 → 2
            (+100 more)
    ~ ucdp_preview.number_ongoing_conflicts_per_country (changed metadata, changed data)
        ~ Changed values: 26 / 82,108 (0.03%)
            2026 Africa (UCDP) non-state conflict: 0.03773584961891174 → 0.16981132328510284
            2026 Americas (UCDP) one-sided violence: 0.02857142873108387 → 0.08571428805589676
            2026 World non-state conflict: 0.04060913622379303 → 0.08629441261291504
            (+23 more)
    ~ ucdp_preview.number_ongoing_conflicts_per_country_pair (changed metadata, changed data)
        ~ Changed values: 26 / 82,108 (0.03%)
            2026 Africa (UCDP) non-state conflict: 0.0014513788046315312 → 0.00653120456263423
            2026 Americas (UCDP) one-sided violence: 0.0016806722851470113 → 0.005042016971856356
            2026 World non-state conflict: 0.00041437894105911255 → 0.0008805552497506142
            (+23 more)
    ~ ucdp_preview_country (changed table metadata)
    ~ ucdp_preview_country.number_participants (changed metadata, changed data)
        ~ Changed values: 14 / 95,191 (0.01%)
            2026 Africa intrastate (non-internationalized): 3 → 6
            2026 World intrastate (non-internationalized): 9 → 14
            2026 Asia and Oceania intrastate: 4 → 6
            (+11 more)
    ~ ucdp_preview_country.participated_in_conflict (changed metadata, changed data)
        ~ Changed values: 17 / 95,191 (0.02%)
            2026 Benin intrastate: 0 → 1
            2026 Benin intrastate (non-internationalized): 0 → 1
            2026 Benin state-based: 0 → 1
            (+14 more)
    ~ ucdp_preview_locations (changed table metadata)
    ~ ucdp_preview_locations.is_location_of_conflict (changed metadata, changed data)
        ~ Changed values: 42 / 72,504 (0.06%)
            2026 Afghanistan one-sided violence: 0 → 1
            2026 Bangladesh all: 1 → 0
            2026 Bangladesh one-sided violence: 1 → 0
            (+39 more)
    ~ ucdp_preview_locations.number_locations (changed metadata, changed data)
        ~ Changed values: 24 / 72,504 (0.03%)
            2026 Africa non-state conflict: 2 → 7
            2026 World non-state conflict: 4 → 10
            2026 Africa intrastate (non-internationalized): 4 → 8
            (+21 more)

Automatically updated datasets matching excess_mortality|covid|fluid|flunet|country_profile|garden/ihme_gbd/2019/gbd_risk are not included. Run locally with etl diff REMOTE data/ --include <dataset> --verbose.

Edited: 2026-08-03 17:56:28 UTC
Execution time: 7.86 seconds

@lucasrodes

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d3ae271847

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

date_accessed: "2026-08-03"
license:
name: CC BY 4.0
url: https://creativecommons.org/licenses/by/4.0/

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Use the producer's license statement

For this new Q2 snapshot, license.url points to the generic Creative Commons deed rather than a UCDP page or PDF where UCDP states the dataset's terms. This leaves Grapher's per-origin metadata without a producer-authored license source; replace it with UCDP's own license statement, or leave it empty if UCDP publishes none.

AGENTS.md reference: AGENTS.md:L278-L278

Useful? React with 👍 / 👎.

lucasrodes and others added 2 commits August 3, 2026 18:24
Use "first half of the year" in the note, matching key_point_pre_1 and the
MDIM/chart subtitles.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ChnntjYYCJsSUcPtrB17u
@lucasrodes
lucasrodes marked this pull request as ready for review August 4, 2026 09:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants