Skip to content

Measles transmission modeling for policy and research

laser-measles is a spatial epidemiological modeling toolkit that helps answer critical questions about measles transmission, vaccination strategy, and outbreak response. It enables researchers and public health teams to simulate how measles spreads across communities, evaluate the impact of immunization campaigns, and identify where susceptible populations are most at risk.

Measles remains one of the leading causes of vaccine-preventable death worldwide, disproportionately affecting children in low- and middle-income countries. Modeling tools like laser-measles support evidence-based decision-making by translating surveillance data and demographic information into actionable projections that inform vaccination planning, resource allocation, and outbreak preparedness.

laser-measles is developed and maintained by the Institute for Disease Modeling (IDM) at the Bill & Melinda Gates Foundation. It is built on the LASER framework, an open-source platform for large-scale agent-based and compartmental simulation.


What questions can laser-measles help answer?

  • Where are children most vulnerable? Identify subnational regions with low vaccination coverage and high transmission risk.
  • How effective is a planned campaign? Simulate supplementary immunization activities (SIAs) and estimate their impact on outbreak probability.
  • What happens if routine coverage drops? Project the accumulation of susceptible children over time and the resulting outbreak risk.
  • How does disease spread between communities? Model spatial transmission driven by population movement and geographic connectivity.

Getting started

Install laser-measles using pip (requires Python 3.10+):

1
pip install laser-measles

Recommended stable release: version 0.10

New users should install the latest 0.10.x release, which is the current stable version:

1
pip install "laser-measles>=0.10,<1.0"

Our recommended first example is the Quick Start Tutorial.

AI-powered on-ramp: JENNER-MEASLES

The fastest way to get started with laser-measles is through JENNER-MEASLES, a chat-based AI assistant purpose-built for this framework.

JENNER-MEASLES can help you:

  • Understand the modeling framework and architecture
  • Walk through tutorials and examples interactively
  • Debug your model configurations and code
  • Explore epidemiological scenarios and parameter choices

Note

JENNER-MEASLES is currently pinned to version 0.9.4 of laser-measles. If you are using a newer version, some details may differ.

Access requires a ChatGPT account and IDM organization access. If you have access, this is the recommended on-ramp before diving into the documentation or source code.

MCP server for Claude Code users

If you use Claude Code (or any MCP-compatible AI assistant), you can connect it directly to laser-measles and laser-core documentation and source via a local MCP server.

See the laser-mcp README for setup instructions (requires organization access).

This gives Claude Code (and similar tools) deep, up-to-date context about laser-measles and laser-core — making it an excellent alternative to JENNER-MEASLES for developers who prefer working in their local environment with their own AI tooling.

What to expect: Performance and compute

All tutorials and examples included in this repository are designed to run in under one minute on a standard laptop or desktop computer. No special compute resources, cloud instances, or GPU hardware are required to get started.

Special compute becomes relevant only when you move to:

  • Calibration workflows: Fitting model parameters to data using optimization or MCMC methods
  • Large-scale parameter sweeps: Exploring wide parameter spaces across many simulation runs

For day-to-day exploration, scenario building, and learning the framework, your local machine is all you need.

Model types

laser-measles provides three modeling approaches, all sharing the same component system and scenario format:

  • ABM (Agent-Based Model): Individual-level simulation with stochastic agents. Best for detailed heterogeneity and contact structure. Supports snapshotting for long runs.
  • Biweekly Compartmental Model: Population-level SIR dynamics with 2-week timesteps. Recommended for scenario building and policy analysis.
  • Compartmental Model: Population-level SEIR dynamics with daily timesteps. Recommended for parameter estimation and outbreak modeling. Supports snapshotting.

Not sure which model to use? See Choosing a model type or start with the model types overview.

Contributing

Contributions are welcome. Please see the contributing guide for development guidelines, including how to write tests, follow code style conventions, and submit pull requests.

Bug reports and feature requests can be filed on the GitHub issue tracker.

  • Tutorials


    An interactive tour of key features.

    Tutorials

  • Reference


    Full details on all classes and functions.

    API reference

  • What's new

    See what's in the latest releases.

    What's new