R₀ of an SIS model with vaccination and two groups: formula and derivation

In an SIS model of a sexually transmitted infection with women (f), men (m) and an imperfect vaccine (Saldaña et al., 2023), the reproduction number is R₀ = √(βfm βmf Af Am / ((αf + df)(αm + dm))), where Ak is the fraction of group k that vaccination leaves effectively susceptible. It is the geometric mean of the numbers of cases each group causes in the other, reduced by vaccination in both groups.

R0=βfmβmf(df+θf+uf(1−ϵf))(dm+θm+um(1−ϵm))(αf+df)(αm+dm)(df+θf+uf)(dm+θm+um)

LaTeX: R_0 = \sqrt{\frac{\beta_{fm} \beta_{mf} \left(d_{f} + \theta_{f} + u_{f} \left(1 - \epsilon_{f}\right)\right) \left(d_{m} + \theta_{m} + u_{m} \left(1 - \epsilon_{m}\right)\right)}{\left(\alpha_{f} + d_{f}\right) \left(\alpha_{m} + d_{m}\right) \left(d_{f} + \theta_{f} + u_{f}\right) \left(d_{m} + \theta_{m} + u_{m}\right)}}

Written with Ak = (dk + θk + (1 − εk) uk) / (dk + θk + uk), the same formula reads:

R0=βfmβmfAfAm(αf+df)(αm+dm)

Saldaña et al. call the value with vaccination the control reproduction number Rc(uf, um) and keep R₀ for the case without vaccination (uf = um = 0); the expression is the same.

What the SIS model with vaccination describes

The model follows a sexually transmitted infection in a population of women and men that only infect each other. Each group k (f or m) has three compartments: Sk susceptible, Vk vaccinated and Ik infected and infectious. It is an SIS model: recovery gives no immunity, so recovered people return to Sk. The vaccine lowers the risk of infection by a factor 1 − εk and its protection wanes. People enter and leave the sexually active population at the same rate, so each group keeps a constant size Nk. Its parameters are:

SymbolMeaningTypical unit
βfmTransmission rate from women to men: rate at which a susceptible man is infected, per unit of prevalence If/Nf among women1/year
βmfTransmission rate from men to women1/year
αkRecovery rate of group k; 1/αk is the mean duration of infection1/year
dkRate of leaving the sexually active population; 1/dk is the mean sexually active lifespan1/year
bkRate of entry into the sexually active population, as unvaccinated susceptibles (bk = dk)1/year
ukVaccination rate of susceptibles in group k1/year
θkWaning rate of vaccine protection; 1/θk is its mean duration1/year
εkVaccine efficacy, between 0 (no protection) and 1 (full protection)none
NkSize of group kpeople

From the SIS equations to the infection diagram

The infection diagram is read off the equations of the infected compartments, If and Im. With forces of infection

λfm=βfmIfNf,λmf=βmfImNm

the model is:

dSfdt=bfNf−(λmf+uf+df)Sf+αfIf+θfVfdVfdt=ufSf−(1−ϵf)λmfVf−(df+θf)VfdIfdt=λmf(Sf+(1−ϵf)Vf)−(αf+df)IfdSmdt=bmNm−(λfm+um+dm)Sm+αmIm+θmVmdVmdt=umSm−(1−ϵm)λfmVm−(dm+θm)VmdImdt=λfm(Sm+(1−ϵm)Vm)−(αm+dm)Im

At the disease-free equilibrium (DFE) If = Im = 0. With bk = dk, the S and V equations of each group give

Sk∗=Nk(dk+θk)dk+θk+uk,Vk∗=Nkukdk+θk+uk

Susceptible and vaccinated people are both infected, by the same partners, so what matters for transmission is their combination

Ak=Sk∗+(1−ϵk)Vk∗Nk=dk+θk+(1−ϵk)ukdk+θk+uk

Ak is the fraction of group k that vaccination leaves effectively susceptible: it is 1 without vaccination (uk = 0) and falls to (dk + θk) / (dk + θk + uk) with a perfect vaccine (εk = 1). Each term of the If and Im equations becomes one arrow:

TermWhere it appearsKindArrow in the diagram
λfm Sm+ in dIm/dtNew infection of susceptible menDashed, If → Im, label βfm Sm*/Nf
(1 − εm) λfm Vm+ in dIm/dtNew infection of vaccinated menDashed, If → Im, label (1 − εm) βfm Vm*/Nf
λmf Sf+ in dIf/dtNew infection of susceptible womenDashed, Im → If, label βmf Sf*/Nm
(1 − εf) λmf Vf+ in dIf/dtNew infection of vaccinated womenDashed, Im → If, label (1 − εf) βmf Vf*/Nm
αf If− in dIf/dtOutflow (recovery, returns to Sf)Solid, out of If, label αf
df If− in dIf/dtOutflow (leaves the population)Solid, out of If, label df
αm Im− in dIm/dtOutflow (recovery, returns to Sm)Solid, out of Im, label αm
dm Im− in dIm/dtOutflow (leaves the population)Solid, out of Im, label dm

There are no transfer arrows: nobody moves from If to Im, so the two groups are linked only through infection. The S and V equations, with vaccination, waning and the return of recovered people, are used only to find Sk* and Vk*; their infection terms are the other side of the new-infection terms, so they are not drawn twice. See how to build an infection diagram for the general rules.

The infection diagram of the SIS model with vaccination

Both infected compartments, If and Im, are infectious nodes. Each direction has two dashed new-infection arrows, one for susceptible and one for vaccinated people, and each node has an outflow αk + dk. Vaccination adds an entry route and lowers its rate, but it does not add any infected compartment or change the cycle If → Im → If. The diagram separates changes in the intensity of transmission from changes in its structure.

Infection diagram of the two-group SIS model with vaccination: two dashed new-infection arrows from I_f to I_m, labelled β_fm S_m*/N_f and (1 − ε_m) β_fm V_m*/N_f, two dashed new-infection arrows from I_m to I_f, labelled β_mf S_f*/N_m and (1 − ε_f) β_mf V_f*/N_m, and outflow arrows α_f + d_f from I_f and α_m + d_m from I_m. No transfer arrows. βfm Sm*/Nf (1 − εm) βfm Vm*/Nf βmf Sf*/Nm (1 − εf) βmf Vf*/Nm αf + df αm + dm If Im
Infection diagram of the two-group SIS model with vaccination. Red: infectious nodes; dashed: new-infection arrows; solid: outflow arrows. There are no transfer arrows.

How R₀ is derived

The diagram has a single infection cycle, If → Im → If. R0Calc follows it and multiplies, for each node, the rate coming in by the rate going out. Im receives the sum of its two arrows, βfm (Sm* + (1 − εm) Vm*)/Nf, and loses αm + dm; If receives βmf (Sf* + (1 − εf) Vf*)/Nm and loses αf + df. The product counts the cases a case produces in its own group after a round trip: it infects people in the other group, who in turn infect people in the first. That is two generations, because the cycle passes through two infectious nodes, so R0Calc takes the square root to get cases per generation. Substituting the DFE values gives the formula above.

The next-generation matrix method (Diekmann, Heesterbeek and Metz, 1990; van den Driessche and Watmough, 2002) gives the same result. With infected compartments (If, Im):

F=(0βmf(Sf∗+(1−ϵf)Vf∗)Nmβfm(Sm∗+(1−ϵm)Vm∗)Nf0), V=(αf+df00αm+dm)

FV⁻¹ has a zero diagonal, so its eigenvalues are ±√(K12 K21), where K12 and K21 are its off-diagonal entries, and the spectral radius is R₀. This is the expression Saldaña et al. obtain, and R0Calc's result equals it exactly (checked symbolically with SymPy).

Worked example

Take βfm = 1.5 and βmf = 1.0 per year, a one-year mean infection (αf = αm = 1 per year), a 40-year sexually active life (df = dm = 0.025 per year), and a vaccine with efficacy εf = εm = 0.8 whose protection lasts 10 years on average (θf = θm = 0.1 per year). Without vaccination, R₀ = √(1.5 × 1.0) / 1.025 ≈ 1.19: the infection can spread. Vaccinating women at uf = 0.2 and men at um = 0.05 per year gives Af = 0.165/0.325 ≈ 0.508 and Am = 0.135/0.175 ≈ 0.771, so R₀ ≈ 1.19 × √(0.508 × 0.771) ≈ 0.75, below the threshold. Vaccinating only women at the same rate (um = 0) gives R₀ ≈ 0.85. These are illustrative values, not estimates for a specific infection.

Why vaccinating one group protects both: Af and Am multiply under the same square root, so lowering either one lowers R₀. Each group can only be infected by the other, and every chain of transmission passes through both.

Special case: no vaccination

With uf = um = 0, Af = Am = 1 and the formula becomes R₀ = √(βfm βmf / ((αf + df)(αm + dm))):

R0=βfmβmf(αf+df)(αm+dm)

LaTeX: R_0 = \sqrt{\frac{\beta_{fm} \beta_{mf}}{\left(\alpha_{f} + d_{f}\right) \left(\alpha_{m} + d_{m}\right)}}

One infectious woman infects βfm (Nm/Nf) / (αf + df) men, and one infectious man infects βmf (Nf/Nm) / (αm + dm) women. R₀ is the geometric mean of these two numbers; the group sizes cancel in the product.

Compute it in R0Calc

  1. Open the calculator, paste the YAML below into the YAML panel and choose Apply the YAML to the diagram (the ← button between the YAML and the diagram).
  2. R₀ appears under the diagram as the formula at the top of this page. Copy it as LaTeX, or open the cycle breakdown to see the cycle If → Im → If.
  3. Set uf or um to 0 in the labels to see the effect of vaccinating only one group, or add a second infected stage to one of the groups.

Labels in R0Calc cannot contain an asterisk, so the YAML writes the DFE values in terms of the parameters: Sm* + (1 − εm) Vm* = Nm Am, and the same for women. Each direction is one entry whose label is the sum of the two routes, which keeps the result short; two entries, one per route, give the same R₀ written as a sum of the two terms.

non_infectious_infested: []
infectious_infested:
  - I_f
  - I_m
new_infections_arrows:
  - from: I_f
    to: I_m
    param: \frac{\beta_{fm} N_m (d_m + \theta_m + (1-\epsilon_m) u_m)}{N_f (d_m + \theta_m + u_m)}
  - from: I_m
    to: I_f
    param: \frac{\beta_{mf} N_f (d_f + \theta_f + (1-\epsilon_f) u_f)}{N_m (d_f + \theta_f + u_f)}
transfer_arrows: []
outs_arrows:
  - from: I_f
    param: \alpha_f + d_f
  - from: I_m
    param: \alpha_m + d_m

Frequently asked questions

What is R₀ for an SIS model with vaccination?

R₀ = √(βfm βmf Af Am / ((αf + df)(αm + dm))), with Ak = (dk + θk + (1 − εk) uk) / (dk + θk + uk). Without vaccination Ak = 1. Saldaña et al. (2023) call the value with vaccination the control reproduction number Rc.

Why is there a square root in R₀ for two-sex transmission?

Because the only infection cycle passes through two infectious compartments: a case in one group causes cases in the other, which in turn cause cases in the first. The product under the root counts cases after those two generations, and R₀ counts cases per generation, so it is the square root, the geometric mean of what each group causes in the other.

Does an imperfect vaccine change the infection diagram?

It adds a second new-infection arrow into each group, for vaccinated people who are still infected at a reduced rate, and it lowers the rates through the DFE values S* and V*. It adds no infected compartment and does not change the cycle If → Im → If.

References