PolicyEngine / PolicyEngine/policyengine-scorecard
OBR published economic + behavioural effects of policy: the Scorecard entry point for PolicyEngine Macro members
@vahid-ahmadi is already working on this.
Since Aug 17, 2026.
- Dominant language
- Python
- Stars
- 0
- Forks
- 0
- Avg merge
- 6d 12h
- Merged PRs (30d)
- 32
Description
Companion to the OBR policy-costings issue (linked below). Max's steer (2026-08-16): model development centers on the Scorecard — OBR published scores first, machinery second.
Why this issue exists
PolicyEngine Macro's members (the OBR emulator, OG-UK, BoE SVAR, FRB/US on the US side) validate against baselines today (the emulator's anchored==EFO gate) but have no Scorecard rows for what they are for: the effect of policy. Meanwhile machinery has been accumulating around them (two-environment og_payload pipeline, one-process dynamic scoring, oguk re-pins) that no comparison has asked for. This issue is the entry point that decides which of that machinery gets built.
The population: OBR's published economic and behavioural effects of policy
Not yet harvested. Each fiscal event's EFO carries:
- Policy package effects on the economy (Chapter 2 boxes/tables): GDP level, employment, inflation, interest rates, by year — the fiscal shock inputs are the same PMD costings the companion issue uses.
- Supply-side / behavioural scorings of individual measures: labour-supply effects in FTE and hours (NICs cuts, childcare, pension measures, welfare reforms), and the behavioural component of costings where HMRC/OBR publish static vs post-behavioural separately.
- Indirect effects on the forecast (receipts/spending feedback from the package).
Counterparts (each is a Scorecard row for a Macro member)
- OBR emulator ← package effects on GDP/employment/inflation, with the shock path built from the measure costings (this IS PolicyEngine/macro#9's micro→macro bridge — built because a comparison needs it).
- PE-UK labour-supply responses (static LSR) and OG-UK ← the labour-supply/FTE claims. Two PE-side answers to the same OBR claim, side by side, descriptively. This is where OG-UK's dynamic layer earns (or doesn't earn) its plumbing.
- Later: OG-USA / FRB/US ← CBO/JCT dynamic scores (US mirror; PolicyEngine/macro#77).
Steps
- Harvest: EFO chapter-2 policy-effect tables/boxes + supply-side boxes for AS2023 → AB2025 (Wayback originals, no bypasses; same recipe as
uk_obr/NOTES.md); stage claims withmetric∈ {gdp_level_effect, employment_effect, labour_supply_fte, …} and full conditions (fiscal_event, horizon FY, basis). - Register the macro members as PE-side engines in the results vocabulary (
engine= obr_emulator@sha / oguk@sha / policyengine-uk LSR), so rows are attributable. - Emulator counterparts for the package-effect claims; LSR + OG-UK counterparts for the FTE claims.
- Only then: decide the OG-UK machinery (re-pin to merged OG-UK master
e0ff741— MTR fixes — and single-process dynamic scoring) on the basis of what the comparisons need.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.