(First posted on March 29th)

Are we doing better?

Average doubling period over time | Average daily percent change | Estimates of Rt for Indian states | India state-wise breakdown of weekly growth rate

[Last data point: 20 May 2021]  The figures are calculated from the JHU "confirmed cases" time series and for India from covid19india.org's data (see April 9th note below) using a 5-day sliding window geometric mean - i.e. a log-scale sliding window average. The "Weekly cases growth %" tooltip gives the cases-this-week / cases-last-week ratio as a % change.

For 20 May 2021. Only includes states with > 20 cases. Daily cases are smoothed 5 times using a [0.25,0.5,0.25] filter. A REQUEST: Please add a comment if you can/cannot validate these calculations.

Graph explanation: The "Rt" is the realtime effective reproduction number that's descriptive of the spread of the disease, where we're looking for the number to go below 1.0 to indicate a slowdown and eventual die out of the spread. (read more) . Note: The Rt estimates for recent dates will not be stable, but those for a week or earlier will be. An Rt of 2.0 implies about a 15% day-on-day growth in the daily new cases. This means the disease is spreading at that (not at all good) rate. An Rt of 1.0 means we'll see the same number of cases crop up daily .. which is quite manageable in most setups, except that it would be even better to have it drop to zero, which an Rt that's consistently below 1.0 will ensure.

May 10th: The transmission rates have dipped below 1 in most of the states that had a significant impact. This is also showing in the overall transmission figure for India (though that's not to be taken too seriously). Tamil Nadu is not yet in the clear though and though it didn't show major spikes like Maharashtra, transmission in TN is hovering above 1.0, which means we're not out of it yet. Hope the currently ongoing lockdowns help save Tamil Nadu from a health care disaster. Though transmission in states like Maharashtra is going down – I suppose thanks to the lockdowns in the respective areas –  the absolute numbers are still high enough to continue to pound their healthcare systems for a couple of weeks at the least.

Apr 25th: It's a crisis in India right now.

Apr 12th: Second wave coming in as a Tsunami all over India. Although fatality rate is less than half of what it was during the first wave, the rise in the daily case rate makes the absolute numbers worrysome. It also looks like the authorities and the people have given up in trying to deal with it judging by the Kumbh Mela superspreader with 3.5million people gathering for the event. At this rate, we should expect the pressure on our healthcare system to go much higher than what was during the first wave. So in the interest of those at the frontline, we the people should do our bit .. and we know what to do already.

Mar 28th: Second wave indeed! .. with Maharashtra topping the charts with over 40000 cases a day. The campaigning for assembly elections is also likely contributing to the spread .. and hopefully there will be some respite during the campaign moratorium period as well as post elections. All that remains to be seen. Until then, stay cautious people!

Mar 15th: Yes there is an all-round increase in the spread over the past two weeks across most states. In Kerala, the spike that came up many weeks ago seems to be going down now.  There is also rumour of another lockdown. Vaccination programmes are in full swing everywhere, so there is some hope that its effects will kick in perhaps a month down the road. Some vaccination centres have not been great with managing crowds, which raises the question of whether they have been responsible for some of the rise. So .. continue to stay alert and stay safe.

Feb 18th: (Srikumar) Oh dear! Cases are spiking in Maharashtra and it looks like its numbers are large enough to influence the national Rt estimates. Tamil Nadu seems to be cruising just a tad below 1.0 though it hasn't disappeared.

Jan 9th: (Srikumar) A very happy new year to all. The light at the end of the tunnel appears to be growing larger. The cautious one in me hesitates to celebrate just yet. However, it also seems likely that India is getting over this rather well. I must say that I'm personally impressed with how the local governments (I'm talking about Tamil Nadu in particular) dealt with the situation without getting dragged down by dailies and thinking what needs to be done. From what I see, they're still cautious, but life is opening up. I just had breakfast at my favourite restaurant today and yes we were all masked up (except while eating), reasonably distanced from each other and had sanitized hands. The usual plates have now been replaced with banana leaf which gets disposed without contact and is natural and biodegradable. Paper cups are used for water and coffee. It is great see the cautiousness continue as most shops seem to ask you to mask up in order to enter them, though social distancing is not quite well practiced there these days. In TN alone, cases have come down from about 1200 cases a day around mid Dec 2020 to around 800 a day now. It also looks like we didn't quite catch a second wave as I was expecting to happen around early Nov after some delay from the other places. I also get the (unsubstantiated) feeling that immunity is also spreading and an air of lightness is setting in as we joked at home that mosquitoes are helping spread antibodies and therefore vaccinating us!

Dec 28th: (Srikumar) As we draw near the end of 2020, it looks like we're seeing some light at the end of the tunnel, at least for India and its states ... more or less. Tamil Nadu case rate has come down to about a thousand cases per day and is gradually going down too. Most other states seem to be seeing the same trend. Maharashtra had a bit of a spread scare around Dec 17th but seems to have settled afterwards. Such a blip also occurred at the country level around Nov 17th too, but then settled again. Now, the question really on everyone's minds is whether the data we get are real enough to be trusted to gauge a trend. That's the very expensive (read gazillion rupee) question. Anecdotally, we do see occasional cases of death where the symptoms look like COVID but with the patient testing negative. We need to consider several explanations for such cases - a) a regular non-COVID lung infection or complication could've occurred, b) it was COVID but the test was a false negative (unlikely, given that the common refrain is excess positives, though unsubstantiated in itself), c) it was COVID and was a mutated strain that would result in a negative for current tests (also seems unlikely, but small chance maybe), d) there is malpractice in reporting COVID cases in order to "look good" in various quarters. The testing rate is still pretty good in India - in the sense that the percentage of a tests that turn out positive is still less that 2%. The reported recovery rate (percentage of people who've tested positive but recovered) in TN is about 97% as well .. which makes people ask whether a 94% effective vaccine is worth it .. a question that will have to take demographics into account to get a useful answer.  From the start of Dec 2020, the number of active cases (total confirmed minus deaths minus recovered) has reduced by 10% for TN and about 40% for India as a whole. Despite these hopeful numbers, people aren't taking it for granted yet and it is heartening to see signs that say "until we have vaccines, please don't slack on precautions" (paraphrased/translated) and I do (anecdotally) see people being fairly cautious though there is some % who don't mask up in some places. All these to me seem to indicate hope for a better 2021.

Dec 1st: (Srikumar) Thus far, I've been cautious and have refrained from expressing (any?) optimism in this journey. When I see the update for today though, I have to say, I think we're well past any spread influences of Durga Pooja or Deepavali and we also seem to be beyond the window after which I expected the "second wave" to start. Rt going < 1 across significant states in India is a good sign and I feel like savouring this for a bit just to feel good. From a personal stand point, this only means that we should let out such a war cry as we would do when feeling closer to victory. Stubborn refusal to taking it easy and continuing to mask up should bring the whole thing down and then we'll have vaccines to help keep the impact low. Since about mid September, the number of active cases has fallen by more than 50% (from about 10L to about 4.25L) for the whole of India. In TN alone, during the same period, the number of active cases has come down from about 46000 to 11000 (> 75% drop) .. and the decline has been nearly monotonic. In Telangana, the drop has been from about 30000 to about 10000. In Karnataka, it has come down from about 1L  down to about 24000 now (though hitting 1.2L along the way). Let's kill this thing!

Nov 24th: Hmm .. we're seeing the beginning of another rise perhaps. If we smooth over the weekly cycles, it is looking like we may be on the road to another lockdown or at least strict health protocol mandates across the country. It doesn't feel as serious in India as in the US or UK at this point, but .. that is no reason to take it lightly. On the flip side, we do have successful vaccine trials being reported and instructions handed out from the central govt asking the states to prepare their cold storage facilities. This gives some optimism that we've spread out the impact on the healthcare system long enough that we can start to rely on vaccines. That said, hold on ... just a wee bit longer at least till we get production and distribution sorted out.

Nov 17th: Wow! The transmission rates have been going down pretty much across the states! Part of this would be due to variation (reduction) in testing .. but the reduction over a month has been not more than 15%. The tests-per-million (at least in Tamil Nadu) has not reduced by much and the positive rate is still around 2.6% which isn't a bad ratio at all. Country-wide, this ratio is around 5% .. which is still not bad, though could be better. i.e. Only 1/20 of those tested are turning out positive. This is promising since tests are done only for those showing symptoms and who've been in contact with known positive cases. Given that the "second wave" in the UK started around late September, there's been enough lag time and if a second wave is to happen in India, it ought to be underway by now ... which doesn't seem to be happening. Also, Diwali didn't seem to change a thing .. which is also good. So right now, we're hopeful of recovery and reduction in fatalities, especially given vaccines are in sight. I continue to note that people are not too lax with WMD yet and that is likely a contributor as well. We sure could use a causal analysis that ties WMD (wash-mask-distance) practice to transmission rates.

Nov 9th: I'm starting to get a feeling that the recent ups/downs in case transmission might be an early indication of a second wave coming. The country-wide cases haven't been really bad, with daily cases going fown from about 50000/day to about 37000/day over the last week. Transmissions in Kerala seem to be coming down too, whereas transmissions in New Delhi are on the rise with an Rt around 1.4. Tamil Nadu as remained somewhat stable with daily cases slowly decreasing while the total number of active cases remains fairly steady at about 18000. States like Haryana where Rt itself is not only > 1 but is also on the rise might need to watch out and take precautions to bring transmissions down. The whole idea behind efforts to curtail spread is to buy time for vaccines and other treatments to get a chance to come out, like they're starting to happen.

Nov 2nd: Good to have one more update in. The daily cases in Tamil Nadu don't appear to be bad in the 2k range, but its Rt, though still below 1, is rising and nearing 1 too. So the low daily rate cannot be kept low by thinking that we're out of it. Thankfully, I'm still seeing reasonable mask wearing on the streets. While businesses continue to pay attention to social distancing, it does feel like people and businesses are tiring and going lax on these measures. In a grocery shop I usually go to, I'm no longer confident they're giving me an actual hand sanitizer .. it feels like a water spray and there's nobody enforcing social distance, so .. I'm just going to stop going there. It's just three personal things we need to keep in mind - WMD - Wash, Mask, Distance. Don't go easy on these folks .. because they're so easy to do there is no reason you shouldn't. The case rise rate in India used to be worse than the US and UK at one point, but that's all switched now and India is at the top. No reason to rejoice yet though, since we were hit by the virus with a bit of a delay which we should expect for this second wave too.

Oct 29th: The past week or two have been the period of what's being called the "second wave". India is likely lagging behind in that, so we should'nt rejoice yet that our cases aren't growing as fast as the "second wave nations". In particular, we've just had dussehra holidays across the country and we should expect a rise in number of cases due to increased contact during this holiday period. We're probably seeing a bit of that already, in that Tamil Nadu has now fallen out of the "states with top-5 daily cases" list above. A partial explanation for this is that this festival is far less intense than in the north, especially considering Kolkata. The display of "kolu" and the social invites that go along with it are rather muted (relatively speaking) and anecdotally I've also been seeing people sharing kolu pictures instead of inviting people home. Some have also done "zoom kolu visits". While not getting to socialize during the holidays is sad indeed, this degree of caution is not unwarranted. We will likely see an increase in Rt for India in the comming week or two, and indeed the values for the days since Oct 26th have been on the uptick. Though Tamil Nadu's Rt has been below 1.0 for several weeks now, there is a rise in Rt over the past week or so, parallel with the rise we're seeing in India, though the absolute value is still below 1.0, meaning transmission is reducing at a lower rate than it was a few weeks ago.

Oct 12th: It's been about 6 weeks since the full lockdown in India and various states was lifted. If there was going to be a resurgence due to the lifting, we should've seen it by now. The message of the relaxation of the lockdown has been to transfer the responsibility of safety back to the people .. and I do get the feeling that people continue to take the situation seriously based on what I see on the streets in Chennai (at least). People continue to wear masks even when on the streets, shops continue to enforce social distancing and masking, and while life is generally happening, main social gathering areas such as the beach continue to be closed. The beach is probably the safest gathering area to open up, but perhaps it is good to leave it "locked down" for a while until we know better. It isn't worth turning the beaches into superspreaders at this point when the medical system continues to operate near capacity in the given situation. Thankfully, the daily case rate in Tamil Nadu has been steady for a while now and hope it holds, or even better, goes down due to continued diligence. If you're in Kerala or Karnataka and are reading this, do adhere to the "WMD protocol" - "wash hands - mask up - distance yourself" and the transmission should go down again. Please also teach it as it is all too easy to assume immunity when we're really dealing with something quite a bit more than a regular flu.

Oct 4th: With the usual disclaimer about the use of Rt for an entire country, the daily case rate for India seems to be coming down over the past few weeks. It's been about a month since the full lockdown was lifted and so the effect of that should be visible by now. While we see the per-day cases for India going down, we see them going up for some states. For one thing, Kerala seems to have come back into the "leaderboard" after a fantastic initial run where they kept the cases nicely locked down. Tamil Nadu is sliding back out of the leaderboard with Rt slightly cruising below 1.0, but the spread in Rt estimates is large enough to ask for continued diligence. Maharashtra has had a tough run in the past several months in terms of absolute numbers, but the daily rate seems to be on the decline. Karnataka is putting itself back on the map. I wonder whether the rise in cases in Karnataka and Kerala is attributable to the weather shift. TN has also seen heavy rains in the recent weeks and generally cooler temperatures. Glad to see people masking up and social distancing still.

Sep 17th: Lockdown was lifted on 1st Sep. So this would be around the time we can expect to see the repercussions of the relaxation. It looks like there is small uptick in the Rt over the past 4 days pretty much across the states, but the estimation model is not reliable within a week of the present date. So we'll have to wait a bit longer (probably another 2 weeks) to get some more reliable patterns. We can expect the spread rate to increase. However, we now have about 89% recovery and about 1.7% mortality. In general we're seeing daily recovery exceed daily case rate on several days. So that's something positive perhaps. There are also reports of reduced virulence in the recent month. But we have to wait and see the impact.

Sep 1st: Tamil Nadu seems to have had a decent run in the past couple of weeks since the daily case rate has been mostly steady, as indicated by Rt hovering around 1.0 relatively closely compared to the weeks preceding these two. This is noteworthy since the lockdown in TN has been officially lifted today. That is also scary in some ways since the disease spread hasn't quite come down in all. However, hospitals are apparently reporting reduced virulence - i.e. cases being less severe - in the recent weeks. On the streets, activity seems to be getting back to normal, which is the "scary" bit. The lifting of the lockdown is basically a gesture from the government saying "now it's up to you all" and we need to continue to be cautious. I'm seeing reduced use of masks on the streets and increased density of people, although businesses seem to be sensible enough to continue taking the same social distancing precautions and mask requirements. People ... continue to stay safe. I'll continue to trak Rt over the coming weeks as we'll see the impact of the lifting of the lockdown in Tamil Nadu in particular.

Aug 17th: Looks like unless people really start a non-cooperation movement against COVID19, we will keep seeing evidence for what goes down will come up again. For now though, it is indeed heartening to see the curves dip below 1.0 for days at a stretch, at least, suggesting that the situation is perhaps coming under control, albeit slowly.

Aug 5th: Rt keeps oscillating as we go through weekly cycles of lockdown though it isn't entirely clear that it is caused by these cycles. We now have complete lockdowns on sundays in Tamil Nadu and a more "relaxed lockdown" during the other days .. till end of August. A question usually arises - were these lockdowns effective at all? While it is hard to answer in near-realtime, the longer term trends are somewhat telling .. especially when viewed at the country level.  When viewing the Rt graph for India (Caveat: It is less meaningful to consider a single Rt for a big country like India than for a city or state.) .. it looks like the lockdown imposition has kept Rt lower than it might've otherwise been .. though not as low as we'd like .. which is consistently below 1.0. At least on the surface, the lockdown appears to have served its purpose of spreading the load out for the healthcare system. Tamil Nadu also seems to be dipping below 1.0 more recently too, though, going by the past patterns, we can expect more cycles before it can get to go further down.

The entire credit to bringing Rt down cannot probably go to the lockdown itself. People everywhere cooperated by wearing masks in public, maintaining social distance and businesses mostly kept to the spirit of the protective measures by offering hand sanitizers at shop entrances, and by ensuring limited shop occupancy. These are the real causative factors that affect disease spread and so it would be proper to attribute some of the Rt reduction to these measures being mostly followed. Now, with suspicion that Covid19 may spread by air in some circumstances, the primary role of masks may have to shift from "protect others" to "protect self" and cloth masks may not suffice for that .. but the aerial spread factors are less understood at this point to comment any further.

One technical trivia about today's update - today's Rt numbers are calculated with the latest release of Julia - Julia 1.5 with all the packages used (primarily Turing.jl) updated to their current release versions.

July 31st: Increasing the time range of the Rt series for the country, it is interesting to see the impact of the lockdown around end of March. While Rt went down initially, it's been oscillating just a little above the 1.0 line, tempting us every now and then .. while the states and cities follow their own trajectories. As noted earlier (immediately below), we shouldn't take Rt going below 1.0 for a few days as a good sign and act to relax. It needs to go down and keep going down.

July 16th: A Times Of India article reports Rt below 1 for Chennai for a couple of weeks now and that "a mathematical model suggests the infection is no more an epidemic in the city".

However, as we've seen in the graphs above, falling below 1 and continuing to fall is what we need to see, because we've seen the number dip below only to rise again. (The picture for TN above should approximate Chennai's story.) Also, the uncertainty around the calculation also needs to be taken into consideration, which, as we see in the pictures above, is not narrow enough to declare victory I think. Caveat for these statements is that the Rt model used on this page is somewhat crude.

June 1st: It's been ups and downs for the critical states in India. While the daily rates are not too high compared to other countries, the Rt doesn't seem to be settling down but oscillating a bit above 1.0. We're now on to the second order of the exponential, in other words. Earlier, the cases would grow by a relatively constant number every day, but now the trend of the daily cases rate itself increasing is visible.

May 13th: The stabilization continues .. to the point that on the whole for India it is pretty darn close 1.0 and seems like continuing to dip. Tamil Nadu spread rate is reducing and so are Maharashta and Gujarat's but Delhi and Rajasthan seem to be dealing with a new spread?

May 9th: Looks like the case growth is starting to stabilize again, based on the Rt estimates .. which though delayed by a few days are a bit more reliable from a trend prediction perspective than they were prior to the May 7th update. For some more info around the change to the daily cases filtering considerations, see this thread.

May 7th: We've made one correction to the Rt estimation procedure which we believe gives better estimates near the end and was earlier biasing estimates to be lower systematically. This is due to the gaussian filtering we applied on the daily cases, which would hold the daily case values beyond the ends as constant in order to apply the kernel. This doesn't fit our case since we don't expect the daily case rate to stay fixed and if it did, Rt would be drive towards 1 near the ends. The solution is to filter the daily log ratio instead, since that would hold the ratio to be constant .. which is better than holding the daily cases to be constant. The revised Rt values for Indian states therefore is higher than before we applied this correction. This correction also means that the dip in Rt we're seeing for India as a whole is no longer an artifact of the smoothing operation.

# The usual "gaussian" filter that repeatedly applies 
# the [0.25,0.5,0.25] kernel.
filter(x) = [
    [0.75*x[1] + 0.25*x[2]];
    [0.25 * x[i-1] + 0.5*x[i] + 0.25*x[i+1] for i in 2:(length(x) - 1)];
    [0.25*x[end-1] + 0.75*x[end]]
]
filter(x,n) = if n === 0 x else filter(filter(x),n-1) end

fir2filter(x,coeff) = vcat([x[1]],[x[i] * coeff + x[i-1] * (1.0-coeff) for i in 2:length(x)])

# The "true" filter for our case which operates on the log ratio.
truefilter(x,n) = begin
    for i in 1:n
        x = fir2filter(x, 0.75) # Reduce excessive influence of latest data point.
    end
    tf = filter([log(max(1,x[i])/max(1,x[i+1])) for i in 1:(length(x)-1)],n)
    # Add back the ending value.
    vcat([x[end]*exp(v) for v in reverse(cumsum(reverse(tf)))],[x[end]])
end

May 6th: The growth in cases in India and in particular states such as Maharashtra, Gujarat, Punjab and Tamil Nadu has been ... very noticeable to say the least. Today, TN tops the charts on the transmission rate. Chennai leads the pack within Tamil Nadu due to a recent cluster detected at the Koyambedu vegetable market .. which now stands closed and tough contact tracing activity is happening around the cluster. There are other congregation events that have also been ground zero for bursts in the spread. TN has ramped up testing during the recent week and we're likely to see a growth in cases partially attributable to the testing increase (see covid19india.org for testing data). Hope some of these bursts will settle down soon and people start cooperating more strictly. See estimates of effective transmission rate for Indian states below.

Older Graph explanation: The common trend graphs show the cumulative cases or the day-on-day change in absolute numbers. These are informative. However, if we wish to understand how our interventions are doing, especially to get an idea of when it makes sense to come out of lockdown period, it is useful to see a a graph that shows whether we're improving. Till April 8th, we used day-on-day % change (averaged over a 5-day period) as an indicator. Now that the curves are starting to move towards lower day-to-day %age, the phase during which the countries "reach towards 0" can get stretched out. The difference between a 5% growth rate (14-day doubling period) and a 2.5% growth rate (28 day doubling period) can mean the difference between "we have to hold on" and "we may be ready to leave lockdown", but this difference isn't going to be very visible in the percentage graph. To make that clearer, the y-axis is now switched to indicate the mean doubling period instead. Now, the higher we go along that scale, the better we're doing.

The previous day-on-day % increase is retained in the graph below.

April 25th: The US and UK in the graph now have a two week doubling period, whereas India has inched forward to 9 day doubling period from an 8 day doubling period, over the past week. Not entirely clear the stringent lockdown is actually helping ... unless it will be far worse without lockdown. Some speculation - given that Singapore now has over 10k confirmed cases and Singapore is similar (and well connected) to Chennai, the number for India may climb to > 500k.

April 19th - May 6th: Rt values for Indian states (the "effective reproduction number") calculated according to the model described by Kevin Systrom (his jupyter notebook). We're looking for Rt below 1.0 to indicate a slowdown. However, we also have to pay attention to the uncertainty in the Rt estimates. The absolute value of daily cases matters. So it is also included in the tooltip shown when you mouse over each point. The graph now also includes the IQR - 25%tile to 75%tile range.

PS: The calculations were done using Turing.jl. The (entire!) Julia probabilistic model code is given below the table for your reference.

# Turing.jl model code for calculating $R_t$. You feed the daily
# counts as an array to the model and run the sampler to get the
# distributions of Rt in the "rt[n]" parameters of the chain.

using Turing, StatsPlots, Random, Distributions

covid_gamma = 1.0/7.0

# Calculate Poisson rate from the value of Rt and the known k.
# Reference: https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0002185
case_arrival_rate(k, rt) = max(1,k) * exp(covid_gamma * (rt - 1))

@model rtmodel(k, ::Type{T} = Vector{Float64}) where {T} = begin    
    # Create result vector we want to estimate
    rt = T(undef, length(k))
    
    # Priors
    rt[1] ~ Gamma(1.5)
    k[1] ~ Poisson(4.0)
    
    # The chain
    for t in 2:length(k)
        # Assume Rt can vary from day to day with a std deviation of 0.15
        rt[t] ~ Normal(rt[t-1], 0.15)
        
        # Fit the observed cases to the Poisson.
        k[t] ~ Poisson(case_arrival_rate(k[t-1], rt[t]))
    end
end

# Use latest 21 days data. Data for Kerala given as an example.
kerala_data = [5,1,8,0,2,3,0,2,3,0,0,1,12,12,15,28,14,9,19,39,6,20,32,7,24,21,9,11,8,13,8,9,12,7,10,2,3,8,1,7,1]
chain = sample(rtmodel(kerala_data[end-20:end]), NUTS(), 3000)

April 17th: It looks like the cases in the US and UK have begun to turn, with the US showing 0.91 week-on-week factor and the UK showing 0.98. India's cases are still growing week-on-week with a factor of 1.5.

April 14th: A possible good marker for the US this Tamil new year - it added (pretty much) the same number of cases in the last week than in the week before. A constant rate of case generation is perhaps easier to plan with .. and the case generation rate may go down from here too. Meanwhile, India still shows a week on week growth factor of 1.65.

April 13th: India cases count is still doubling every week.

April 11th: How are we doing week-on-week? .. meaning what's the ratio of number of cases we added this week to the number of cases we added in the week before? This ratio can give a perspective that's independent of the total number of cases and focus our attention on the case build up. For the three countries we're tracking, the ratios are - India(1.79), UK(1.49), US(1.16). At the very least, these ratios must go below 1 to indicate we're improving. If a country was in a lock down period last week, then as long as the ratio is > 1, it is probably better to continue the lock down period.

Below are these ratios for the various states in India. (Includes only states with more than 10 cases in the past two weeks.)

Updated April 27th
StatePrev weekThis weekChange %
bihar47164+249%
andaman and nicobar islands517+240%
kerala2961+110%
chandigarh510+100%
jharkhand2236+64%
jammu and kashmir98155+58%
odisha1929+53%
delhi571837+47%
maharashtra23323402+46%
west bengal187272+45%
andhra pradesh283375+33%
punjab6977+12%
uttar pradesh626689+10%
tamil nadu347365+5%
gujarat136713620%
rajasthan679609-10%
haryana5545-18%
madhya pradesh871605-31%
karnataka16195-41%
telangana280129-54%
uttarakhand115-55%
meghalaya101-90%

April 9th: The JHU "confirmed cases" time series for India continues to have anomalies (indicated in the April 6th note) that disrupt our understanding of the trend. So starting from 9th, the data for India is patched over from the excellent covid19india.org site.

April 8th: Added a "Doubled in: # days" tooltip when you mouse over a data point. This should give a feel for how the percentages translate to actual numbers. The doubling calculation is not based on the mean rate though. The mean rate will lag behind the actual numbers by a few days.

April 6th: There appears to be a discrepancy between the data presented by JHU and what's shown on covid19india.org for the 6th. JHU shows a spike of 1200 cases whereas covid19india.org shows 488. The daily changes for 3 days (4th, 5th and 6th) on JHU are 515, 506 and 1200 whereas on covid19india.org they are 579, 606 and 488.

April 5th: Temporarily switched to a 3-day window to view the impact of the Delhi cluster event on the India stats more readily.

April 4th: Made the graph dynamically pull data from the JHU github repo so it stays updated. The decline rate (1% every 2 days) for the three countries, as of today, doesn't seem very encouraging .. dragging the situation into a month or beyond.

April 2nd: Added the curves for US and UK, where we (Pramati) have offices. The uptick for India has worsened whereas the US seems to be in a clear downward trend, with the UK going down as well. Given the steady trend for the US from the 23rd, they may see no new cases after another 10 days or so .. given everyone keeps doing whatever it is that they're doing.
   Edit: An earlier version of the graph had gotten the UK numbers wrong.

April 1st: The curve is showing an uptick in the rate which is cause for concern. However this is perhaps triggered by the recent surges due to a cluster event in Delhi that spread to states. 50 of 57 new cases in TN are linked to the Delhi cluster event. We need to show extra diligence and bring the curve all the way down. (.. and no we aren't joking about any of this .. ever.)

March 30th: The downward trend line for India from the lockdown period (around 23rd March) seems fairly consistent.

The trend looks like the lockdown period is helping. A reduction of the growth rate from 20% down to 15% means the cases will double (roughly) every 5 days now with a 15% rate instead of (roughly) every 4 days. In 15 days, the drop from 20% to 15% will mean a 50% reduction in projected number of cases. Given that 27 deaths have been reported on March 29th and the mortality curve roughly follows the confirmed cases curve, a 20% growth rate over the next 15 days will put estimated deaths at 415, but with a 15% growth rate that is brought down to about 220.

Everyone who stayed at home diligently has contributed to saving those unknown 195 lives and helping the medical establishment by stretching out the epidemic by 20%.

March 15th to March 28th

Geometric mean day-on-day case growth rate during March 2020 for a few countries

The case numbers were picked from the JHU COVID resource centre's collected data. The decrease in (geometric) mean growth rate is observed across pretty much all these countries between the two periods of March 15th-21st and 21st-28th. Though the reasons haven't been teased apart yet - i.e. whether it is due to weather shift or the lockdown initiatives, with the latter being more likely - the trend gives hope while the rate numbers show that we still have way to go.

For India, the lockdown period mostly begin around March 23nd for states and March 25th country-wide, so the small decline we're seeing likely includes a hangover from the days before the lockdown and we'll know in the coming days (today being March 28th) what impact the lockdown has.