19 Comments

You wrote that on my website I "explained that the following was an ASMR without any reference population being loaded". However in the code you showed, I used the resident population estimates from the 2021 Czech census as my reference population.

I think the word "standard" in a "standard population" means that it's a signpost against which the age-standardized mortality rate is calculated, and not necessarily that it's some established standard that has been defined formally.

In English the word "standard" has multiple meanings, but in other languages the word for a standard population does not have a connotation of a standard in the sense of an ISO standard. For example the Finnish term for ASMR is "ikävakioitu kuolleisuusaste" which literally means something like "age-defaulted mortality degree", and the Finnish term for a standard population is "vakioväestö" which literally means "default population".

And anyway, if I calculate ASMR using a non-standard standard population, what am I supposed to call it if I'm not allowed to call it ASMR?

I asked ChatGPT: "what is a term for a weighted average of age-specific mortality rates where the weight is the number of people that are included in each age group during a reference year like 2020". But it answered: "The term for a weighted average of age-specific mortality rates where the weights are the number of people in each age group during a reference year is known as the Age-Standardized Mortality Rate (ASMR). Age-standardized mortality rates are used to compare mortality rates between populations that have different age structures. This method adjusts for age by applying the age-specific mortality rates of a study population to a standard age distribution. The weights, in this context, are the population numbers in each age group from a reference year (e.g., 2020)."

If you calculate ASMR for the Czech Republic at Mortality Watch, it uses the 2020 Czech population as the standard population by default (which is not any standardized standard): https://www.mortality.watch/explorer/?c=CZE&v=2.

You wrote that you "succeeded in having him admitting his mistake" because I said that I sometimes used a non-standardized standard population to calculate ASMR. But it wasn't any admission of a mistake, because I don't think the standard population for ASMR has to be any standardized standard population like ESP2013.

---

You wrote: "To calculate the date of birth, he picks a random birth date corresponding to the birth year, for each subject… which is a great way to ensure his code will be impossible to reproduce, and that the population & resulting summaries will change on each iteration of his script." However I'm setting a seed in my code before I generate the random birthdays: sars2.net/czech.html#Bucket_analysis.

---

You wrote: "From a second file provided by Eurostats, he picks his reference population - being the 2021 CZ data." In the plot I used the resident population estimates in the 2021 Czech census as my standard population. But I didn't get them from Eurostat but from the website of the Czech Statistical Office: https://vdb.czso.cz/vdbvo2/faces/en/index.jsf?page=vystup-objekt&z=T&f=TABULKA&skupId=4449&katalog=33517&pvo=SLD21022-VSE&pvo=SLD21022-VSE&str=v335.

---

You wrote: "He then employs various hacks & smoothing to make the gum stick". But what hacks did I employ? I just calculated ASMR the regular way, but my plot showed daily data so of course it made sense to display it as a moving average.

On Twitter you wrote: "I hate ASMR and never uses it, my point is that this calculation isn't an ASMR, and will never be an ASMR. Simply not the same math applied, making the chart titles misleading." But when I asked you to explain how my math was different from regular ASMR, you didn't explain it. And I didn't find any place where you explained it in this Substack post either. You just said that I applied "hacks" to calculate ASMR but you didn't explain what the hacks were. But if I'm using the regular formula to calculate ASMR but I simply use a non-standard standard population instead of a standardized standard population, the math should still be the same.

I'm calculating ASMR as a weighted average of age-specific mortality rates, where the weight is the number of people from each age group that is included in the standard population. For example here my standard population was the estimated Czech resident population on January 1st 2020 by single year of age (where ages 100 and above were aggregated together):

> library(data.table)

> t=fread("http://sars2.net/f/czpopdead.csv")

> t=merge(t,t[year==2020,.(std=pop/sum(pop),age)])

> t[,.(asmr=round(sum(dead/pop*std)*1e5)),year][year>=2015]|>print(r=F)

year asmr

2015 1164

2016 1105

2017 1114

2018 1105

2019 1076

2020 1209

2021 1305

2022 1113

---

You pointed out that the record-level data might be missing vaccination records for people who died in case the database record for the vaccination could not be joined with the database record for the death.

That might be the case, but the yearly number of deaths and yearly number of vaccinations in the record-level data are both identical or nearly identical to other sources.

The Czech Statistical Office has published Excel files which show the yearly number of deaths by ICD code, age group, and region: https://csu.gov.cz/produkty/zemreli-podle-seznamu-pricin-smrti-pohlavi-a-veku-v-cr-krajich-a-okresech-fgjmtyk2qr.

I combined the Excel files into a single CSV file here: sars2.net/czech2.html#Deaths_by_ICD_code_region_age_group_and_year.

The yearly number of deaths in the Excel files was identical to yearly number of deaths at Eurostat in 2020-2022. And both were otherwise identical to the record-level data except the record-level data was only missing a single death in 2021:

> rec=fread("curl -Ls github.com/skirsch/Czech/blob/main/data/CR_records.csv.xz|xz -dc")

> reclev=rec[,.(reclev=.N),.(year=year(DatumUmrti))]

> eurostat=fread("http://sars2.net/f/czpopdead.csv")[,.(eurostat=sum(dead)),year]

> icd=fread("http://sars2.net/f/czicd.csv.gz")[,.(icd=sum(dead)),year]

> merge(icd,merge(reclev,eurostat))|>print(r=F)

year icd reclev eurostat

2020 129289 129289 129289

2021 139891 139890 139891

2022 120219 120219 120219

This calculation also shows that in CSV files published by the Czech Ministry of Health, the number of vaccine doses given by up to the end of 2023 is nearly identical to the record-level data: sars2.net/czech2.html#Number_of_vaccine_doses_by_type_in_record_level_data_compared_to_MoH_data.

This PDF describes the national health information system used in the Czech Republic (NZIS) along with the "infectious disease information system" (ISIN) which contains information about COVID cases and vaccines: https://vladci.cz/archive/covid/106/UZIS_2022-02_Struktura_NZIS_106.pdf.

---

You wrote that I aggregated together ages 0-4 even though most deaths in ages 0-4 are in age 0. But that was actually a good point to criticize, and I have switched to treating 0 and 1-4 as separate age groups in some of my newer scripts for the Czech data.

---

You wrote that Eurostat's population estimates for January 1st 2023 were "census data". But I think the population estimates also incorporate other data which was not part of the publication for the 2021 census, so it's not necessarily accurate to call them "census data".

The dataset has resident population estimates on December 31st 2022 by age group, region, and sex: https://data.gov.cz/datová-sada?iri=https%3A%2F%2Fdata.gov.cz%2Fzdroj%2Fdatové-sady%2F00025593%2Fa129a5408e8e5fd99497e9a22c39775e. I now found that the total population size in the dataset is identical to Eurostat's population estimate for January 1st 2023:

> system("wget csu.gov.cz/docs/107508/a53bbc83-5e04-5a74-36f9-549a090a806e/130142-24data051724.zip ;unzip 130142-24data051724.zip")

> pop=fread("130181-23data2022.csv")

> pop[uzemi_typ=="stát"&is.na(vek_txt)&pohlavi_txt=="",hodnota] # region type is whole country, age is empty (all ages), and sex is empty (both males and females)

[1] 10827529

> fread("http://sars2.net/f/czpopdead.csv")[year==2023,sum(pop)]

[1] 10827529

---

You posted a plot which showed that in ages 10-24 unvaccinated people had higher ASMR than vaccinated people. But it might be because of the healthy vaccinee effect, because if for example you look at single years of age in the age range of 10-24, people who died from a suicide or drug overdose were probably less likely to be vaccinated than other people with the same age (but if you compare ages 10-24 as a whole then it's of course biased because people at the upper end of the age group are more likely to die of a suicide but they're also more likely to be vaccinated).

It might be a coincidence, but your plot actually showed that unvaccinated ASMR had a peak around February 2022, which was around the same time when hospitalizations for COVID peaked in ages 0-11, 12-17, and 18-27: http://sars2.net/czech2.html#Hospitalizations_peaked_in_2022_in_the_youngest_age_groups. In ages 80+ my moving average for daily hospitalizations peaked in November 2020, but it peaked in March 2021 in ages 60-79, 40-59, and 20-39, and it only peaked around February 2022 in ages 0-19. So in younger age groups that got vaccinated later, the hospitalizations also peaked later.

However if you look at only unvaccinated people, the hospitalization rate remained high in February 2022 even in the oldest age groups: sars2.net/czech3.html#Hospitalizations_by_age_group_and_vaccination_status.

There's not enough COVID deaths in ages 10-24 to reliably use COVID deaths as the outcome for estimating vaccine efficacy, but there's a lot more hospitalizations than deaths. In the file `nakazeni-hospitalizace-testy.csv` there's 4,686 hospitalizations in ages 0-11, 1,074 in 12-15, 666 in 16-17, and 2,899 in 18-24.

Expand full comment

First things first; although I'll leave you as planned a full 24 hours to reply; I don't know how to state otherwise that how I already did multiple times :

["I'm not interested in your spat with Jikky".]

McKernan & the Mouse are working together & exchanging politely.

You made yourself irrelevant.

End of story.

As announced, once these 24 hours are expired I'll block you & read you the same way I do with the irrelevant propaganda shills who aren't even funny. That will spare me "you randomly popping on my timeline to poison the well".

So while I'll pin this one, I deleted your out-of-context comments, archived here:

https://ibb.co/k8y23mB

https://ibb.co/pb8f87Z

https://ibb.co/QCmDqDZ

They aren't related to this article and won't take the time to explain you why you're childish & wrong. Take your useless rants elsewhere.

If a post contains "Jikky" or "Beagle", it'll be gone before I read it.

So, to this comment now.

--> The first 2081 characters of your reply are total gibberish and can be disregarded, given that I already have answered it.

- I don't care about how it sounds in Finnish (no offense for this admirable people).

- I don't care about what ChatGPT, the voice of its master - says.

- I don't care about US-Ben, a german chaos agent, being totally incompetent and making the same error you did.

Ben is joke-material, and I blocked him for this very reason, before he claimed to have blocked me because I would have been "threatening him".

So he isn't just incompetent, he is also a liar.

I linked you papers, definition, code & showed you how the result was drastically different.

If it's still not clear, I'm not responsible for your incapacity to admit you're wrong.

What's even the point of standardizing a population toward itself 1 or 2 years before instead of simply using rates of the ongoing year ? This is several layers of stupid.

Pulling me another Panda or literature from the post-surgisphere era is of no interest to me, none reviews that decently anyway, confer the Pfrauds.

--> Next section, indeed I had missed the seed. A better, not random way to handle the issue would have been to analyze the births distribution in CZ, and distributed the population on the adequate months of births by incremental order.

Anyway, a bad point removed & footnoted.

--> Next section, you're correct, you used the CZ census instead of the almost similar file communicated by Eurostat. I edited this error & left a footnote.

--> Next section, I'm talking about lines ensuring all dates and age groups are covered, removing duplicates. "Various hacks" might be imprecise but that's how I felt rereading uncommented code with obfuscated variables. Making sure your code is near unreadable is kinda the opposite of the point of publishing open code.

--> Next section "You wrote: "He then employs .. 2022 1113". Back to ASMR. Refer to the first part of my reply.

"You pointed out ... and vaccines: https://vladci.cz.."

--> I don't care about the consistency of several bad files forwarded by the same statistical institute if they don't correlate to reality. Demonstrating that observational data is absolute poo, maintained by statisticians that I wouldn't use to clean my toilets, then used to cover fraudulent trials & a product which should never have been authorised is precisely my point.

--> Next section, great, that's at least one thing we had you understanding today.

"it's not necessarily accurate to call them "census data"

--> Correct, edited & footnoted.

"people who died from a suicide or drug overdose were probably less likely to be vaccinated"

--> Your jab-pusher bias is once again transparent.

Why would people resisting the propaganda & terror instead of rushing to a toxic, untested & contaminated jab like dumb chicken would they be more likely to suicide ? Could the spike in unvaccinated deaths precisely when the jabs are rolled out instead result of miscategorized recently vaccinated deaths instead ?

"There's not enough COVID deaths in ages 10-24 to reliably use COVID deaths as the outcome for estimating vaccine efficacy"

--> But somehow you imply that the effects observed on the curve for the elder age groups, and which I dismantled explaining precisely how these errors would inevitably occur in real life, are due to this immeasurable vaccine efficacy in the youngs ?

Once more I can only note you cautiously avoided the inherent bias of real life data I developped.

Or the fact that the most distributed product in CZ, Pfizer/BioNTech's, had defrauded every step of its way to arrive to the market.

If you answer with another book, please make it on point.

Expand full comment

More on this troll and his bad influence on Steve Krisch you may find here:

https://tkp.at/2024/08/06/spikevax-gefaehrlicher-als-comirnaty-steve-kirsch-greift-daneben/comment-page-1/#comment-168672

English autotranslation is provided there.

henjin also provided several lies in the comments.

Expand full comment

When I tried to run your calculate_asmr.pl script, it failed at first because it referred to czbucketsdaily.csv but your repository contained czbucketsdaily.csv.gz.

But anyway this line in your code is wrong: `$deaths_per_100k_ASMR = $deaths_per_100k * $standard_percent / $age_group_percent_of_total;`. It should be `$deaths_per_100k * $standard_percent / 100 * 365 / ($rolling_days + 1)`.

After I fixed the line, your Perl code produced the same result as my R code here: sars2.net/czech3.html#Reply_to_Substack_article_by_canceledmouse.

You forgot to divide deaths with 11 after calculating the sum for the rolling average. And the population sizes were in person-days, so you have to multiply the deaths per 100,000 person-days by 365 to get deaths per 100,000 person-years. Also you forgot to divide the population percentage by 100. And a division by the "age group percent of total" is not part of the ASMR formula.

Also my code calculated a 21-day centered moving average for both population size and deaths, where the window extended 10 days into the past and 10 days into the future. But your code calculated an 11-day moving average for deaths where the window extended 10 days to the past, and you didn't use a moving average for the population size.

Expand full comment

You're correct on the formula error - a good symptom I need holidays.

I haven't claimed to use include 10 days ahead from a date, anywhere - I had edited the chart title - and this kind of excessive smoothing, aside for obfuscating alert signals, is irrelevant.

I remain correct on the fact that - although the shape gets closer - ASMR is significantly different from your charts (Y's max being half of yours).

Along with the fact that your bias for pro-jabs is transparent, and that you systematically dodge topics of authorization frauds, and obvious observational data flaws.

Expand full comment
User was indefinitely suspended for this comment. Show
Expand full comment

No need to say "I'm sorry" or "I leave the analysis to" when you blatantly disregard obvious conclusions and parameters to keep gas-lighting the public with your excessive smoothing or undocumented data-hacks.

Your position is therefore "my calculations were irreproachable".

It should be easy to judge, given there is an archive :

https://web.archive.org/web/20240718214004/https://sars2.net/czech.html#ASMR_by_month_and_vaccine_type

Pleasant future to you - out of my air.

Expand full comment

Am I reading your analysis correctly from the Czech data?

Total 6,809 individuals Dead, of which 78.3% were jabbed with one of 5 brands?

Was that based on the last shot for each person?

Expand full comment

There's 389,022 deaths, out of which 143,958 are in vaccinated people and 245,440 are in unvaccinated people. But more than half of the unvaccinated deaths are in 2020:

> rec=fread("curl -Ls github.com/skirsch/Czech/blob/main/data/CR_records.csv.xz|xz -dc")

> rec[!is.na(DatumUmrti),.(vax=rowSums(!is.na(.SD))>0,year=year(DatumUmrti)),.SDcols=patterns("Datum_")][,.(dead=.N),.(vax,year)][order(vax,year)]|>print(r=F)

vax year dead

FALSE 2020 129289

FALSE 2021 85412

FALSE 2022 30739

TRUE 2021 54478

TRUE 2022 89480

Expand full comment

Thanks, so what were the numbers for last shots before Death by brand?

Expand full comment

It all reads as fairly confusing to me, as I don't have analytical game, but I get the feeling Chat-GPT may be more of a problem than it is a useful tool. At any rate, I will go by what I do know, ..... I haven't "Died Suddenly", or acquired "Turbo Cancer" and that's good enough for me. lol

Expand full comment

In this paper from last year about excess mortality in the Nordic countries, the 2020 Danish population was used as the standard population (https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9998239/). The authors wrote that they "used the Danish 2020 population as standard population and converted age-standardized mortality rates into deaths per million as would have occurred since 2010 if all countries had a Danish 2020 population".

In this code where Thoughtfulnz calculated ASMR for New Zealand, he used the NZ population estimates during the most recent available quarter as his standard population: https://github.com/thoughtfulbloke/cummlativeASMR?tab=readme-ov-file#the-standard-in-asmr.

In the sheet "ASMR calc" in the file `data-transparency/New Zealand/analysis/Year post shot by 5 year age range.xlsx`, Kirsch used the 2022 New Zealand population by 5-year age groups as his standard population.

Expand full comment

Excellent work and the patience of a saint to trawl through Benjin's AI-based reports.

The fundamental finding from these Kirschian "Motherlode bombshell reports showing the vaccines are killing people (apart from Pfizer which I just said was fine)" is that they are so confounded that the ONLY reason they are released to the public is so that Steve Kirsch can pontificate about them in a way that allows the pharma companies to use his disastrous advertising to show how "safe and effective" their products are whilst the actuaries are incentivised by billions to reinforce that message.

In the meantime the 10-20% excess deaths across most Western countries remain unexplained, because we are not allowed to see raw, auditable data that hasn't been filtered and miscategorised.

Expand full comment

Thanks.

As always, you shine by your sense of synthesis.

Expand full comment

It seems to me that a lot of people are taking incomplete data, non-standard date, inaccurate date and straight up bad data, and making up all manner of excuses for why and how it can be used ANYWAY. In short, it all sounds like complete, standardized BULLSHIT.

Expand full comment

Thank you, interesting read, analysis, and background information!

For me, ASMR is a black box, particularly as stand-alone figure.

Here in the Czech data, apart from potential problems within the dataset, we have several problems with the first dose:

1. As most other European countires, the Czech used a staggered vaccination scheme, i.e. beginng with the very old and then down to younger people.

Meaning, in the few remaining days of December 2020 and in January /February 2021 we should expect most of the deaths, but more or less confined to the very old.

2. We know from VAERS and e.g. Gibraltar that the first jab was the most dangerous.

3. Any death count that does not respect the earliest or immediate deaths is totally misleading. This holds true even more when considering the old ages.

4. Given these issues, any ASMR might lead to nonsense figures.

As you wrote, analysing by age panel appears to be much more reasonable.

Finally, one big issue remains: False classifications of deaths as unvaccinated within a certain time after the first jab. "They" might argue that this is reasonable for monitoring effectiveness. However, such approach is totally wrong when considering safety.

Expand full comment

Great summary, and thx for pointing out the issue with henjin's analysis. I like his charts, but with his minimized code, it's easy to jump over those details...

I think this dataset is so hopelessly confounded, there's no way to know what's really going on.

Expand full comment

The message of Kirsch's articles is wrong!

See the German original:

https://tkp.at/2024/08/06/spikevax-gefaehrlicher-als-comirnaty-steve-kirsch-greift-daneben/

The homepage also provides autotranslated versions in many languages.

Expand full comment