In my last post, I kind of assumed knowledge of how the R factor works and what it is. If you already know, you can skip this post. But I noticed that it’s not as straightforward as going to Wikipedia, where we only find the basic reproduction number, which is a bit of a special case (and the explanation is lengthy too). So if you’d like to understand it from first principles, I’m hoping to help you along here. We are doing this by a little game, where you are the “health policymaker”, and you are trying to get to an optimal score juggling the number of infections against the cost of health measures. Sounds like fun? Well then read on, and play on (there’s an actual game here which you can play). As a rather substantial side-benefit, we are going to learn an interesting lesson about what is the “right” cost of such health measures.
R is the number of persons getting infected on average by one and the same infected individual. That’s it. So far, so simple. But why is it the all-important number which tells us whether epidemic control measures are working or not?(1) Well, put simply, if n people are catching a virus today, then before they get healthy (or die, as the case may be), these n people will have infected R times more. In other words, the next “generation” of infected people will be size R x n. So if R>1, there will be more next time, and if R<1, there will be fewer. It’s the difference between an epidemic and snuffing out the virus. At R=1, we have things ‘under control’, and numbers are neither going up nor down over time.
I want to model what choices a policy-maker has, from doing nothing and letting the virus spread, to doing something, at a cost, to bring R down, all the way to doing a lot and brining R way down at an even higher cost. The question is, “how much do we spend and when should we spend most of it during the course of an epidemic?”. Again, it’s all with the intent to balance the cost of health measures and the cost of actual infections which occur as a consequence.
Every model is wrong, but some models are useful. And, up to a point, most engineers would agree that it’s actually the simpler models which are actually useful. Because the point of a model isn’t necessarily to be correct, but to provide insight. Complex models always bear the risk that we don’t really understand what’s going on, so there’s a tradeoff between how accurate a model is an how well we can still learn from what it’s telling us. And usually, that tradeoff is managed best by starting with something really simple and then seeing where it takes us, before we risk getting lost in detail.
So here’s my model.
The Policy Makers are forced to play a game they can’t walk away from. COVID is here, and even making no decision is an active decision in itself. Their “score” is some combination of (i) the number of infected people over time (which is bad/costly), and (ii) the amount of society’s resources spent on combating the virus over time (which is also bad/costly). The Policy Maker’s aim is to keep the total score (cost + infections) as low as possible on average over time, but the policy maker (player) also gets to choose how much to spend on health measures every time, at each turn. At each turn of the game there is a new number of infected people, namely R times more than the turn before, and R is costly to bring down. That’s how R works!
At every turn, the Policy Maker can spend a “resources” amount M in order to reduce R. Depending on how much M you spend, you get an increase or a decrease in infections.(2)
The number of infections in a given round is I. An interesting value of I is when infections are so high that the principal “pain” (to society at large) of having these infections is as high as the “pain” of bringing R down to exactly one. We may not know what that value is in reality, but it ought to exist, and we shall call it I0. It’s important because everyone and their grandmother is involved in online discussions on whether “these measures stand in relation to the damage done by the virus”. That, dear reader, I think is the real eye-opener of this model, so stay for the ride.
It’s also important to make the game last only a finite number of rounds, say 20 for example. You could say we are assuming a vaccine will be found…
The game starts, in the first round, with (I0 / 1,000) infections. At that level, it would seem the virus isn’t very scary: It would cost 1,000 times more to bring R down to 1, so it would seem we should let the epidemic run for a little while, right? Let’s see.
I have created a spreadsheet for you (download here for a limited time) in which you can now play policymaker. You can change the yellow fields, where you decide, one turn at a time, how much money you spend on that turn. If you spend one unit, your R is one. If you spend more, you are containing the spread, if you spend less, you let it run a little for that one turn. Once you are done, the spreadsheet tells you the total “cost” of your health policy both in terms of direct policy costs and direct societal pain from actual infections (which you, dear policymaker, have allowed!). Your goal is to keep the total cost as low as possible, and of course it’s a balancing act. I really do find it rather instructive. Give it a go. You are the player. Try to start from scratch. The first thing you’ll see is how fiendishly difficult it is to decide anything at all, because everything we do affects all of the future (and also the decisions we may make then). So let’s try a few massively simplistic strategies first:
Strategy 1: spend the same at every turn (and simply try to optimse that one number): It turns out you have to bring R down to 1.34 to get the optimal pay-off, at which you will have spent 0.62 at every turn (try it). Your total “spend” is 12.4 on health policy, and your other total cost in infections is 1.3. The optimal strategy is to pay about 10x more in terms of health measures than the infections directly cost us as a population!. Now I think that is awesomely interesting in itself. But it is very simplistic, and might be very, very far from the optimal strategy. Of course the fact that we get away with an R which is bigger than one in the first place is due to (i) the low number of initial infections and (ii) the low number of turns in the game (you expect to discover the virus quite early). And yet, you will spend an awful amount on things like social distancing. Interesting, isn’t it?
Strategy 2: spend an amount which is always directly proportional to the number of infections. This is a reactive, adaptive strategy. In our model, the optimal is to spend M = 17 x I at every turn. Again, the actual values are not important, but what is interesting is (i) the outcome is less optimal than under Strategy 1. You will have spent 33.1 on health measures, while only losing a score of 0.97 to the virus directly. This strategy leads to a “fixed point” where M=1 (and therefore R=1) rather soon, which means in the long run it’s optimal to keep the virus around and not try to snuff it out completely.(3)
Generalisation: Strategy 3: spend an amount equal to some power of the number of infections. This could be the infections squared, or square root of infections, etc.; We find the optimal within this strategy set is actually Strategy 1 itself, which means spend a fixed amount each turn (the optimal power exponent is zero)! This is also awfully interesting in my view, as it tells us that on the face of it, it’s not the level of infections right now which drives your health policy. Things are more complicated than they are on Facebook 🙂
At this point, we can try and generalise as much as we like and try all other kinds of bets M each turn, but already one thing is clear: If the game goes on for very long, you neither target R=0, nor I = 0. You simply can’t afford to eliminate the virus completely. Ever. Instead, what all three solutions above have in common is that in the optimal case and in the long run, you target R = 1. But also: the cost of the optimal health policy is much higher than the cost of the direct damage caused by the virus itself.
Why is this so? One of the reasons why any risk manager might have expected this result, broadly speaking, is called “convexity”, which means the risk of managing an epidemic in-correctly is quite asymmetric: While the benefit of going over the top on health measures is strictly limited, the cost of letting things get out of control can explode exponentially, and to avoid that it’s worth accepting a relatively high (but predictable) cost of keeping things under control. It’s a little bit like controlling a nuclear reactor: If you are facing a potential ‘run-away’ risk, it’s worth trying almost anything before giving up.
But back to the interpretation of the results: As a player of our very simplistic policy game, you should:
- Work out what is the actual “cost” of getting to R=1. What are the cheapest health measures which can get you there? Then implement them. Yes, translated to the real economy, that’s real dollars at each turn.
- When the incremental “cost” of new infections exceeds the cost (per turn) of health measures, you need to increase health measures (target R<1) for quite a while until I << I0, which means M>>I : The cost of the health measures may be 10 or 20 x more than the “pain” the virus itself inflicts on society. Yes, that’s with the optimal strategy!
- If played correctly, then ‘hold it’ at R=1, at which point the cost of health measures will continue to exceed the virus-inflicted direct costs by a very significant margin.
- If you know the vaccine is coming, you can relax a little for the last few turns (yes, that too is optimal).
Now of course it behooves us to do a sanity check, to make sure we didn’t over-simplify things. So I expanded the model in various directions:
- Starting with a very high (costly) number of infections, not of 0.001 x I0, but of 1,000 x I0.
- Let the computer find the strictly optimal strategy for all time.
- Modified the game rules by playing around with different formulas of footnote (2).
- Modified the number of turns per game.
In all these variations, the main results stand: As long as the game is finite (i.e. a vaccine will be found), the strictly optimal strategy initially over-shoots, i.e. keeps R<1 until I<<I0, and then holds R near one, and then relaxes only shortly before the vaccine comes out. What remains a common denominator is that over time, in all cases the total cost of health measures always significantly exceeds the total cost of infections themselves and it does so, in the long run, at every turn, if played optimally.
Now you see why knowing R is so important to policy makers. Luckily, knowing R is possible, albeit with a somewhat painful delay: you just need to see if cases are going up or down, and you know whether R was bigger or smaller than one, back when these cases would have picked up their infection. Luckily also, it doesn’t really depend what your “COVID testing” protocol is (and whether you are missing a lot of infections that way)! As long as you keep your protocol constant, you’ll still know at least whether numbers are going up or down!
The bigger lesson, though, is that balancing health restriction costs versus virus-related direct “pain” means erring very much on the side of caution, accepting much higher costs for the “measures” than the pain the virus itself inflicts on us as a society. R is the key, convexity is the reason, and accepting that the ‘optimal’ economic pain is much larger than the pain influcted by the virus itself is, sadly, a must.
(1) purists will say it’s not sufficient, because R is not the same for every segment of the population. A flight attendant might pass an infection to more people on average than a teleworker, and yes this is a real complication in good epidemic models. However, it does also not change the main conclusions about how to optimally control it.
(2) In fact, in my game, we set — for a given turn — R depending on how much M you spend via
R = R0 / (1 + M (R0-1)).
This may look complicated, but it’s the easiest formula I could find that gives me three desirable and easily understandable qualities: If you spend M=1 you get R=1 in that round (as many infections as in the previous round), if you spend less you get more infections, and if you spend more you get les infections. In fact, if you spend zero you get R=R0, and no matter how much you spend, you never get to R=0.
(3) Actually, aiming straight for R=1 is also the optimal solution for Scenario 1 in the limit that the game duration isn’t finite.