Case study · July 28, 2026

A COVID Decision Platform Used Across 40+ Countries

Bayesian outbreak tracking for a United Nations agency

The client

A United Nations agency building a COVID-19 decision-support tool for national and regional governments. The people using the output weren’t epidemiologists. They were policy staff and regional health officials who needed one number they could act on: is the outbreak in this region getting better or worse, right now.

The challenge

Raw case counts are a bad signal on their own. They’re noisy day to day, they lag infection by a week or two, and a rising count doesn’t tell you if things are getting worse or if testing capacity just expanded. Governments needed something sturdier: an estimate of the reproduction number, R(t), the average number of people each infected person is currently passing the virus to, updated daily, per region, with a stated confidence range instead of a false-precision point estimate.

The tool had to run across 40+ countries with wildly different data quality, reporting delays, and population sizes, and hold up under the kind of scrutiny that comes with being cited by a government.

The approach

Bayesian updating on daily case counts. Each day’s new cases get treated as a draw from a Poisson process whose rate depends on R(t). Starting from a flat prior (R between 0 and 3, nothing assumed), each new day of data updates the belief about R(t) using Bayes’ rule. Yesterday’s posterior becomes today’s prior. The estimate tightens as more data comes in, and it’s explicit about how much it doesn’t know early in an outbreak or in a region with sparse reporting.

Smoothing before inference, not after. Raw daily case counts include reporting artifacts: weekend dips, data-catchup spikes, negative corrections. A 7-day Gaussian- weighted rolling average sits in front of the model so the inference runs on the underlying trend, not the reporting noise.

Highest-density credible intervals, not confidence intervals. For every region and every day, the model outputs a most-likely R(t) plus a 90% and 50% credible band: the narrowest range of R(t) values that contain the given probability mass. That’s what let a policy analyst say “R is probably between 0.9 and 1.3” instead of a single number that implied more certainty than the data supported.

A short-horizon SIR forecast layered on top. Once R(t) is estimated, a susceptible-infected-recovered compartmental model projects case trajectories forward about a week, using the region’s population and current active-infection count as initial conditions. Deliberately the simplest epidemiological model that could carry the forecast, not a more elaborate one, because the extra complexity wasn’t earning its keep at a one-week horizon with this data quality.

Per-region, not one global model. Every country and sub-region got its own R(t) estimate and its own credible interval, run independently, because outbreak dynamics, reporting cadence, and population size varied too much across 40+ countries to share one parameter set.

The outcome

The platform gave regional and national decision-makers a daily, region-by-region read on outbreak trajectory with an honest confidence range attached, deployed across 40+ countries during the pandemic response. It was built and delivered for a UN agency, coordinating input from epidemiologists, policy experts, philanthropic funders, and technology partners across that many jurisdictions at once, and the contribution was later recognized by the United Nations for its role in the COVID-19 response.