For the past year or so, there’s been a bit of a cottage industry in looking at the latest and greatest variants, and trying to guess - often from their mutation profile - which might escape existing immunity, or be particularly transmissible in some other way.
This industry - unfortunately - feeds a small but disquietingly loud hype machine, which announces each new variant via some variable-quality journalistic outlets as “the worst EVER”. Next, a bunch of people mutter darkly about relative growth advantages, disappear into a shed for a while, and come out again saying that the variant will probably “dominate” at some future future date, and make various pronouncements about how it will drive a new wave… whereupon - more often then not, in recent months - it fails to do anything of the kind.
I have nothing much to say about the initial mutation profile step, but thought it might be useful to write up a little bit about the “shed” stage, where we get some growth numbers and draw stuff on charts.
Excel is cheaper than brains
Rather setting up the system and solving it (if you want to do that, read Alex’s write up), let’s use the wonders of spreadsheets to calculate a load of numbers really quickly, and get a feel for what’s going on.
Let’s start a system with 50 people with some boring old variant, which doubles once every week, vs 1 person with an exciting new variant, which quadruples once a week. The numbers of infections look like this
As you can see, despite being initially a very small share, the “exciting” variant quickly (in 6 weeks) overtakes the boring one, and comes to dominate the mix. You can also see the growth in the total cases goes from very-close-to-two (i.e., very-close-to the boring growth rate) to very-close-to-four (i.e., very-close-to the exciting growth rate).
This is all absolutely characteristic of a small fast-growing variant as introduced into a situation a slower growing existing one (or usually a “soup” of slower growing existing ones).
However, in the real world, we are not presented with the whole system on a plate like this: what we can usually observe is just two things.
The total growth per week (we get this from cases, or hospitalisations)
The share of the “exciting” variant of the whole (we estimate this from the proportion of variants sequenced)
It’s surprisingly easy to use these two things to derive the effect that we’d expect the new variant to have, if other things stayed more or less constant. Let’s do it for our toy model - with the distinct advantage of knowing the answer before we start.
Here’s input clue #2: the share of the “exciting” variant:
Now, let’s make a transformation known as a “logistic” transformation - so rather than plotting the share directly, we plot the logarithm of (share / (1 - share)).
For the moment, don’t ask why, just plot it.
That’s interesting - it’s a straight line. And more than this, it crosses the x-axis at precisely the point at which the exciting variant reaches 50% (because log(1) = 0). Finally, and most important, looking at the gradient of the slope, we can see that it’s about 0.7. In fact, if you work it out precisely, you get 0.6931. Which the trivia-minded might recognise as log(2). That is, the slope of the chart is e to the power of the growth advantage of the exciting variant vs the boring one (or, in the way it’s often expressed with percentages, 1 + the growth advantage).
Writing all this out in full (using s for the “share”) you get this
And it doesn’t take long, by playing about with different growth rates to convince yourself that this always works. Or, you can behave as mathematicians would want you to and do all the algebra directly to prove that what is outlined above is just a special case of general rules.
So, to get the growth advantage of some small, fast-growing variant, you can take the shares it makes up of the whole, and transform them using the logistic function: log(share/(1-share)). Find where this line crosses the x axis and that’s where the selected variant will reach “dominance”. Then find the gradient of this line, and that’s your growth advantage. That is, how much you should expect to multiply the “boring” growth rate by to get the new “exciting” growth rate - the one that the total growth rate will converge to once this new variant becomes the vast majority of the variant mix.
Excellent.
Except … it doesn’t work.
Reality intrudes
The maths all works beautifully. But empirically, it’s … not always what happens. When you actually get a variant out there in the wild, then that nice straight line on the logistic curve tends to level off at around 1 (i.e., where the share is about 60-something-%). That is, it tends to look a bit more like this.
It’s not entirely clear why the variants falter a bit as they reach higher shares, but it’s not just that other variants come in and dilute the overall share. The final growth advantage vs previous growth doesn’t tend to be as high as the mathematics tells you it should be either. It is almost as though the new variant is picking off the “low-hanging fruit” first - the people who are maximally unprotected vs its mutations. And then, as it grows, finds it increasingly difficult to find these people, and so slows down, as it hits more people who have more substantial immunity to it.1
Whatever the mechanism, you can quickly land at a rule of thumb. It’s not infallible, but it works better than the unadjusted maths outlined above. Roughly, the the final growth advantage usually turns out to be about half of what is implied from the rates when the variant is only a few percentage points (say <20%) of the whole. And if you wait longer, the growth diminishes even further, but this is to be expected from overall mounting immunity to the new variant.
This same “slowing” effect also pushes the growth inflection point a bit later than you’d expect - so overall, the growth change comes later, and is smaller than you’d expect from the numbers alone.
More reality
So, what happens when you apply this to two variants which have been making the headlines recently: BA.2.86 and JN.1 (which is technically, part of BA.2.86).
We can get the numbers from @oliasdave’s promptly updated counts, and plot the shares. Let’s start with BA.2.86 (here lumping in the subvariant JN.1).2
So this looks like a pretty clear “small variant growing quickly” situation.3 BA.2.86 is likely to go over 50% by about the second week in December, and - with a slope of around 0.33, we should expect the result to have the growth to be about 1.4x as fast as previously.4
But this is the naive estimate - the one that just appeals to maths. Let’s apply our experience too, and assume that we can cut this growth advantage in half - to about 1.2.
The thing is though, our base growth rate - before BA.2.86 became significant - was around 0.82 / week (i.e., -18%). So, if we multiply 0.82 by 1.2 we get we get a resulting growth rate of ~1, which is stationary - a plateau.
But remember, we had JN.1 as well. If we look at that alone, is it more of a threat?
This one is a little harder to make out, simply because we have less data. But - roughly - the 50% cross-over looks around week 50-51 (Christmas-ish) and the slope looks around 0.7, which means a relative growth of approximately 2.
This looks a lot more serious - taking our total growth from 0.82 to around 1.7. That is, +70% a week, or 10 day doubling. That’s fast - horribly fast. We’ve seen it before, but it wasn’t pleasant.
If we again apply our rule of thumb, and halve this (it feels pretty arbitrary, but I’ll prefer empiricism to theory) we end up with a final growth advantage of the order of 1.5. Which, applied to the same5 “pre-BA.2.86” growth rate of 0.82, gives you 1.23. A +20% growth per week. Or a just-over-three-week doubling.
Not nothing, but not huge either. So should we expect this?
More reality than anyone could ever want
Variants are by no means the only changes that drive growth rates (if they were, we’d never get peaks). Behaviour changes, immunity build-up (via vaccination or infection) and seasonal weather changes all make a difference.
And it turns out - again, empirically - that while 2022 was the “year of the variants”, where we rode successive waves driven by different variants of Omicron (BA.1, BA.2, BA.4/5), each of which had a large enough growth advantage to sway the overall dynamics, then in 2023 this just hasn’t happened.
Instead, in 2023 we just got a decline in the summer, and a rise up again in the autumn, despite several variants washing through during that time. These variants seem to have simply not had enough of a growth advantage (at least in the UK) to overwhelm an underlying drop-off in transmission during the summer. presumably due to some or all of the factors listed above.
Now, these two new ones: BA.2.86 and JN.1 look - from the numbers - to be the closest candidates to do just that - especially as they are arriving in the winter months.
On paper, they are each enough to turn us back to growth, and even once adjusted fairly aggressively for experience, JN.1 still looks to have enough “oomph” to do so.
Putting all this together, I think the likeliest scenario for COVID is that JN.1 will catch up with BA.2.86 in December, around the time that both outweigh all others. Then the two together will then act to slow the current decline to a plateau during the course of December. Then, come January, we’re likely to see a return to steady growth (i.e., the turnaround does come - and it is JN.1 that drives it - but it is both smaller, and later, than the raw numbers suggest).
However, as the above might suggest, there is room for experience and rules of thumb here, as well as statistics, so there is plenty of room for differences of opinion.6
It’s quite possible that something quite like this is pretty much exactly what is going on.
These percentages and logistic numbers have confidence bands on them. We’re estimating shares from random(ish) samples sent off for sequencing, so they’re pretty easy to calculate. I’ve used the Wilson Score interval here.
Week 34? There was an outbreak at a care home. I’ve ignored it in the line of best fit.
Within the community of variant chasers, there seems to be some “magic” assigned to the time when a new variant reaches dominance (goes over 50% of the whole) and perhaps an implicit belief that this is when the new growth rate takes over. This is of course not true. The growth rate is a weighted average of the “boring” and “exciting” variant growth rates throughout the whole time they coexist - you can see the rate moving smoothly up in the table above, for example. 50% or “dominance” is an entirely arbitrary threshold.
You don’t add them. Biggest wins - in the long-term at least.
Even differences of opinion with myself. Edited on 29/11/23 to add confidence intervals, while I also discovered a numerical error in the “adjusted” growth rate due to JN.1 - originally claimed at around +6%. The higher figure in this version is correct, though over-precise.
Thanks for the post! Found two errata for your tired eyes:
1. "And push the"
2. "But remember, we had JN.1 as well. What does that one look like?"
but the graph is titled BA.2.86