# 3371 - Colombia varicella without the 2020-2021 lockdown school years: sensitivity of the synthesis

**Status: documented sensitivity analysis. It changes nothing in the primary**: `hierarchy_final_p18.json`, `blocks.csv`, `gate_decisions.json` and every other existing file are untouched (existing modules imported read-only; the substituted Colombia curve exists only in memory and under `project_results/colombia_lockdown_3371/`).

## Bottom line

**Plain language: yes, the synthesis moves, by about +0.09 on the central estimate and +0.14 on the upper limit.** Without the 2020-2021 school years the central estimate goes from 0.96 to 1.05 (primary) and from 0.96 to 1.05 (common effect), and the upper limit rises by about 0.14 (to 1.65 and 1.59). That is about 2.0-2.1 times as far as leaving Colombia out altogether, because the lockdown-free Colombian curve pulls the pooled estimate up where the production curve pulled it down. The probability of a common effect above 1.25 goes from 0.11 to 0.21; the already non-robust exclusion of 1.50 under A1 is lost. Both 95% intervals still include 1 with room on each side (0.65-1.65 and 0.70-1.59), so neither model now indicates harm; the evidence against a large (1.5-fold) common effect is weaker than 3350 reported. The primary synthesis itself is unchanged.

Refitting the Colombian autism block without school years 2020-2021 moves Colombia's own estimate from 0.76 (0.51-1.07) to 1.32 (0.90-1.99) (336 cells), from below 1 to above 1. Substituted into the synthesis, it moves the primary shared mean from **0.957 (0.599-1.517) to 1.045 (0.654-1.655)** (median +0.088, upper limit +0.138) and the 3350 common effect A1 from **0.964 (0.637-1.455) to 1.054 (0.697-1.591)** (median +0.090, upper limit +0.136).

The shift is beyond leaving Colombia out entirely: the leave-Colombia-out fits are 0.999 (0.603-1.633) (primary) and 1.010 (0.654-1.553) (A1), so the lockdown-free curve produces 211% of the leave-out shift in the primary median (119% of the upper-limit shift) and 198% in the A1 median (139% of the upper-limit shift). With the lockdown-free curve both central estimates are now above 1, and P(RR > 1.10), P(RR > 1.25) and P(RR > 1.50) move by at most 0.154 in either model.

P(RR > 1.10 / 1.25 / 1.50): primary 0.275 / 0.126 / 0.028 -> 0.413 / 0.220 / 0.061; A1 0.265 / 0.108 / 0.018 -> 0.420 / 0.209 / 0.047.

3350 exclusion calls under A1 that change with the lockdown-free curve: 1.50 (A1 97.5th percentile 1.455 -> 1.591). The 1.50 call was already 'not robust' in 3350 (it fails under doubled floors and without Colombia); it is also not robust to the Colombian lockdown years.

Using the lockdown years as a nuisance instead of dropping them (R2: level-specific 2020 and 2021 shifts, all 504 cells) gives Colombia 1.26 (0.79-2.05), the primary 1.036 (0.648-1.642) and A1 1.044 (0.689-1.578); A1 calls changing: 1.50.

Timing placebo: the future+3 placebo on the lockdown-free data (R1; 84 paired cells, 2019 -> 2022 only) is 1.14 (0.33-3.73): **PASS** (D4: the 95% CrI includes 1 under all four kernel settings).

## Rule

Documented in `qa/colombia_lockdown_20260930/3371_rule.json` (SHA-256 `3b45caa73333c3d6b5ea83de494b8caf360a1cc220e930ab27bc361da954c271`, sidecar `qa/colombia_lockdown_20260930/3371_rule.sha256`), written 2026-09-30 01:25:10 Central Daylight Time (2026-09-30T06:25:10Z), before any 3371 computation (first block fit started 2026-09-30T01:30:30-05:00). The script refuses to run if the rule or any input / code file hashed in it has changed. Estimands: E1 the primary shared mean (global_hierarchy run_spec of the primary reference spec: core v2, p18, seeds 23091/23092, 241-point grid, placebo-calibrated bias map, U.S. rotavirus 2006 untied) and E2 the 3350 A1 common effect (global_hierarchy.component at tp = tc = 0, 1201-point grid, assumed floors, 3350 summarize_theta), each with the Colombia block's reference curve replaced by its refit; ESS rule: p20 if a p18 fit has minimum relevant core ESS < 50 (not triggered unless shown in the Power column).

How the curve is made: the COL block curve enters the hierarchy from `global_fit._fit_one` = `international_likelihoods.fit(data, points=801)` on the block of `americas/blocks/COL_VARICELLA_school_autism/inputs.json` (linear / spline trend x rho 0, .6, .85 kernels x 6 varicella exposure scenarios, equal-weight likelihood average, PCV booster / rotavirus / HepA nuisance columns, N(0, ln 2) prior for the block summary). The refits pass the production block's own records, exposure-scenario rows and nuisance rows through `global_block_tools.BlockSet.add` (id unchanged) and call the same `il.fit`; `il.kernel` recomputes its data-dependent pieces on the retained cells (population-scaling median, trend centring, cohort spline basis, nuisance demeaning), as it would for any block.

## Verification (documented; every check passed)

| check | result | passes |
|---|---|---|
| R0 block input sha256 equals the production / gate record (`f22bbfcc...`) | True | True |
| R0 refit vs production curves (4 settings) / 12 summaries / future+3 | curves max abs diff 1.6e-09; summaries max rel diff 3.9e-11; future+3 2.7e-11 | True |
| R1b (3385's 335 cells) vs 3385's fit | block equals 3385's except the id: True; summaries max rel diff 0.0e+00; curves 0.0e+00; future+3 0.0e+00; 1.3117 (0.8887-1.9754) | True |
| R1 (336 cells) vs 3385's 1.31 (0.89-1.98), within 5% | 1.3209 (0.8952-1.9905); rel diff median 0.007, low 0.007, high 0.008 | True |
| E1 with the unmodified curve vs hierarchy_final_p18.json (median, limits, P>1, P>1.10, P>1.25; Colombia context and own posteriors) | max abs diff 0.0e+00 (headline), 0.0e+00 (Colombia context), 4.4e-16 (own); components vs the saved grid 0.0e+00 | True |
| E2 with the unmodified curve vs 3350 A1 (median, limits, four exceedances) | max abs diff 0.0e+00; likelihood values vs A1_p18.npz 0.0e+00 | True |

R1 vs 3385: 3385's excluded-year autism fit used the 335 cells of its transport-control rule, which also drops COL_86 basica_primaria 2022 (a zero transport-injury count). R1 keeps that cell, as the rule requires (only school years 2020-2021 removed). R1b, the 335-cell version, reproduces 3385 to machine precision, so the R1 - 3385 gap (at most 0.8%) is that one cell.

## The Colombia block refits

Own-data posterior of the block (reference setting = equal-weight average of 36 kernel x exposure variants; N(0, ln 2) prior), the four kernel settings, and the future+3 timing placebo (identical cells, exposure of cohort c + 3; D4 PASS iff the 95% CrI includes 1 under all four settings).

| refit | cells | RR (95% CrI) | P(RR>1) | linear only | spline only | rho .85 | future+3 (reference) | future+3 verdict (paired cells) |
|---|---|---|---|---|---|---|---|---|
| R0: full data (504 cells), production refit | 504 | 0.76 (0.51-1.07) | 0.054 | 0.78 (0.60-1.01) | 0.73 (0.46-1.16) | 0.76 (0.47-1.11) | 0.99 (0.29-3.77) | PASS (252) |
| R1: school years 2020-2021 removed (336 cells) | 336 | 1.32 (0.90-1.99) | 0.929 | 1.33 (0.96-1.89) | 1.29 (0.77-2.33) | 1.35 (0.92-2.03) | 1.14 (0.33-3.73) | PASS (84) |
| R1b: 3385's 335 cells (R1 minus COL_86 basica_primaria 2022) | 335 | 1.31 (0.89-1.98) | 0.924 | 1.32 (0.95-1.88) | 1.28 (0.76-2.30) | 1.35 (0.92-2.02) | 1.13 (0.33-3.70) | PASS (83) |
| R2: all 504 cells + level x lockdown-year nuisance (6 columns) | 504 | 1.26 (0.79-2.05) | 0.844 | 1.27 (0.86-1.98) | 1.18 (0.66-2.32) | 1.32 (0.83-2.17) | 1.03 (0.32-3.39) | PASS (252) |

Future+3 on R1 by kernel setting: reference 1.14 (0.33-3.73); linear_only 1.14 (0.33-3.73); spline_only 1.14 (0.33-3.73); rho_0_85 1.14 (0.33-3.73). With 2020-2021 removed only the 2019 -> 2022 pairs remain, so this placebo rests on 84 cells and is wide.

## The synthesis with the Colombia curve substituted

| model | Colombia curve | RR (95% CrI) | P>1.10 | P>1.25 | P>1.50 | min core ESS | power | Colombia context posterior | Colombia own curve |
|---|---|---|---|---|---|---|---|---|---|
| Primary shared mean | production (published) | 0.957 (0.599-1.517) | 0.275 | 0.126 | 0.028 | 106 | p18 | 0.78 (0.54-1.08) | 0.76 (0.51-1.07) |
| Primary shared mean | production curve, refitted here (reproduction) | 0.957 (0.599-1.517) | 0.275 | 0.126 | 0.028 | 106 | p18 | 0.78 (0.54-1.08) | 0.76 (0.51-1.07) |
| **Primary shared mean** | R1: 2020-2021 removed (336 cells) | **1.045 (0.654-1.655)** | 0.413 | 0.220 | 0.061 | 124 | p18 | 1.29 (0.89-1.88) | 1.32 (0.90-1.99) |
| Primary shared mean | R2: lockdown-year x level nuisance (504 cells) | 1.036 (0.648-1.642) | 0.398 | 0.210 | 0.057 | 124 | p18 | 1.22 (0.79-1.91) | 1.26 (0.79-2.05) |
| Primary shared mean | left out (published scenario loco_COL_VARICELLA_school_autism) | 0.999 (0.603-1.633) | 0.348 | 0.183 | 0.051 | 91 | p18 | - | - |
| A1 common effect | production (published 3350 A1) | 0.964 (0.637-1.455) | 0.265 | 0.108 | 0.018 | 181 | p18 | n/a (common effect) | - |
| A1 common effect | production curve, refitted here (reproduction) | 0.964 (0.637-1.455) | 0.265 | 0.108 | 0.018 | 181 | p18 | n/a (common effect) | - |
| **A1 common effect** | R1: 2020-2021 removed (336 cells) | **1.054 (0.697-1.591)** | 0.420 | 0.209 | 0.047 | 253 | p18 | n/a (common effect) | - |
| A1 common effect | R2: lockdown-year x level nuisance (504 cells) | 1.044 (0.689-1.578) | 0.402 | 0.196 | 0.043 | 241 | p18 | n/a (common effect) | - |
| A1 common effect | left out (published 3350 A4_COL_VARICELLA_school_autism) | 1.010 (0.654-1.553) | 0.348 | 0.166 | 0.036 | 181 | p18 | - | - |

A1 exclusion calls (excluded = 97.5th percentile below the threshold): published 1.05 no, 1.10 no, 1.25 no, 1.50 yes; with R1 1.05 no, 1.10 no, 1.25 no, 1.50 no; with R2 1.05 no, 1.10 no, 1.25 no, 1.50 no; without Colombia (A4) 1.05 no, 1.10 no, 1.25 no, 1.50 no.

P(RR > 1) of the primary shared mean: published 0.425, R1 0.576, R2 0.560, without Colombia 0.498. P(RR > 1.05): primary 0.345 -> 0.492 (R1); A1 0.343 -> 0.507 (R1).

Colombia's pooled context posterior moves from 0.78 (0.54-1.08) to 1.29 (0.89-1.88) (P(RR>1) 0.060 -> 0.921), against its own-curve posterior 1.32 (0.90-1.99) (pooling shrinks it toward the shared mean). By scramble, the primary median with R1 is 1.0451 / 1.0466 (seeds 23091 / 23092).

Sources: E1 rows `project_results/colombia_lockdown_3371/synthesis/E1_<curve>_p18.{json,npz}` (global_hierarchy.run_spec, detail=True; P>1.05 and P>1.50 by global_hierarchy.exceedance on the combined components, as 3350 did for the primary); E2 rows `synthesis/E2_<curve>_p18.{json,npz}` (3350 fit_worker body and summarize_theta; the trapezoid summaries are in the JSON); published rows from `hierarchy_final_p18.json` / `hierarchy_final_grid_p18.npz` and `3350_generalized_claim_tests.json`. Every number in this file is in `3371_colombia_lockdown_sensitivity.json` / `.csv`.

## Reading and caveats

- Why substituting the lockdown-free curve moves the synthesis further than leaving Colombia out: leaving it out removes a downward pull (own 0.76), while the lockdown-free curve replaces it with an upward pull (own 1.32) of similar precision (95% CrI log width 0.80 vs 0.75), so the pooled estimate moves about 2.0-2.1 times as far. What keeps the move to 0.14 or less is that Colombia is one of 15 contexts and carries a context bias allowance of 0.35 on the log scale; the shared bias (SD 0.15), which 3350 showed sets a floor on the upper limit, is unchanged.
- R1 and R2 are two ways of handling the lockdown years: dropping them (R1) and absorbing level-specific lockdown shifts with the block's own nuisance mechanism (R2). Neither is the primary; the primary keeps all 504 cells with the kernel's national year effects, and its gate decision (pool) is unchanged.
- The R1 future+3 placebo is identical under the four kernel settings because its paired cells are all 2019 outcomes (one cross-section: the trend, spline and serial-correlation terms have nothing to act on). It is a weak check of the lockdown-free fit's timing, not a strong one.
- 3385's finding stands: the Colombian estimate itself depends on the 2020-2021 school years. This sensitivity measures how much that dependence carries into the synthesis: +0.088 on the primary median and +0.138 on its upper limit; +0.090 and +0.136 for A1.
- No figure: the tables carry the comparison.

## File receipts

- Script: `07_analysis_code/3371_colombia_lockdown_sensitivity.py` (SHA-256 `6b8db6aa24e556dcda4d8ceae2810cb7df4445135b7a3f8be0d2a129a44471be`, the version that wrote this report). Script hashes in the fit receipts: `508c044fa2b3b7a0...`, `c83a0604cd211bac...`. The script was edited after the block fits and while the synthesis fits ran, in report-writing code only (bottom-line wording, provenance, formatting); no fitting function changed. The fits are pinned by content, not by script hash: a block fit is reused only while its block input hash, the rule hash and the imported model-code hashes are unchanged; the synthesis receipt carries the substituted curves' and model code's hashes; and the production-curve fits reproduce the published primary and A1 exactly (Verification). Block fits ran 2026-09-30T01:30:30-05:00 to 2026-09-30T01:30:44-05:00; synthesis stage 2026-09-30T01:31:15-05:00 to 2026-09-30T02:22:56-05:00.
- Rule: `qa/colombia_lockdown_20260930/3371_rule.json` (SHA-256 `3b45caa73333c3d6b5ea83de494b8caf360a1cc220e930ab27bc361da954c271`); inputs and code hashed in the rule were unchanged at every stage (the script checks them before each stage).
- Outputs: `3371_colombia_lockdown_sensitivity.md`, `3371_colombia_lockdown_sensitivity.json`, `3371_colombia_lockdown_sensitivity.csv` (SHA-256 `cc786c8e2a010343afd1fe7d74f61d8aceb650b49b612d749ff767b6fc78423b`); fits `project_results/colombia_lockdown_3371/` (blocks/R0, R1, R1b, R2 each with main/ and placebo/ il.fit outputs and receipt_3371.json; synthesis/E1_*, E2_*; block_build_audit.json).
- Fit files (SHA-256):
  - `project_results/colombia_lockdown_3371/block_build_audit.json` `1442cb604938d494...`
  - `project_results/colombia_lockdown_3371/blocks/R0/main/COL_VARICELLA_school_autism_curves.npz` `ee666246c37c0133...`
  - `project_results/colombia_lockdown_3371/blocks/R0/main/unpooled.json` `e79714e3b60b0bbb...`
  - `project_results/colombia_lockdown_3371/blocks/R0/placebo/COL_VARICELLA_school_autism__future_3y_curves.npz` `2eb31b4e7b854d30...`
  - `project_results/colombia_lockdown_3371/blocks/R0/placebo/COL_VARICELLA_school_autism__matched_actual_curves.npz` `550daa557a1334a3...`
  - `project_results/colombia_lockdown_3371/blocks/R0/placebo/unpooled.json` `6f7c915550947a63...`
  - `project_results/colombia_lockdown_3371/blocks/R1/main/COL_VARICELLA_school_autism_curves.npz` `a533f6bf7d734804...`
  - `project_results/colombia_lockdown_3371/blocks/R1/main/unpooled.json` `648fa52ac9aab2ad...`
  - `project_results/colombia_lockdown_3371/blocks/R1/placebo/COL_VARICELLA_school_autism__future_3y_curves.npz` `200d46ed0dda8523...`
  - `project_results/colombia_lockdown_3371/blocks/R1/placebo/COL_VARICELLA_school_autism__matched_actual_curves.npz` `4f45feb659bed4c3...`
  - `project_results/colombia_lockdown_3371/blocks/R1/placebo/unpooled.json` `5479b881781459dc...`
  - `project_results/colombia_lockdown_3371/blocks/R1b/main/COL_VARICELLA_school_autism_curves.npz` `0e0dd3b73d67de92...`
  - `project_results/colombia_lockdown_3371/blocks/R1b/main/unpooled.json` `10ce964ff5b827db...`
  - `project_results/colombia_lockdown_3371/blocks/R1b/placebo/COL_VARICELLA_school_autism__future_3y_curves.npz` `30c4aa4b319a2419...`
  - `project_results/colombia_lockdown_3371/blocks/R1b/placebo/COL_VARICELLA_school_autism__matched_actual_curves.npz` `5562948a7efefb8c...`
  - `project_results/colombia_lockdown_3371/blocks/R1b/placebo/unpooled.json` `bf4bb8584b2a48ae...`
  - `project_results/colombia_lockdown_3371/blocks/R2/main/COL_VARICELLA_school_autism_curves.npz` `5fa9d62d3b5df266...`
  - `project_results/colombia_lockdown_3371/blocks/R2/main/unpooled.json` `72878f7d6721df0b...`
  - `project_results/colombia_lockdown_3371/blocks/R2/placebo/COL_VARICELLA_school_autism__future_3y_curves.npz` `12ec913922582b9e...`
  - `project_results/colombia_lockdown_3371/blocks/R2/placebo/COL_VARICELLA_school_autism__matched_actual_curves.npz` `5c83e218a4da2b61...`
  - `project_results/colombia_lockdown_3371/blocks/R2/placebo/unpooled.json` `83696f76c6c88f92...`
  - `project_results/colombia_lockdown_3371/synthesis/E1_production_p18.json` `868902ed874468d2...`
  - `project_results/colombia_lockdown_3371/synthesis/E1_production_p18.npz` `2a791f129bfde1e9...`
  - `project_results/colombia_lockdown_3371/synthesis/E1_R1_p18.json` `f1f918e33cbc727e...`
  - `project_results/colombia_lockdown_3371/synthesis/E1_R1_p18.npz` `531bd8cc502c2ae4...`
  - `project_results/colombia_lockdown_3371/synthesis/E1_R2_p18.json` `096d6f953057dc20...`
  - `project_results/colombia_lockdown_3371/synthesis/E1_R2_p18.npz` `7d29fbba7bbe69ee...`
  - `project_results/colombia_lockdown_3371/synthesis/E2_production_p18.json` `81ff2b93a8f870fb...`
  - `project_results/colombia_lockdown_3371/synthesis/E2_production_p18.npz` `5391fdeb619ba662...`
  - `project_results/colombia_lockdown_3371/synthesis/E2_R1_p18.json` `cb2de1b39780f97d...`
  - `project_results/colombia_lockdown_3371/synthesis/E2_R1_p18.npz` `4b0dfd252de5d589...`
  - `project_results/colombia_lockdown_3371/synthesis/E2_R2_p18.json` `9d18fa19ee73988c...`
  - `project_results/colombia_lockdown_3371/synthesis/E2_R2_p18.npz` `304dfe326a6814c2...`
  - `project_results/colombia_lockdown_3371/synthesis/receipt_3371.json` `84d8f325c56786f9...`
- Inputs hashed in the rule (unchanged): `project_results/global_integration/americas/blocks/COL_VARICELLA_school_autism/inputs.json`, `project_results/global_integration/americas/blocks/COL_VARICELLA_school_autism/COL_VARICELLA_school_autism_curves.npz`, `project_results/global_integration/americas/blocks/COL_VARICELLA_school_autism/unpooled.json`, `project_results/global_integration/americas_placebo/blocks/COL_VARICELLA_school_autism__future_3y/unpooled.json`, `project_results/global_integration/americas_placebo/blocks/COL_VARICELLA_school_autism__future_3y/COL_VARICELLA_school_autism__future_3y_curves.npz`, `project_results/global_integration/gate_decisions.json`, `project_results/global_integration/blocks.csv`, `project_results/global_integration/placebo_family/placebo_calibration.json`, `project_results/global_integration/hierarchy/hierarchy_final_p18.json`, `project_results/global_integration/hierarchy/hierarchy_final_grid_p18.npz`, `project_results/portfolio_v2/core_v2/likelihood_p18_s23091.npz`, `project_results/portfolio_v2/core_v2/likelihood_p18_s23092.npz`, `project_results/generalized_claim_3350/fits/A1_p18.npz`, `project_results/generalized_claim_3350/fits/A4_COL_VARICELLA_school_autism_p18.npz`, `3350_generalized_claim_tests.json`, `3350_generalized_claim_tests.csv`, `3385_injury_negative_controls_col_hkg_jpn_twn_round2.json`, `project_results/negative_controls_3330/3385/COL/autism__cells_61a77a961982/main/unpooled.json`, `project_results/negative_controls_3330/3385/COL/autism__cells_61a77a961982/main/inputs.json`, `project_results/negative_controls_3330/3385/COL/autism__cells_61a77a961982/placebo/unpooled.json`.
