Updated daily after NSW announce case numbers
Progression of the Bondi COVID outbreak in New South Wales
See also: The road to a COVID-free Victoria
See also: Australian vaccination rollout
Reff estimate from all cases
New South Wales is currently experiencing an outbreak of COVID, due to the delta variant. On June 26th, after a concerning increase in case numbers, the Greater Sydney area was placed under lockdown restrictions, and other restrictions were imposed in regional New South Wales.
How have New South Wales' restrictions affected the spread of the virus? The below plot shows how the effective reproduction number of the virus, Reff has changed over time in New South Wales, as well as how the daily cases have changed over time. A trendline shows the approximate trajectory daily case numbers would follow, were the reproduction number of the virus to remain at its current level.
Reff estimate from non-isolating cases only
Cases isolating during their infectious period represent a much lower risk of spread. The growth rate of non-isolating cases represents a more leading indicator of whether NSW is successfully suppressing the outbreak. The below plot is identical to the above one, except it includes only cases that were not isolating for their full infectious period.
Projected effect of standard vaccine rollout
The trendlines in the above plots simply project forward case numbers assuming that Reff remains at its current estimated value. What about the effect of vaccines? Below is a plot with the projected trend taking into account an estimated reduction of spread due to vaccination levels increasing in New South Wales through the remainder of the year. This projection is a stochastic SIR model, and thus also takes into account immunity due to infections, which would decrease transmission once a non-neglibible fraction of the population has been infected. See the methodology section below for details.
This is a conservative model of vaccination in New South Wales assuming the rollout continues roughly according to the same plan that was in place before the outbreak. However, there are various changes to the rollout that could considerably accelerate the effect of vaccines on spread in New South Wales. These include prioritising essential workers who are at higher risk of spreading the virus during lockdown, prioritising based on geographic closeness to where cases are concentrated, or New South Wales receiving a disproportionate allocation of national supply. See below this plot for a projection based on an accelerated or prioritised vaccine rollout.
Projected effect of 2× accelerated/prioritised vaccine rollout
New South Wales has announced policy to prioritise younger, working members of the population, and based on comments from state governments, seems likely to receive a disproportionate allocation of national vaccine supply in the coming months.
Below is a plot with the projected trend taking into account a hypothetical accelerated or prioritised (or both) vaccine rollout in New South Wales, that manages to achieve twice the rate of reduction of spread per day compared to the standard rollout. This could be achieved either with double the vaccine supply, or with doses prioritised toward individuals so that on average the reduction in spread per dose is twice what it would be for a random member of the community, or some combination of the two. The specific assumption of a factor of two is just an example to demonstrate what might be possible: I do not know to what extent their prioritisation of younger workers will be effective, or to what degree they will receive additional supply.
Reff in select LGAs
Below are plots of daily case numbers and estimated Reff values in the eight New South Wales local government areas that have had the largest number of confirmed cases in the last 14 days. As at time of writing, these are the eight designated "LGAs of concern" subject to additional restrictions, but this may change—the below plots will udpate to show the LGAs with the most cases regardless of this designation.
The final plot shows case numbers and an estimated Reff for all LGAs other than these eight.
The data in these plots may be several days out of date due to the delay in New South Wales Health releasing data
Disclaimer on trends
The plotted trendlines are simple extrapolations of what will happen if Reff remains at its current value. This does not take into account that things are in a state of flux. As restrictions take effect, the virus should have fewer opportunities for spread, and Reff will decrease. If restrictions are eased, it may increase. Contact tracing may suppress spread to a greater or lesser degree over time. The above plots specifically showing the effect of vaccines do take into account a reduction in Reff as vaccination coverage increases, but ignore any other possible future changes in Reff.
Furthermore, when case numbers are small, the random chance of how many people each infected person subsequently infects can cause estimates of Reff to vary randomly in time. As such the projection should be taken with a grain of salt—it is merely an indication of the trend as it is right now.
Smoothing, calculating Reff and projections
Daily case numbers have been smoothed with 4-day Gaussian smoothing:
Nsmoothed(t) = N(t) ∗ (2πTs2)-1/2 exp(-t2 / 2Ts2)
where Ts = 4 days and ∗ is the convolution operation.
Before smoothing, the daily case numbers are padded on the right with an extrapolation based on a exponential fit to the most recent 14 days of data.
Reff is then calculated for each day as:
Reff(ti) = (Nsmoothed(ti) / Nsmoothed(ti-1))Tg
where Tg = 5 days is the approximate generation time of the virus.
The uncertainty in Reff has contributions from the uncertainty in the above-mentioned exponential fit, as well as Poisson uncertainty in daily case numbers, and an additional 20% uncertainty in daily case numbers - the latter is just a crude eyeballed figure of observed day-to-day fluctuations.
The extrapolation of daily case numbers is based on exponential growth/decay using
the most recent value of Reff and its uncertainty range:
Nextrap(ti) = Nsmoothed(ttoday) Reff(ttoday) (ti - ttoday)/Tg
Note 2021-07-30: I have changed the model used for the projections of the vaccine rollout to a stochastic SIR model, and the description below is out of date. I haven't yet documented the new model on this page, but the code can be seen here in the meantime. The projected outcomes with the new model are very similar to the old model, which was valid in the limit of infections only reaching a small fraction of the total population.
For the plot taking into account the effect of vaccinations in the future, I assume that for the case of a "standard" rollout NSW will administer doses at a rate of:
- 0.63 doses per 100 population per day in July
- 0.76 doses per 100 population per day in August
- 0.85 doses per 100 population per day in September
- 1.06 doses per 100 population per day in October
- 1.29 doses per 100 population per day from November
I assume that one dose of any vaccine reduces spread by 40%, and two doses reduce
spread by 80%. The proportion of the population susceptible to the virus is then:
s(ti) = 1 - 0.4 × D(ti)
where D(ti) is the cumulative number of doses per capita on each day.
For the case of a hypothetical "2× accelerated/prioritised" vaccine rollout, I assume that the reduction in spread due to vaccines occurs twice as fast. I achieve this is my model by simply doubling the rates of vaccination above, which is one way (with increased supply) that New South Wales might reduce spread more quickly than the "standard" rollout expected prior to the current outbreak.
This is also equivalent to New South Wales vaccinating at the slower rates, but with more active members of the community prioritised so as to achieve, on average, twice the reduction in spread per dose than one would get vaccinating a random member of the population.
Reff is then estimated for any future date as:
Reff(ti) = Reff(ttoday) × s(ti) / s(ttoday)
And case numbers extrapolated from one day to the next, beginning with
Nsmoothed(ttoday), according to:
Nextrap(ti) = Nextrap(ti-1) Reff(ti) 1/Tg
Data sources and contact
Source for case numbers: covidlive.com.au
Plots/analysis by Chris Billington. Contact: chrisjbillington [at] gmail [dot] com
Python script for producing the plots can be found at GitHub.