This vignette presents a technical description of the daedalus model in its current state. It should be noted daedalus is in constant development; we will attempt to keep this document as updated as possible during the lifespan of the model. If you encounter any issues, contact the package developers or raise a GitHub issue.
Rationale
The daedalus package is the implementation of a deterministic epidemiological and economic model of the emergence and spread of respiratory pathogen pandemics in countries. Specifically, daedalus tracks
Health impact in terms of infections, hospitalisations, deaths and years of life lost (YLL), and
-
Economic impact in terms of GDP losses from:
- Economic sector closures and workforce depletion due to infection, hospitalisation or death
- Present and life-time economic losses from missed education
- Human life losses using the value of statistical life approach
Presently, we have equipped daedalus with parameters to simulate seven potential pathogens (influenza A 2009, influenza A 1957, influenza A 1918, SARS-CoV-1, SARS-CoV-2 pre-Alpha variant, SARS-CoV-2 Delta and SARS-CoV-2 Omicron BA.1, see @ref(tab:pathogendata)) across 67 countries. In addition, daedalus allows the user the flexibility to incorporate additional respiratory pathogen and/or country parameters and data, as considered appropriate for their use case.
The following sections present a technical description of the epidemiological and economic components of daedalus. For examples of its implementation in research case studies, see
The original description of daedalus and application to the UK during the COVID-19 pandemic in Haw et al. (2022)
Study of the societal value of SARS-CoV-2 booster vaccination in Indonesia in Johnson et al. (2023)
Study of promoting healthy populations as a pandemic preparedness strategy in Mexico in Johnson et al. (2024)
Epidemiological model
Model structure
daedalus simulates a country’s population split into seven possible disease state compartments. Model compartments are stratified by age-sector sector and vaccination classes.
A susceptible individual can become exposed to the virus and enter a latent state , from which they can develop either a symptomatic or asymptomatic infection. Whereas asymptomatic infected individuals are assumed to always recover, symptomatic ones can either recover or develop a more severe condition requiring hospitalisation , from which they can either recover or die .
Ordinary differential equations
Should be noted that whilst some model parameters vary over time (e.g., effective vaccination rate scaled for available susceptible population) others are assumed fixed (e.g., constant rate of progression), which is indicated by .
Note that, as default, daedalus ships a
collection of pre-defined parameter sets that represent historical
respiratory pandemic pathogens (see @ref(tab:pathogendata)), as
contained in daedalus.data. These can be saved as an object of
class daedalus_infection
and modified by the user to be
then passed to the model function daedalus::daedalus()
.
Age-sector classes
There are 49 age-sector classes in daedalus: four age groups and, given population in (20-65) represents unemployed adults ofr working age, 45 economic groups (see in Economic model below).
Vaccination classes
As a default, daedalus further disaggregates the population into the vaccination classes of unvaccinated and vaccinated. We assume only the population in the susceptible and recovered compartments can be vaccinated, given transition rate , which is determined by the user (see Table @ref(tab:vaccine)). Vaccinated individuals can lose their immunity and transition back to an unvaccinated class, given rate .
Model transition parameters
daedalus can simulate nine different pathogens (influenza A 2009, influenza A 1957, influenza A 1918, SARS-CoV-1, SARS-CoV-2 pre-Alpha variant, SARS-CoV-2 Delta and SARS-CoV-2 Omicron BA.1) with pathogen-specific transition (see Table @ref(tab:pathogendata)).
Parameter | Definition |
---|---|
Force of infection by age-sector and vaccination class | |
Rate of progression from exposed to infectious | |
Proportion of exposed individuals becoming symptomatic | |
Probability of hospitalisation by age, conditional on symptomatic infection | |
Recovery rate for asymptomatic infections | |
Recovery rate for symptomatic infections | |
Recovery rate for hospitalised individuals by age | |
Rate of waning immunity (recovered to susceptible) | |
Death rate among hospitalised individuals by age | |
Vaccination rate | |
Vaccine protection waning rate |
Seed and force of infection
For any given pathogen, we assume a seed of infections, all of which are further assumed to be symptomatic.
The force of infection accounts for the infection contributions of symptomatically and asymptomatically infected individuals in the community and in workplaces.
We let and denote the number of infected individuals in the community and the workplace, respectively, weighted by their infectivity given where is the relative infectiousness of an asymptomatically infected individual relative to a symptomatic one, and the reduced susceptibility of a vaccinated individual relative to an unvaccinated one of the same age.
The force of infection from the community on a susceptible individual is thus modelled as where represents a time-varying contact rate scaling factor, determined by social distancing interventions simulated, and is the (symmetric) person-to-person contact rate between age group and .
The force of infection within the workplace is modelled as where is a contact matrix specific to the workplace, and is a scaling factor determined by economic closure interventions simulated.
Lastly, the force of infection from infected individuals in the community to susceptible workers (i.e., infected individuals from the community attending shops) is given by where is a contact matrix specific to consumers attending workplaces.
The total force of infection acting on susceptible individuals is then assumed to be an addition of the above. For conciseness, this can be taken as however, it should be noted that the force of infection within the workplace is a column vector of length 45, given the number of economic sector classes in the model, whilst and are of length 49, encompassing all age-sector classes.
Disease transition rates
Parameter | Symbol | Influenza 2009 | Influenza 1957 | Influenza 1918 | Covid Omicron | Covid Delta | Covid Wild-type |
---|---|---|---|---|---|---|---|
Basic reproduction number | 1.58 | 1.80 | 2.50 | 5.94 | 5.08 | 2.87 | |
Probability symptomatic | 0.669 | 0.669 | 0.669 | 0.592 | 0.595 | 0.595 | |
Relative infectiousness (asymptomatic:symptomatic) | 0.58 | 0.58 | 0.58 | 0.58 | 0.58 | 0.58 | |
Latent period (days) | 1.1 | 1.1 | 1.1 | 4 | 4 | 4.6 | |
Infectious period asymptomatic (days) | 2.5 | 2.5 | 2.5 | 2.1 | 2.1 | 2.1 | |
Infectious period symptomatic (days) | 2.5 | 2.5 | 2.5 | 4 | 4 | 4 | |
Infection-induced immune period (days) | 365 | 365 | 365 | 365 | 365 | 365 | |
Age specific parameters* | |||||||
Hospitalisation rate given symptomatic infection (days) | |||||||
0-4 years | 358.7 | 1851.9 | 13.7 | 73006.1 | 80405.4 | 148750.0 | |
5-19 years | 359.5 | 158.7 | 15.6 | 133.7 | 25.4 | 47 | |
20-64 years | 912.4 | 1851.9 | 50.4 | 5900.4 | 4638.8 | 8581.7 | |
65+ years | 161.7 | 9.3 | 6.6 | 35.8 | 8.1 | 15 | |
Recovery rate hospitalised (days) | |||||||
0-4 years | 5.2 | 5.4 | 5.7 | NA | NA | NA | |
5-19 years | 5.3 | 5.4 | 5.7 | 5.9 | 8.3 | 13.1 | |
20-64 years | 5.2 | 5.4 | 5.7 | 6.8 | 9.4 | 14.8 | |
65+ years | 13.7 | 5.4 | 5.7 | 8.1 | 10.7 | 16.9 | |
Death given hospitalised (days) | |||||||
0-4 years | 126.3 | 67.5 | 40 | 5.5 | 7.6 | 12 | |
5-19 years | 79.8 | 67.5 | 40 | 82.1 | 94.3 | 148.9 | |
20-64 years | 120.9 | 67.5 | 40 | 28.4 | 40.5 | 64 | |
65+ years | 7.9 | 67.5 | 40 | 17.3 | 26.3 | 41.6 |
Vaccination
Vaccination is implemented as a series of default pre-determined vaccine investment scenarios, which can be modified as necessary by the user.
Advance vaccine investment | Start time (days) | Rate (% per day) | Uptake limit (%) | Efficacy* (%) | Waning period (mean, days) |
---|---|---|---|---|---|
None | 365 | 0.14 | 40 | 50 | 270 |
Low | 300 | 0.29 | 50 | 50 | 270 |
Medium | 200 | 0.43 | 60 | 50 | 270 |
High | 100 | 0.5 | 80 | 50 | 270 |
Economic model
daedalus assigns monetary values to the years of life lost (YLL) , economic activity losses and years of education lost . The following sections describe the methodology for calculating each of these losses. The total socioeconomic loss (TSL) of a respiratory pandemic is therefore given by
TSL = K_1 + K_2 + K_3.
Years of life lost
We estimate the number of years of life lost by age and country using life tables from the Global Burden of Disease Collaborative Network (2020). Formally, we used the life expectancy by age and country to estimate life years lost for deceased individuals given
We then use the VSL approach to estimate the monetary value of lives lost. The VSL reflects individuals’ willingness to trade wealth for a reduction in mortality risk (Cutler and Summers (2020)). Following standardised methods (Hammitt (2020);Ananthapavan et al. (2021);Robinson, Sullivan, and Shogren (2021)), we assume the VSL of the USA and adjust for differences in income elasticity by country, which are further assumed to be higher in lower-income settings because the opportunity cost of spending on basic necessities becomes large if incomes are at or below subsistence (Hammitt (2020)).
Formally, for country we estimate its VSL by age as a function of GDP given
where is the country’s conversion rate of its market exchange rate GDP to a purchasing power parity GDP, and its income elasticity, which we estimated from OECD data as in Robinson, Sullivan, and Shogren (2021).
The monetary value of years of life lost is then
Economic activity losses
We calculate the cost of economic closures by each of 45 sectors in terms of lost gross value added (GVA). daedalus runs in continuous time, with outputs calculated at daily time steps.
The daily GDP generated by a country in the absence of closures is composed of the maximum daily GVA for each sector . There is a 1:1 mapping of the 45 economic sectors and the age-sector population strata . For conciseness, in this section we index economic sectors and age-sector classes only as .
Formally, the maximum possible GDP generated by all economic sectors in the absence of mandated closures (i.e., as a result of NPIs) at time is defined by
where all economic sectors contribute their daily GVA .
If an economic sector is, however, affected by closures on a given day, we estimate its GVA losses as
where is the respective sector’s daily GVA in the absence of closure and its relative openness (i.e., from 0 to 1, where 0 is completely open and 1 completely closed). We thus assume sectors contribute $0 USD in GVA on day if completely closed.
In addition to GVA losses from closures, economic sectors can lose productivity whilst being open given depletion of their workforce (i.e., due to self-isolation, sickness, hospitalisation or death). is the proportion of the workforce contributing to economic production in sector out of the total workforce on day . As the workforce of a sector is depleted, we assume a smaller fraction will be available to contribute to production given
The total GDP generated at time is then
and the GDP loss compared to the maximum is
Years of education lost
We monetise the value of a school day as a country-specific parameter, as previously done in Psacharopoulos et al. (2021), given by
where is the mean annual earnings (estimated using GDP multiplied by labour share of income, as in Feenstra, Inklaar, and Timmer (2015)), the rate of return for one year of education, assumed fixed at 0.08, and is the yearly present value of lost earnings given by
TODO: Rob, I cannot find any reference in the daedalus code or data of how this was calculated. Is it that the country data files were prepared and saved following the equation for in your technical appendix? If you could please corroborate and re-write the correct form of that equation here it will be ace. Thanks!
Thus, in addition to GVA losses from closures, as done for all economic sectors (see section above), we estimate total education sector losses as
where is the number of pupils available at time (i.e., population of school-age not infected, hospitalised or deceased), a fixed parameter of the effectiveness of remote education.