You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The macro→micro half of the loop, per the #macro architecture direction (2026-07-16). Today OG/OBR produce wage, interest-rate, employment, and price paths that never re-enter the microsim — so the suite has no dynamic distributional analysis, the thing that would make it more than the sum of its members.
Design sketch:
A macro run (OG steady state or OBR window) emits an EconomicAssumptions object: paths/levels for earnings growth, employment, CPI/RPI, interest rates.
policyengine-uk already carries the OBR forecast as parameters (gov.obr.* uprating indices) — the overlay is a reform-shaped object that replaces those parameter values with the model's own paths. No engine surgery: it composes with the policy reform exactly like any other parameter change.
Rerun the microsim under (reform + overlay) vs (baseline + baseline overlay) → decile impacts, winners/losers, and revenue with GE feedback.
Order of operations note: the overlay must be derived from the reform macro run (which itself consumed the reform via tax functions or the #9 bridge), and the baseline microsim must use the baseline macro run's overlay — document the two-run structure so nobody double-counts the static effect.
This is the CBO/JCT-shaped capability. Depends on #9 (OBR side) and #10 (result schema); the OG side can prototype first since its PolicyEngine linkage already exists.
The macro→micro half of the loop, per the #macro architecture direction (2026-07-16). Today OG/OBR produce wage, interest-rate, employment, and price paths that never re-enter the microsim — so the suite has no dynamic distributional analysis, the thing that would make it more than the sum of its members.
Design sketch:
EconomicAssumptionsobject: paths/levels for earnings growth, employment, CPI/RPI, interest rates.gov.obr.*uprating indices) — the overlay is a reform-shaped object that replaces those parameter values with the model's own paths. No engine surgery: it composes with the policy reform exactly like any other parameter change.ScoreResult(Common ScoreResult schema across all scoring adapters #10) with the distributional block filled andassumptionsnaming the macro model that produced the overlay.Order of operations note: the overlay must be derived from the reform macro run (which itself consumed the reform via tax functions or the #9 bridge), and the baseline microsim must use the baseline macro run's overlay — document the two-run structure so nobody double-counts the static effect.
This is the CBO/JCT-shaped capability. Depends on #9 (OBR side) and #10 (result schema); the OG side can prototype first since its PolicyEngine linkage already exists.