Introduction

A couple months ago, we saw Coronavirus take out northern Wuhan. It happened at a specific breaking point: when the number of people needing medical attention exceeded the capacity of the medical system. Then the death rate jumped. After that, China acted aggressively to tame it, but massive damage was already done.

More recently, Italy and Iran are close to hitting similar breaking points.

Yet, other regions like Taiwan, Vietnam, Hong Kong, and Singapore escaped this breaking point. This in turn turn kept the medical needs within capacity limits. Taiwan was first to activate emergency measures in mid-January; Singapore & Vietnam in late-January; and Hong Kong shortly thereafter.

Here’s a mental model to compare the scenario of exceeding capacity (beds needed > # available), versus not.

In terms of growth rate of infections, USA and Germany are basically on the same trajectory as Wuhan. Fortunately we are earlier in the game; there’s still opportunity for strong intervention to slow the growth rate before our medical systems hit capacity.

The Big Question

The main question is: How much time do we have, exactly? We can make this more specific:

At what date does the number of beds needed exceed the number of beds available?

Why Model

We’ve made a model to answer this question. Before we go into the details of the model, recall the following maxim by famous statistician George E.P. Box:

“All models are wrong, but some are useful.”

We’ve found the model given below useful to improve our our own decision-making around when and what resources do put into bounding the downside for ourselves and our loved ones.

Model Details

Main Idea

The main idea is to compute numbers for # beds available, and # beds needed over time. The breaking point is when the number needed exceeds the number available. Here’s how we computed each.

# Beds Available

For a region, we calculate # beds as # beds per person, multiplied by # people.

# beds per person is taken from this list of countries by hospital beds.

# people is simply the population size.

Then, we calculate # beds available as # beds (calculated above), multiplied by % beds available.

A starting point would be to assume that 100% of those beds are available. But this is too optimistic. We need to or refine that capacity assumption downwards, due to non-covid19 patients using beds (the vast majority of beds), ERs/frontline workers taken out, or limits on hospital supplies (masks, etc). 15% is a more realistic number.

# Beds Needed

Here’s the overall methodology. First, we estimate the # of cases over time. Then we can calculate the # serious and critical cases. It is the serious and critical cases that need beds.

# cases over time. We first estimate the # cases now. A starting point is the officially reported numbers, taken online. However, that is too optimistic for regions without widespread testing yet, such as in USA. So we make two estimates of # cases now, and took the maximum.

Start with # reported deaths, then scaled up to # cases by dividing by death rate

Start with # reported cases, then account for lag time from first infected to first reported. One week lag time means multiplying the # reported cases by the weekly growth rate.

We calculate weekly growth rate as the reported # cases now, divided by the reported # cases one week ago.

We need an estimate of # cases for each date. For the first date (today), we use today’s estimate of # cases. For each subsequent week, multiply the previous week’s estimated # cases the growth rate.

# serious and critical cases. The # serious/critical is the estimated # cases, multiplied by the % that become serious/critical. That’s a first approximation model for the # beds needed.

We refined the model, by counting the # beds freed up after cases resolve. A case resolves when a serious/critical patient dies or recovers.

Focus on Hotspots

The virus will not hit nations in a uniformly spread fashion. It will take out one city at a time, not one country at a time. In China, Northern Wuhan was taken out first. In Italy, it was Lombardy, Venice, and Milan. So while we can start with analyses at the national level (USA, Germany), it’s critical to drill into specific hotspots (Washington state, Berlin) which will experience capacity constraints sooner than the national average.

Results & Analysis

Washington State (WA)

It is in hotspots the first breakdowns will occur. In the USA, WA has emerged as a hotspot. Let’s focus our attention there.

Here is the model for WA. It’s a Google Sheet; each value has a link to its source or how it is calculated. According to the model, Washington state will go over capacity on approximately Mar 25, 2020.

Table: WA: # cases and beds, versus date

WA presented a unique challenge to estimate # effective cases, since many of its infections (and deaths) have been in a nursing home. # effective cases = (# deaths) / (death rate). The # deaths is really based on the age 80+ cohort. If I used the death rate across all ages (a rate of 1–2%) then the effective # cases would have been unreasonably high. The solution was to ensure that numerator and denominator came from the same cohort (age 80+).

USA

Here is the model for USA. The # estimated was based on the # deaths so far, divided by the death rate, as reported above. Only 6.3% of the estimated number of cases were reported as cases. That is, there is likely a 15x under-reporting compared to the a more realistic estimate of the number of # cases.

The USA is one of the lowest-ranked countries in terms of hospital beds per citizen. This is not helpful to USA’s situation.

Berlin

As with each country, Coronavirus is not spreading evenly in Germany. As of Mar 8, Nordrhein-Westfalen — the area around Cologne / Düsseldorf — has 392 of Germany’s 847 cases. Berlin has the next-highest number of cases; and is the biggest metro area hotspot. We now focus our attention there.

Here is the model for Berlin. According to the model, Berlin will go over capacity on approximately April 5.

Italy’s hotspots like Lombardy are experiencing capacity constraints in less than three weeks from onset. Germany is approximately one week behind Italy. This means the model given here may still be too optimistic.

Table: Berlin: # cases and beds, versus date

Germany

Here is the model for Germany. The # estimated cases was governed by the # reported so far and the growth rate in the lag time from infection to reporting. Only 26.7% of the estimated number of cases were reported as cases. That is, there is likely a 3.7x under-reporting compared to the a more realistic estimate of the number of # cases.

Results of Intervention

How well does intervention help? The following plot (from here) compares the number of confirmed cases and deaths for Hong Kong versus Italy. Hong Kong was on top of Coronavirus early, and death rate almost flattened. Italy was not. [Added Mar 9]

Conclusion

This post started with a question: at what date does the number of beds needed exceed the number of beds available? We found that a USA’s hotspot (Washington state) could hit capacity constraints in March 25. In Germany, Berlin could hit capacity constraints on about April 5.

In both USA and Germany, the outbreak has started. Once an outbreak starts, local health authorities have a maximum of 4 weeks to get the situation under control. But more realistically, the timeframe is much much shorter. Experience in Italy shows that took only 2–3 weeks from outbreak to overwhelm the hospitals.

What can be done? For starters, get way more beds. Also, cancel large gatherings, start remote work, and accelerate universal testing. There’s more too; this is the tip of the iceberg. We can learn a lot from Taiwan, Hong Kong and Singapore.

[Edit Mar 9] I’ve written a follow-up article that explores in more detail what can be done, by compiling and summarizing advice from experts. Let’s take action.

Improving the Model

The model for each region is a separate tab on this Google Sheet. Each value in each model has a link to its source, or how it was calculated. The sheet is fully open; you can download it and set numbers for your region, and change assumptions as you wish. If you find the model useful like I have, great! If you find flaws, cool, please leave a comment in the comments section; or, make your own improved model.

Acknowledgements

Thank you very much to Bruce Pon and Eric Anderson for the extensive help in writing this, and to Ryan Selkis for the encouragement.