Pre-registered analysis plan and frozen code: apparent speed, direction and origin of an epidemic wave

The registration, before any data value of the two test datasets was seen, of the hypotheses, the decision rules, the data preparation and the complete analysis code of a methodological study: how the speed, direction and origin of an epidemic wave are estimated from surveillance data aggregated into administrative units and reporting periods, and how much these estimates depend on the definition of the arrival of the wave, on the end of the data and on the resolution of reporting. Systems. Ebola virus disease in Guinea, Liberia and Sierra Leone, 2013–2015: case line list of the WHO viral haemorrhagic fever database published by Garske et al. (2017, doi:10.1098/rstb.2016.0308), about 63 districts, weekly. Dengue in Recife, Brazil: geocoded notifications, Zenodo record 10.5281/zenodo.19412786 (version v4), cells of 0.5 km analysed at the level chosen by a registered rule. Hypotheses. A premise check (PC) and three confirmatory hypotheses on mechanisms predicted by a four-term framework: H1, amplitude (an absolute threshold changes local speeds where the amplitude varies along the propagation); H2, truncation (ending the window at 75% of cumulative cases inflates centroid speeds, more than threshold speeds); H3, aggregation (re-aggregation within the predicted premise leaves the cone speed unchanged within 10%). Each rule returns met, ambiguous, failed or not evaluable, and the systems are combined by a symmetric rule (supported, contradicted, inconclusive, single system, not evaluable). The expected outcomes, simulated before deposit with the unit counts of both systems, are stated in the plan: H2 strongly powered, H3 moderately, H1 underpowered. Status of the registration. Registered after reading only the documentation of the two test datasets and the column names of their data files; every item consulted, including search-engine snippets, is listed with its date and content in metadata_consulted.md. On 8 October 2026 the Ebola data file was uploaded by mistake to the environment of the AI assistant used to write the code; it was not opened, and only its checksum was computed. Code and text were developed with the assistance of an AI assistant (Claude, Anthropic); the author is responsible for all content. Single entry point. After data access, only file paths are supplied to run_analysis.py; no code is written. It builds the unit tables, ingests both systems, writes every exclusion and the decision to keep or drop each system with a timestamp before any analysis function is called, then runs the frozen module wave_analysis.py, whose SHA-256 is printed in the plan, and writes the primary outcomes and, separately, the secondary analyses, which never enter the verdict. Every constant of the module is fixed in a single table, and every entry of that table is read by the code. Verification. The deposit carries its own checker. verify_deposit.py confirms that every expected file is present and matches CHECKSUMS.txt, that no placeholder remains, that the registration date is identical in the plan and in CITATION.cff and the DOI identical in the plan, CITATION.cff and the README, that the SHA-256 printed in the plan is that of the frozen module, that the 38 registered constants and the ingestion constants equal the values stated in the plan and are all read by the code, that the numerical anchors of the plan are reproduced, that smoke_test.py passes its 38 checks and reproduces its deposited output byte for byte, and that test_pipeline.py passes its 16 checks on synthetic files with the documented columns of both datasets. Run from an empty copy of the archive, it reports 16/16 checks passed in about a minute; it makes no network call. Exact versions of the reference run are in environment.txt. Scope. Confirmatory tests of three mechanisms in two systems, and descriptive analyses that carry no outcome. Outcomes are decided on 90% block-bootstrap intervals against margins of practical relevance fixed before data access; their error rates are neither controlled nor estimated, and a supported prediction does not establish the framework. Licences and versioning. Code (every .py file, including those inside prior_covid_analyses.zip): MIT. Everything else, the plan included: CC BY 4.0. No third-party data file is redistributed: the derived COVID-19 tables were computed from covidestim and Johns Hopkins University data, which remain under their own licences. Version 1.0.0 is the registration and is never altered: results, deviations and corrections are published separately, and any later version of this record leaves every registered file byte-identical, which CHECKSUMS.txt lets anyone verify. Cite the version DOI 10.5281/zenodo.23270838, not the concept DOI.

Authors

Institutions

Publication Details

Journal
Zenodo (CERN European Organization for Nuclear Research)
Published
2026-10-10
DOI
https://doi.org/10.5281/zenodo.23270837
Primary Topic
Data-Driven Disease Surveillance
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Pre-registered analysis plan and frozen code: apparent speed, direction and origin of an epidemic wave

Théo Chopard-Vilhem
Zenodo (CERN European Organization for Nuclear Research)
Data-Driven Disease Surveillance
article

Pre-registered analysis plan and frozen code: apparent speed, direction and origin of an epidemic wave

Théo Chopard-Vilhem
article en

Abstract

The registration, before any data value of the two test datasets was seen, of the hypotheses, the decision rules, the data preparation and the complete analysis code of a methodological study: how the speed, direction and origin of an epidemic wave are estimated from surveillance data aggregated into administrative units and reporting periods, and how much these estimates depend on the definition of the arrival of the wave, on the end of the data and on the resolution of reporting. Systems. Ebola virus disease in Guinea, Liberia and Sierra Leone, 2013–2015: case line list of the WHO viral haemorrhagic fever database published by Garske et al. (2017, doi:10.1098/rstb.2016.0308), about 63 districts, weekly. Dengue in Recife, Brazil: geocoded notifications, Zenodo record 10.5281/zenodo.19412786 (version v4), cells of 0.5 km analysed at the level chosen by a registered rule. Hypotheses. A premise check (PC) and three confirmatory hypotheses on mechanisms predicted by a four-term framework: H1, amplitude (an absolute threshold changes local speeds where the amplitude varies along the propagation); H2, truncation (ending the window at 75% of cumulative cases inflates centroid speeds, more than threshold speeds); H3, aggregation (re-aggregation within the predicted premise leaves the cone speed unchanged within 10%). Each rule returns met, ambiguous, failed or not evaluable, and the systems are combined by a symmetric rule (supported, contradicted, inconclusive, single system, not evaluable). The expected outcomes, simulated before deposit with the unit counts of both systems, are stated in the plan: H2 strongly powered, H3 moderately, H1 underpowered. Status of the registration. Registered after reading only the documentation of the two test datasets and the column names of their data files; every item consulted, including search-engine snippets, is listed with its date and content in metadata_consulted.md. On 8 October 2026 the Ebola data file was uploaded by mistake to the environment of the AI assistant used to write the code; it was not opened, and only its checksum was computed. Code and text were developed with the assistance of an AI assistant (Claude, Anthropic); the author is responsible for all content. Single entry point. After data access, only file paths are supplied to run_analysis.py; no code is written. It builds the unit tables, ingests both systems, writes every exclusion and the decision to keep or drop each system with a timestamp before any analysis function is called, then runs the frozen module wave_analysis.py, whose SHA-256 is printed in the plan, and writes the primary outcomes and, separately, the secondary analyses, which never enter the verdict. Every constant of the module is fixed in a single table, and every entry of that table is read by the code. Verification. The deposit carries its own checker. verify_deposit.py confirms that every expected file is present and matches CHECKSUMS.txt, that no placeholder remains, that the registration date is identical in the plan and in CITATION.cff and the DOI identical in the plan, CITATION.cff and the README, that the SHA-256 printed in the plan is that of the frozen module, that the 38 registered constants and the ingestion constants equal the values stated in the plan and are all read by the code, that the numerical anchors of the plan are reproduced, that smoke_test.py passes its 38 checks and reproduces its deposited output byte for byte, and that test_pipeline.py passes its 16 checks on synthetic files with the documented columns of both datasets. Run from an empty copy of the archive, it reports 16/16 checks passed in about a minute; it makes no network call. Exact versions of the reference run are in environment.txt. Scope. Confirmatory tests of three mechanisms in two systems, and descriptive analyses that carry no outcome. Outcomes are decided on 90% block-bootstrap intervals against margins of practical relevance fixed before data access; their error rates are neither controlled nor estimated, and a supported prediction does not establish the framework. Licences and versioning. Code (every .py file, including those inside prior_covid_analyses.zip): MIT. Everything else, the plan included: CC BY 4.0. No third-party data file is redistributed: the derived COVID-19 tables were computed from covidestim and Johns Hopkins University data, which remain under their own licences. Version 1.0.0 is the registration and is never altered: results, deviations and corrections are published separately, and any later version of this record leaves every registered file byte-identical, which CHECKSUMS.txt lets anyone verify. Cite the version DOI 10.5281/zenodo.23270838, not the concept DOI.

Zenodo (CERN European Organization for Nuclear Research)
Iuliu Hațieganu University of Medicine and Pharmacy (RO)
Openalex Percentile: Top 12%
Data-Driven Disease Surveillance
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.