Biology IA · C · Interaction and interdependence · topic 18 of 25

Herd immunity in a simulation · IB Biology IA idea: guide, sample graph and step-by-step plan

no lab, but your assumptions are everything

You can't run an outbreak in a classroom, but you can model one. How many people must be vaccinated before the disease runs out of fuel?

Difficulty●○○ Gentle
KitComputer: spreadsheet or a free outbreak simulator
TimeAbout 10 hours
FitsSL and HL
  • ✓ you like spreadsheets and models
  • ✓ you want an investigation with no lab
  • ✓ you like asking 'what if'

The big idea

← this is your RQ hook!

In an SIR model, each person is susceptible, infected or recovered. If enough people are already immune, each infected person passes the disease on to fewer than one other, and the outbreak dies out. A simple formula, 1 − 1/R₀, gives the target coverage. Your job: build or use a model, vary vaccination coverage, find where your model's threshold sits, and compare with the formula. Then test what happens when you change R₀ and the model's assumptions. A model is only as good as its stated assumptions.

Make it yours: pick one twist

Copying a classic won't show your choices. Pick one of these (or invent your own) and your IA becomes yours.

Swipe for more twists →

Imperfect vaccine

Let the vaccine protect only a fraction (say 90%) of those vaccinated.

→ Effective coverage is lower, so the threshold moves; the analysis compares a perfect with an imperfect vaccine.
Clustered vaccination

Make unvaccinated people clump together in a network model.

→ Tests the 'equal mixing' assumption. Needs a model that can handle groups or networks.
Different diseases

Use published R₀ values for several diseases and compare their thresholds.

→ Each disease is a separate model run; you can compare the real-world coverage targets and the model's.
Add births

Let new susceptible people arrive over time.

→ A more realistic, longer-term model. The outcome changes from one outbreak to a long-run level.
Time-step and size tests

Run the same model with different time steps or population sizes.

→ A sensitivity analysis; it tells you how much the model's own settings change your answer.
Change the context

Link to a school, a city or measles and polio campaigns.

→ Gives your R₀ and population a reason; the model stays the same.

Your Biology IA research question: run the check

write it FIRST, then check it

Write your own question first. Then make sure it ticks every box:

  • Names the independent variable (vaccination coverage, over what range and in what steps).
  • Names the dependent variable (percentage of the population infected, or the coverage at which the outbreak stops) and how it is read from the model.
  • States the model, its fixed parameters (R₀, recovery time, population size, starting infected) and its assumptions.
  • Says what you will compare the result with (the formula 1 − 1/R₀) and how you will judge 'close enough'.
  • Is narrow enough for about 10 hours, with a way to test how sensitive the answer is to your choices.

Get your RQ checked · S$29

The model

A simulation has no apparatus. Draw the compartments and what moves between them, then the table you will fill. Redraw it with your own parameters and rules.

SsusceptibleIinfectedRrecoveredVvaccinatedstepSIRtransmission rate βrecovery rate γvaccinated at the startone row per time step:say why you chose itassumptions: no births ordeaths, equal mixing

How your Biology IA could be laid out

The usual order for a topic like this, what each part needs to show, and roughly how much of your 3,000 words it takes. The words are all yours.

Research question and context~250
Your question, why herd immunity matters for vaccination programmes, and what you expect.
Background biology~450
How infectious disease spreads, what R₀ means, how vaccination changes the effective R, and where 1 − 1/R₀ comes from (cite your source).
Variablestable
What counts as independent and dependent here, and what you hold fixed (R₀, recovery time, population, time step).
Method~450
The model or simulator, how it works in your own words, every equation or rule, the parameter values and why, how you ran each case, and how many repeats.
Safety, ethics, environment~40
Short and honest: computer work, so state that no people or animals are involved, and that real data (if any) are public and anonymous.
Raw datatable
A table of model outputs for each coverage (and each repeat if random), with parameters stated.
Processing~250
How you read the final size or threshold from the output, how you averaged repeats, and one worked example of each calculation.
Graphs and analysis~400
Final size against coverage, the threshold, the comparison with 1 − 1/R₀, and what the sensitivity tests show.
Conclusion~400
Answer the question with numbers, compare with the formula and published work, and say what the model cannot tell you about a real outbreak.
Evaluation~600, the biggest part!
Assumptions ranked by how much they change the answer, limits of the model, and improvements linked to each.
Referencesnot counted
Every source for the model and for R₀ values.

What your Biology IA graph could look like

test other R₀ values too ✓

Made-up numbers shaped like a deterministic SIR result, to show you the form of a strong graph. Your model, time step and R₀ will give your own curve. example only

0102030405060708090100020406080100120Vaccination coverage / % of population (steps of 5%)Population infected by the end / % (model output)model output (R₀ = 4)straight line to the thresholdyour simulation runs, one per coveragewhere the outbreakstops growing: comparewith 1 − 1/R₀ILLUSTRATIVE · MADE-UP DATA
  • A simulation gives one answer per run, not a measurement. There are no error bars here, but you must still show sensitivity: change R₀, the time step and the starting number of infected, and report the effect.
  • If your model is random (each person is simulated), repeat each run several times and show the spread. If it is a set of equations, say it is deterministic.
  • The straight line is drawn so the reader can see the curve is not linear: the first vaccinated people matter, and the last few before the threshold matter differently.
  • Mark the threshold from your model and compare it with the simple formula 1 − 1/R₀, and state how close, with the step size as the resolution.
  • Another graph to consider: infected against time for several coverages on one set of axes. It shows how vaccination changes the height and timing of the peak, not just the final size.

How does R₀ change the target?

does your model show this pattern?

A comparison of models, not of uncertainties. The simple formula gives a different target for each R₀. Test several R₀ values in your own model and see whether it reproduces this pattern.

R₀ = 683.3%R₀ = 475%R₀ = 366.7%R₀ = 250%R₀ = 1.533.3%a larger R₀ needs more coverage1 − 1/R₀ as a % of the population vaccinatedILLUSTRATIVE · MADE-UP NUMBERS

Your game plan

don't skip the trial run! it saves you weeks

Tick steps off as you go. We'll remember on this device.

0 of 10 done

  1. Read and predictLearn what an SIR model is and where 1 − 1/R₀ comes from. Write down what you expect the threshold to be before you build anything.
  2. Choose your toolDecide whether you will build the model in a spreadsheet or use a free simulator. Check you can see and change every parameter, and that you can explain what each does.
  3. Trial run (1 lesson)Run the model with no vaccination and check it behaves sensibly: the infected rise, peak and fall, and the totals add up. Fix the model before you collect anything.
  4. Decide range, step and repeatsChoose the coverage range and step, and how you will decide when an outbreak has 'stopped'. If the model is random, decide how many repeats you need.
  5. Fix parametersWrite down R₀, recovery time, population and starting infected, with a reason for each, from published values where you can.
  6. Run and recordRun every coverage and record the outputs straight into your table. Keep a copy of the model with each run.
  7. ProcessRead the final size, find the threshold, and say how precisely you can locate it given your step size.
  8. Graph and comparePlot final size against coverage. Compare your threshold with 1 − 1/R₀. Test other R₀ values to see if the pattern holds.
  9. EvaluateWhich assumption mattered most? Change it in the model and report how much the answer moves. Make every improvement specific.
  10. Write, then checkWrite in the order of the layout. Run the checklist below before your teacher's draft.

Biology you'll need

Traps to avoid in this Biology IA

  • Reading the model as a forecast of a real outbreak. It only answers 'what if these assumptions hold?'
  • Using one R₀ only, so you cannot tell whether the pattern is general.
  • Assumptions left unstated (no births, no deaths, everyone mixes equally, vaccine perfect).
  • A time step so large that the model is inaccurate, or runs ended before the outbreak did.
  • Looking for 'the' threshold without saying how you judged that the outbreak had stopped.
  • Calling the model 'accurate' with nothing to compare it with. Compare with the formula and published data.
  • Treating a model with no randomness as if it had measurement uncertainty. Show sensitivity instead.

More Biology IA ideas like this

Make sure it's yours

This guide shows how a topic like this is usually approached. It is not an IA. Your question, choices, data, analysis and words must be your own: change something, tell your teacher where the idea came from, and follow your school's rules on outside help.

Get your RQ checked · S$29