Mumbai’s Covid-19 epidemic could be the largest Covid-19 city epidemic in the world to date. By August 14, an estimated 5 million to 6 million people in the city had been infected and there had been 7,035 recorded Covid-19 deaths – 15% of India’s total. Taking into account possible undercounting of deaths, the real toll could be considerably greater. How did the city reach this point?

Attempting to trace Mumbai’s Covid-19 story teaches us a number of lessons. It shows us that the coronavirus is not a great leveller and spreads much more rapidly in poor housing. There are probably no magic bullets when it comes to controlling Covid-19 in slums. And it teaches us to be cautious about the stories we spin around data: for example, case numbers in different areas may not accurately reflect the geographical spread of the disease, and naively calculated fatality rates could be very wrong.

The early days of the epidemic

Mumbai recorded its first Covid-19 case on March 11 and its first death on March 17. By March 31, it had reported 164 cases and nine deaths. Cases grew exponentially during the first weeks of the national lockdown that was imposed from March 25, quadrupling every week or so, before starting to slow in mid-April. Deaths grew at a similar pace, but then slowed too, rather more dramatically than cases – that’s an important story for later.

Did the early case numbers reflect the true situation in the city? Modelling using data now available from Mumbai’s recent seroprevalence study suggests not. It tells us that:

  1. Covid-19 was likely circulating at low levels in the city by mid-February, almost a month before the first recorded case.
  2. There were very likely over 50,000 infections in the city by the end of March. Early detected cases were just the tip of the iceberg.

Such estimates arise from a process of tracking back to understand how fatality and infection numbers reached the levels they did given what we know of Covid-19. They tell us that the public and hidden faces of the disease diverged very early on.

Health workers wait to start Covid-19 testing. Credit: Indranil Mukherjee/AFP

Spread in the slums, most of it missed

Two useful things that the recent serological survey indicated are that most of the city’s infections have occurred in the slums and the vast majority of infections have gone undetected.

By early August, a mere 2% or so of infections had been detected in the city as a whole. This is perhaps not surprising, given how residents faced extreme difficulty in getting Covid-19 tests.

The first reported case in Mumbai’s slums came on March 18. The first case in Dharavi, Asia’s second-largest slum, came on April 1 and was also Dharavi’s first death. Although reported cases in the slums grew fast in April, we now know that detection of infections in the slums was even poorer than the city average.

Although by late June, the great majority of the city’s infections had occurred in Mumbai’s slums, this fact did not jump out from data available at the time. The serological survey told us that close to 60% of Mumbai’s slum population may have been infected as against about 17% of the non-slum population, implying that about 70% of the city’s infections had occurred in the slums. And yet, there was no strong correlation between cases in a given municipal ward and the extent of the slum population in the ward.

The reasons for poor case detection in the slums could, in part, be a higher proportion of mild or asymptomatic infections in the younger slum population. But this is not the whole story. By early August, Dharavi, despite being in the spotlight, had a case fatality rate of 9.6% as against the city average of 5.5%, suggesting that even symptomatic cases were more likely to be missed in the slums than in non-slum areas.

Peak and decline in the slums

After rising sharply to reach about 1,500 on May 22, daily new cases in the city started a slow decline.

The slowdown was driven, no doubt, by a decline in disease levels in the slums. How did this happen? It is true that considerable effort from both public authorities and the community went into attempts to contain Covid-19 in the slums. But the data suggests that containment measures at most marginally slowed the spread of disease in the slums.

In fact, close to half of Mumbai’s slum population may already have been infected by late May, and probably the most important factor in cutting transmission in the slums was the acquired immunity that came with such high infection levels. Moreover, an estimated seven lakh migrant workers trapped by a poorly planned lockdown eventually managed to leave Mumbai during May: the resulting reduction in population density no doubt helped too.

Spread in non-slum areas

Given the improving situation in the slums by late May, why has the citywide slowdown after May been so weak?

The answer has already been hinted at: Mumbai was experiencing two interlinked epidemics – a rapid one in the slums and a slower one in non-slum areas. As disease declined in the slums, it continued to pick up in middle-class neighbourhoods where mitigation had more successfully slowed the early spread.

In middle-class Mumbai, the “leaky localisation” described in an earlier piece was occurring: lockdown had reduced transmission, but disease was still gradually entering new localities and new buildings, with new households becoming vulnerable to infection.

This is seen in the steady rise in the number of active sealed buildings in the city from about 3,000 in late May to over 6,000 in early July. These numbers have seen only a modest decline since then.

We’ll see more circumstantial evidence of the shift of Covid-19 to non-slum areas when we examine the age-distribution of deaths in the city over time.

Fatalities and fatality undercounting

The story of Mumbai’s Covid-19 deaths is troubling, to say the least. Even estimating when fatalities peaked is nearly impossible, given Mumbai’s fatality undercounting and reconciliation.

After early exponential growth, recorded fatalities in Mumbai slowed sharply in mid-April. There was a rapid fall in the city’s case fatality rate (the ratio of fatalities to recorded cases of infection), and modelling indicated an even more dramatic apparent fall in its infection fatality rate – the true proportion of those infected who were dying. City officials acknowledged this fall, and their estimates of its scale are consistent with modelling; but they presented it – without evidence – as a victory in the battle against the disease.

Some part of the explanation for the apparent fall in fatalities may have been a shift in late March from very early spread in housing societies to spread in a younger slum population with consequently fewer fatalities. But this was not all: the drop followed a change in death reporting protocols, and the data had strong signs of an artificial suppression of fatalities.

This view was vindicated when, during June, there was a major “reconciliation” and about 1,700 “old” fatalities were added into Mumbai’s numbers. Little explanation was given, and the added fatalities, although numbered in daily bulletins, were not dated. But the scale of the reconciliation confirmed that fatality undercounting had been a major problem. Modelling suggests that the reconciliation was incomplete and the possibility remains that despite the correction Mumbai has counted only a fraction of its Covid-19 fatalities.

One side-effect of the reconciliation was to make tracking Covid-19 deaths in Mumbai much harder. Omitting the single day spike in reconciled deaths on June 16 gives an apparent peak in fatalities in late June, but the true peak was probably earlier and less pronounced. What is clear is that the decline in deaths – like that of cases – has been slow.

Infection fatality rate in Mumbai

Although Mumbai has recorded more fatalities than any other Indian city, the actual number may appear surprisingly low given the large numbers of infections. After Mumbai’s serosurvey, misleading estimates of 0.05%-0.10% for the infection fatality rate of Covid-19 in the city were widely quoted. These both ignored possible death undercounting and were based on data from wards not representative of the city as a whole.

As a sanity check, an infection fatality rate of 0.05% taken together with the recorded death toll by mid-August would imply that 14 million people – more than the entire population of the city – had been infected with Covid-19.

Ignoring undercounting, but correcting for the demographic structure of the city, gives values for infection fatality rate of Covid-19 in Mumbai at about 0.11% to 0.12%. If we acknowledge various plausible levels of undercounting consistent with early epidemic data, we find that the infection fatality rate could be 0.3% or higher. Suffice it to say that more data is needed before we can definitively estimate a value for the infection fatality rate in the city.

Younger people were dying

Going beyond crude values of the infection fatality rate and examining age groups separately, we find both unexpectedly many fatalities among people who are 40 to 60 years old, and unexpectedly few in the over 70s.

By August 10, about 43% of all recorded Covid-19 deaths in Mumbai had been in people under 60. By contrast, the figure for Spain is 5%. Correcting for Mumbai’s younger population, we should expect 15% to 20% of Mumbai’s deaths to be occurring in the under-60s, a far greater proportion than in Spain, but nowhere near 43%.

Earlier, this anomaly was even more pronounced: during May, a full 54% of all Covid-19 deaths in the city were in the under-60s. Only in June did this proportion start to decline, approaching 30% in early August. This very pronounced change provides more circumstantial evidence of Covid-19 spreading in a younger (slum) population during April and May, and gradually moving to an older (non-slum) population from June.

But it may also indicate that Covid-19 fatalities were being disproportionately missed in the elderly population of the city with deaths possibly being attributed to other causes or “comorbidities”. At the moment only anecdotal evidence exists for greater death undercounting in the elderly, and the extent to which this might have happened remains to be discovered.


Mumbai’s data paints a picture of rapid early spread in the slums and slower spread in middle-class localities. It appears that as far as the virus was concerned, there were two cities, divided along lines of housing poverty. Lockdown almost certainly slowed the disease in housing societies. On the other hand, while causing immense hardship to the city’s poor and migrant workers, it did little to slow disease in their localities.

Of course, this is not the whole story. Apart from variation along class lines, there has also been variation along geographical lines. While both slum and non-slum wards in the geographical centre of the city were hard hit early, the fastest growth in cases in early August was in non-slum wards in both the far south and far north of the city.

Mumbai’s epidemic will no doubt continue to wind down slowly. Hopes for a more rapid decline rest on mitigation proving more effective in non-slum areas than in the slums. But the shift in the epidemic to non-slum areas has coincided with the easing of lockdown, and it is not clear how these competing effects will add up.

What does Mumbai’s story teach us?

Firstly, like many other communicable diseases Covid-19 spreads most easily and rapidly in poor quality and high-density housing. If the urban poor are at all protected it is, ironically, because migration and the gap in life expectancy have led to younger populations in slums, which could lower fatality rates. But huge inequalities in access to healthcare and, possibly, long-term effects of poverty on health could cancel out this “advantage”. Without data on excess mortality broken down by age, occupation and locality, it would be simple-minded to assert that fatality rates amongst the urban poor were lower than amongst the urban middle-classes.

A second lesson is that recorded cases need not track infections, and using case numbers to tell stories about spread may be misleading. The likelihood of getting tested depends in part on class, and as the use of private testing increases, we should expect a growing gap between the detection of infections in marginalised communities versus relatively well-off ones.

Thirdly, Mumbai’s data suggests we should treat stories of low fatality rates with scepticism. To make sense of fatality data we need to break it down by age, understand the populations in which disease is spreading, and take possible underreporting into account.

Finally, there are no simple solutions for the control of Covid-19 in slums. An intense public health effort was mounted, but despite this the disease spread rapidly and widely. The effects of skewed urban development, and deep and long-standing inequalities, cannot be reversed through even the most well-meaning short term measures.

Murad Banaji is a mathematician with an interest in disease modelling. A fully referenced version of this article is available here.