Worked example · Science · GCSE Integrated Science · Year 10

Modelling the spread of flu

DCF: Data and computational thinking → Problem-solving and modelling

What this is

A complete, secure Year 10 response, annotated so you can see which success criterion each part meets. It is also the answer key. Key answers: Model 1 passes 1,000 pupils in generation 4 (total 1,210). Scenario A infects all 1,000 pupils, peaking at 431 new cases in generation 4. Scenario C starts with 240 susceptible pupils and stops at 24 infected in total. The two spreadsheet errors are the missing $ signs in B3 and the plus sign in C3. Show this after pupils have tried the task themselves.

Step 1: the model pack

(a) Flu is caused by a virus. It spreads by aerosol (droplets from coughs, sneezes and talking) and by contact with hands and surfaces.

(b) Inputs: school size (1,000), R (3), starting cases (10), number of pupils vaccinated. Outputs: new cases in each generation, susceptible pupils left, total ever infected.

Separates what you choose (inputs) from what the model works out (outputs). Evidences criterion 1.

Step 2: testing Model 1

GenerationNew casesTotal ever infected
01010
13040
290130
3270400
48101,210
52,4303,640

(a) In generation 4 the total reaches 1,210. The school only has 1,000 pupils, so 210 of those cases are people who do not exist. By generation 5 the model says 3,640 pupils have had flu.

(b) Model 1 keeps multiplying by 3 for ever. It forgets that pupils who have had flu become immune, so the number of susceptible pupils goes down each generation. Each case can only infect people who can still catch it. Model 2 fixes this by multiplying by susceptible ÷ 1,000.

Tests the model against a fact everyone knows (the school size), finds the exact point where it fails, and names the missing rule. Evidences criterion 3.

Step 3: Model 2, run twice

Scenario A: no pupils vaccinated.

Gen.WorkingNew casesSusceptible leftTotal
0Start: 1,000 − 0 − 10 = 9901099010
110 × 3 × 990 ÷ 1,000 = 29.72996139
229 × 3 × 961 ÷ 1,000 = 83.60783878122
383 × 3 × 878 ÷ 1,000 = 218.622218660340
4218 × 3 × 660 ÷ 1,000 = 431.64431229771
5431 × 3 × 229 ÷ 1,000 = 296.097. That is more than the 229 left, so use 229 (Rule 4)22901,000
6229 × 3 × 0 ÷ 1,000 = 0001,000

Generation 6 gives 0 new cases, so the outbreak is over. The model says every one of the 1,000 pupils catches flu within 5 generations, about 15 days.

Scenario C: 750 pupils vaccinated. Susceptible at the start = 1,000 − 750 − 10 = 240.

Gen.WorkingNew casesSusceptible leftTotal
0Start: 1,000 − 750 − 10 = 2401024010
110 × 3 × 240 ÷ 1,000 = 7.2723317
27 × 3 × 233 ÷ 1,000 = 4.893422921
34 × 3 × 229 ÷ 1,000 = 2.748222723
42 × 3 × 227 ÷ 1,000 = 1.362122624
51 × 3 × 226 ÷ 1,000 = 0.678022624

Generation 5 gives 0 new cases. The outbreak is over with 24 pupils infected, and 226 unvaccinated pupils never catch it.

Every row shows the same rules applied again (iteration), rounds down every time, and uses Rule 4 in generation 5 of Scenario A. Only one input changes between the two runs. Evidences criteria 2 and 4.

Step 4: the graph

New flu cases in each generation at Ysgol Bryn Celyn 0 1 2 3 4 5 6 7 8 9 10 0 50 100 150 200 250 300 350 400 450 Generation (one generation is about 3 days) New cases in that generation New flu cases in each generation at Ysgol Bryn Celyn peak: 431 in generation 4 Scenario A: no vaccination Scenario C: 75% vaccinated Scenario B: 50% vaccinated (from the pack)

With no vaccination, new cases rise steeply from 10 to a peak of 431 in generation 4, then crash to 0 by generation 6 because nobody is left to infect. With 75% vaccinated, new cases fall from the very first generation (10, 7, 4, 2, 1, 0) and the outbreak never takes off.

Both scenarios on one grid with a key, points joined with a ruler, and the description quotes a number from each line. Evidences criterion 4.

Step 5: fixing the spreadsheet

 What is wrongCorrect formula for row 3
1B3 uses relative references G1 and G2. Row 3 works (29 is right), but when it is filled down, row 4 becomes B3*G2*C3/G3. G2 is 1,000, not R, and G3 is empty, so the spreadsheet divides by 0 and shows #DIV/0!. Every cell that uses B4 then shows the error too.=ROUNDDOWN(MIN(B2*$G$1*C2/$G$2, C2), 0)
2C3 adds the new cases to the susceptible pupils instead of taking them away. You can tell because C3 shows 1,019 susceptible pupils in a school of 1,000.=C2-B3

Each error is found from the evidence in the values, explained, and corrected. The $ signs make G1 and G2 absolute references, so the inputs stay fixed however far the formula is filled down. Evidences criterion 3.

Step 6: is the model any good?

(a) The model peaks at 431 new cases in generation 4 and infects all 1,000 pupils. Glan Morfa peaked at 187 new cases, also in generation 4, and 686 pupils were infected. The model got the timing and the shape right: a fast rise, a peak in generation 4, then a fall. It got the size wrong: its peak is 2.3 times too high (431 ÷ 187 = 2.3) and its total is 314 pupils too high.

(b) First, the model assumes every pupil mixes equally with every other pupil. In real life pupils mostly mix with their own class, year group and friends, so flu cannot reach everyone so quickly. That makes the model’s numbers too high. Second, the model keeps R at 3 for the whole outbreak. At Glan Morfa, ill pupils were sent home, so each case met fewer people and passed flu on to fewer than 3. That also makes the model too high. (Other good answers: some pupils were already immune from an earlier infection; one generation is not exactly 3 days for everyone.)

(c) Vaccination protects far more pupils than hygiene alone. The model gives: no action 1,000 infected (A); hygiene campaign 869 (D); 50% vaccinated 309 (B); both together 55 (E); 75% vaccinated 24 (C). A vaccinated pupil has memory cells, so they are immune and are no longer susceptible. With 750 pupils vaccinated, each case meets on average only 3 × 0.24 = 0.72 people who can catch flu, which is fewer than 1, so each generation is smaller than the last and the outbreak dies out. This protects the unvaccinated pupils too. My advice is to vaccinate as many pupils as possible and run the hygiene campaign as well. The real numbers would be a little higher than the model says, because the flu vaccine does not protect every person who has it.

Compares model and data with numbers, says what the model does well before its limits, links each limit to its effect on the output, and uses the model to make a decision with a caveat. Evidences criteria 5 and 6.

If you finish early: answers

750 vaccinated and R = 2: 10 → 4 → 1 → 0 new cases, 15 infected in total. The outbreak stops growing when fewer than 1 in 3 pupils are susceptible, so at least 2 in 3 must be immune: 67%, about 667 pupils. This is the idea behind herd immunity.

Why this response is secure