SARS-CoV-2 Dash

User Image Kyle Baker Analysis - 1:21PM 5-4-20
Analyzing the data today

Short version: Globally, the trend is following the US trend of linear, stable growth. South America is start to blow up, with Ecuador doing particularly badly. Nigeria is seeing an intense outbreak. Russia is in rough shape.


  • World crosses 3.5 million (confirmed) cases threshold, now in 187 countries. Deaths hit 250,000.
  • Still hovering the relatively stable fuctuation around the new-case rate of 80k~/day or so--today is right in the middle of that average, this trend has been going since April 2nd.
  • Deaths per day is down a bit below its average among the sharp fluctuations around 6k~/day that it has been following since April 2nd, hitting 3400 yesterday. Based purely on how the graphs have looked in the last month, I would expect this number to begin a two or three day rise upward trend starting tomorrow.
  • It's possible that given its steady, linear, non-exponential growth, we're seeing fewer medical system get shocked/overwhelmed, and could begin to start seeing a trend of reduced death/case rate. The trend is minor, but it is there over the last month.
  • World trends are pretty much mirroring the US, which makes sense given that it is far and away the source of more deaths and new cases per day than anywhere else in the world by a longshot--a fluctuating new-case rate hovering roughly around 30k/day for the last month, and a new deaths per day rate of roughly 1.7k~ for the last month, which is experiencing a downturn the last few days, though one would expect that to rise again in the next few if the trend continues to hold (and, given the steady new case rate, we would expect it to).
New Cases
  • UK continues its rise--on a log scale, it perfectly mirrors the US over the past month. It blew past France a couple days ago, and now looks poised to intersect the line of Italy, which has been flattening out for a while now. I'd expect UK to pass Italy in total cases in about a week based on current trends.
  • Russia's new cases number today puts it essentially second all-time, not counting Ecudaor's accounting-correction spike two weeks ago. It's been on a steady trend upwards, and is second in daily new cases behind the US now.
  • Qatar now tops the graphs in cases-per-million and cases-per-day-per-million. FWIW, population is relatively tiny at 2.6 million.
  • USA, UK, and Ireland are all 3 in the top 15 of new cases per day per million. Belgium and Spain, while having high totals, continue to trend downwards in new cases per day.
  • While Belgium trends dramatically downward in new cases, and new deaths, it is still in 2nd per-million deaths-per-day, and 1st in total deaths per million.
  • The UK makes a strong appearance on these charts sadly as well, showing 4th total deaths per million and 3rd in new deaths per million.
  • USA is steadily trending down a little on these charts, at 9th total, 10th daily deaths-per-million.
New Cases
  • Nigeria tops the growth rate chart--though having only a couple thousand cases, it has seen a steady, dramatic doubling over the last week, and has been on a straight trajectory now for a couple weeks in this direction. In spite of that, a week ago, they began easing their lockdowns It's currently exploding in a very poor region where many people don't even believe it's real. As an American, sounds familiar, unfortunately...
  • Russia's growth has slowed down a bit from last week, but it's still near the top of the charts. Their total cases number grew 67% over the last week. Better than the 89% the week before, but still among the worst.
  • Peru, Afghanistan, Bolivia, Brazil, and Bangladesh are all countries seeing doubling-in-less-than-two-weeks rates of growth in their total cases right now.
New Deaths
  • Ecuador continues its horrific trend. Deaths today are approaching well over 2x the number reported a week ago. No country has seen growth rates this high among its death-count for the last few weeks--since Russia, April 21.
  • Russia is in 3rd on this list. Peru is on 2nd. Brazil is in 4th. So, Russia is not doing well, as we've seen on other charts, and South America is doing really bad overall. (Mexico is also in the top 10 here.)
  • Next tier is Pakistan and India.
  • Canada, UK, Egypt, Japan
  • USA and Sweden are at the bottom of the top 15.
Site updates:
  • Minor Graph Updates: Growth rate graphs have more inuitive defaults, and each get their own page. Toggling the grid show/hide will allow expanding the graph. Performance should be significantly higher, and closing one of the two graphs on a page will prevent unnecesary data processing from going on in the background.
  • Analysis: Analysis page has an improved control menu, allowing for much more natural use on mobile.
  • Forward/Backward: Buttons for moving one day at a time forward and backward.
  • Covid Simluator: Wanna do serious analysis? Try out the Covid Simluator, in the sidebar. Input your assumptions, see predictions. It's a serious tool that is a bit overwhelming for a lay person, but it's high quality stuff.
  • Icons: Icons everywhere should be more intuitive, giving easy visual anchors to help navigate around the site.

User Image Kyle Baker Update - 10:36AM 5-1-20
Dash Page V2 complete
What else to do when locked in? I found myself using the data here to get real insights, like noticing that the UK and the US are experiencing almost exactly the same growth rate curve, or seeing how Sweden really does compare to other countries. (Not good--per million, 8th in total deaths, and was 4th in new deaths yesterday. Guess those memes pointing to Sweden haven't aged well...)

  • Growth Rate Graphs: Track rate-of-change over time.
  • Organized: Now focus on two graphs at a time by category, enabling higher performance usage and a less overwhelming display.
  • Mobile Control Refactor: Controls are now available wherever you are on the page in all interfaces (especially nice in mobile).
  • Not Just 5: Select the number of countries you are interested in viewing--from 0 to 100+. (Keep in mind, your computer might start to choke if you put too many and try the playback feature!)
  • Enable/Disable Single Countries: Individual countries can now be turned on/off with color-coded toggle switches. Try double tapping (or shift-clicking) a row to toggle disabling all except for selected row.
  • Color Changing: Click a row to toggle highlighting that row into white. Don't like it's main color? Click the 'color' button to have it randomly re-assigned.
  • Improved Animations: Individual lines within graphs now animate from their own old state into their own new state, instead of merging and morphing into each other at times, allowing for more meaningful changes from one state to the next. Highlighting also now calls a line to be above all other lines on a chart, making it much easier to see when crowded or on a small screen.
  • Speed: Closing or minimizing a card on a page will prevent updates to that card in the background, reducing heavy data processing load in half for dash pages. Useful if you want to put 50 countries on a grid and watch it play back.
Those growth rate charts were surprisingly difficult to write. Filtering out the infinite-and-astronomical increases in the early stages, trimming multiple datasets to custom ranges accordingly, normalizing them to be handled by Chart.js nicely, handling inconsistent numbers of countries, fixing animation issues resulting from wildly changing countrysets, and just nailing the underlying data function... Just when I thought it was smooth sailing, I ended up filling up two whole days writing those out and refactoring code arround it.

I think the interfaces with the grid--the on/off switches (also more work than I anticipated), shift-click/double-tap functionality, color changing stuff is some of the coolest stuff. Ironically, adjusting the controls to the new mobile-friendly style interface only took a few hours to implement.

User Image Kyle Baker Update - 8:00AM 4-24-20
Dash Page V1 complete
This was the real thing I had envisioned when I started this project. Basic functionality is there, and it's ready to be built on.

  • Add a reference country: add any country to the graph to compare with the top 5.
  • Minimum Cases filter: Select the minimum number of cases you want--helpful when scaling at per million
  • per million button: select 'per million' on the dash page cards to view data through a different lens.
  • lock button: useful when watching the charts evolve over time, if you want to watch the current selected countries and not have them replaced by the top 5 at other points in time.
  • Hover Highlight / Checkbox Hide: hovering over rows in the grid will highlight that country's line in the graph.
  • Analysis page animations improved: The analysis page now feels buttery smooth. Try it out!

User Image Kyle Baker Update - 6:00AM 4-22-20
Major Analysis Page Improvements

  • Dynamic URLs: now you can share your url at any time and it will go to the exact country and date that you have in mind. Noet that you can also just use the country as well. If you have the last date selected, it will just forward you to the last date when you use the URL.
  • Better hover tags on graphs and charts: now the hover popup comes up easily, is formatted better, and has more useful information
  • % button: the stacked bar chart now has a "%" button that lets you analyze how percent of cases are in what state any given day. I haven't seen this feature elsewhere.
  • act button: the active button for the stacked bar chart and pie chart lets you add/remove active cases, so you can compare recovery rate.
  • External link: Check our some other resources I have found worth seeing.