Latest forecast — loading…
Pixel level is only available for the most recent issuance.
Pixel level is not available for in-season trimesters — switch to Country, or pick a fully-forecast trimester.
Forecast issued —. Colours show where this SEAS5 forecast sits within its historical distribution, where the seasonal forecast has skill; hatched fills indicate moderate (vs. high) skill. Grey = outside the rainy season; cross-hatch = low skill. Use the Issued year/month menus to browse past forecasts (in-sample reconstructions). The Country/Pixel toggle switches between country averages and the native SEAS5 0.4° grid — pixel level is only available for the most recent issuance. By default, alerts are shown only for the rainy season. The first two trimesters on the slider are in-season: they are already underway at issuance, so their 1–2 elapsed months use ERA5 observations and only the remainder is forecast — a much more confident (and higher-skill) estimate of how the season ends up.
Pixel level is not available for in-season issues (issued after the trimester started) — country level only.
SEAS5 hindcast skill — the temporal Pearson correlation (r) against ERA5 over 1981–present — for the selected valid trimester and leadtime (months from the issue month to the trimester's first month). Colours are categorical at the skill cutoffs: high (r ≥ 0.5), moderate (0.3–0.5), low (0–0.3), negative. The two rightmost issue months are in-season (the trimester has already started): the elapsed months use ERA5 observations and only the rest is forecast, so skill is naturally much higher. The Country/Pixel toggle switches between country averages and the native SEAS5 0.4° grid. By default skill is shown only where the trimester is in the rainy season (≥ 15% of annual rainfall, the rest greyed); the checkbox reveals skill everywhere. Detrended, matching the forecast map's defaults. This shows skill only — not the current forecast.
Top chart: ERA5 mean rainfall by month. Heatmap: blue, bold trimester labels and outlined columns mark the rainy season (≥ 15% of the annual total). Values show SEAS5 hindcast skill — the temporal Pearson correlation (r) against ERA5 over 1981–present — for every valid trimester (x) at each leadtime (y, months from the issue month to the trimester's first month). Each cell is labelled with its issue month. Colours are categorical at the skill cutoffs: high (r ≥ 0.5), moderate (0.3–0.5), low (0–0.3), negative. Leadtime stops at 4 because SEAS5 only reaches 6 months ahead, so a longer lead would cover only part of the 3-month trimester. Negative leadtimes (the separated top rows) are in-season issues: the trimester had already started, so its elapsed 1–2 months use ERA5 observations (with each remaining forecast month bias-corrected per month) — skill is naturally much higher. Skill generally decays with leadtime and is highest in each area's rainy season. Detrended forecasts, matching the map's defaults.
Select a country above to see its per-admin breakdown (PiN or population per IPC phase, the area's severity class, targeted population, and the forecast category). Click a column header to sort.
Areas where the latest SEAS5 seasonal forecast points to drought, weighted by food-insecurity severity and HNRP caseloads — so the largest at-risk populations with the worst forecasts rise to the top.
For each area the single worst qualifying slot is shown: rainy-season trimesters, drought side only (forecast percentile < 50), with at least moderate skill (r ≥ 0.30) and a return period of at least 3 years. Those two thresholds are fixed — use the legend's forecast selectors to show or hide categories. The return period is directional: a 10-yr value means a forecast this dry occurs about once a decade in the 1981–present hindcast for that area and season. Because a return period says how unusual a forecast is but not how much water is at stake, the readout pairs it with the forecast and normal seasonal totals in mm (bias-corrected against ERA5, detrended): a rare-but-tiny deficit in a marginal season reads very differently from the same return period where the season carries real rain. The "% of normal" is omitted when the normal is under 10 mm, where the ratio of two near-zero totals would suggest precision the data doesn't have. The Valid season selector defaults to the worst drought including seasons already in progress, because the worst signal is often a season underway — Ukraine's only drought signal this issuance is one, and the forecast-seasons-only view showed the country as low-skill instead. Switching to "forecast seasons" restricts it to trimesters that have not started. The trimester actually used is shown as its compact code (e.g. MJJ) — centred on each area when a country is selected on the map, and bold in every tooltip. Areas below the skill floor carry no code: with no usable skill there is no alert, so which season it would have been is beside the point. Forecast data are detrended, matching the Map tab's defaults.
PiN / Targeted come from each plan's latest reference period via ds-hnrp-mirror; figures published at admin-2/3 are summed to admin-1 (some plans publish subnational needs only at admin-3 — DR Congo, Myanmar, Syria; where such a plan reports a single "Final HRP caseload" instead of Intersectoral, that is shown as the Intersectoral figure). Caseloads appear only for countries whose newest plan cycle is this year or last, which currently leaves Ethiopia alone in being absent entirely (last subnational needs 2024, no newer plan). PiN is the plan's headline total for the intersectoral caseload — not a severity band: it is a count of people in need, shown alongside (not split by) the unit's severity class. All PiN/targeted figures shown are the plans' intersectoral ones. A Plan year selector picks the cycle, and nothing is ever blended across cycles — caseload, targeting and severity class all come from the year selected. An area the chosen plan does not cover shows dashes rather than an older year's figures. Only cycles that publish a severity distribution are offered, which means 2026 and 2025: the JIAF PbS starts at 2025, so an older cycle could show a caseload but never a class. Dropping 2024 on that rule costs 109 units their only cycle and 626 their only targeting, Venezuela's included. The two cycles are not the same countries or the same units — 2026 covers 3,471 units across 16 countries, 2025 covers 4,702 across 23 — and coverage moves within a country too. The 2026 cycle is a special case. Its subnational PiN comes from the JIAF needs analysis (the "PiN par gravité" workbooks), which publishes PiN by severity and no targets. The 2026 PiN is the real cycle, not a projection: where it and the needs table both cover a unit-year they agree.
Targeted and reached for the current cycle come from OCHA's GHO monitoring dashboard, mirrored daily by ds-hnrp-mirror. Four figures travel together, as one funnel: PiN → targeted → prioritized → reached. "Targeted" is the plan's overall target; "prioritized" is the smaller hyper-prioritized caseload the GHO dashboard headlines, and the two are in no sense interchangeable — nationally the priority figure runs 0.22 of the plan target in Afghanistan, 0.68 in Sudan, 0.79 in Yemen. Each step is shown as a share of the step above it, which is the question worth asking of a funnel: what fraction of need was planned for, of the plan prioritized, of the priority delivered. This is the only public source for subnational reach: the HPC API publishes no measurements for 2026 plans and HAPI's 2026 rows stop at the national total, which is why this tab previously showed an empty Targeted column for the current year. It now covers 2,864 units with a target and 3,199 with reported reach across 19 countries. The target is the same measure the needs analysis carries in other years — summed nationally it reproduces HPC's own plan figures exactly (Afghanistan 17.48M, Sudan 20.42M, Yemen 12.00M) — so the Targeted column is continuous across plan years; hover it to see which source answered. Hovering an area gives a ring chart: the full circle is the area's PiN, with the rest of the funnel drawn as arcs of it. Colours are taken from OCHA's own report definitions so a reader arriving from either dashboard finds the same colour on the same figure — in need, targeted and prioritized from the country plans dashboard, and reached from the monitoring one, which is the only place it is published. A reach ratio past 300% is printed as >300% with the exact figure in the tooltip: 20 areas report a priority caseload so small (Sudan's Um Bada prioritizes 2,000 of a 386,000 target) that the ratio describes the denominator rather than the response. Three caveats travel with these figures. They carry a per-country vintage, not a common as-of date — Afghanistan last reported in March, DR Congo in May, Chad in June — so the month is printed beside every figure. A few plans do not report on admin areas at all. Ukraine plans on oblast × distance-from-the-front-line bands (0–20 km, 21–50 km, 51+ km, and the oblast capital), which no COD publishes. Those bands partition their oblast, so they are summed onto it and shown on real oblast boundaries — the front-line detail does not survive, and its occupied-territories row, which is not an oblast, is not shown at all. Mali reports on communes while this map draws cercles, so 62 of its 97 monitored units cannot be placed. Nothing is ever drawn on a boundary it does not belong to: where a unit cannot be matched it is left out and counted, never nudged onto a neighbour. Reach is only what partners attributed to an area, and a great deal of delivery is reported without a location, so subnational sums run well below the national headline (Sudan 2.6M against 8.0M nationally). Read a per-area figure as a floor. And reach is not bounded by the target: some areas report more people reached than targeted, which is why the rings are concentric rather than slices of one pie — a ring that runs past a full turn is hatched, with the real share in the figure beside it. Coverage is uneven because reporting is: Syria files PiN with no target or reach, Venezuela reports reach with no needs figure, Cameroon and Somalia target without prioritizing. Every one of those shows as "not reported", never as zero — a published zero (Colombia files many) is a different claim and is shown as 0. Subnational sums do not always reach the plan's headline. Checked against HPC's own national figures, ten countries reconcile to within a rounding error — Sudan, Afghanistan, Cameroon, DR Congo, Colombia, Niger, Nigeria, Syria, Yemen and Honduras all at 1.00, Sudan to the person — but five fall materially short: Mali 0.67, Mozambique 0.70, Chad 0.76, CAR 0.79 and Somalia 0.84 (South Sudan 0.94, Haiti 0.98). The workbook is a subnational allocation over its own analysis scope, not the reconciled headline, so the shortfall is the plan's, not an aggregation error here — but it means a country total read off this chart can understate the published PiN by up to a third. Four countries with a released 2026 plan publish no 2026 subnational figures at all — Burkina Faso, Myanmar, Ukraine and Venezuela — so at plan year 2026 they show nothing and their most recent subnational cycle is 2025. A country can still be absent from a given caseload when its plan never publishes that sector subnationally — those figures then show dashes.
The Severity row picks the source. PiN (the default) is the plan's own figure for the area: one intersectoral PiN and one severity class per unit, exactly as the plan publishes them. The class comes from the plan's PiN-by-Severity distribution (JIAF 2.0 PbS workbooks): the PbS assigns each finest analysis unit one class and places that unit's whole PiN there, so at the level shown here it is the unit's area classification. Where a unit's caseload does span classes, the fill is the class holding the most of it and the tooltip lists the rest (one unit in the current payload — Bourem, Mali). The class follows the Plan year, like the caseload: each cycle carries its own classification, and 907 of the 3,090 units classed in both 2025 and 2026 — 29% — sit at a different class between the two. Fixing the colour to the newest cycle, as this tab did until 2026-08, painted an older year's caseload with the newest year's class. A class is not a caseload. A unit can be assessed and hold no PiN at all — Colombia classifies all 1,122 of its units for 2026 while 672 of them come to zero people in need — so the class is taken as published rather than read off the PiN split, which would leave those 672 grey. A unit the chosen cycle does not classify is drawn not assessed rather than borrowing another year's: under 2026 that is 25 units (Chad 17, Syria 8), under 2025 it is 520, mostly Myanmar's 330, which publish a caseload but no severity in any cycle. Where the PbS carries no usable class for a unit, the class falls back to the severity analysis's own population-by-class for that area in the same year — the same source, read per area rather than per PiN row. That carries 1,126 units under 2026 and 3,338 under 2025, whose PbS sheet publishes a total or a class without a usable per-class breakdown. Tooltips say when a class came from there rather than from the PiN split, and list both classes for the eight such units that span two. What remains classless is genuinely unpublished: 441 units inside an HNRP carry no severity anywhere in the plan data — Myanmar (330), Burkina Faso (35), Chad (17), CAR (14), Cameroon (13), twelve Somali districts, Syria (8), Guatemala (6), Honduras (3), and one each in Colombia, Mozambique and Sudan. They keep their PiN and show no class. How many you actually meet depends on the plan year: under the default 2026 cycle only 27 units have a PiN and no class (Chad 17, Syria 8, one each in Cameroon and Colombia); under 2025 it is 415, most of them Myanmar's. IPC/CH acute food insecurity phases (via ds-ipc-mirror) is the alternative. IPC publishes a genuine within-area phase distribution, so a Level selector — above the bar chart, since that is all it changes — picks how much of it to count: 3+, 4+ or 5. The area's class on the map follows the IPC rule instead (highest phase reaching ≥20% of the analysed population) and does not move with the level. IPC and plan figures do not line up: they measure different things (acute food insecurity vs inter-sectoral needs) over different analysed populations, scopes, and periods — compare shapes, not values. FEWS NET phases (via ds-fewsnet-mirror) is the third source: USAID's Famine Early Warning Systems Network publishes IPC-compatible classifications on the same 1–5 scale, but they are FEWS NET's own analysis, not the IPC/CH consensus, and the two can disagree — which is exactly why both are offered. FEWS NET classifies areas and publishes no population-in-phase figures, so this mode carries no caseloads, no shares and no bar chart: the map fill is the area's phase, full stop. There is no Level selector either — with no populations there is nothing for "3+" to count. Areas outside any HNRP (no PiN/severity/targeted — most of Nigeria, whose plan covers Borno, Adamawa and Yobe, and IPC-covered countries with no plan) are on the map in either mode: muted body, since there is no severity to colour, but their forecast outline in full, since the forecast is just as real there. Every admin unit of a covered country is drawn, in both modes. Once a country appears in either source it is complete on the map — units the analysis does not reach still carry their forecast, and a country with no IPC analysis at all (Burkina Faso, Colombia, El Salvador, Myanmar, Syria, Ukraine, Venezuela) is drawn on its plan units in IPC mode rather than vanishing. Before this, coverage followed the humanitarian data unit by unit and left shapes with nothing behind them — no forecast, no readout, and no click: Tanzania drew 170 polygons over 32 rows, so four fifths of the country was inert, and Honduras, Guatemala and Kenya were partly so. Only IPC analyses valid in 2025 or later are included — 39 countries; an analysis exercised in late 2024 still counts where its projection runs into 2025, which is how the Dominican Republic and Pakistan are here. Countries whose series stalled earlier (Ethiopia 2021, Angola/El Salvador 2022, Burkina Faso Aug 2024, Timor-Leste 2024) carry no IPC here.
Every country is shown at the finest level we can — the level
the plan itself publishes, where each unit carries a single severity class:
admin-3 for the four countries whose plans publish it against boundaries we
hold — Burkina Faso's 351 communes, Myanmar's 330 townships, Syria's 270
sub-districts and DR Congo's 519 zones de santé (via the SNIS/OCHA
health-zone shapefile, which matches the plan's zone codes exactly);
admin-2 for nineteen more (AFG, CAF, CMR, COL, GTM, HND, HTI, MLI, MOZ, NER,
NGA, SDN, SLV, SOM, SSD, TCD, UKR, VEN, YEM); admin-1 for the remaining
twenty-three. (Fixed single-level views remain
reachable at ?adm=1, ?adm=2 or ?adm=3,
without a picker.) The admin-2 scope is ~4,900 units across 21 countries with
admin-2 boundaries and zonal statistics in our database — the nineteen above
plus Burkina Faso and DR Congo, which this view shows finer still. The rest
lack admin-2 polygons on our side and are excluded on that basis; Myanmar
publishes admin-1/3 only.
Tanzania is the exception to that rule: IPC publishes it at
admin-2, and although our polygon table holds only its 31 regions, its 170
districts come straight from the COD shapefile and each inherits its region's
forecast — the same arrangement as admin-3, below.
No admin-3 forecast exists: admin-3 units inherit
their parent admin-2's forecast (skill, return period, rainy season)
verbatim — only the humanitarian figures are finer. The map's units change with the Severity
source, because the two sources disagree about what a unit is: DR
Congo's plan is written in 519 zones de santé, its IPC analysis in 168
territories; Haiti's plan covers 140 communes, its IPC 10 departments. Each
source is drawn on the units it is actually published for, and the chart
title always names the level in force. Switching source swaps only the
subnational layer: the country outlines, the backdrop and the map's own
view are the same in both, so they stay put while the mosaic underneath is
rebuilt. The selected country survives the switch where the other source
also covers it, and falls back to the world view where it does not. Per country the IPC view takes whichever published
level classifies the most of it: Afghanistan is drawn at admin-1, where 34
areas carry an analysis, rather than admin-2, where 9 do.
Nothing is prorated onto the other source's units any more.
Until 2026-08 a unit finer than its country's published IPC level was filled
with a population-share slice of the parent analysis, flagged "downscaled".
That was a modelled number wearing the same colour as a published one, for
1,591 of 3,630 units — every DR Congo zone, every Afghan district, all of
Guatemala and Honduras. It is gone.
Admin-3 population denominators come from WorldPop 2020
(1 km UN-adjusted, summed over the same admin-3 boundaries). Forecast skill at admin-2 is computed identically,
per unit; smaller units are noisier, so treat marginal signals with extra
caution. Where district names repeat across regions, an area's tooltip carries
its admin-1 parent in parentheses.
In the world view the IPC analysis control offers two automatic choices: Now uses the most recent analysis covering the forecast issuance month (preferring a current-type analysis); Forecast window uses the most recent projection overlapping the 6-month horizon. Both state the exercise months and validity windows they resolve to as a cross-country range, and every tooltip names the analysis used for that area. Selecting a country splits the control in two: a dropdown of the country's analysis exercises (newest first) and, beside it, one button per validity window of the selected exercise — current, first and second projection, each labelled with its window (hover for the number of units it classifies). The pressed button is always the period the map is showing, so the default state names itself. One period per country, and areas outside it stay blank. This follows ipcinfo.org, which draws Current, Projected 1 and Projected 2 as three separate maps and leaves every area outside a projection white — Sudan's Jun–Sep 2026 map shows 56 localities and blanks the rest. Choosing per area instead would paint one map from up to four analysis vintages at once under a single title, which is what this tab used to do (Sudan mixed four; 14 of 39 countries mixed at least two). So the period is picked for the whole country — the most recent exercise whose window covers the issuance month — and a unit that analysis does not cover is drawn in the not assessed grey rather than given a phase. That is honest but sometimes sparse: Afghanistan's only period covering August 2026 reaches 9 of its 401 districts, so the rest are blank; Yemen's covers 118 of 333. Where no published period covers the issuance month at all, the most recent window that ended is used instead, which for Pakistan means Apr–Jul 2025. The dropdown and the chart title always name the exercise and window in force, and the per-area tooltip is authoritative. Because that default can be sparse, the exercise dropdown reaches every analysis the country publishes — Afghanistan's fuller Mar-2025 analysis (392 units) is one click from its 9-unit current one. The choice is carried in the URL, so a link preserves it. Periods are per country and cannot be held across a change of country.
Projections often cover fewer areas than the current period, and the analysed-population row is still carried at full country scope — so units outside the projection arrive with a population and every phase zero. Sudan's Jan-2026 exercise says so outright: Feb–May 2026 covers all 195 localities, while Jun–Sep 2026 and Oct–Jan 2027 cover 56, because "data was not available for a full nationwide projection analysis". Read literally those zeros classify an area as phase 1, which would have rendered the world's largest food crisis as Minimal in the default view. Such periods are skipped for the units they do not cover, so Sudan shows its Feb–May 2026 countrywide analysis instead.
Duplicated rows are removed at export. HAPI ships some units twice per period, and because the two copies round the same published figure independently (77,350 × 0.15 filed once as 11,603 and once as 11,602) a naive de-duplication keeps both and the phase sums land at an exact 2.00× the analysed population. Removing them on the unit key drops 1,023 rows at admin-1 and 837 at admin-2, and reproduces IPC's published figures: South Sudan's Apr–Jul 2026 gives 7.81 million in phase 3+ against IPC's 7.8 million, 2.54 million in phase 4+ against ~2.5, and 73,305 in phase 5 against ~73,000.
Where we still differ from IPC's headline. Sudan's Feb–May 2026 gives 17.97 million here against the 19.5 million IPC publishes, because IPC analyses 195 localities and IDP settlements while we map 184 admin-2 units — the settlements and multi-locality caseloads ("Abyei PCA", "Kutum, Tawila", "Sharg Aj Jazirah") carry no admin code we can place, and are dropped rather than misattributed. Expect country totals read off this tab to sit slightly below IPC's for the same reason. Separately, a country's newest analysis is sometimes published national only: Haiti's Mar–Jun 2026 projection update and Somalia's Apr–Jun 2026 one each carry a single subnational unit, so the map necessarily shows the previous analysis, which does have the full breakdown. The per-area tooltip always names the analysis actually used.
Sources. IPC figures here should match the country's page in the IPC country analysis portal (e.g. Sudan, Feb 2026 – Jan 2027), and the phase colours are IPC's own ramp. Plan caseloads should match OCHA's GHO country plans dashboard, whose subnational severity uses the same blue ramp reproduced here.
FEWS NET is drawn on its own geography (FNIDs): in much of East and West Africa its units are livelihood-zone × district intersections, elsewhere admin units — never COD p-coded, so this view ships its own geometry from the latest FEWS NET shapefile package, the same way the IPC view ships IPC's units. Zone names repeat across the districts they cross, so tooltips qualify them with the district. Each collection round (Food Security Outlooks ~3×/year, with Outlook Updates and monthly Key Message Updates between) carries a current situation and near-term/medium-term projections; the FEWS NET analysis control works exactly like the IPC one — one round per country, Now preferring a current estimate covering the issuance month, and once a country is selected a dropdown of its collection rounds with one button per validity window. The series shown is the published-map one ("not allowing for assistance", verified against FEWS NET's own rendered shapefiles); areas FEWS NET did not classify in a round are not assessed grey, never phase 1. Because FEWS NET units carry no zonal statistics, each unit inherits the forecast of the COD admin unit containing it (matched by district, then region name — the tooltip names the unit used); a country in scope that FEWS NET does not cover keeps its plan units and forecast, exactly as countries without IPC do in IPC mode. FEWS NET also covers countries the tab otherwise does not (Ethiopia — whose IPC series stopped in 2021 — Angola, Burundi, Nepal, Sri Lanka and Zimbabwe): they appear in this mode with their phases and, having no zonal statistics on our side yet, no forecast. Figures here should match the country's page on fews.net.
The map fills each unit with its severity class colour (1→5; the humanitarianaction.info blue ramp for the plan's own classes, IPC convention colours in IPC and FEWS NET modes) and draws the forecast category as each unit's boundary line (dashed = moderate skill, solid = high). In the world view the map answers "which country?", so hovering targets the whole country — one tooltip naming its plan years and what it carries, rather than a per-unit readout that closed and reopened on every admin boundary crossed. Click to zoom in, and a sidebar opens on the right of the map with the whole country's figures: its caseload, targeting and reach summed across its areas, and its severity mix as a share of that caseload. The country's forecast there is its own national series, not an average of its areas — the mean of a country's admin percentiles is not the percentile of the country's rainfall, and averaging skill across areas means nothing. Every total is absent-preserving: a country where no area reports a measure shows not reported, never 0. From there, hovering an area puts its full readout in the sidebar — including its own breakdown across the classes, the area's population by IPC phase or the PiN-by-severity split behind its plan class, drawn the same way as the country's mix above it so the two compare directly — and leaves only its name on the map — the readout had grown to a chart plus eight lines and was covering the very map it described. Clicking an area keeps it there and traces its boundary in black; clicking it again releases it. The outline follows the unit's real geometry rather than fading its neighbours — dimming a country to pick out one district costs you the comparison that made the map worth looking at. The × beside each name in the sidebar clears that level — the area, then the country. Neighbouring countries stay on the map while one is selected, faded rather than blanked — they keep their real severity colours, so the selected country is read in its regional context instead of against an empty surface, and clicking one switches straight to it without a round trip through the world view. To go back out, use the × beside the country's name in the sidebar — clicking open sea and picking All countries in the selector both work too. Hovering a legend entry highlights matching units and dims the rest; clicking one pins it, so several can be combined — entries within a strip are OR-ed, strips AND together (e.g. strongly below × moderate skill × class 4). Pinned entries stay outlined in the legend; Clear all filters, or Escape, drops them all. Pinning also filters the bar chart outright: non-matching areas leave it, and return when the pin is dropped. Not assessed behaves as an entry of the severity strip like any other, so "which areas did this cycle not classify?" is one hover — and it ORs with the numbered classes, so class 4 or not assessed is a single selection. On an IPC projection those areas carry no phase figures to chart, so pinning it alone empties the bar chart while the map fills in. The same class appears in map tooltips and, written into its swatch, beside each bar-chart row — where the valid season's code sits beside the forecast swatch too. Selecting a country opens the per-area bars: in PiN mode one bar per unit, carrying that unit's severity colour; in IPC mode the phase distribution from the selected Level up, stacked (phases 1–2 dwarf the rest in populous areas and drown the signal, so the bars never start below 3). In plan mode each row draws three bars on one scale — PiN, targeted and reached, in the same colours as the ring chart on the map — so the three are read against each other directly. They are three measurements of the same area, not a threshold on one another: reach regularly runs past the target, which is why none of them is a tick. A bar is absent where nothing was reported and drawn as a hairline at the origin where a real zero was published. Severity has not left the chart; it is the numbered swatch in the gutter, which states the class rather than asking anyone to read it off a five-step ramp. Figure columns follow — the caseload, the target, the prioritized target and reach where reported, then the shares. The share columns do not have a common denominator, so each names its own on a second line: caseload and target are read against the area's population, the priority against the target, and reach against the priority. Where a country prioritizes nothing in most of its areas — a published zero, which 1,973 of 3,469 monitored units carry — reach is read against the target instead, for the whole country at once and with the header saying so; a denominator that changed row by row would be two ratios wearing one heading. Reach over 100% of its caseload is printed as it stands rather than capped — partners report against their own caseloads and over-delivery is ordinary, unlike a caseload exceeding the population, which is a data problem. On a narrow window the two population-share columns drop out before the chart will overlap its own bars. Each header sorts by what it shows, so the same chart answers "where are the most people" and "where is the largest share of an area affected". The population base is the largest figure held for the area — its COD-PS total, the plan's own HNO or WorldPop baseline, the IPC analysed base, or the plan's JIAF analysed base. Largest, not "total first": where an analysis covers more people than the baseline says live there, the baseline is the stale number. Every figure's tooltip names the base used.
Shares over 100%. Where the caseload exceeds every population figure we hold, the share column reads >100% — muted, with the real ratio in the tooltip — rather than a spurious 6,126%. How often that happens depends on the cycle: 105 of 3,466 areas under 2026, 63 of 3,303 under 2025, 91 of 3,038 under 2024. Mostly this is real: a plan counts displaced people the resident baseline never had. Under 2026, 91 of the 105 are Syrian sub-districts, which have no COD-PS figure and fall back to WorldPop 2020 — a baseline predating both the displacement into north-west Idleb and Aleppo (Dana's PiN is 13× it) and the returns to a Quneitra it counted at 221 people. Syria's national PiN is still only 90% of its own summed baseline, so this is a distribution problem, not an inflated total. Under 2025 the cases are Sudan (14), Burkina Faso (13) and Myanmar (11) — Djibo's PiN is 4.9× a WorldPop 2020 that predates the influx.
Misaligned plan cycles. One cause was neither of those. Venezuela's 2025 cycle carries its rows against the wrong p-codes: 156,307 PiN on Cardenal Quintero (9,441 people) while Libertador (217,537) gets 4,387. Its own population baseline gives it away — in 2024 that baseline is the COD-PS population exactly, unit for unit; in 2025 it is the same multiset of values with 135 of 335 units holding another unit's number, and each PiN is a faithful 26% of the number next to it. National totals are untouched, which is why nothing caught it. The export now drops any cycle showing that signature — a baseline that IS the COD-PS multiset yet misassigns a material share of it — and it fires on Venezuela 2025 alone across every cycle we hold. What Venezuela's 2025 shows instead is the JIAF severity analysis for the same year, which carries those units correctly attributed: Cardenal Quintero's PiN is 3,493 against its 9,441 people, and no Venezuelan unit's PiN exceeds 37% of its population. That source publishes no targets, so Venezuela's targeting is only available under 2024.
No country matches the current filters.
* also has a qualifying signal in the opposite direction (under the current skill/severity filters).
One line per country and direction: the worst SEAS5 signal among the country-level trimester stats — the same numbers as the Map tab's country view (the percentile of the country-mean rainfall; subnational extremes that wash out of the national average do not set a row here). Rainy-season trimesters by default (untick "Include only rainy season" to scan the rest too), including seasons already in progress. The trimester column lists every season at the row's severity and skill level, chronologically; pale codes are seasons already in progress. Strongly above/below normal = return period ≥ 10 yr; above/below normal = 3–10 yr. Forecast skill High means r ≥ 0.50, Moderate 0.30–0.50. Hover a trimester code for the return period and correlation behind it; click a column header to sort. PiN and the population share are the country plan's headline figures from the HPC API — the same numbers behind humanitarianaction.info's GHO dashboard — using each country's latest released HNRP. Only current-cycle (2026) plans are shown by default; ticking "Include HNRPs back to 2024" adds countries whose latest plan is older (2025 HNRPs, Ethiopia's 2024 HRP), each flagged with a small year mark. Hover a PiN cell for the plan behind it. Unticking "HNRP countries only" adds countries with no (recent) HNRP ("–" in the PiN columns). PiN bars are scaled to the largest PiN shown; the share bars to 100%.
Each area is shaded by where the latest ECMWF SEAS5 seasonal precipitation forecast sits within its own forecast history, but only where the forecast has demonstrated skill against observations. The same method runs at two resolutions — country averages and the native SEAS5 0.4° grid (with ERA5 aggregated to that grid) — switchable with the Country/Pixel toggle. The values below are the defaults used by this map; the full interactive app lets you change every one of them.
Skill is the temporal Pearson correlation (r) between the normalised, detrended hindcast forecast and ERA5 observations across the full record (1981–present). Areas are only alerted where the forecast is skilful:
There is no single official correlation cut-off: WMO's SVSLRF guidance recommends judging significance locally rather than a fixed value. The defaults are chosen so that 0.30 ≈ the 95% statistical-significance level for a ~40-year hindcast, and 0.50 ≈ "useful" skill (r ≈ 0.5 explains ~25% of variance; IRI/Tippett et al. 2010 note RPSS ≈ 0.1 corresponds to r ≈ 0.44). ECMWF's familiar ACC ≥ 0.6 "useful" mark refers to spatial medium-range skill, a different metric.
Skill also depends on leadtime — how far ahead the forecast is issued. For a trimester, leadtime is the number of months from the issue month to the trimester's first month (a June issue → Jul–Aug–Sep is leadtime 1), and skill generally decays as leadtime grows. SEAS5 runs 6 months ahead, so leadtimes go up to 4 — beyond that a 3-month trimester would extend past the forecast horizon. Negative leadtimes (−1, −2) are in-season issues: the trimester had already started, so its elapsed months are ERA5 observations and only the remainder is forecast. Their skill is computed the same way (blended series vs. the fully-observed trimester) and is naturally much higher, since 1–2 of the 3 months are shared with the observations — read it as confidence in the season's final outcome, not forecast skill per se. The Skill map and Skill by country tabs show r for every trimester and leadtime, coloured at these same cutoffs (with negative r shown as its own category). Pixel-level layers cover the fully-forecast leadtimes only (0–4); in-season estimates are country-level.
An area–trimester is treated as in season when that trimester carries a meaningful share of the annual rainfall — by default, the trimester mean is ≥ 15% of the annual total (with no additional per-month minimum). By default the map only shows alerts for in-season trimesters; the “Show alerts outside rainy season” toggle reveals the rest.
| Setting | Default |
|---|---|
| Below / Above normal | 3-yr return period (lowest/highest tercile) |
| Strongly below / above normal | 10-yr return period (lowest/highest decile) |
| Moderate skill | r ≥ 0.30 |
| High skill | r ≥ 0.50 |
| Rainy season: trimester share | ≥ 15% of annual rainfall |
Note: historical forecasts shown in the full app are in-sample reconstructions (normalisation and ranking use the whole record), not real-time replays. Skill statistics are computed over the full hindcast and do not change with the selected year.