OBR anchoring is one EFO behind: October 2026 EFO (28 Oct) not yet incorporated
Maintainer thường phản hồi trong vòng 9 ngày
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
- 18/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- html, python
- Lĩnh vực
- backend-api-design, documentation
Hướng nghiên cứu
Start by checking the status of obr-macroeconomic-model#53 and the #218 pin bump, since the issue makes those prerequisites for switching the adapter vintage. Then review integration/src/policyengine_macro/core.py and the listed site pages; done means October 2026 is the adapter default, while the track record keeps March for rounds before 28 October and selects the comparator per round. The issue also specifies a dated interim note for the OBR pages until the vintage updates.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
The OBR published the October 2026 EFO on 28 October 2026 (https://obr.uk/efo/economic-and-fiscal-outlook-october-2026/). The site and the hosted OBR adapter still anchor to the March 2026 EFO, so they are now one EFO behind. The OBR model code and variables listing is unchanged (15 Oct 2025), so only the data anchor is out of date. The model plan is in PolicyEngine/obr-macroeconomic-model#53.
Keep March 2026 here (do not update)
The forecast track record must keep March 2026 as its comparator: forecasts/score.py, forecasts/index.html and forecasts/scorecard.json, including the "OBR March 2026 EFO error 0.66pp" figure and the boe-svar vs EFO fan charts.
Every archived round predates 28 Oct. The official benchmark should be the official forecast available at that round's data edge. Switching those rounds to October would give the OBR comparator hindsight. Rounds archived after 28 Oct should use October. The comparator therefore needs a per-round field rather than the single OFFICIAL_LABEL constant (forecasts/score.py:280).
Out of date (will change once the vintage updates)
| Where | What |
|---|---|
integration/src/policyengine_macro/core.py ~293, ~3026–3069 |
data_vintage="March 2026 EFO", baseline="March 2026 EFO anchored baseline", CPI reference path (~3688–3768) |
integration/src/policyengine_macro/capabilities.py, mcp_server.py, cli.py |
vintage strings |
index.html:277 |
"Tracks the March 2026 EFO to 0.30% GDP MAPE … free-running 4.32%" |
assets/make_current_outlooks.py:34,37 |
"March 2026 OBR outlook" chart |
economy/topics/public-finances/index.html:119,125 |
baseline wording |
obr/index.html, obr/methodology/, obr/code/, obr/validation/, models/index.html |
vintage wording and scorecard figures |
papers/obr-macro/ |
describes the March 2026 paper; leave as dated unless re-run |
integration/tests/test_site_contract.py, test_adapter_contract.py |
pinned vintage strings |
What moves when it updates
- Every hosted OBR number: baseline levels, scored reforms, the 0.30% anchored MAPE and the 4.32% cold-run gap.
- The 4.32% is a closure artefact (GDPM is exogenous in the OBR's published model), not OBR forecast error. It will move with the vintage.
- Conditioning assumptions (from the EFO page's Table 2.1, to be confirmed from the workbook): oil about $63 → $82 a barrel, Bank Rate 3.4% → 4.0%, 10-year gilt 4.6% → 5.0%. This changes the baseline that every reform deviation is measured from.
- The FYCPR and CB rows depend on the obr-macroeconomic-model#42/#52 decision.
Order
- obr-macroeconomic-model#53 lands, opt-in, with March as the default.
- #218 pin bump. Every hosted OBR number already moves at this step.
- Switch the adapter default to October and update the strings above in one PR.
- Give the track record a per-round comparator vintage.
Until then, the honest interim fix is a dated note on the OBR pages: "Anchored to the March 2026 EFO; the October 2026 EFO (28 Oct) is not yet incorporated."
- Ngôn ngữ chính
- HTML
- Star
- 3
- Fork
- 0
- Merge trung bình
- 8 ngày 15 giờ
- Pull request đã merge (30 ngày)
- 1
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/macro
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
PolicyEngine/macro#225 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 9 ngày
-
question
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100
PolicyEngine/macro#214 ·
Maintainer thường phản hồi trong vòng 9 ngày
-
bug documentation
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 76/100
PolicyEngine/macro#211 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 9 ngày
-
question
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 22/100
PolicyEngine/macro#227 · 4 bình luận ·
Maintainer thường phản hồi trong vòng 9 ngày
-
Nowcast can't archive a new round: the hosted forecast_uk is pinned to boe-var data ending 2026Q1Đang mởdata question
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 34/100
PolicyEngine/macro#224 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 9 ngày
Tất cả issue của PolicyEngine/macro
Issue tương tự
-
Runner API: GET /api/jobs/<id> returns branch: null; the branch only appears under input.branchĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
radiancelux/prgenie#204 ·
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 76/100
WalletConnect/walletconnect-monorepo#7392 · 1 bình luận ·
-
Calendar sync: recurring events land a day late when the local start falls on a different UTC dateĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày
-
area: app type: bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
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 77/100
qutip/qutip#3088 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày