Life expectancy is an important variable for assessing the general health of a population. Life insurance companies use it for risk calculations. It is all the more astonishing that it plays nearly no role in the current discussion on excess mortality during the C19 pandemic and the subsequent vaccination campaign.
Life expectancy is relatively difficult to calculate. The mortality risk has to be determined from death and population figures for each individual year of life. A hurdle is that data are often only available in age cohorts. So the missing values have to be interpolated. Using the mortality risks, a fictitious newborn cohort is projected forward year by year until all have died. A weighted average value is calculated from those who died each year in this modeled time series, yielding the life expectancy.
Life expectancy in Germany increased for many years until 2020, allthough this trend seemed to be gradually approaching a saturation point, which might be around 82 years (Fig. 1).
Fig. 1: Annual values of life expectancy in Germany with fit (blue). The fit did not respect the values for 2021 and 2022.
The regression was calculated over the years 2000 - 2020 using an exponential term (exp(-x)). The fit is excellent with normally distributed residuals. The red points of the years 2021 and 2022 are clearly too low and it can be shown that this difference from the expected fit is highly significant. They both actually rank below the 99% CI. The year with the highest life expectancy so far was 2019. A remarkable result is that 2020 ranks second. It is obvious that the C19 pandemic had no detectable effect on life expectancy in Germany in 2020.
Of course, values from shorter periods can also be calculated. In this way, a differentiated assessment along the time axis becomes possible. Destatis, the German statistical authority, provides data for individual weeks. So let's examine down to this level. I have performed an STL decomposition in R for this purpose. It splits the signal into a seasonal part, a trend, and a remainder (Fig. 2).
Fig. 2: Time series decomposition, weekly data
The time series resembles the course of the death figures, but mirrored vertically. The signal decomposition clearly identifies a seasonal component and the trend curve described above is correctly worked out. Heat and flu waves leave nadirs in the remainders, which seem to become stronger in recent years, possibly as a consequence of the aging of society.
The development since 2021 deserves to be examined in more detail. For this purpose, an ARIMA model was calculated from the time series 2016 - 2020 and thereof a forecast for 2021 - 2023 (Fig. 3).
Fig. 3: Time series of life expectancy and expected values
In the detailed view below, many of the anomalies already discussed in an earlier article are visible, e.g., winter death waves, unusual dips in summer, and especially the very suspicious dip in early summer 2021. What happened in the last three quarters of 2022 seems dramatic, and one can only hope for an improvement in the future.
Last but not least, an estimate of the loss of lifetime can be made. The average loss of life expectancy was 0.56 years in the period from 2021 to 2022, and about 2 million people died. This results in a total of 1.1 million years of life lost.
These Considerations cannot be fundamentally wrong. The German pension insurance (Deutsche Rentenversicherung) reports a surplus of billions in 2022.
So if I want to calculate life expectancy for 2022, I would
- create a newborn cohort (excact size doesn't matter here I suppose)
- calculate the risk of death for each age group, using "deaths per capita in 2022"
- then I just go through the risk array, remove a proportion of individuals from the cohort each year (risk=proportion removed?) until they're all gone.
- for each age I use the number of individuals that were removed as my weight for the respective age
- add all elements (weights applied) up
- divide by the sum of all weights
Right? I always wanted to know how this works.