diff --git a/connect/index.html b/connect/index.html index 748c7a7..f51c5d3 100644 --- a/connect/index.html +++ b/connect/index.html @@ -396,8 +396,9 @@
pe-macro forecastpe-macro hank-shock --kind monetary --size -0.0025pe-macro household --country us --people '[{"age":35,"employment_income":50000}]'pe-macro score --country uk --reform '{"gov.hmrc.income_tax.rates.uk[0].rate":0.21}' --model obrView every CLI command → · How the micro-to-macro scoring pipeline works: score a reform.
These figures are the backdrop every model runs + against — the baseline a scored reform perturbs and + the outturns the forecast record is judged on.
score_reform refuses
+ model="frbus" rather than return a plausible-but-wrong
+ number. And it says nothing about the UK.
diff --git a/index.html b/index.html
index 15d133f..c52c1ac 100644
--- a/index.html
+++ b/index.html
@@ -176,6 +176,12 @@ Choose among six open household and macro models, then inspect each model’s assumptions, evidence, and limits.
choose a macro model → + +The microsimulation computes the direct cost and who pays; the OBR emulator returns the economy-wide feedback — one reform, scored end to end.
+ score a reform → +The scoring pipeline chains two members: PolicyEngine's microsimulation produces the static costing from the actual tax-benefit rules, then the OBR emulator feeds it through the macro model for the second-round effects — the OBR's own "static costing in, second-round effects out" workflow.
+
+ It is coupled to the PolicyEngine microsimulation
+ in both directions: its tax functions are estimated from effective
+ and marginal rates the microsimulation computes on Enhanced FRS
+ microdata, and a reform is the same flat parameter dict the
+ microsimulation uses — so the model scores statute, not a stylised
+ stand-in. Going the other way, score_reform with
+ model="og+microsim" feeds the long-run wage and
+ labour-supply changes back into a second microsimulation run for a
+ dynamic, household-resolution score. The end-to-end workflow is on
+ the score a reform page.
+
The rest of this page walks through a worked showcase reform with charts; the diff --git a/pe/index.html b/pe/index.html index fada266..e766a57 100644 --- a/pe/index.html +++ b/pe/index.html @@ -96,14 +96,18 @@
- It feeds two macro engines: the OLG model + It is the hub of the suite: every scoring path starts here. It feeds + two macro engines — the OLG model consumes its effective and marginal rates to build tax functions; the OBR emulator takes its static costing as the - direct effect and returns the second-round one. See also the + direct effect and returns the second-round one — and the OLG model + feeds back, scaling a second microsimulation run with its long-run + wage and labour-supply changes for a dynamic score. See also the code, the methodology, and how far to trust it.
+Long-run incentive effects are a different question — that is the OLG model. For choosing between models, see the catalog and comparison.
+Long-run incentive effects are a different question — that is the OLG model, which also loops back: og+microsim feeds its long-run wage and labour-supply changes into a second microsimulation run for a dynamic score. For choosing between models, see the catalog and comparison.
score_reform refuses
- model="hank" outright — three stylized instruments and
- an endogenous labor tax mean no mapping from statute exists.
+ cannot score a PolicyEngine reform:
+ score_reform refuses model="hank" outright —
+ three stylized instruments and an endogenous labor tax mean no
+ mapping from statute exists. For statutory reforms scored end to end,
+ use the micro-to-macro workflow; for who wins
+ and loses from a reform at household resolution, the
+ microsimulation answers directly.
Responses are first-order — linear in the shock,
with no state dependence — and the distributional cuts are
first-order approximations from steady-state policies, not full