1# F1-conf-01 — 12-month CPI inflation from two data vintages23## Question4What is the 12-month growth rate g_t = 100·(P_t/P_{t−12} − 1) of CPIAUCSL (SA) for each month 2001-01 … 2026-09? P_t is taken from the most recent vintage that covers month t. I also report summaries of g_t: the mean, sub-period means, selected months, and the maximum and minimum.56## Data and exclusions7- I spliced the two authoritative vintage files: the 2016-07-15 vintage for 1947-01 … 2013-12 and the 2026-10-28 vintage for 2014-01 … 2026-09. Rows read are in `n_input_rows`: 834, 153 and 957.8- **I did not use `cpi_assembled.csv` for computation.** The audit found it to be faulty:9 - it uses the old vintage for the 30 overlap months;10 - it drops 2016-07 and stamps every later value one month late, which creates a spurious 2026-10 row;11 - 152 of its rows disagree with the authoritative splice.1213 These problems are listed in `data_issues`. The script reads the file only to audit it.14- The 2026-10-28 vintage has no value for 2025-10. Following the rules, I did not impute or interpolate it, so g for 2025-10 is missing (`missing_growth_months`, `n_months_missing_growth` = 1).15- Exclusion ledger (`out/exclusions.csv`):16 - 957 spliced monthly levels → 309 window months;17 - minus 1 month with no P_t → 308;18 - minus 0 months with no P_{t−12} → 308 = `n_analysed`.1920## Method21- The levels form a complete monthly series, so P_{t−12} is the value 12 rows earlier.22- g_t is computed only where both levels exist.23- Means are unweighted arithmetic means over the months with a computable g_t.24- The sub-period mean for 2001–2013 (`mean_growth_12m_2001_2013`) serves as the baseline.25- The method is deterministic, with no random numbers (`random_seed` = null).2627## Results28- First month with a growth rate: `first_growth_month` = 2001-01. Last month with a level: `last_month` = 2026-09.29- Months with a computable g_t: `n_months_growth` = 308. Missing: `n_months_missing_growth` = 1 (2025-10).30- Mean over the window: `mean_growth_12m` = 2.574%.31- Sub-period means:32 - `mean_growth_12m_2001_2013` = 2.361% (156 months, `n_growth_2001_2013`);33 - `mean_growth_12m_2014_2026` = 2.793% (152 months, `n_growth_2014_2026`).34- Selected months:35 - `growth_2014_06` = 2.098%36 - `growth_2016_07` = 0.868%37 - `growth_2020_05` = 0.198%38 - `growth_2022_06` = 8.979%39 - `growth_2026_09` = 3.717%40- Maximum: `max_growth_12m` = 8.979% in `max_growth_month` = 2022-06.41- Minimum: `min_growth_12m` = −1.959% in `min_growth_month` = 2009-07.42- `feasibility` = "partial": one window month has no growth rate. The reason is given in `feasibility_reason`.4344## Uncertainty45These figures are exact arithmetic on published index levels, not estimates from a sample, so I report no sampling standard errors. The real uncertainty is revision uncertainty. Seasonally adjusted levels change between vintages: in the 30 months where the two vintages overlap, they differ by between −0.455 and +0.330 index points (`data_issues`). The pre-2014 values come from a 2016 vintage and could differ in later vintages. I did not quantify how this affects the summaries.4647## Limitations and open issues48- **2025-10 has no value in the source**, so g for that month is missing. All summaries use the 308 months that can be computed.49- **Growth rates for 2014-01 … 2014-12 mix vintages:** the current level comes from the 2026 vintage and the lagged level from the 2016 vintage. This is what the stated rule requires, but it is not a single-vintage growth rate.50- **README hashes don't match:** the SHA-256 values in `data/README.md` are for the raw downloads before reformatting, so they do not match the provided files. My hashes of the provided files are in `out/state/data_audit.md`.51- **Process note:** at one point a shell working-directory error made me write two of my state notes into `data/out/`. I moved them to `out/` at once. The input CSV hashes were checked and are unchanged.52