Decide the GPI multiplier's impulse definition (1.78 total spending vs 2.30 power-sector only vs 1.94 with green investment)
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 38/100
Hướng nghiên cứu
Start with gpi_multiplier() in src/define_uk/validation.py and the gpi_multiplier entry in validation/reference_outputs.json; compare the existing calculation with the four denominator definitions and the cached run evidence described in the issue. Decide which definition to publish, then update the validation output and run record as specified. Done means the chosen definition and caveats are recorded consistently, the upstream label explanation is corrected, and the macro-site follow-up is opened.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
The published GPI multiplier is 1.78: cumulative nominal ΔGDP / cumulative nominal ΔSPEND_GVT, GPI + Green Bonds vs baseline, 2023–2040 (src/define_uk/validation.py, gpi_multiplier(); validation/reference_outputs.json gpi_multiplier). PR #15 corrected the caveat on its denominator. This issue asks which impulse definition we publish. Until it is decided, 1.78 stays as published and none of the alternatives below is quoted.
Evidence (cached pinned run 846081a, output/tables/gvt_investment)
All figures are cumulative scenario-minus-baseline sums over the 216 quarters (nonzero from 2023Q1). They are recomputed from the CSVs; no model run was needed.
| Denominator | Cum Δ | Ratio | What it measures |
|---|---|---|---|
| SPEND_GVT = OCONS_GVT + SOCB_GVT + GCF_GVT + SPEND_GVTPS (published) | 118.2 | 1.78 (nominal ΔGDP 209.9) | Total government spending excluding wages. It mixes the policy impulse with endogenous items: OCONS +21.1, SOCB +8.0, GCF −2.3 (GCF_GVTG +17.0 offset by GCF_GVTC −19.3) |
| SPEND_GVTPS only (government power-sector spending) | 91.2 | 2.30 | Closest to the policy switch itself (GREEN_POWER*3.33*P_P per quarter plus the common GVT_ENERGY term) |
| SPEND_GVTPS + GCF_GVTG ("green investment") | 108.3 | 1.94 | Power-sector impulse plus green public GCF. GCF_GVTG is partly endogenous and offset by conventional GCF |
| Upstream's own G: (CONS_GVT + GCF_GVT + SPEND_GVTPS) deflated by the baseline P_P, against ΔGDP_R | 104.1 | 2.41 (real ΔGDP 250.6) | The definition upstream's fiscal_multiplier chunk uses |
Two findings explain the upstream Multiplier_Summary.csv. They change what validation.py says about why that file is unusable:
- The upstream labels are shifted by one. The Rmd's scenario config has S8 = "GPI + Green Bonds" and S9 = "Green Power Subsidy". The multiplier chunk's
sce_listlabels num 8 "Green Public Investment" and num 9 "GPI + Green Bonds". So the row "Green Public Investment" (TotalDeltaG 104.22, TotalDeltaGDP 250.76) is our GPI + Green Bonds, which we reproduce as 104.1 / 250.6 (4-significant-figure CSVs). The row "GPI + Green Bonds" (52.27 / −48.9) is actually Green Power Subsidy, reproduced as 51.95 / −48.9. TotalDeltaG therefore does match a series: upstream's real G at baseline prices.validation.pysays it "matches no variable", and that statement should be corrected. - M_Impact = −32.22 is the same in all eight rows because every policy scenario sets
GVT_ENERGY = 1. The first quarter in which cumulative ΔG moves is the same common switch in every scenario, not the policy. M_Impact/M_4Q/M_8Q are therefore not policy multipliers, and the "unusable" verdict on those columns stands.
Two other facts bear on the choice:
- Nominal and real ratios differ materially, because the scenario lowers the GDP deflator (cum ΔP_P −0.11; nominal ΔGDP 209.9 vs real 250.6). Only a nominal/nominal ratio or a real/real ratio is coherent. 1.78 is nominal/nominal. The upstream 2.41 is real/real at baseline prices.
- The same capacity delivered as a subsidy (Green Power Subsidy,
GVT_INVEST = 0) has SPEND_GVTPS +110.8 but CONS_GVT −49.1 and SOCB −27.7, with real ΔGDP −48.9. Any definition we pick should give a sensible answer for both designs. With SPEND_GVTPS as the denominator it gives −2.24 nominal for the subsidy.
Options
A. Keep 1.78 (total spending excluding wages). It is reproducible and already published. But the denominator includes endogenous responses, so it is not an impulse multiplier, and the caveat has to say so prominently.
B. SPEND_GVTPS only (≈2.30 nominal). The cleanest impulse, because it is the variable the policy switch sets. It ignores GCF_GVTG and the induced OCONS response.
C. SPEND_GVTPS + GCF_GVTG (≈1.94 nominal). Matches the "green investment" wording on the site, but GCF_GVTG is partly endogenous, and the conventional GCF offset is left out.
D. Upstream's definition (≈2.41 real/real at baseline prices). It matches the model authors' own table once the labels are corrected. It is a real ratio, so it is not comparable with A–C.
Recommendation
B as the headline impulse multiplier, with A kept as a secondary "per £ of total non-wage government spending" ratio. B is the only denominator that is the policy instrument itself. D is useful as a cross-check: real/real 2.41 sits close to B's 2.30, which is reassuring. But publishing D would mean adopting a G that excludes social benefits, and its label bug would need explaining. Whichever we choose, the number stays a full-horizon cumulative ratio under a demand-led closure, not comparable to short-horizon multipliers. That caveat does not change.
If B is chosen, the follow-up is:
- add a
definitionswitch togpi_multiplier() - record 2.30 in
reference_outputs.jsonwith a VALIDATION.md run-record row - correct the "matches no variable" text
- open a macro-site issue for the label and number change
Raised from the 6 Nov 2026 review (PR #15).
🤖 Generated with Claude Code
- Ngôn ngữ chính
- Python
- Star
- 0
- Fork
- 0
- Merge trung bình
- 4 ngày 14 giờ
- Pull request đã merge (30 ngày)
- 5
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của PolicyEngine/define-uk-model
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
-
enhancement
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 20/100
PolicyEngine/define-uk-model#17 · 4 bình luận ·
Tất cả issue của PolicyEngine/define-uk-model
Issue tương tự
-
bug triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
mealie-recipes/mealie#9117 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
freelawproject/courtlistener#8406 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
good first issue help wanted level 1 wocs
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
GianlucaBave/murmury#49 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
regression skipped skipped_bmg
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
intel/torch-xpu-ops#6142 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
good first issue help wanted python up-for-grabs
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
andrewsiah/agentswarm-data-tasks#122 ·
Maintainer thường phản hồi trong vòng 1 ngày