Published deltas carry an alpha_PP change: Baseline 0.2748 vs policy 0.2762
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
Línea de trabajo
Start with scratchpad/r5/alpha/decomp.py and inspect the cached CSV evidence and validation/reference_outputs.json; the proposed matched-baseline fix also requires an R run with the upstream dependency set. Compare a Baseline rerun at alpha_PPLR = 0.2762 against policy files through 2026Q4, then assess the pinned deltas, multiplier, and peak. Done means choosing and implementing a resolution with updated published values or documented bounds; the issue says no decision has been made.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Every published scenario-minus-baseline delta in this repo also carries a change in production's own-input coefficient α_PP. The Baseline files use α_PPLR = 0.2748 and the policy files use Table 5's 0.2762. This issue sizes the bias for each published number and asks which fix to adopt. No published number has been changed.
Evidence (cached run 846081a, CSV reads only, clean room)
- It is a parameter, not a print artefact.
Parameters-sorted_*.csvprints the input parameters of each run. Across all 30 files, alpha_PPLR is the only parameter outside the published policy switches that differs: 0.2748 in all 7 Baseline files, 0.2762 in all 23 policy files. The gap of 0.0014 is 28 times the half-unit of 4-significant-figure printing (0.00005), so rounding cannot explain it. Eq. (139) carries it through: thealpha_PPcolumn ofVariables_*.csvis 0.2798 (data) in 2022Q4, then 0.2748 or 0.2762 in every simulated quarter. The mark-up calibrated on the last data row already differs: MU in 2022Q4 is 0.176 in the Baseline and 0.1704 in the policy runs. - No policy switch acts before 2027Q1. All 16 distinct policy files (the 23 collapse to 16 because some are duplicates) are identical in every column through 2026Q4, and they first differ from one another in 2027Q1. Every 2023Q1–2026Q4 policy-minus-baseline delta is therefore the α_PP effect alone. Each scenario carries the same values:
| Delta, policy − Baseline (any scenario) | 2023Q1 | 2024Q1 | 2026 (mean per quarter) |
|---|---|---|---|
| Real GDP (GDP_R) | +3.1 (+0.55%) | +0.4 | −1.125 (−0.16%), flat through 2026 |
| Nominal GDP | −0.6 | +0.4 | +0.25 (+0.03%) |
| Unemployment rate (UPLOT, pp) | −0.138 | −0.015 | +0.037 |
| Emissions (EMIS, Mt per quarter) | +0.53 | +0.30 | −0.02 (−0.02%) |
| SPEND_GVT | −0.3 | 0.0 | +0.15 |
- Consequences we already publish:
- The pinned point "green public investment, GDP_R, 2026: −1.125" (
validation/reference_outputs.json) contains no policy effect. Thetests/test_scenarios.pydocstring read it as "green public investment depresses GDP in the first years". This PR withdraws that reading. run_scenariostarts its horizon at the first year any variable departs from baseline, so it serves 2023–2037 as the policy window. The policies start in 2027.- The common first-quarter move behind
Multiplier_Summary.csv's identical M_Impact (−32.22 in all rows) is this α_PP effect. It is notGVT_ENERGY, which is 1 in the Baseline too. This correction affects #16's point 2.
- The pinned point "green public investment, GDP_R, 2026: −1.125" (
Size of the bias in each published number
After 2026Q4 the α_PP effect cannot be observed, because it is mixed in with the policy. The range below comes from three extrapolations:
- Z: the effect stops at 2027Q1. This gives the smallest correction.
- L: the 2026Q4 level persists.
- P: the 2026Q4 share of baseline persists.
L and P are the more plausible cases. The 2025–26 effect is flat, and the closure has permanent level effects (Kaldor–Verdoorn, Eq. (31)). The range ignores interaction between α_PP and the policy.
| Published number (where) | Published | α_PP part (Z – P) | Policy effect (range) |
|---|---|---|---|
| GPI cumulative multiplier, cum ΔGDP/ΔSPEND_GVT (README / VALIDATION / macro site) | 1.78 (209.9/118.2) | ΔGDP 4.8–20.5, ΔSPEND 1.2–8.9 | 1.73–1.75 |
| #16 option B, ΔGDP/ΔSPEND_GVTPS | 2.30 | ΔGDP 4.8–20.5, ΔSPEND_GVTPS 0 | 2.08–2.25 |
| #16 option C, ΔGDP/(ΔSPEND_GVTPS+ΔGCF_GVTG) | 1.94 | as above | 1.75–1.90 |
| GPI cumulative real ΔGDP_R | 250.6 | −1.6 to −74.3 | 252–325 |
| GPI real-GDP peak, % (FMM anchor, site) | +0.92% (2034) | 0 to −0.16 pp | +0.92% to +1.08% |
| GPI GDP_R 2026 | −1.125 | −1.125 (all of it) | 0 |
| GPI GDP_R 2030 / 2035 | +4.075 / +7.75 | 0 to −1.2 / 0 to −1.34 | +4.1 to +5.3 / +7.75 to +9.1 |
| Housing regulation GDP_R 2035 | −2.3 | 0 to −1.34 | −0.96 to −2.3 (up to 58% is α_PP) |
| Fossil-fuel ban GDP_R 2030 | −3.85 | 0 to −1.2 | −2.65 to −3.85 |
| Mixed UPLOT 2030 | +0.141 | 0 to +0.037 | +0.104 to +0.141 |
| GPI UPLOT 2035 | −0.2195 | 0 to +0.038 | −0.22 to −0.26 |
| All EMIS points (GPI −13.54, housing −5.375, FFB −10.65, mixed −23.10 in 2035) | — | 0 to −0.03 | unchanged to <0.25% |
In short:
- Emissions results are unaffected.
- The 1.78 multiplier moves by only about 0.03–0.05. Its α_PP numerator and denominator shift together.
- The real-GDP results, especially the small ones, are materially biased. Cumulative real ΔGDP_R, the housing-regulation and fossil-fuel-ban GDP costs, and every 2023–26 delta carry the α_PP effect. Under L or P, every real-GDP delta is understated by about 1.1–1.3 a quarter.
Script: scratchpad/r5/alpha/decomp.py (reads the cached CSVs). Gates: tests/test_alpha_pp_confound.py in #21.
Options
A. Recompute against a matched baseline. Rerun the upstream Baseline locally with alpha_PPLR = 0.2762 (Table 5's value, already used by every policy file). The matched Baseline has a free acceptance test: through 2026Q4 it must equal every policy file bit for bit. Then re-pin the 11 delta points, the multiplier and the peak, listing old → new. This needs R and the upstream dependency set, and it is the only option that removes the bias rather than bounding it.
B. Disclose, and stop serving 2023–26. Start run_scenario's horizon at 2027 (the first year the policy files diverge from one another), not 2023. Drop the 2026 pinned point. Add an "α_PP mismatch: real-GDP deltas carry up to −0.16% of baseline" caveat to every served delta, with the range table above.
C. Ask the authors which value the published Baseline should use. It could be an intentional recalibration or a stale Baseline. Hold the numbers until they answer.
Recommendation: B now (no numbers change, only the window and the caveats), then A as soon as an R run is possible. Raise C with the authors in parallel, alongside the Table 4 emissions divergence.
What the macro site would need to say
/define/validation/tile "Green investment multiplier 1.78": add "includes a Baseline/policy α_PP mismatch; policy-only 1.73–1.75 by our bounds"./define/validation/FMM anchor "peak +0.92%": add "α_PP-corrected +0.92–1.08%"./define/"Hence deltas only": add one sentence: "Deltas also carry a coefficient change: the upstream Baseline runs α_PP = 0.2748 against 0.2762 in every policy run, so 2023–26 deltas are not policy effects and real-GDP deltas are biased by up to −0.16% of baseline."/define/methodology/step 4 (1.78): link the same caveat.- Any served scenario chart or table that starts in 2023 should start in 2027, or shade 2023–26 as "not policy".
papers/define-uk/sections/validation.tex: the same caveat next to 1.78.
No macro-site change has been made. That waits for a decision here.
Found in round 3 (#19, tests/test_oracle.py ORACLE_FORMS["alpha_PP"]) and sized in round 5.
- Lenguaje dominante
- Python
- Estrellas
- 0
- Forks
- 0
- Merge medio
- 4 d 14 h
- PR fusionados (30 d)
- 5
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de PolicyEngine/define-uk-model
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
PolicyEngine/define-uk-model#17 · 4 comentarios ·
-
question
Dificultad 5/5 Más de una semana Aptitud para principiantes 38/100
PolicyEngine/define-uk-model#16 · 2 comentarios ·
Todos los issues de PolicyEngine/define-uk-model
Issues similares
-
bug triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
mealie-recipes/mealie#9117 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
freelawproject/courtlistener#8406 ·
Los mantenedores suelen responder en 2 días
-
good first issue help wanted level 1 wocs
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
GianlucaBave/murmury#49 ·
Los mantenedores suelen responder en 1 día
-
regression skipped skipped_bmg
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
intel/torch-xpu-ops#6142 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
good first issue help wanted python up-for-grabs
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
andrewsiah/agentswarm-data-tasks#122 ·
Los mantenedores suelen responder en 1 día