Something is weird about the data if they are annual all-cause mortality data.
For simplicity look at the age group 64-69 for the highest death rate batch. It is 7.32 per 1000. The normal death rate for this age group should be 9.9 per 1,000.
Something is weird about the data if they are annual all-cause mortality data.
For simplicity look at the age group 64-69 for the highest death rate batch. It is 7.32 per 1000. The normal death rate for this age group should be 9.9 per 1,000.
Yes, the healthy vacinee effect, in that those who were literally on death's doorstep did not get the jabs, because they were deemed unlikely to survive them. Let me illustrate with a hypothetical example of how much the healthe status of a cohort can affect the overall results:
Consider the following hypothetical scenario regarding people who do or do not get a treatment that is deemed risky to administer to people who are in very feeble health:
Group A: 100,000 person-years, 110 deaths
Group B: 100,000 person-years, 90 deaths
Looks like Group B did much better, right? Not so fastтАж
Say Group A included 10,000 individuals with very serious health conditions, 100 of whom died during the analyzed period, but only 1,000 of Group B were in comparably unhealthy condition, 60 of whom died during the analyzed period.
Then, among the healthy subsets, Group A had 10 deaths among 90,000 person-years, or 11.11 deaths per 100K person-years, as compared to Group B, which had 30 deaths among 99,000 person-years, or 30.30 deaths per 100K person-years, which is 2.73 times the Group A death rate.
Then, among the unhealthy subsets, Group A had 100 deaths among 10,000 person-years, or 1,000 deaths per 100K person-years, as compared to Group B, which had 60 deaths among 1,000 person-years, or 6,000 deaths per 100K person-years, which is 6 times the Group A death rate.
So, that is how a treatment such as a vaccine that increases on'e likelihood of death by several times over can appear to decrease one's likelihood of death, simply by giving it to a cohort of people who are in much better baseline health.
But that cannot be masked by all cause death rates, which one can't so easily categorize around..
Vaccinated people often have lower than baseline mortality because of the healthy vaccinee effect. The number of deaths is reduced even further during approximately the first 2-3 months after vaccination because of the temporal/time-varying HVE, so people spent a fairly large part of the 1-year observation period being impacted by the temporal HVE.
In the Czech record-level data unvaccinated had much higher ASMR than vaccinated people, so when my baseline was derived from the mortality rates among the total Czech population which also includes unvaccinated people, most batches got negative age-normalized excess mortality: sars2.net/czech3.html#Batch_study_by_authors_from_Palack_University.
In the NZ data I got -32% excess mortality for batch 34 and 8% excess mortality for batch 38: docs.google.com/spreadsheets/d/126_3eU6Vq6IOFr8SMq3rnbv5rrkN0kPYIyy_yBZmQ4g. I calculated the baseline mortality rate by taking a weighted averages of the total mortality rates for each age in 2021-2023 where the weight was the number of person-days under each age that were included in Barry's dataset.
So the total excess mortality of batch 38 was only about 8% above the baseline, so it's not unexpected for individual age groups to have a mortality rate below the baseline.
I also got negative excess mortality for batch 38 in ages 60-69:
Kirsch's mortality rate in ages 80-84 was about 0.0635 for batch 38 and 0.0252 for batch 34. So even batch 38 was only about 13% above the baseline, even though most of the observation period was in the year 2022 when there was elevated mortality because of COVID.
Another thing you probably missed is that Kirsch took the age of each person from the age column of his 4M CSV file, which is the age on December 2nd 2023 for people who didn't die or the day of death for people who died (which was in both cases calculated incorrectly as a floored division of the age in days by 365). However the age in the age column is on average about 1.4 years higher than the age of people during the 1-year observation period.
In 2015-2019 the total mortality rate was about 1041 deaths per 100,000 people for ages 65-69, 948 for ages 64-68, and 868 for ages 63-67. So the average of the last two values is about 17% lower than the first value.
In the following code I treated the age of each person as their age 182 days after vaccination, which was roughly the average age during the 1-year observation period. I used the total mortality rate of each age group in 2015-2019 as the baseline. However I still got negative excess mortality for ages 65-69 in batch 38:
Something is weird about the data if they are annual all-cause mortality data.
For simplicity look at the age group 64-69 for the highest death rate batch. It is 7.32 per 1000. The normal death rate for this age group should be 9.9 per 1,000.
What am I missing?
Yes, the healthy vacinee effect, in that those who were literally on death's doorstep did not get the jabs, because they were deemed unlikely to survive them. Let me illustrate with a hypothetical example of how much the healthe status of a cohort can affect the overall results:
Consider the following hypothetical scenario regarding people who do or do not get a treatment that is deemed risky to administer to people who are in very feeble health:
Group A: 100,000 person-years, 110 deaths
Group B: 100,000 person-years, 90 deaths
Looks like Group B did much better, right? Not so fastтАж
Say Group A included 10,000 individuals with very serious health conditions, 100 of whom died during the analyzed period, but only 1,000 of Group B were in comparably unhealthy condition, 60 of whom died during the analyzed period.
Then, among the healthy subsets, Group A had 10 deaths among 90,000 person-years, or 11.11 deaths per 100K person-years, as compared to Group B, which had 30 deaths among 99,000 person-years, or 30.30 deaths per 100K person-years, which is 2.73 times the Group A death rate.
Then, among the unhealthy subsets, Group A had 100 deaths among 10,000 person-years, or 1,000 deaths per 100K person-years, as compared to Group B, which had 60 deaths among 1,000 person-years, or 6,000 deaths per 100K person-years, which is 6 times the Group A death rate.
So, that is how a treatment such as a vaccine that increases on'e likelihood of death by several times over can appear to decrease one's likelihood of death, simply by giving it to a cohort of people who are in much better baseline health.
But that cannot be masked by all cause death rates, which one can't so easily categorize around..
Vaccinated people often have lower than baseline mortality because of the healthy vaccinee effect. The number of deaths is reduced even further during approximately the first 2-3 months after vaccination because of the temporal/time-varying HVE, so people spent a fairly large part of the 1-year observation period being impacted by the temporal HVE.
In the Czech record-level data unvaccinated had much higher ASMR than vaccinated people, so when my baseline was derived from the mortality rates among the total Czech population which also includes unvaccinated people, most batches got negative age-normalized excess mortality: sars2.net/czech3.html#Batch_study_by_authors_from_Palack_University.
In the NZ data I got -32% excess mortality for batch 34 and 8% excess mortality for batch 38: docs.google.com/spreadsheets/d/126_3eU6Vq6IOFr8SMq3rnbv5rrkN0kPYIyy_yBZmQ4g. I calculated the baseline mortality rate by taking a weighted averages of the total mortality rates for each age in 2021-2023 where the weight was the number of person-days under each age that were included in Barry's dataset.
A similar calculation is done by this R code:
> library(data.table)
> b=fread("http://sars2.net/f/bucketsbatchkeep")
> a=b[,.(dead=sum(dead),pop=sum(alive)),.(age=pmin(age,95),batch)]
> pop=fread("http://sars2.net/f/nzpopdead.csv")
> a=merge(pop[year%in%2021:2023,.(base=sum(dead)/sum(pop,na.rm=T)),.(age=pmin(age,95))],a)[,base:=base*pop/365]
> a[batch%in%c(34,38),.(excesspct=(sum(dead)/sum(base)-1)*100),batch]|>print(r=F)
batch excesspct
38 7.992103
34 -31.960710
So the total excess mortality of batch 38 was only about 8% above the baseline, so it's not unexpected for individual age groups to have a mortality rate below the baseline.
I also got negative excess mortality for batch 38 in ages 60-69:
> a[batch==38,.(excesspct=(sum(dead)/sum(base)-1)*100),.(age=age%/%10*10)]|>print(r=F)
age excesspct
0 -100.000000
10 43.240391
20 -34.224133
30 -38.213705
40 -14.755000
50 -15.611952
60 -6.656759 # ages 60 to 69
70 14.668249
80 18.634481
90 10.690141
Also in 2015-2019, the total mortality rate of ages 80-84 was about 0.0560 deaths per year:
> pop=fread("http://sars2.net/f/nzpopdead.csv")
> pop[year%in%2015:2019&age%in%80:84,sum(dead)/sum(pop)]
[1] 0.05599301
Kirsch's mortality rate in ages 80-84 was about 0.0635 for batch 38 and 0.0252 for batch 34. So even batch 38 was only about 13% above the baseline, even though most of the observation period was in the year 2022 when there was elevated mortality because of COVID.
Another thing you probably missed is that Kirsch took the age of each person from the age column of his 4M CSV file, which is the age on December 2nd 2023 for people who didn't die or the day of death for people who died (which was in both cases calculated incorrectly as a floored division of the age in days by 365). However the age in the age column is on average about 1.4 years higher than the age of people during the 1-year observation period.
In 2015-2019 the total mortality rate was about 1041 deaths per 100,000 people for ages 65-69, 948 for ages 64-68, and 868 for ages 63-67. So the average of the last two values is about 17% lower than the first value.
In the following code I treated the age of each person as their age 182 days after vaccination, which was roughly the average age during the 1-year observation period. I used the total mortality rate of each age group in 2015-2019 as the baseline. However I still got negative excess mortality for ages 65-69 in batch 38:
> nz=fread("https://github.com/skirsch/NewZealand/raw/main/data/nz-record-level-data-4M-records.csv.gz")
> for(k in grep("date",names(nz)))nz[[k]]=as.Date(nz[[k]],"%m-%d-%Y")
> age=\(x,y){class(x)=class(y)=NULL;(y-x-(y-789)%/%1461+(x-789)%/%1461)%/%365}
> nz[,vaxage:=age(date_of_birth,date_time_of_service+182)]
> a=nz[,.(cmr=sum(date_of_death-date_time_of_service<365,na.rm=T)/.N),.(batch=batch_id,age=agecut(vaxage,ages))]
> a=merge(pop[year%in%2015:2019,.(base=sum(dead)/sum(pop,na.rm=T)),.(age=agecut(age,ages))],a)
> a[batch%in%c(34,38),xtabs(round((cmr/base-1)*100)~age+batch)[,2:1]]
batch
age 38 34
0-39 -25 80
40-44 -41 74
45-49 8 14
50-54 -41 5
55-59 -3 -25
60-64 -4 -35
65-69 -14 -40 # batch 38 has about -14% excess mortality in ages 65-69
70-74 1 -42
75-79 16 -35
80-84 24 -50
85-89 2 -41
90+ 0 -37