  Working in the multi-type Galton-Watson branching-process framework we
analyse the spread of a pandemic via a most general random contact graph. Our
model consists of several communities, and takes an input parameters that
outline the contacts between individuals in different communities. Given these
parameters, we determine whether there will be a pandemic outbreak and if yes,
we calculate the size of the giant--connected-component of the graph, thereby,
determining the fraction of the population of each type that would contract the
disease before it ends. We show that the disease spread has a natural evolution
direction given by the Perron-Frobenius eigenvector of a matrix whose entries
encode the average number of individuals of one type expected to be infected by
an individual of another type. The corresponding eigenvalue is the basic
reproduction number of the pandemic. We perform numerical simulations that
compare homogeneous and heterogeneous disease spread graphs and quantify the
difference between the pandemics. We elaborate on the difference between herd
immunity and the end of the pandemics and the effect of countermeasures on the
fraction of infected population.
