Modelling practices
A curated selection of resources for designing, implementing, interpreting and sharing epidemiological models more reliably.
Good modelling practice starts before the first line of code and continues beyond the final analysis. It involves framing the right question, choosing appropriate model structures and assumptions, connecting models with data, implementing them reliably, and documenting and sharing the resulting work.
This page brings together a deliberately short selection of resources curated by the ModAH Hub Working Group on Modelling Practices. Rather than attempting to be comprehensive, we prioritise resources that provide useful entry points, durable principles, or practical guidance for researchers at different stages of their modelling practice.
Start here
New to epidemiological modelling? These three short resources provide a progressive introduction to what models are, how simple epidemiological models are built and extended, and why their purpose, structure and assumptions matter.
An excellent first introduction to how a simple epidemiological model translates assumptions about infection and recovery into a mathematical representation that can be used to reason about epidemic dynamics.
A natural next step for seeing how and why a simple model is extended when additional biological mechanisms or population structure become relevant to the question being addressed.
A broader perspective on how to think critically about a model’s purpose, structure, assumptions, data and interpretation after encountering a first concrete modelling example.
Conceptual foundations and modelling choices
Understanding models and assumptions
A quick way to resolve one of the most common conceptual confusions in transmission modelling before moving to more technical treatments.
Read it after the short explainer above to understand why alternative transmission functions are not interchangeable and how their assumptions can change model behaviour.
A foundational reference to keep nearby for the mathematical and epidemiological concepts that recur across infectious disease modelling, from compartmental dynamics to stochastic, spatial and network models.
Understanding key epidemiological quantities
A classic reference for distinguishing generation time, serial interval and related epidemiological quantities that are too easily used interchangeably.
An essential practical read before estimating or interpreting Rt, particularly for understanding how observation delays, interval assumptions and methodological choices can bias estimates.
Connecting models with data and inference
Useful when planning an inference workflow because it makes the trade-offs between model, simulation method, inference method and software implementation explicit.
A useful bridge between mechanistic epidemic models and likelihood-based inference, particularly when working with stochastic and partially observed systems.
A clear entry point into Bayesian inference for stochastic epidemic models before tackling more specialised or computationally intensive approaches.
Worth reading when the simulator is stochastic and standard likelihood-based fitting becomes difficult, because it clarifies the inferential challenges created by stochastic simulation models.
Exploring sensitivity and uncertainty
An accessible introduction to sensitivity analysis, from simple local and one-at-a-time approaches to widely used global methods such as Morris, Sobol and FAST/eFAST, with practical guidance on their respective uses and limitations.
A useful next read for understanding why sensitivity analysis should explore the input space globally, and why apparently simple approaches can miss interactions, nonlinearities and important sources of uncertainty.
Matching models to questions and decisions
A concise next step for understanding why uncertainty in model parameters and predictions must be considered explicitly when models are used to compare actions or support epidemic management decisions.
Especially valuable for animal-health modellers because it shows how model structure, scale, data and complexity should be shaped by the decision the model is intended to support.
A concise demonstration that apparently minor choices about model structure can materially change predicted intervention effects and therefore management conclusions.
A useful reality check before choosing an individual-based model, showing both what individual-level detail can add and the additional complexity it brings.
Building reliable and reusable models
Organising computational projects and reproducible workflows
A short and durable guide for setting up a computational project so that scripts, data, results and experiments remain understandable months or years later.
One of the best compact guides for improving everyday computational practice through pragmatic habits for organising data, writing code, collaborating and making research reproducible.
A compact checklist for turning research code that merely runs into code that is easier to test, maintain, review, share and reuse.
A useful hands-on companion to broader reproducibility principles, with concrete practices for project structure, version control, code quality, dependencies and archiving.
Version control and collaboration
A gentle introduction for readers who first need to understand why version control matters before learning Git commands and workflows.
Reporting simulation studies
A concrete checklist for making simulation studies easier to understand, assess and reproduce, particularly for agent-based, discrete-event and system-dynamics models.
About this list
This is a curated rather than comprehensive bibliography. Resources are selected for their conceptual value, practical usefulness, and ability to provide relatively durable guidance across modelling approaches and software environments.
The list will evolve as the working group identifies new resources or areas that deserve greater coverage.
If you think we have missed an especially valuable resource, or simply want to share an interesting reference with us, please feel free to contact Gaël Beaunée (gael.beaunee@inrae.fr) & Brandon Hayes (brandon.hayes@envt.fr).
Last reviewed: September 2026.