diff --git a/data/externals/obr-policy-effects.json b/data/externals/obr-policy-effects.json new file mode 100644 index 0000000..9833387 --- /dev/null +++ b/data/externals/obr-policy-effects.json @@ -0,0 +1,6465 @@ +[ + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_full_expensing", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2023-24", + "value": -0.0013484110413940781, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2023_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2023, Chart 2.A: 'Real GDP impacts' of the Autumn Statement 2023 package, measured as deviations from the pre-measures November 2023 forecast.", + "source_column": "C2.A:Supply: Full expensing" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_nics_cut", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2023-24", + "value": 0.0, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2023_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2023, Chart 2.A: 'Real GDP impacts' of the Autumn Statement 2023 package, measured as deviations from the pre-measures November 2023 forecast.", + "source_column": "C2.A:Supply: NICs cut" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_welfare_reforms_and_other", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2023-24", + "value": 0.0, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2023_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2023, Chart 2.A: 'Real GDP impacts' of the Autumn Statement 2023 package, measured as deviations from the pre-measures November 2023 forecast.", + "source_column": "C2.A:Supply: Welfare reforms & other" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "demand", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2023-24", + "value": 0.020216397593563577, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2023_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2023, Chart 2.A: 'Real GDP impacts' of the Autumn Statement 2023 package, measured as deviations from the pre-measures November 2023 forecast.", + "source_column": "C2.A:Demand" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2023-24", + "value": 0.0188679865521695, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_november2023_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2023, Chart 2.A: 'Real GDP impacts' of the Autumn Statement 2023 package, measured as deviations from the pre-measures November 2023 forecast.", + "source_column": "C2.A:Total effect" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_full_expensing", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2024-25", + "value": -0.0242605359415907, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2023_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2023, Chart 2.A: 'Real GDP impacts' of the Autumn Statement 2023 package, measured as deviations from the pre-measures November 2023 forecast.", + "source_column": "C2.A:Supply: Full expensing" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_nics_cut", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2024-25", + "value": 0.17814159945592886, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2023_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2023, Chart 2.A: 'Real GDP impacts' of the Autumn Statement 2023 package, measured as deviations from the pre-measures November 2023 forecast.", + "source_column": "C2.A:Supply: NICs cut" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_welfare_reforms_and_other", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2024-25", + "value": 0.008010625071633961, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2023_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2023, Chart 2.A: 'Real GDP impacts' of the Autumn Statement 2023 package, measured as deviations from the pre-measures November 2023 forecast.", + "source_column": "C2.A:Supply: Welfare reforms & other" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "demand", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2024-25", + "value": 0.10051433101163375, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2023_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2023, Chart 2.A: 'Real GDP impacts' of the Autumn Statement 2023 package, measured as deviations from the pre-measures November 2023 forecast.", + "source_column": "C2.A:Demand" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2024-25", + "value": 0.2624060195976059, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_november2023_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2023, Chart 2.A: 'Real GDP impacts' of the Autumn Statement 2023 package, measured as deviations from the pre-measures November 2023 forecast.", + "source_column": "C2.A:Total effect" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_full_expensing", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2025-26", + "value": -0.05344473057536616, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2023_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2023, Chart 2.A: 'Real GDP impacts' of the Autumn Statement 2023 package, measured as deviations from the pre-measures November 2023 forecast.", + "source_column": "C2.A:Supply: Full expensing" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_nics_cut", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2025-26", + "value": 0.1757490937054447, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2023_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2023, Chart 2.A: 'Real GDP impacts' of the Autumn Statement 2023 package, measured as deviations from the pre-measures November 2023 forecast.", + "source_column": "C2.A:Supply: NICs cut" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_welfare_reforms_and_other", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2025-26", + "value": 0.017958482889858036, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2023_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2023, Chart 2.A: 'Real GDP impacts' of the Autumn Statement 2023 package, measured as deviations from the pre-measures November 2023 forecast.", + "source_column": "C2.A:Supply: Welfare reforms & other" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "demand", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2025-26", + "value": 0.10817775934982801, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2023_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2023, Chart 2.A: 'Real GDP impacts' of the Autumn Statement 2023 package, measured as deviations from the pre-measures November 2023 forecast.", + "source_column": "C2.A:Demand" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2025-26", + "value": 0.2484406053697646, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_november2023_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2023, Chart 2.A: 'Real GDP impacts' of the Autumn Statement 2023 package, measured as deviations from the pre-measures November 2023 forecast.", + "source_column": "C2.A:Total effect" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_full_expensing", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2026-27", + "value": -0.0492062446595222, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2023_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2023, Chart 2.A: 'Real GDP impacts' of the Autumn Statement 2023 package, measured as deviations from the pre-measures November 2023 forecast.", + "source_column": "C2.A:Supply: Full expensing" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_nics_cut", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2026-27", + "value": 0.17240988069586147, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2023_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2023, Chart 2.A: 'Real GDP impacts' of the Autumn Statement 2023 package, measured as deviations from the pre-measures November 2023 forecast.", + "source_column": "C2.A:Supply: NICs cut" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_welfare_reforms_and_other", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2026-27", + "value": 0.024640471404493734, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2023_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2023, Chart 2.A: 'Real GDP impacts' of the Autumn Statement 2023 package, measured as deviations from the pre-measures November 2023 forecast.", + "source_column": "C2.A:Supply: Welfare reforms & other" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "demand", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2026-27", + "value": 0.08545256779543883, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2023_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2023, Chart 2.A: 'Real GDP impacts' of the Autumn Statement 2023 package, measured as deviations from the pre-measures November 2023 forecast.", + "source_column": "C2.A:Demand" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2026-27", + "value": 0.23329667523627184, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_november2023_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2023, Chart 2.A: 'Real GDP impacts' of the Autumn Statement 2023 package, measured as deviations from the pre-measures November 2023 forecast.", + "source_column": "C2.A:Total effect" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_full_expensing", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2027-28", + "value": 0.02199257734596506, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2023_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2023, Chart 2.A: 'Real GDP impacts' of the Autumn Statement 2023 package, measured as deviations from the pre-measures November 2023 forecast.", + "source_column": "C2.A:Supply: Full expensing" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_nics_cut", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2027-28", + "value": 0.16966696033976017, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2023_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2023, Chart 2.A: 'Real GDP impacts' of the Autumn Statement 2023 package, measured as deviations from the pre-measures November 2023 forecast.", + "source_column": "C2.A:Supply: NICs cut" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_welfare_reforms_and_other", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2027-28", + "value": 0.031136074870328045, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2023_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2023, Chart 2.A: 'Real GDP impacts' of the Autumn Statement 2023 package, measured as deviations from the pre-measures November 2023 forecast.", + "source_column": "C2.A:Supply: Welfare reforms & other" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "demand", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2027-28", + "value": 0.027984811546927554, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2023_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2023, Chart 2.A: 'Real GDP impacts' of the Autumn Statement 2023 package, measured as deviations from the pre-measures November 2023 forecast.", + "source_column": "C2.A:Demand" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2027-28", + "value": 0.25078042410298085, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_november2023_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2023, Chart 2.A: 'Real GDP impacts' of the Autumn Statement 2023 package, measured as deviations from the pre-measures November 2023 forecast.", + "source_column": "C2.A:Total effect" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_full_expensing", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2028-29", + "value": 0.07876498184055578, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2023_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2023, Chart 2.A: 'Real GDP impacts' of the Autumn Statement 2023 package, measured as deviations from the pre-measures November 2023 forecast.", + "source_column": "C2.A:Supply: Full expensing" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_nics_cut", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2028-29", + "value": 0.16741543499136508, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2023_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2023, Chart 2.A: 'Real GDP impacts' of the Autumn Statement 2023 package, measured as deviations from the pre-measures November 2023 forecast.", + "source_column": "C2.A:Supply: NICs cut" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_welfare_reforms_and_other", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2028-29", + "value": 0.03751786131212807, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2023_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2023, Chart 2.A: 'Real GDP impacts' of the Autumn Statement 2023 package, measured as deviations from the pre-measures November 2023 forecast.", + "source_column": "C2.A:Supply: Welfare reforms & other" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "demand", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2028-29", + "value": 0.0, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2023_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2023, Chart 2.A: 'Real GDP impacts' of the Autumn Statement 2023 package, measured as deviations from the pre-measures November 2023 forecast.", + "source_column": "C2.A:Demand" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2028-29", + "value": 0.2836982781440489, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_november2023_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2023, Chart 2.A: 'Real GDP impacts' of the Autumn Statement 2023 package, measured as deviations from the pre-measures November 2023 forecast.", + "source_column": "C2.A:Total effect" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "demand_multipliers", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2024-25", + "value": 0.1671100501957179, + "status": "ok", + "fiscal_event": "spring_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_march2024_chapter2.xlsx", + "baseline": "obr_pre_measures_spring_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2024, Chart 2.A: 'Impact of policy measures on real GDP', measured as deviations from the pre-measures March 2024 forecast.", + "source_column": "C2.A:Demand: multipliers" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_nics_cut", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2024-25", + "value": 0.08717685505662426, + "status": "ok", + "fiscal_event": "spring_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_march2024_chapter2.xlsx", + "baseline": "obr_pre_measures_spring_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2024, Chart 2.A: 'Impact of policy measures on real GDP', measured as deviations from the pre-measures March 2024 forecast.", + "source_column": "C2.A:Supply: NICs cut" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_child_benefit", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2024-25", + "value": 0.01648461405790086, + "status": "ok", + "fiscal_event": "spring_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_march2024_chapter2.xlsx", + "baseline": "obr_pre_measures_spring_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2024, Chart 2.A: 'Impact of policy measures on real GDP', measured as deviations from the pre-measures March 2024 forecast.", + "source_column": "C2.A:Supply: child benefit" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2024-25", + "value": 0.270771519310243, + "status": "ok", + "fiscal_event": "spring_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_march2024_chapter2.xlsx", + "baseline": "obr_pre_measures_spring_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2024, Chart 2.A: 'Impact of policy measures on real GDP', measured as deviations from the pre-measures March 2024 forecast.", + "source_column": "C2.A:Change in real GDP" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "demand_multipliers", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2025-26", + "value": 0.0968137503696509, + "status": "ok", + "fiscal_event": "spring_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_march2024_chapter2.xlsx", + "baseline": "obr_pre_measures_spring_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2024, Chart 2.A: 'Impact of policy measures on real GDP', measured as deviations from the pre-measures March 2024 forecast.", + "source_column": "C2.A:Demand: multipliers" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_nics_cut", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2025-26", + "value": 0.18855215043855927, + "status": "ok", + "fiscal_event": "spring_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_march2024_chapter2.xlsx", + "baseline": "obr_pre_measures_spring_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2024, Chart 2.A: 'Impact of policy measures on real GDP', measured as deviations from the pre-measures March 2024 forecast.", + "source_column": "C2.A:Supply: NICs cut" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_child_benefit", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2025-26", + "value": 0.035654225524517094, + "status": "ok", + "fiscal_event": "spring_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_march2024_chapter2.xlsx", + "baseline": "obr_pre_measures_spring_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2024, Chart 2.A: 'Impact of policy measures on real GDP', measured as deviations from the pre-measures March 2024 forecast.", + "source_column": "C2.A:Supply: child benefit" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2025-26", + "value": 0.32102012633272725, + "status": "ok", + "fiscal_event": "spring_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_march2024_chapter2.xlsx", + "baseline": "obr_pre_measures_spring_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2024, Chart 2.A: 'Impact of policy measures on real GDP', measured as deviations from the pre-measures March 2024 forecast.", + "source_column": "C2.A:Change in real GDP" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "demand_multipliers", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2026-27", + "value": 0.056739321423404654, + "status": "ok", + "fiscal_event": "spring_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_march2024_chapter2.xlsx", + "baseline": "obr_pre_measures_spring_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2024, Chart 2.A: 'Impact of policy measures on real GDP', measured as deviations from the pre-measures March 2024 forecast.", + "source_column": "C2.A:Demand: multipliers" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_nics_cut", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2026-27", + "value": 0.21258960538709096, + "status": "ok", + "fiscal_event": "spring_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_march2024_chapter2.xlsx", + "baseline": "obr_pre_measures_spring_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2024, Chart 2.A: 'Impact of policy measures on real GDP', measured as deviations from the pre-measures March 2024 forecast.", + "source_column": "C2.A:Supply: NICs cut" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_child_benefit", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2026-27", + "value": 0.040199582539947355, + "status": "ok", + "fiscal_event": "spring_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_march2024_chapter2.xlsx", + "baseline": "obr_pre_measures_spring_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2024, Chart 2.A: 'Impact of policy measures on real GDP', measured as deviations from the pre-measures March 2024 forecast.", + "source_column": "C2.A:Supply: child benefit" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2026-27", + "value": 0.30952850935044296, + "status": "ok", + "fiscal_event": "spring_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_march2024_chapter2.xlsx", + "baseline": "obr_pre_measures_spring_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2024, Chart 2.A: 'Impact of policy measures on real GDP', measured as deviations from the pre-measures March 2024 forecast.", + "source_column": "C2.A:Change in real GDP" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "demand_multipliers", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2027-28", + "value": 0.01827814230725977, + "status": "ok", + "fiscal_event": "spring_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_march2024_chapter2.xlsx", + "baseline": "obr_pre_measures_spring_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2024, Chart 2.A: 'Impact of policy measures on real GDP', measured as deviations from the pre-measures March 2024 forecast.", + "source_column": "C2.A:Demand: multipliers" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_nics_cut", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2027-28", + "value": 0.181712454048158, + "status": "ok", + "fiscal_event": "spring_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_march2024_chapter2.xlsx", + "baseline": "obr_pre_measures_spring_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2024, Chart 2.A: 'Impact of policy measures on real GDP', measured as deviations from the pre-measures March 2024 forecast.", + "source_column": "C2.A:Supply: NICs cut" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_child_benefit", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2027-28", + "value": 0.03436087470854718, + "status": "ok", + "fiscal_event": "spring_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_march2024_chapter2.xlsx", + "baseline": "obr_pre_measures_spring_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2024, Chart 2.A: 'Impact of policy measures on real GDP', measured as deviations from the pre-measures March 2024 forecast.", + "source_column": "C2.A:Supply: child benefit" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2027-28", + "value": 0.23435147106396492, + "status": "ok", + "fiscal_event": "spring_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_march2024_chapter2.xlsx", + "baseline": "obr_pre_measures_spring_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2024, Chart 2.A: 'Impact of policy measures on real GDP', measured as deviations from the pre-measures March 2024 forecast.", + "source_column": "C2.A:Change in real GDP" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "demand_multipliers", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2028-29", + "value": 0.0, + "status": "ok", + "fiscal_event": "spring_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_march2024_chapter2.xlsx", + "baseline": "obr_pre_measures_spring_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2024, Chart 2.A: 'Impact of policy measures on real GDP', measured as deviations from the pre-measures March 2024 forecast.", + "source_column": "C2.A:Demand: multipliers" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_nics_cut", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2028-29", + "value": 0.1760984534935227, + "status": "ok", + "fiscal_event": "spring_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_march2024_chapter2.xlsx", + "baseline": "obr_pre_measures_spring_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2024, Chart 2.A: 'Impact of policy measures on real GDP', measured as deviations from the pre-measures March 2024 forecast.", + "source_column": "C2.A:Supply: NICs cut" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_child_benefit", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2028-29", + "value": 0.03329929656475955, + "status": "ok", + "fiscal_event": "spring_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_march2024_chapter2.xlsx", + "baseline": "obr_pre_measures_spring_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2024, Chart 2.A: 'Impact of policy measures on real GDP', measured as deviations from the pre-measures March 2024 forecast.", + "source_column": "C2.A:Supply: child benefit" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2028-29", + "value": 0.2093977500582822, + "status": "ok", + "fiscal_event": "spring_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_march2024_chapter2.xlsx", + "baseline": "obr_pre_measures_spring_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2024, Chart 2.A: 'Impact of policy measures on real GDP', measured as deviations from the pre-measures March 2024 forecast.", + "source_column": "C2.A:Change in real GDP" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "private_consumption", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2024-25", + "value": -0.09394273442777334, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:Private consumption" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "private_consumption", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2025-26", + "value": -0.23217860451197514, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:Private consumption" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "private_consumption", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2026-27", + "value": -0.38680973158277654, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:Private consumption" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "private_consumption", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2027-28", + "value": -0.6004296348126061, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:Private consumption" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "private_consumption", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2028-29", + "value": -0.7771246636258189, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:Private consumption" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "private_consumption", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2029-30", + "value": -0.8996616785374059, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:Private consumption" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "government_consumption", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2024-25", + "value": 0.32887636172408385, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:Government consumption" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "government_consumption", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2025-26", + "value": 0.7323608791605327, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:Government consumption" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "government_consumption", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2026-27", + "value": 0.7178472052614076, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:Government consumption" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "government_consumption", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2027-28", + "value": 0.7575917479135457, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:Government consumption" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "government_consumption", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2028-29", + "value": 0.7954499547833871, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:Government consumption" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "government_consumption", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2029-30", + "value": 0.804121906622751, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:Government consumption" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "government_investment", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2024-25", + "value": -0.0004916794835413407, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:Government investment" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "government_investment", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2025-26", + "value": 0.3289693869243686, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:Government investment" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "government_investment", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2026-27", + "value": 0.5496382583133662, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:Government investment" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "government_investment", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2027-28", + "value": 0.6284442009421776, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:Government investment" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "government_investment", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2028-29", + "value": 0.6565262289346697, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:Government investment" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "government_investment", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2029-30", + "value": 0.5843063947949194, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:Government investment" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "business_investment", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2024-25", + "value": -0.038727021490542496, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:Business investment" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "business_investment", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2025-26", + "value": -0.1963344356944986, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:Business investment" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "business_investment", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2026-27", + "value": -0.21318642225493256, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:Business investment" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "business_investment", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2027-28", + "value": -0.21619957797830103, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:Business investment" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "business_investment", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2028-29", + "value": -0.23446439989526502, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:Business investment" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "business_investment", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2029-30", + "value": -0.2091880240891213, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:Business investment" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "net_trade_and_other", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2024-25", + "value": -0.11013923837695486, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:Net trade and other" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "net_trade_and_other", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2025-26", + "value": -0.07732333514148093, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:Net trade and other" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "net_trade_and_other", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2026-27", + "value": -0.30077350147961956, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:Net trade and other" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "net_trade_and_other", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2027-28", + "value": -0.4741435206900082, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:Net trade and other" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "net_trade_and_other", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2028-29", + "value": -0.4722571216240985, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:Net trade and other" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "net_trade_and_other", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2029-30", + "value": -0.3905554815738528, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:Net trade and other" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2024-25", + "value": 0.08557568794527182, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:GDP" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2025-26", + "value": 0.5554938907369467, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:GDP" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2026-27", + "value": 0.3667158082574451, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:GDP" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2027-28", + "value": 0.09526321537480786, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:GDP" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2028-29", + "value": -0.031870001427125594, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:GDP" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2029-30", + "value": -0.11097688278270956, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.A:GDP" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "demand_multipliers", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2024-25", + "value": 0.09133202983372257, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.B:Demand: multipliers" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "demand_multipliers", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2025-26", + "value": 0.6401287508544868, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.B:Demand: multipliers" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "demand_multipliers", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2026-27", + "value": 0.5138817757643039, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.B:Demand: multipliers" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "demand_multipliers", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2027-28", + "value": 0.24130642831462978, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.B:Demand: multipliers" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "demand_multipliers", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2028-29", + "value": 0.10439788150024754, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.B:Demand: multipliers" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "demand_multipliers", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2029-30", + "value": 0.0055201538858966614, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.B:Demand: multipliers" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_employer_nics", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2024-25", + "value": 0.0, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.B:Supply: employer NICs" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_employer_nics", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2025-26", + "value": -0.04878580923309528, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.B:Supply: employer NICs" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_employer_nics", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2026-27", + "value": -0.09174379218312367, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.B:Supply: employer NICs" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_employer_nics", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2027-28", + "value": -0.08686390039801495, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.B:Supply: employer NICs" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_employer_nics", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2028-29", + "value": -0.08525482797071504, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.B:Supply: employer NICs" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_employer_nics", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2029-30", + "value": -0.08708438885931002, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.B:Supply: employer NICs" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_public_investment", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2024-25", + "value": -0.00041528253960620987, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.B:Supply: public investment" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_public_investment", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2025-26", + "value": -0.00013056976438008405, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.B:Supply: public investment" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_public_investment", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2026-27", + "value": 0.014029872306906555, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.B:Supply: public investment" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_public_investment", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2027-28", + "value": 0.044974008758984496, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.B:Supply: public investment" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_public_investment", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2028-29", + "value": 0.09005783726314576, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.B:Supply: public investment" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_public_investment", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2029-30", + "value": 0.14380204123870044, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.B:Supply: public investment" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_crowding_out", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2024-25", + "value": -0.005341059348836552, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.B:Supply: crowding out" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_crowding_out", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2025-26", + "value": -0.03571848112005682, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.B:Supply: crowding out" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_crowding_out", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2026-27", + "value": -0.06945204763063373, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.B:Supply: crowding out" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_crowding_out", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2027-28", + "value": -0.10415332130079946, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.B:Supply: crowding out" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_crowding_out", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2028-29", + "value": -0.1410708922198154, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.B:Supply: crowding out" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "supply_crowding_out", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2029-30", + "value": -0.1732146890479953, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.B:Supply: crowding out" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2024-25", + "value": 0.08557568794527981, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.B:Change in real GDP" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2025-26", + "value": 0.5554938907369547, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.B:Change in real GDP" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2026-27", + "value": 0.3667158082574531, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.B:Change in real GDP" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2027-28", + "value": 0.09526321537479987, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.B:Change in real GDP" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2028-29", + "value": -0.03187000142713714, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.B:Change in real GDP" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2029-30", + "value": -0.11097688278270823, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_october2024_chapter2.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' by expenditure component and by measure, measured as deviations from the pre-measures October 2024 forecast.", + "source_column": "C2.B:Change in real GDP" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "consumption", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2024-25", + "value": 0.0, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Consumption" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "consumption", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2025-26", + "value": 0.00431246032997927, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Consumption" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "consumption", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2026-27", + "value": -0.044399616508694284, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Consumption" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "consumption", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2027-28", + "value": -0.11685805419732172, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Consumption" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "consumption", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2028-29", + "value": -0.1904670574270837, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Consumption" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "consumption", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2029-30", + "value": -0.2297815675958368, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Consumption" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "consumption", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2030-31", + "value": -0.2889259079694624, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Consumption" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "residential_and_business_investment", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2024-25", + "value": 0.0, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Residential and business investment" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "residential_and_business_investment", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2025-26", + "value": -0.004684152125253096, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Residential and business investment" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "residential_and_business_investment", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2026-27", + "value": -0.019671237611892146, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Residential and business investment" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "residential_and_business_investment", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2027-28", + "value": -0.028639275452566736, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Residential and business investment" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "residential_and_business_investment", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2028-29", + "value": 0.004022736937532184, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Residential and business investment" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "residential_and_business_investment", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2029-30", + "value": 0.03995648184133759, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Residential and business investment" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "residential_and_business_investment", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2030-31", + "value": 0.048137427812764276, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Residential and business investment" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "government_consumption_and_investment", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2024-25", + "value": 0.0, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Government consumption and investment" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "government_consumption_and_investment", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2025-26", + "value": 0.018483395208085562, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Government consumption and investment" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "government_consumption_and_investment", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2026-27", + "value": 0.16271941631933035, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Government consumption and investment" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "government_consumption_and_investment", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2027-28", + "value": 0.2069485515210221, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Government consumption and investment" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "government_consumption_and_investment", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2028-29", + "value": 0.13701645177834545, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Government consumption and investment" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "government_consumption_and_investment", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2029-30", + "value": 0.11361453789395473, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Government consumption and investment" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "government_consumption_and_investment", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2030-31", + "value": 0.13945787868319914, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Government consumption and investment" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "net_trade_and_other", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2024-25", + "value": 0.0, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Net trade and other" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "net_trade_and_other", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2025-26", + "value": -0.010473158537444238, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Net trade and other" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "net_trade_and_other", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2026-27", + "value": -0.03111499885151876, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Net trade and other" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "net_trade_and_other", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2027-28", + "value": -0.04319874341380285, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Net trade and other" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "net_trade_and_other", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2028-29", + "value": 0.023964296211501264, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Net trade and other" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "net_trade_and_other", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2029-30", + "value": 0.06821881079007028, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Net trade and other" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "net_trade_and_other", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2030-31", + "value": 0.09934504213327514, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Net trade and other" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2024-25", + "value": 0.0, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Total" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2025-26", + "value": 0.007638544875367496, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Total" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2026-27", + "value": 0.06753356334722516, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Total" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2027-28", + "value": 0.01825247845733078, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Total" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2028-29", + "value": -0.02546357249970479, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Total" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2029-30", + "value": -0.007991737070474207, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Total" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "gdp_level_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percent_of_real_gdp", + "period": "2030-31", + "value": -0.001985559340223807, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.3:Total" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "fuel_duty_freeze_extension", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2025-26", + "value": 0.0, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Fuel duty freeze extension" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "energy_bills_package", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2025-26", + "value": 0.0035455527373773332, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Energy bills package" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "rail_fares_freeze", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2025-26", + "value": 0.0, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Rail fares freeze" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "mileage_based_charge_on_electric_cars", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2025-26", + "value": 0.0, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Mileage-based charge on electric cars" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "output_gap", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2025-26", + "value": 1.4562256955841235e-10, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Output gap" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2025-26", + "value": 0.003545552882999903, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Total" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "fuel_duty_freeze_extension", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2026-27", + "value": -0.12897821583797717, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Fuel duty freeze extension" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "energy_bills_package", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2026-27", + "value": -0.25195630883183057, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Energy bills package" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "rail_fares_freeze", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2026-27", + "value": -0.045537332544893824, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Rail fares freeze" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "mileage_based_charge_on_electric_cars", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2026-27", + "value": -0.018400909871491327, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Mileage-based charge on electric cars" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "output_gap", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2026-27", + "value": 0.015291072407869252, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Output gap" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2026-27", + "value": -0.42958169467832363, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Total" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "fuel_duty_freeze_extension", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2027-28", + "value": 0.07596368694951479, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Fuel duty freeze extension" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "energy_bills_package", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2027-28", + "value": 0.0013187943682261248, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Energy bills package" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "rail_fares_freeze", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2027-28", + "value": -0.0021992981989196587, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Rail fares freeze" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "mileage_based_charge_on_electric_cars", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2027-28", + "value": -0.0081513210862549, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Mileage-based charge on electric cars" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "output_gap", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2027-28", + "value": 0.022876812352027924, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Output gap" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2027-28", + "value": 0.08980867438459428, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Total" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "fuel_duty_freeze_extension", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2028-29", + "value": -0.00045149530388793185, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Fuel duty freeze extension" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "energy_bills_package", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2028-29", + "value": 0.014845699880795295, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Energy bills package" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "rail_fares_freeze", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2028-29", + "value": -0.0018447651104048618, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Rail fares freeze" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "mileage_based_charge_on_electric_cars", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2028-29", + "value": 0.13253221637171436, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Mileage-based charge on electric cars" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "output_gap", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2028-29", + "value": -0.006541020373305565, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Output gap" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2028-29", + "value": 0.1385406354649113, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Total" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "fuel_duty_freeze_extension", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2029-30", + "value": -0.0003736083669269273, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Fuel duty freeze extension" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "energy_bills_package", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2029-30", + "value": 0.019234927052175308, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Energy bills package" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "rail_fares_freeze", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2029-30", + "value": -0.0016504314021039625, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Rail fares freeze" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "mileage_based_charge_on_electric_cars", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2029-30", + "value": -0.0010261332073141245, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Mileage-based charge on electric cars" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "output_gap", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2029-30", + "value": -0.006562511295552846, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Output gap" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2029-30", + "value": 0.00962224278027745, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Total" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "fuel_duty_freeze_extension", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2030-31", + "value": -0.0002481966996816312, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Fuel duty freeze extension" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "energy_bills_package", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2030-31", + "value": 0.012270635866551069, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Energy bills package" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "rail_fares_freeze", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2030-31", + "value": -0.0019405522307461404, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Rail fares freeze" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "mileage_based_charge_on_electric_cars", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2030-31", + "value": -0.0128044811275261, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Mileage-based charge on electric cars" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "output_gap", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2030-31", + "value": 0.0, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "component", + "parent": "policy_package", + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Output gap" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "policy_package", + "metric": "cpi_inflation_effect", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "percentage_points", + "period": "2030-31", + "value": -0.0027225941914028034, + "status": "ok", + "fiscal_event": "autumn_budget_2025", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_november2025_chapter3.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP and on CPI inflation, measured as deviations from the pre-measures November 2025 forecast.", + "source_column": "C3.4:Total" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "universal_support", + "metric": "supply_side_impact", + "subgroup": "labour", + "variant": "del", + "geography": "UK", + "unit_concept": "percent_of_potential_gdp", + "period": "forecast_horizon", + "value": 0.01115021133509286, + "status": "ok", + "fiscal_event": "spring_budget_2023", + "basis": "forecast", + "scoring_method": "supply_side", + "scope": "measure", + "aggregate_level": "component", + "parent": null, + "artifact": "obr_briefing_paper_10_supply_side.xlsx", + "baseline": "obr_pre_measures_spring_budget_2023", + "baseline_counterfactual": "del_activity", + "baseline_locator": "OBR Briefing paper No.10 (November 2025), Table 2.1, section 'March 2023': each measure is scored against that fiscal event's pre-measures forecast. Tax and welfare measures are scored against their legislated-parameter counterfactual; DEL and regulatory measures against the pre-existing activity/spending baseline (Briefing paper No.10, chapter 2).", + "source_column": "T2.1:Universal Support", + "description": "Employment support programme for disabled and disadvantaged people" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "free_childcare_30_hours", + "metric": "supply_side_impact", + "subgroup": "labour", + "variant": "del", + "geography": "UK", + "unit_concept": "percent_of_potential_gdp", + "period": "forecast_horizon", + "value": 0.14807480653003322, + "status": "ok", + "fiscal_event": "spring_budget_2023", + "basis": "forecast", + "scoring_method": "supply_side", + "scope": "measure", + "aggregate_level": "component", + "parent": null, + "artifact": "obr_briefing_paper_10_supply_side.xlsx", + "baseline": "obr_pre_measures_spring_budget_2023", + "baseline_counterfactual": "del_activity", + "baseline_locator": "OBR Briefing paper No.10 (November 2025), Table 2.1, section 'March 2023': each measure is scored against that fiscal event's pre-measures forecast. Tax and welfare measures are scored against their legislated-parameter counterfactual; DEL and regulatory measures against the pre-existing activity/spending baseline (Briefing paper No.10, chapter 2).", + "source_column": "T2.1:30 free hours of childcare", + "description": "30 hours per week free childcare (aged nine months to two years)" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "uc_childcare_upfront_costs", + "metric": "supply_side_impact", + "subgroup": "labour", + "variant": "welfare", + "geography": "UK", + "unit_concept": "percent_of_potential_gdp", + "period": "forecast_horizon", + "value": 0.01672531700263929, + "status": "ok", + "fiscal_event": "spring_budget_2023", + "basis": "forecast", + "scoring_method": "supply_side", + "scope": "measure", + "aggregate_level": "component", + "parent": null, + "artifact": "obr_briefing_paper_10_supply_side.xlsx", + "baseline": "obr_pre_measures_spring_budget_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "OBR Briefing paper No.10 (November 2025), Table 2.1, section 'March 2023': each measure is scored against that fiscal event's pre-measures forecast. Tax and welfare measures are scored against their legislated-parameter counterfactual; DEL and regulatory measures against the pre-existing activity/spending baseline (Briefing paper No.10, chapter 2).", + "source_column": "T2.1:Universal credit (UC) childcare", + "description": "Upfront payment of childcare costs support for UC recipients" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "uc_conditionality", + "metric": "supply_side_impact", + "subgroup": "labour", + "variant": "welfare", + "geography": "UK", + "unit_concept": "percent_of_potential_gdp", + "period": "forecast_horizon", + "value": 0.011406220187346591, + "status": "ok", + "fiscal_event": "spring_budget_2023", + "basis": "forecast", + "scoring_method": "supply_side", + "scope": "measure", + "aggregate_level": "component", + "parent": null, + "artifact": "obr_briefing_paper_10_supply_side.xlsx", + "baseline": "obr_pre_measures_spring_budget_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "OBR Briefing paper No.10 (November 2025), Table 2.1, section 'March 2023': each measure is scored against that fiscal event's pre-measures forecast. Tax and welfare measures are scored against their legislated-parameter counterfactual; DEL and regulatory measures against the pre-existing activity/spending baseline (Briefing paper No.10, chapter 2).", + "source_column": "T2.1:UC conditionality", + "description": "Strengthens work requirements for parents on UC" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "pensions_allowances", + "metric": "supply_side_impact", + "subgroup": "labour", + "variant": "tax", + "geography": "UK", + "unit_concept": "percent_of_potential_gdp", + "period": "forecast_horizon", + "value": 0.033673638231980434, + "status": "ok", + "fiscal_event": "spring_budget_2023", + "basis": "forecast", + "scoring_method": "supply_side", + "scope": "measure", + "aggregate_level": "component", + "parent": null, + "artifact": "obr_briefing_paper_10_supply_side.xlsx", + "baseline": "obr_pre_measures_spring_budget_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "OBR Briefing paper No.10 (November 2025), Table 2.1, section 'March 2023': each measure is scored against that fiscal event's pre-measures forecast. Tax and welfare measures are scored against their legislated-parameter counterfactual; DEL and regulatory measures against the pre-existing activity/spending baseline (Briefing paper No.10, chapter 2).", + "source_column": "T2.1:Pensions allowances", + "description": "Raises annual and lifetime pension tax allowances" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "restart_scheme", + "metric": "supply_side_impact", + "subgroup": "labour", + "variant": "del", + "geography": "UK", + "unit_concept": "percent_of_potential_gdp", + "period": "forecast_horizon", + "value": 0.003771636851483774, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "supply_side", + "scope": "measure", + "aggregate_level": "component", + "parent": null, + "artifact": "obr_briefing_paper_10_supply_side.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "del_activity", + "baseline_locator": "OBR Briefing paper No.10 (November 2025), Table 2.1, section 'November 2023': each measure is scored against that fiscal event's pre-measures forecast. Tax and welfare measures are scored against their legislated-parameter counterfactual; DEL and regulatory measures against the pre-existing activity/spending baseline (Briefing paper No.10, chapter 2).", + "source_column": "T2.1:Restart", + "description": "Intensive employment support for the long-term unemployed" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "universal_support_extension", + "metric": "supply_side_impact", + "subgroup": "labour", + "variant": "del", + "geography": "UK", + "unit_concept": "percent_of_potential_gdp", + "period": "forecast_horizon", + "value": 0.009925360135483617, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "supply_side", + "scope": "measure", + "aggregate_level": "component", + "parent": null, + "artifact": "obr_briefing_paper_10_supply_side.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "del_activity", + "baseline_locator": "OBR Briefing paper No.10 (November 2025), Table 2.1, section 'November 2023': each measure is scored against that fiscal event's pre-measures forecast. Tax and welfare measures are scored against their legislated-parameter counterfactual; DEL and regulatory measures against the pre-existing activity/spending baseline (Briefing paper No.10, chapter 2).", + "source_column": "T2.1:Universal Support extension", + "description": "Expands access to Universal Support" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "individual_placement_and_support", + "metric": "supply_side_impact", + "subgroup": "labour", + "variant": "del", + "geography": "UK", + "unit_concept": "percent_of_potential_gdp", + "period": "forecast_horizon", + "value": 0.006616906756989077, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "supply_side", + "scope": "measure", + "aggregate_level": "component", + "parent": null, + "artifact": "obr_briefing_paper_10_supply_side.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "del_activity", + "baseline_locator": "OBR Briefing paper No.10 (November 2025), Table 2.1, section 'November 2023': each measure is scored against that fiscal event's pre-measures forecast. Tax and welfare measures are scored against their legislated-parameter counterfactual; DEL and regulatory measures against the pre-existing activity/spending baseline (Briefing paper No.10, chapter 2).", + "source_column": "T2.1:Individual Placement and Support (IPS)", + "description": "Work placement and support for those with severe mental illness" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "talking_therapies", + "metric": "supply_side_impact", + "subgroup": "labour", + "variant": "del", + "geography": "UK", + "unit_concept": "percent_of_potential_gdp", + "period": "forecast_horizon", + "value": 0.010587050811182525, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "supply_side", + "scope": "measure", + "aggregate_level": "component", + "parent": null, + "artifact": "obr_briefing_paper_10_supply_side.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "del_activity", + "baseline_locator": "OBR Briefing paper No.10 (November 2025), Table 2.1, section 'November 2023': each measure is scored against that fiscal event's pre-measures forecast. Tax and welfare measures are scored against their legislated-parameter counterfactual; DEL and regulatory measures against the pre-existing activity/spending baseline (Briefing paper No.10, chapter 2).", + "source_column": "T2.1:Talking therapies", + "description": "Expands access to talking therapies for people with mental health conditions" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "wca_reforms", + "metric": "supply_side_impact", + "subgroup": "labour", + "variant": "welfare", + "geography": "UK", + "unit_concept": "percent_of_potential_gdp", + "period": "forecast_horizon", + "value": 0.006616906756989077, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "supply_side", + "scope": "measure", + "aggregate_level": "component", + "parent": null, + "artifact": "obr_briefing_paper_10_supply_side.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "OBR Briefing paper No.10 (November 2025), Table 2.1, section 'November 2023': each measure is scored against that fiscal event's pre-measures forecast. Tax and welfare measures are scored against their legislated-parameter counterfactual; DEL and regulatory measures against the pre-existing activity/spending baseline (Briefing paper No.10, chapter 2).", + "source_column": "T2.1:Work capability assessment (WCA) reforms", + "description": "Restricts eligibility for incapacity benefits by tightening WCA criteria" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "employee_nics_cut", + "metric": "supply_side_impact", + "subgroup": "labour", + "variant": "tax", + "geography": "UK", + "unit_concept": "percent_of_potential_gdp", + "period": "forecast_horizon", + "value": 0.16741543499136508, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "supply_side", + "scope": "measure", + "aggregate_level": "component", + "parent": null, + "artifact": "obr_briefing_paper_10_supply_side.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "OBR Briefing paper No.10 (November 2025), Table 2.1, section 'November 2023': each measure is scored against that fiscal event's pre-measures forecast. Tax and welfare measures are scored against their legislated-parameter counterfactual; DEL and regulatory measures against the pre-existing activity/spending baseline (Briefing paper No.10, chapter 2).", + "source_column": "T2.1:Employee NICs cut", + "description": "Reduces employee National Insurance contributions" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "full_expensing", + "metric": "supply_side_impact", + "subgroup": "capital", + "variant": "tax", + "geography": "UK", + "unit_concept": "percent_of_potential_gdp", + "period": "forecast_horizon", + "value": 0.07876498184055578, + "status": "ok", + "fiscal_event": "autumn_statement_2023", + "basis": "forecast", + "scoring_method": "supply_side", + "scope": "measure", + "aggregate_level": "component", + "parent": null, + "artifact": "obr_briefing_paper_10_supply_side.xlsx", + "baseline": "obr_pre_measures_autumn_statement_2023", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "OBR Briefing paper No.10 (November 2025), Table 2.1, section 'November 2023': each measure is scored against that fiscal event's pre-measures forecast. Tax and welfare measures are scored against their legislated-parameter counterfactual; DEL and regulatory measures against the pre-existing activity/spending baseline (Briefing paper No.10, chapter 2).", + "source_column": "T2.1:Full expensing", + "description": "Full expensing of qualifying investments within corporation tax regime" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "hicbc_threshold", + "metric": "supply_side_impact", + "subgroup": "labour", + "variant": "welfare", + "geography": "UK", + "unit_concept": "percent_of_potential_gdp", + "period": "forecast_horizon", + "value": 0.033942251461370955, + "status": "ok", + "fiscal_event": "spring_budget_2024", + "basis": "forecast", + "scoring_method": "supply_side", + "scope": "measure", + "aggregate_level": "component", + "parent": null, + "artifact": "obr_briefing_paper_10_supply_side.xlsx", + "baseline": "obr_pre_measures_spring_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "OBR Briefing paper No.10 (November 2025), Table 2.1, section 'March 2024': each measure is scored against that fiscal event's pre-measures forecast. Tax and welfare measures are scored against their legislated-parameter counterfactual; DEL and regulatory measures against the pre-existing activity/spending baseline (Briefing paper No.10, chapter 2).", + "source_column": "T2.1:High income child benefit charge (HICBC)", + "description": "Raises threshold for HICBC" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "employee_nics_cut", + "metric": "supply_side_impact", + "subgroup": "labour", + "variant": "tax", + "geography": "UK", + "unit_concept": "percent_of_potential_gdp", + "period": "forecast_horizon", + "value": 0.17949862630916047, + "status": "ok", + "fiscal_event": "spring_budget_2024", + "basis": "forecast", + "scoring_method": "supply_side", + "scope": "measure", + "aggregate_level": "component", + "parent": null, + "artifact": "obr_briefing_paper_10_supply_side.xlsx", + "baseline": "obr_pre_measures_spring_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "OBR Briefing paper No.10 (November 2025), Table 2.1, section 'March 2024': each measure is scored against that fiscal event's pre-measures forecast. Tax and welfare measures are scored against their legislated-parameter counterfactual; DEL and regulatory measures against the pre-existing activity/spending baseline (Briefing paper No.10, chapter 2).", + "source_column": "T2.1:Employee NICs cut", + "description": "Reduces employee National Insurance contributions" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "tax_threshold_freeze", + "metric": "supply_side_impact", + "subgroup": "labour", + "variant": "tax", + "geography": "UK", + "unit_concept": "percent_of_potential_gdp", + "period": "forecast_horizon", + "value": -0.25, + "status": "ok", + "fiscal_event": "spring_budget_2024", + "basis": "forecast", + "scoring_method": "supply_side", + "scope": "measure", + "aggregate_level": "component", + "parent": null, + "artifact": "obr_briefing_paper_10_supply_side.xlsx", + "baseline": "obr_pre_measures_spring_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "OBR Briefing paper No.10 (November 2025), Table 2.1, section 'March 2024': each measure is scored against that fiscal event's pre-measures forecast. Tax and welfare measures are scored against their legislated-parameter counterfactual; DEL and regulatory measures against the pre-existing activity/spending baseline (Briefing paper No.10, chapter 2).", + "source_column": "T2.1:Tax thresholds", + "description": "Freezes income tax and NICs thresholds" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "public_investment", + "metric": "supply_side_impact", + "subgroup": "capital", + "variant": "del", + "geography": "UK", + "unit_concept": "percent_of_potential_gdp", + "period": "forecast_horizon", + "value": 0.14380204123870044, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "supply_side", + "scope": "measure", + "aggregate_level": "component", + "parent": null, + "artifact": "obr_briefing_paper_10_supply_side.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "del_activity", + "baseline_locator": "OBR Briefing paper No.10 (November 2025), Table 2.1, section 'October 2024': each measure is scored against that fiscal event's pre-measures forecast. Tax and welfare measures are scored against their legislated-parameter counterfactual; DEL and regulatory measures against the pre-existing activity/spending baseline (Briefing paper No.10, chapter 2).", + "source_column": "T2.1:Public investment", + "description": "Increases public sector investment in infrastructure" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "employer_nics", + "metric": "supply_side_impact", + "subgroup": "labour", + "variant": "tax", + "geography": "UK", + "unit_concept": "percent_of_potential_gdp", + "period": "forecast_horizon", + "value": -0.08708438885931002, + "status": "ok", + "fiscal_event": "autumn_budget_2024", + "basis": "forecast", + "scoring_method": "supply_side", + "scope": "measure", + "aggregate_level": "component", + "parent": null, + "artifact": "obr_briefing_paper_10_supply_side.xlsx", + "baseline": "obr_pre_measures_autumn_budget_2024", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "OBR Briefing paper No.10 (November 2025), Table 2.1, section 'October 2024': each measure is scored against that fiscal event's pre-measures forecast. Tax and welfare measures are scored against their legislated-parameter counterfactual; DEL and regulatory measures against the pre-existing activity/spending baseline (Briefing paper No.10, chapter 2).", + "source_column": "T2.1:Employer NICs", + "description": "Increases employer National Insurance contributions" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "wca_reversal", + "metric": "supply_side_impact", + "subgroup": "labour", + "variant": "welfare", + "geography": "UK", + "unit_concept": "percent_of_potential_gdp", + "period": "forecast_horizon", + "value": -0.009788377882503418, + "status": "ok", + "fiscal_event": "spring_statement_2025", + "basis": "forecast", + "scoring_method": "supply_side", + "scope": "measure", + "aggregate_level": "component", + "parent": null, + "artifact": "obr_briefing_paper_10_supply_side.xlsx", + "baseline": "obr_pre_measures_spring_statement_2025", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "OBR Briefing paper No.10 (November 2025), Table 2.1, section 'March 2025': each measure is scored against that fiscal event's pre-measures forecast. Tax and welfare measures are scored against their legislated-parameter counterfactual; DEL and regulatory measures against the pre-existing activity/spending baseline (Briefing paper No.10, chapter 2). Note: this measure reverses the November 2023 WCA reforms, so its counterfactual is the WCA-ADJUSTED world already embedded in the March 2025 pre-measures forecast \u2014 the negative sign is a partial undoing of an earlier scoring, not a fresh tightening.", + "source_column": "T2.1:WCA reversal", + "description": "Reverses previous WCA reforms" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "residential_planning_reforms", + "metric": "supply_side_impact", + "subgroup": "tfp", + "variant": "regulation", + "geography": "UK", + "unit_concept": "percent_of_potential_gdp", + "period": "forecast_horizon", + "value": 0.21406081562842225, + "status": "ok", + "fiscal_event": "spring_statement_2025", + "basis": "forecast", + "scoring_method": "supply_side", + "scope": "measure", + "aggregate_level": "component", + "parent": null, + "artifact": "obr_briefing_paper_10_supply_side.xlsx", + "baseline": "obr_pre_measures_spring_statement_2025", + "baseline_counterfactual": "regulatory", + "baseline_locator": "OBR Briefing paper No.10 (November 2025), Table 2.1, section 'March 2025': each measure is scored against that fiscal event's pre-measures forecast. Tax and welfare measures are scored against their legislated-parameter counterfactual; DEL and regulatory measures against the pre-existing activity/spending baseline (Briefing paper No.10, chapter 2).", + "source_column": "T2.1:Residential planning reforms", + "description": "Reforms the National Planning Policy Framework" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "total_effect", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2025-26", + "value": -3863292300.6057353, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Total effect of Government decisions" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "total_effect", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2026-27", + "value": 3808949196.6607766, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Total effect of Government decisions" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "total_effect", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2027-28", + "value": 2300159824.842524, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Total effect of Government decisions" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "total_effect", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2028-29", + "value": 3716312735.73945, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Total effect of Government decisions" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "total_effect", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2029-30", + "value": 5694865921.157848, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Total effect of Government decisions" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "total_effect", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2030-31", + "value": 6167116122.854175, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "total", + "parent": null, + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Total effect of Government decisions" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "direct_effects", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2025-26", + "value": -3965044115.837596, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "subtotal", + "parent": "total_effect", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Direct effects of Government decisions" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "direct_effects", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2026-27", + "value": 3370744329.061087, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "subtotal", + "parent": "total_effect", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Direct effects of Government decisions" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "direct_effects", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2027-28", + "value": 1858941357.5401304, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "subtotal", + "parent": "total_effect", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Direct effects of Government decisions" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "direct_effects", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2028-29", + "value": 5501603076.468398, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "subtotal", + "parent": "total_effect", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Direct effects of Government decisions" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "direct_effects", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2029-30", + "value": 5403190003.131335, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "subtotal", + "parent": "total_effect", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Direct effects of Government decisions" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "direct_effects", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2030-31", + "value": 5654621714.11894, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "subtotal", + "parent": "total_effect", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Direct effects of Government decisions" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "spending_measures", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2025-26", + "value": -4094912652.21918, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "subtotal", + "parent": "direct_effects", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Spending measures1" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "spending_measures", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2026-27", + "value": 2750425603.957348, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "subtotal", + "parent": "direct_effects", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Spending measures1" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "spending_measures", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2027-28", + "value": 1291859092.1841764, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "subtotal", + "parent": "direct_effects", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Spending measures1" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "spending_measures", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2028-29", + "value": 4894449896.031537, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "subtotal", + "parent": "direct_effects", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Spending measures1" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "spending_measures", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2029-30", + "value": 4920204413.131335, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "subtotal", + "parent": "direct_effects", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Spending measures1" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "spending_measures", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2030-31", + "value": 5113812918.11894, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "subtotal", + "parent": "direct_effects", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Spending measures1" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "additional_departmental_spending", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2025-26", + "value": 0.0, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "component", + "parent": "spending_measures", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Additional departmental spending for SEND" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "additional_departmental_spending", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2026-27", + "value": 0.0, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "component", + "parent": "spending_measures", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Additional departmental spending for SEND" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "additional_departmental_spending", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2027-28", + "value": 0.0, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "component", + "parent": "spending_measures", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Additional departmental spending for SEND" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "additional_departmental_spending", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2028-29", + "value": 4111000000.0, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "component", + "parent": "spending_measures", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Additional departmental spending for SEND" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "additional_departmental_spending", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2029-30", + "value": 4208369999.9999995, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "component", + "parent": "spending_measures", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Additional departmental spending for SEND" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "additional_departmental_spending", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2030-31", + "value": 4350340000.0, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "component", + "parent": "spending_measures", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Additional departmental spending for SEND" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "local_authority_support", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2025-26", + "value": -9806631.999999976, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "component", + "parent": "spending_measures", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Local authority support measures" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "local_authority_support", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2026-27", + "value": 1433098183.7565856, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "component", + "parent": "spending_measures", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Local authority support measures" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "local_authority_support", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2027-28", + "value": 185742450.1802538, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "component", + "parent": "spending_measures", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Local authority support measures" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "local_authority_support", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2028-29", + "value": 89675827.64981306, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "component", + "parent": "spending_measures", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Local authority support measures" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "local_authority_support", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2029-30", + "value": -7068086.868664211, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "component", + "parent": "spending_measures", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Local authority support measures" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "local_authority_support", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2030-31", + "value": -16937681.881059352, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "component", + "parent": "spending_measures", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Local authority support measures" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "other_spending_measures", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2025-26", + "value": -4085106020.2191796, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "component", + "parent": "spending_measures", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Other spending measures" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "other_spending_measures", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2026-27", + "value": 1317327420.2007623, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "component", + "parent": "spending_measures", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Other spending measures" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "other_spending_measures", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2027-28", + "value": 1106116642.0039225, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "component", + "parent": "spending_measures", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Other spending measures" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "other_spending_measures", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2028-29", + "value": 693774068.3817238, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "component", + "parent": "spending_measures", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Other spending measures" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "other_spending_measures", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2029-30", + "value": 718902500.0000005, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "component", + "parent": "spending_measures", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Other spending measures" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "other_spending_measures", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2030-31", + "value": 780410599.9999998, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "component", + "parent": "spending_measures", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Other spending measures" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "tax_measures", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2025-26", + "value": 129868536.38158415, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "subtotal", + "parent": "direct_effects", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Tax measures" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "tax_measures", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2026-27", + "value": 620318725.103739, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "subtotal", + "parent": "direct_effects", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Tax measures" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "tax_measures", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2027-28", + "value": 567082265.3559539, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "subtotal", + "parent": "direct_effects", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Tax measures" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "tax_measures", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2028-29", + "value": 607153180.4368609, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "subtotal", + "parent": "direct_effects", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Tax measures" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "tax_measures", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2029-30", + "value": 482985590.0, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "subtotal", + "parent": "direct_effects", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Tax measures" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "tax_measures", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2030-31", + "value": 540808796.0, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "subtotal", + "parent": "direct_effects", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Tax measures" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "pillar_2_reforms", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2025-26", + "value": 131000000.0, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "component", + "parent": "tax_measures", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Reforms to Pillar 2" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "pillar_2_reforms", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2026-27", + "value": 592000000.0, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "component", + "parent": "tax_measures", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Reforms to Pillar 2" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "pillar_2_reforms", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2027-28", + "value": 643000000.0, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "component", + "parent": "tax_measures", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Reforms to Pillar 2" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "pillar_2_reforms", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2028-29", + "value": 674000000.0, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "component", + "parent": "tax_measures", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Reforms to Pillar 2" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "pillar_2_reforms", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2029-30", + "value": 708000000.0, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "component", + "parent": "tax_measures", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Reforms to Pillar 2" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "pillar_2_reforms", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2030-31", + "value": 738000000.0, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "component", + "parent": "tax_measures", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Reforms to Pillar 2" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "other_tax_measures", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2025-26", + "value": -1131463.6184158456, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "component", + "parent": "tax_measures", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Other tax measures" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "other_tax_measures", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2026-27", + "value": 28318725.103739005, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "component", + "parent": "tax_measures", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Other tax measures" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "other_tax_measures", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2027-28", + "value": -75917734.64404605, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "component", + "parent": "tax_measures", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Other tax measures" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "other_tax_measures", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2028-29", + "value": -66846819.563139096, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "component", + "parent": "tax_measures", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Other tax measures" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "other_tax_measures", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2029-30", + "value": -225014409.99999994, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "component", + "parent": "tax_measures", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Other tax measures" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "other_tax_measures", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2030-31", + "value": -197191204.0, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "component", + "parent": "tax_measures", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Other tax measures" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "indirect_effects", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2025-26", + "value": 101751815.23186038, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "subtotal", + "parent": "total_effect", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Indirect effects of Government decisions" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "indirect_effects", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2026-27", + "value": 438204867.59968966, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "subtotal", + "parent": "total_effect", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Indirect effects of Government decisions" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "indirect_effects", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2027-28", + "value": 441218467.30239356, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "subtotal", + "parent": "total_effect", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Indirect effects of Government decisions" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "indirect_effects", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2028-29", + "value": -1785290340.7289479, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "subtotal", + "parent": "total_effect", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Indirect effects of Government decisions" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "indirect_effects", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2029-30", + "value": 291675918.02651316, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "subtotal", + "parent": "total_effect", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Indirect effects of Government decisions" + }, + { + "source": "obr-policy-effects", + "country": "UK", + "program": "indirect_effects", + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": null, + "geography": "UK", + "unit_concept": "gbp_nominal", + "period": "2030-31", + "value": 512494408.7352343, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": "subtotal", + "parent": "total_effect", + "artifact": "efo_march2026_annex_tables.xlsx", + "baseline": "obr_november_2025_budget_forecast", + "baseline_counterfactual": "policy_parameters", + "baseline_locator": "EFO March 2026, Table B.1: 'Total effect of Government decisions since the November 2025 Budget' \u2014 the November 2025 Budget forecast is the counterfactual, stated in the table title.", + "source_column": "TB.1:Indirect effects of Government decisions" + } +] \ No newline at end of file diff --git a/sources/obr-policy-effects/adapter.py b/sources/obr-policy-effects/adapter.py new file mode 100644 index 0000000..8a4e995 --- /dev/null +++ b/sources/obr-policy-effects/adapter.py @@ -0,0 +1,931 @@ +"""Adapter: OBR published economic effects of policy -> tidy rows (#55). + +The external side of the Macro entry point: OBR's published estimates of +what fiscal policy DOES to the economy — package effects on real GDP and +CPI, per-measure supply-side impacts on potential output, and the +direct/indirect split of the decisions' effect on borrowing. These are +the claims the PolicyEngine Macro members (OBR emulator, OG-UK, PE-UK +LSR) will later answer; this build emits the external side only. + +Inputs (raw/, all Wayback original bytes — obr.uk is Cloudflare-guarded; +URLs, snapshot timestamps and SHA-256 per file in raw/README.md): + + efo_november2023_chapter2.xlsx C2.A AS2023 package: real GDP impacts + by channel (full expensing, + NICs cut, welfare reforms, + demand, total) + efo_march2024_chapter2.xlsx C2.A SB2024 package: real GDP impacts + by channel + efo_october2024_chapter2.xlsx C2.A AB2024 package: real GDP impacts + by expenditure component + C2.B AB2024 package: real GDP impacts + by measure/channel + efo_november2025_chapter3.xlsx C3.3 AB2025 package: real GDP impacts + by expenditure component + C3.4 AB2025 package: CPI inflation + impacts by measure + efo_march2026_annex_tables.xlsx TB.1 March 2026: total effect of + Government decisions on + borrowing, direct/indirect + split, GBP bn (nested) + obr_briefing_paper_10_supply_side.xlsx + T2.1 Briefing paper No.10 (Nov 2025): + every policy measure with a + supply-side effect in the OBR + forecast, per-measure impact on + potential output (% of GDP) by + channel, March 2023 -> March + 2025 fiscal events + +Output: data/externals/obr-policy-effects.json — tidy rows. + +Value semantics — three DIFFERENT quantities, three unit concepts. All +three used to emit bare 'percent', which a query could then sum or +compare as one thing; they are separated deliberately: + + - GDP chart data is the per cent deviation in the LEVEL of real GDP + (or of an expenditure component) -> 'percent_of_real_gdp' + - AB2025 CPI chart data is the effect on CPI inflation in + PERCENTAGE POINTS -> 'percentage_points' + - Briefing-paper supply-side impacts are per cent of POTENTIAL + output (the published column header says "per cent of GDP", the + note says "the impact on potential output") + -> 'percent_of_potential_gdp' + - TB.1 amounts are GBP BILLION -> raw GBP ('gbp_nominal'); the + published sign convention is carried verbatim in the row's + 'sign_convention' (positive = increases borrowing, per the table + note) — NOT normalised here + +All values are at full float precision (0.26 means 0.26 per cent). +Periods are financial years '2023-24'.. as published; briefing paper +supply-side impacts carry period 'forecast_horizon' (the table publishes +one number per measure, not a path — the ingest keys it to each scoring +event's own forecast horizon, which is NOT one shared year). + +Identity vocabularies are CLOSED (the uk_aliases rule, applied at the +source side too): every chart series label, every briefing-paper +measure, type and channel, and every TB.1 line is mapped by an explicit +registry in this module. An unregistered label RAISES — a re-labelled or +re-shuffled workbook can no longer mint a claim under a slug nobody +decided. `_slug()` survives only as the helper those registries were +written with, never as a runtime fallback. + +Every row records fiscal_event, basis ('forecast' — every row here is a +forecast quantity, the standard basis axis), scoring_method +('post_behavioural' for package effects, which OBR publishes on the +post-adjustment path; 'supply_side' for the briefing-paper channel +scorings — a scoring method is not a forecast/outturn basis and no +longer squats on that axis), scope ('package' or 'measure'), artifact +(the vendored file the row was read from, which carries its own +publication date and URL — publication provenance is per fiscal event, +never one generic stamp), baseline (the pre-measures world the row is +scored against, per event and per counterfactual kind) and source_column +(sheet:series verbatim). Titles are anchored: a sheet whose title cell +does not start with the expected published prefix is a hard error, so a +silently re-shuffled workbook cannot emit rows under the wrong label. +TB.1 carries the same aggregate_level/parent hierarchy convention as the +obr-welfare adapter so no consumer can double-count the nested 'of +which' rows, and its memo line is a TALLIED deliberate drop, never a +silent skip: the build reconciles 272 source cells = 266 claims + 6 +drops. +""" + +import hashlib +import json +import re +import zipfile +import xml.etree.ElementTree as ET +from pathlib import Path + +HERE = Path(__file__).resolve().parent +RAW = HERE / "raw" +OUT_DIR = HERE.parent.parent / "data" / "externals" +OUT_DIR.mkdir(parents=True, exist_ok=True) + +SOURCE_ID = "obr-policy-effects" + +MNS = "{http://schemas.openxmlformats.org/spreadsheetml/2006/main}" +RNS = "{http://schemas.openxmlformats.org/officeDocument/2006/relationships}" + +# file -> sha256 of the exact bytes this adapter was written against. +# A drifted raw file is a hard error, never a silently different parse. +SHA256 = { + "efo_november2023_chapter2.xlsx": ( + "4b4b8092c1bf3e2cb84d7e6c16efcf122eec528cc5b1a40d599d3d2c89be3bdf" + ), + "efo_march2024_chapter2.xlsx": ( + "b3bec6bc914efed2b5a7245f2f705ec82d722467c32f2057682a212c1d793e1a" + ), + "efo_october2024_chapter2.xlsx": ( + "9d402b235e1d8d7b469c136b13035d120eb6ea089b489a7cbe5bff7cac905a3b" + ), + "efo_november2025_chapter3.xlsx": ( + "bb84ae66ad1e867af4c751b915b3e8d59c83146f7c6b3f9f92fc8fc7699fe3d8" + ), + "efo_march2026_annex_tables.xlsx": ( + "58a0c59cac93651a477f2c097b0f99b1dbcee417e9b54e0be3c6f92294ba0ad8" + ), + "obr_briefing_paper_10_supply_side.xlsx": ( + "8ca1af0be01762edc75a4c3c9fde1e455732068b0140483cd1ffde2c4b11843f" + ), +} + + +def _grid(path, sheet_name): + """Sheet -> {(row, col): value} with shared strings resolved.""" + z = zipfile.ZipFile(path) + try: + ss = [ + "".join(t.text or "" for t in si.iter(MNS + "t")) + for si in ET.fromstring(z.read("xl/sharedStrings.xml")).iter(MNS + "si") + ] + except KeyError: + ss = [] + wb = ET.fromstring(z.read("xl/workbook.xml")) + rels = ET.fromstring(z.read("xl/_rels/workbook.xml.rels")) + rid = {r.get("Id"): r.get("Target") for r in rels} + for s in wb.iter(MNS + "sheet"): + if s.get("name").strip() != sheet_name: + continue + root = ET.fromstring(z.read("xl/" + rid[s.get(RNS + "id")].lstrip("/"))) + grid = {} + for row in root.iter(MNS + "row"): + for c in row.iter(MNS + "c"): + v = c.find(MNS + "v") + if v is None: + continue + ref = c.get("r") + m = re.match(r"([A-Z]+)(\d+)", ref) + col = 0 + for ch in m.group(1): + col = col * 26 + (ord(ch) - 64) + val = ss[int(v.text)] if c.get("t") == "s" else v.text + grid[(int(m.group(2)), col)] = val + return grid + raise KeyError(f"{path.name}: no sheet {sheet_name!r}") + + +def _check_sha(fname): + digest = hashlib.sha256((RAW / fname).read_bytes()).hexdigest() + if digest != SHA256[fname]: + raise RuntimeError( + f"{fname}: sha256 {digest} != pinned {SHA256[fname]} — raw file " + "drifted from the bytes this adapter was written against" + ) + + +def _title(grid, expect_prefix, cell=(2, 2)): + got = str(grid.get(cell, "")).strip() + if not got.startswith(expect_prefix): + raise RuntimeError(f"title anchor failed: {got!r} !~ {expect_prefix!r}") + return got + + +def _slug(label): + """Slug helper the registries below were WRITTEN with. It is never a + runtime fallback: every label that reaches a row passes through a + closed registry first, and an unregistered label raises.""" + return re.sub(r"[^a-z0-9]+", "_", str(label).strip().lower()).strip("_") + + +def _num(v): + return float(v) + + +FY = re.compile(r"^\d{4}-\d{2}$") + + +def _closed(registry, key, what): + """Closed-vocabulary lookup: an unregistered key raises, never mints + an identity nobody decided (the uk_aliases rule).""" + try: + return registry[key] + except KeyError: + raise RuntimeError( + f"unregistered {what}: {key!r} — the published workbook was " + "re-labelled or re-shuffled. Register it deliberately in " + "sources/obr-policy-effects/adapter.py, never pass it through" + ) from None + + +# --- publication provenance, per vendored artifact -------------------------- +# One stamp per artifact, and each artifact IS one fiscal event's release: +# a generic obr.uk/publications/ URL dated to the newest round misdates +# every older round's claims. Dates are the OBR release dates (the EFO is +# published on its fiscal event's day); `snapshot` is the Wayback capture +# the bytes came from and is deliberately NOT the publication date. +ARTIFACTS = { + "efo_november2023_chapter2.xlsx": { + "title": ( + "OBR Economic and fiscal outlook – November 2023, " + "Chapter 2 charts and tables (Chart 2.A)" + ), + "url": ( + "https://obr.uk/docs/dlm_uploads/" + "Chapter_2_charts_and_tables_November_2023.xlsx" + ), + "date": "2023-11-22", + "snapshot": "20231122212755", + }, + "efo_march2024_chapter2.xlsx": { + "title": ( + "OBR Economic and fiscal outlook – March 2024, " + "Chapter 2 charts and tables (Chart 2.A)" + ), + "url": ( + "https://obr.uk/docs/dlm_uploads/" + "Chapter_2_charts_and_tables_March_2024.xlsx" + ), + "date": "2024-03-06", + "snapshot": "20240306134036", + }, + "efo_october2024_chapter2.xlsx": { + "title": ( + "OBR Economic and fiscal outlook – October 2024, " + "Chapter 2 charts and tables (Charts 2.A, 2.B)" + ), + "url": ( + "https://obr.uk/docs/dlm_uploads/" + "Chapter_2_charts_and_tables_October_2024.xlsx" + ), + "date": "2024-10-30", + "snapshot": "20241030144507", + }, + "efo_november2025_chapter3.xlsx": { + "title": ( + "OBR Economic and fiscal outlook – November 2025, " + "Chapter 3 charts and tables (Charts 3.3, 3.4)" + ), + "url": ( + "https://obr.uk/docs/dlm_uploads/" + "Chapter_3_charts_and_tables_November_2025.xlsx" + ), + "date": "2025-11-26", + "snapshot": "20251130064953", + }, + "efo_march2026_annex_tables.xlsx": { + "title": ( + "OBR Economic and fiscal outlook – March 2026, Annex B " + "Table B.1: total effect of Government decisions on borrowing" + ), + "url": ( + "https://obr.uk/docs/d055fbf02d5b3g6jq8l2/" + "efo-march-2026-charts-and-tables-annex-tables.xlsx" + ), + "date": "2026-03-03", + "snapshot": "20260316163140", + }, + "obr_briefing_paper_10_supply_side.xlsx": { + "title": ( + "OBR Briefing paper No.10: accounting for the supply-side " + "effects of policy measures, Table 2.1" + ), + "url": ( + "https://obr.uk/docs/dlm_uploads/Briefing_paper_No.10_Accounting_" + "for_the_supply-side_effects_of_policy_measures_charts_and_" + "tables.xlsx" + ), + "date": "2025-11-26", + "snapshot": "20251126134224", + }, +} +assert set(ARTIFACTS) == set(SHA256), "ARTIFACTS and SHA256 must cover the same files" + +# --- unit concepts: three different quantities, never one 'percent' --------- +UNIT_GDP_LEVEL = "percent_of_real_gdp" +UNIT_CPI = "percentage_points" +UNIT_SUPPLY_SIDE = "percent_of_potential_gdp" +UNIT_GBP = "gbp_nominal" + +# --- baseline worlds -------------------------------------------------------- +# OBR scores a package against that EFO round's PRE-MEASURES forecast, not +# against "the law in force" in the abstract: the pre-measures forecast is +# a distinct, named world per round, and two rounds' pre-measures worlds +# are not the same world. Each row therefore carries its own baseline slug +# plus the counterfactual KIND (Briefing paper No.10 §2 is explicit that a +# tax/welfare measure is scored against its legislated-parameter +# counterfactual while a DEL or regulatory measure is scored against the +# pre-existing activity/spending baseline) and a locator. +_PRE_MEASURES = { + "spring_budget_2023": "obr_pre_measures_spring_budget_2023", + "autumn_statement_2023": "obr_pre_measures_autumn_statement_2023", + "spring_budget_2024": "obr_pre_measures_spring_budget_2024", + "autumn_budget_2024": "obr_pre_measures_autumn_budget_2024", + "spring_statement_2025": "obr_pre_measures_spring_statement_2025", + "autumn_budget_2025": "obr_pre_measures_autumn_budget_2025", + # March 2026 Table B.1 is explicit in its own title: the decisions are + # measured SINCE the November 2025 Budget, so the baseline is that + # round's post-measures forecast — a different world again. + "march_2026_efo": "obr_november_2025_budget_forecast", +} + +_PACKAGE_LOCATOR = { + "autumn_statement_2023": ( + "EFO November 2023, Chart 2.A: 'Real GDP impacts' of the Autumn " + "Statement 2023 package, measured as deviations from the " + "pre-measures November 2023 forecast." + ), + "spring_budget_2024": ( + "EFO March 2024, Chart 2.A: 'Impact of policy measures on real " + "GDP', measured as deviations from the pre-measures March 2024 " + "forecast." + ), + "autumn_budget_2024": ( + "EFO October 2024, Charts 2.A/2.B: 'Policy impacts on real GDP' " + "by expenditure component and by measure, measured as deviations " + "from the pre-measures October 2024 forecast." + ), + "autumn_budget_2025": ( + "EFO November 2025, Charts 3.3/3.4: policy impacts on real GDP " + "and on CPI inflation, measured as deviations from the " + "pre-measures November 2025 forecast." + ), + "march_2026_efo": ( + "EFO March 2026, Table B.1: 'Total effect of Government decisions " + "since the November 2025 Budget' — the November 2025 Budget " + "forecast is the counterfactual, stated in the table title." + ), +} + +# Briefing paper No.10 counterfactual kind by measure type. +_BP10_COUNTERFACTUAL = { + "tax": "policy_parameters", + "welfare": "policy_parameters", + "del": "del_activity", + "regulation": "regulatory", +} + + +def _bp10_locator(event_label, measure_slug): + text = ( + f"OBR Briefing paper No.10 (November 2025), Table 2.1, section " + f"'{event_label}': each measure is scored against that fiscal " + "event's pre-measures forecast. Tax and welfare measures are " + "scored against their legislated-parameter counterfactual; DEL " + "and regulatory measures against the pre-existing " + "activity/spending baseline (Briefing paper No.10, chapter 2)." + ) + if measure_slug == "wca_reversal": + text += ( + " Note: this measure reverses the November 2023 WCA reforms, " + "so its counterfactual is the WCA-ADJUSTED world already " + "embedded in the March 2025 pre-measures forecast — the " + "negative sign is a partial undoing of an earlier scoring, " + "not a fresh tightening." + ) + return text + + +# --- closed identity registries --------------------------------------------- +# Chart series labels, verbatim as published -> canonical subgroup slug. +# 'total' is the reserved slug for a chart's own total line; the roll-up +# guard downstream keys off it, so it is decided HERE, not sniffed from +# the label text. +_SERIES = { + ("autumn_statement_2023", "C2.A"): { + "Supply: Full expensing": "supply_full_expensing", + "Supply: NICs cut": "supply_nics_cut", + "Supply: Welfare reforms & other": "supply_welfare_reforms_and_other", + "Demand": "demand", + "Total effect": "total", + }, + ("spring_budget_2024", "C2.A"): { + "Demand: multipliers": "demand_multipliers", + "Supply: NICs cut": "supply_nics_cut", + "Supply: child benefit": "supply_child_benefit", + "Change in real GDP": "total", + }, + # October 2024 chart 2.A splits the SAME package by expenditure + # component; 'Private consumption' here and November 2025's + # 'Consumption' are deliberately DISTINCT slugs (different published + # component definitions, one year apart — no unification claimed). + ("autumn_budget_2024", "C2.A"): { + "Private consumption": "private_consumption", + "Government consumption": "government_consumption", + "Government investment": "government_investment", + "Business investment": "business_investment", + "Net trade and other": "net_trade_and_other", + "GDP": "total", + }, + ("autumn_budget_2024", "C2.B"): { + "Demand: multipliers": "demand_multipliers", + "Supply: employer NICs": "supply_employer_nics", + "Supply: public investment": "supply_public_investment", + "Supply: crowding out": "supply_crowding_out", + "Change in real GDP": "total", + }, + ("autumn_budget_2025", "C3.3"): { + "Consumption": "consumption", + "Residential and business investment": "residential_and_business_investment", + "Government consumption and investment": ( + "government_consumption_and_investment" + ), + "Net trade and other": "net_trade_and_other", + "Total": "total", + }, + ("autumn_budget_2025", "C3.4"): { + "Fuel duty freeze extension": "fuel_duty_freeze_extension", + "Energy bills package": "energy_bills_package", + "Rail fares freeze": "rail_fares_freeze", + "Mileage-based charge on electric cars": ( + "mileage_based_charge_on_electric_cars" + ), + "Output gap": "output_gap", + "Total": "total", + }, +} + +# Fiscal-event section headers exactly as printed in briefing paper T2.1. +BP10_EVENTS = { + "March 2023": "spring_budget_2023", + "November 2023": "autumn_statement_2023", + "March 2024": "spring_budget_2024", + "October 2024": "autumn_budget_2024", + "March 2025": "spring_statement_2025", +} + +# Briefing paper T2.1 measure labels, verbatim (trailing spaces stripped) +# -> canonical program slug. 18 distinct labels over 19 rows: 'Employee +# NICs cut' is scored twice, at AS2023 and SB2024, and the two rows are +# separated by fiscal_event, not by slug — the same measure re-scored at +# a later event is the same measure. +_BP10_MEASURES = { + "Universal Support": "universal_support", + "30 free hours of childcare": "free_childcare_30_hours", + "Universal credit (UC) childcare": "uc_childcare_upfront_costs", + "UC conditionality": "uc_conditionality", + "Pensions allowances": "pensions_allowances", + "Restart": "restart_scheme", + "Universal Support extension": "universal_support_extension", + "Individual Placement and Support (IPS)": "individual_placement_and_support", + "Talking therapies": "talking_therapies", + "Work capability assessment (WCA) reforms": "wca_reforms", + "Employee NICs cut": "employee_nics_cut", + "Full expensing": "full_expensing", + "High income child benefit charge (HICBC)": "hicbc_threshold", + "Tax thresholds": "tax_threshold_freeze", + "Public investment": "public_investment", + "Employer NICs": "employer_nics", + "WCA reversal": "wca_reversal", + "Residential planning reforms": "residential_planning_reforms", +} +_BP10_TYPES = { + "DEL": "del", + "Welfare": "welfare", + "Tax": "tax", + "Regulation": "regulation", +} +_BP10_CHANNELS = {"Labour": "labour", "Capital": "capital", "TFP": "tfp"} +# Non-measure column-B labels in T2.1 that carry no value cell. +_BP10_NON_MEASURE = frozenset({"Policy measure"}) + + +def _chart_series_rows(grid, header_row=25): + """OBR chart-data layout: header row 25, data rows below, col B is + the row key. Returns (headers {col: label}, data rows list).""" + headers = { + c: str(v).strip() for (r, c), v in grid.items() if r == header_row and c >= 2 + } + rows = sorted( + {r for (r, c) in grid if r > header_row and (r, 2) in grid and c >= 2} + ) + return headers, rows + + +def _chart_row(fname, sheet, fiscal_event, metric, unit, series_label, period, value): + """One package chart-data row, with per-event publication and + baseline provenance attached.""" + slug = _closed( + _SERIES[(fiscal_event, sheet)], series_label, f"{sheet} series label" + ) + total = slug == "total" + return { + "source": SOURCE_ID, + "country": "UK", + "program": "policy_package", + "metric": metric, + "subgroup": "total" if total else slug, + "variant": None, + "geography": "UK", + "unit_concept": unit, + "period": period, + "value": value, + "status": "ok", + "fiscal_event": fiscal_event, + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "aggregate_level": "total" if total else "component", + "parent": None if total else "policy_package", + "artifact": fname, + "baseline": _PRE_MEASURES[fiscal_event], + "baseline_counterfactual": "policy_parameters", + "baseline_locator": _PACKAGE_LOCATOR[fiscal_event], + "source_column": f"{sheet}:{series_label}", + } + + +def parse_gdp_chart(fname, sheet, title_prefix, fiscal_event, orient, out): + """Package GDP-impact chart data. + + orient='years_down': col B holds FYs, header row holds series + (Nov 2023 / Mar 2024 layout). orient='series_down': col B holds + series, header row holds FYs (Oct 2024 / Nov 2025 layout). + """ + grid = _grid(RAW / fname, sheet) + _title(grid, title_prefix) + headers, rows = _chart_series_rows(grid) + n = 0 + for r in rows: + key = str(grid[(r, 2)]).strip() + for c, label in sorted(headers.items()): + if c == 2 or (r, c) not in grid: + continue + if orient == "years_down": + period, series = key, label + else: + period, series = label, key + if not FY.match(period.strip()): + raise RuntimeError(f"{fname}:{sheet}: not a FY: {period!r}") + out.append( + _chart_row( + fname, + sheet, + fiscal_event, + "gdp_level_effect", + UNIT_GDP_LEVEL, + series.strip(), + period.strip(), + _num(grid[(r, c)]), + ) + ) + n += 1 + return n + + +def parse_cpi_chart(fname, sheet, title_prefix, fiscal_event, out): + """AB2025 CPI-impact chart: years down col B, measures across. + + The published quantity is an effect on CPI INFLATION, in percentage + points — not a per-cent deviation in a level, and not the + briefing paper's per cent of potential output. + """ + grid = _grid(RAW / fname, sheet) + _title(grid, title_prefix) + headers, rows = _chart_series_rows(grid) + n = 0 + for r in rows: + period = str(grid[(r, 2)]).strip() + if not FY.match(period): + raise RuntimeError(f"{fname}:{sheet}: not a FY: {period!r}") + for c, series in sorted(headers.items()): + if c == 2 or (r, c) not in grid: + continue + out.append( + _chart_row( + fname, + sheet, + fiscal_event, + "cpi_inflation_effect", + UNIT_CPI, + series.strip(), + period, + _num(grid[(r, c)]), + ) + ) + n += 1 + return n + + +def parse_bp10_supply_side(fname, sheet, out): + """Briefing paper No.10 Table 2.1: per-measure supply-side impact on + potential output (% of GDP), grouped under fiscal-event header rows. + Columns: B measure, C description, E type, F channel, G impact + (column D is absorbed by a merge in the published workbook).""" + grid = _grid(RAW / fname, sheet) + _title(grid, "Table 2.1: Policy measures with supply") + event = None + event_label = None + n = 0 + rows = sorted({r for (r, c) in grid if c == 2 and r > 2}) + for r in rows: + label = str(grid[(r, 2)]).strip() + if label in BP10_EVENTS: + event, event_label = BP10_EVENTS[label], label + continue + if label in _BP10_NON_MEASURE or (r, 7) not in grid: + continue # column-header / note / blank rows + if event is None: + raise RuntimeError(f"BP10 T2.1: measure {label!r} before any event header") + measure = _closed(_BP10_MEASURES, label, "BP10 T2.1 measure") + mtype = _closed(_BP10_TYPES, str(grid[(r, 5)]).strip(), "BP10 T2.1 type") + channel = _closed( + _BP10_CHANNELS, str(grid[(r, 6)]).strip(), "BP10 T2.1 supply-side channel" + ) + out.append( + { + "source": SOURCE_ID, + "country": "UK", + "program": measure, + "metric": "supply_side_impact", + "subgroup": channel, + "variant": mtype, + "geography": "UK", + "unit_concept": UNIT_SUPPLY_SIDE, + # One number per measure, at that SCORING EVENT's forecast + # horizon — the ingest resolves the symbol per event, so + # nothing here pretends all 19 share a year. + "period": "forecast_horizon", + "value": _num(grid[(r, 7)]), + "status": "ok", + "fiscal_event": event, + "basis": "forecast", + "scoring_method": "supply_side", + "scope": "measure", + "aggregate_level": "component", + "parent": None, + "artifact": fname, + "baseline": _PRE_MEASURES[event], + "baseline_counterfactual": _BP10_COUNTERFACTUAL[mtype], + "baseline_locator": _bp10_locator(event_label, measure), + "source_column": f"{sheet}:{label}", + "description": str(grid.get((r, 3), "")).strip(), + } + ) + n += 1 + return n + + +# TB.1 nested rows, exactly as printed: (label prefix, slug, level, parent). +TB1_ROWS = [ + ("Total effect of Government decisions", "total_effect", "total", None), + ( + "Direct effects of Government decisions", + "direct_effects", + "subtotal", + "total_effect", + ), + ("Spending measures", "spending_measures", "subtotal", "direct_effects"), + ( + "Additional departmental spending", + "additional_departmental_spending", + "component", + "spending_measures", + ), + ( + "Local authority support measures", + "local_authority_support", + "component", + "spending_measures", + ), + ( + "Other spending measures", + "other_spending_measures", + "component", + "spending_measures", + ), + ("Tax measures", "tax_measures", "subtotal", "direct_effects"), + ("Reforms to Pillar 2", "pillar_2_reforms", "component", "tax_measures"), + ("Other tax measures", "other_tax_measures", "component", "tax_measures"), + ( + "Indirect effects of Government decisio", + "indirect_effects", + "subtotal", + "total_effect", + ), +] + +# TB.1 value-bearing lines this adapter deliberately does NOT emit, with +# the reason. A value line that is neither in TB1_ROWS nor here is an +# unclassified line and raises: the memo row used to be skipped by the +# `hit is None: continue` fall-through, which made the 60-claim count +# unreconcilable against the 66 cells the table actually prints. +TB1_DROPS = [ + ( + "Memo: total effect of Government decisions on current budget", + "memo_current_budget", + "A different fiscal aggregate: the current budget, not public " + "sector net borrowing. The four metrics this source publishes " + "score PSNB; a current-budget effect is not comparable to them " + "and is not laundered into the same metric.", + ), +] + + +def _numeric(v): + try: + return float(v) + except (TypeError, ValueError): + return None + + +def parse_tb1_decisions(fname, sheet, out, drops): + """March 2026 Table B.1: effect of Government decisions since the + November 2025 Budget on borrowing, GBP bn, direct/indirect split. + + Every value-bearing line is classified: emitted (TB1_ROWS) or + deliberately dropped (TB1_DROPS). An unclassified value line raises, + and the drops are tallied into the build's reconciliation so the + claim count always ties back to the cells the table prints. + """ + grid = _grid(RAW / fname, sheet) + _title(grid, "Table B.1: Total effect of Government") + # header row: financial years + hdr_row = min(r for (r, c), v in grid.items() if FY.match(str(v).strip() or "x")) + periods = { + c: str(v).strip() + for (r, c), v in grid.items() + if r == hdr_row and FY.match(str(v).strip()) + } + labels = {r: str(grid[(r, 2)]).strip() for (r, c) in grid if c == 2 and r > hdr_row} + matched = set() + dropped = set() + n = 0 + candidates = 0 + for r, label in sorted(labels.items()): + values = { + c: _numeric(grid.get((r, c))) + for c in periods + if _numeric(grid.get((r, c))) is not None + } + if not values: + continue # 'of which:' connectors, notes, source line + candidates += len(values) + hit = next( + (t for t in TB1_ROWS if label.startswith(t[0]) and t[1] not in matched), + None, + ) + if hit is None: + drop = next( + ( + d + for d in TB1_DROPS + if label.startswith(d[0]) and d[1] not in dropped + ), + None, + ) + if drop is None: + raise RuntimeError( + f"TB.1: unclassified value line {label!r} ({len(values)} " + "cells) — emit it in TB1_ROWS or record it in TB1_DROPS " + "with a reason; a value line is never silently skipped" + ) + dropped.add(drop[1]) + drops.append( + { + "table": f"{fname}:{sheet}", + "line": label, + "slug": drop[1], + "cells": len(values), + "reason": drop[2], + } + ) + continue + prefix, slug, level, parent = hit + matched.add(slug) + for c, period in sorted(periods.items()): + if c not in values: + continue + out.append( + { + "source": SOURCE_ID, + "country": "UK", + "program": slug, + "metric": "decisions_effect_on_borrowing", + "subgroup": "total", + "variant": None, + "geography": "UK", + "unit_concept": UNIT_GBP, + "period": period, + "value": values[c] * 1e9, + "status": "ok", + "fiscal_event": "march_2026_efo", + "basis": "forecast", + "scoring_method": "post_behavioural", + "scope": "package", + "sign_convention": "as_published_positive_increases", + "aggregate_level": level, + "parent": parent, + "artifact": fname, + "baseline": _PRE_MEASURES["march_2026_efo"], + "baseline_counterfactual": "policy_parameters", + "baseline_locator": _PACKAGE_LOCATOR["march_2026_efo"], + "source_column": f"{sheet}:{label}", + } + ) + n += 1 + missing = {t[1] for t in TB1_ROWS} - matched + if missing: + raise RuntimeError(f"TB.1: rows not found: {sorted(missing)}") + missing_drops = {d[1] for d in TB1_DROPS} - dropped + if missing_drops: + raise RuntimeError( + f"TB.1: declared drops not found in the table: {sorted(missing_drops)} " + "— the workbook changed; re-decide the drop deliberately" + ) + return n, candidates + + +def build(): + for fname in SHA256: + _check_sha(fname) + rows = [] + drops = [] + counts = { + "as2023_gdp": parse_gdp_chart( + "efo_november2023_chapter2.xlsx", + "C2.A", + "Chart 2.A: Real GDP impacts", + "autumn_statement_2023", + "years_down", + rows, + ), + "sb2024_gdp": parse_gdp_chart( + "efo_march2024_chapter2.xlsx", + "C2.A", + "Chart 2.A: Impact of policy measures on real GDP", + "spring_budget_2024", + "years_down", + rows, + ), + "ab2024_gdp_components": parse_gdp_chart( + "efo_october2024_chapter2.xlsx", + "C2.A", + "Chart A: Policy impacts on real GDP and its components", + "autumn_budget_2024", + "series_down", + rows, + ), + "ab2024_gdp_measures": parse_gdp_chart( + "efo_october2024_chapter2.xlsx", + "C2.B", + "Chart B: Policy impacts on real GDP, by measure", + "autumn_budget_2024", + "series_down", + rows, + ), + "ab2025_gdp_components": parse_gdp_chart( + "efo_november2025_chapter3.xlsx", + "C3.3", + "Chart 3.3: Policy impacts on real ", + "autumn_budget_2025", + "series_down", + rows, + ), + "ab2025_cpi": parse_cpi_chart( + "efo_november2025_chapter3.xlsx", + "C3.4", + "Chart 3.4: Impact of budget polici", + "autumn_budget_2025", + rows, + ), + "bp10_supply_side": parse_bp10_supply_side( + "obr_briefing_paper_10_supply_side.xlsx", "T2.1", rows + ), + } + tb1_claims, tb1_candidates = parse_tb1_decisions( + "efo_march2026_annex_tables.xlsx", "TB.1", rows, drops + ) + counts["tb1_decisions"] = tb1_claims + + # Source reconciliation: every numeric cell this adapter READ is + # either a claim or a tallied deliberate drop. 266 claims alone was + # not reconcilable against TB.1's 66 printed cells. + dropped_cells = sum(d["cells"] for d in drops) + candidates = len(rows) + dropped_cells + reconciliation = { + "source_cells_read": candidates, + "claims": len(rows), + "deliberate_drops": dropped_cells, + "drops": drops, + } + if candidates != len(rows) + dropped_cells: # pragma: no cover - identity + raise RuntimeError("reconciliation does not close") + # TB.1's own arithmetic, stated so the tie-back is checkable by hand. + if tb1_candidates != 66: + raise RuntimeError( + f"TB.1: {tb1_candidates} classified cells != the 66 numeric cells " + "the published table prints" + ) + if counts["tb1_decisions"] + dropped_cells != tb1_candidates: + raise RuntimeError( + f"TB.1: {counts['tb1_decisions']} claims + {dropped_cells} drops " + f"!= {tb1_candidates} classified cells" + ) + + out = OUT_DIR / f"{SOURCE_ID}.json" + out.write_text(json.dumps(rows, indent=1)) + print(f"wrote {len(rows)} rows -> {out}") + for k, v in counts.items(): + print(f" {k}: {v}") + print( + f" reconciliation: {candidates} source cells = {len(rows)} claims " + f"+ {dropped_cells} deliberate drops" + ) + for d in drops: + print(f" drop {d['slug']}: {d['cells']} cells — {d['line']}") + return rows, counts, reconciliation + + +if __name__ == "__main__": + build() diff --git a/sources/obr-policy-effects/raw/README.md b/sources/obr-policy-effects/raw/README.md new file mode 100644 index 0000000..ff29f20 --- /dev/null +++ b/sources/obr-policy-effects/raw/README.md @@ -0,0 +1,33 @@ +# obr-policy-effects raw artifacts + +Fetched 2026-08-20 as Wayback Machine ORIGINAL BYTES (`/web/id_/` URLs, +honest harvester UA) — obr.uk is Cloudflare-guarded and served an interactive +Turnstile to live requests, so no live fetch was attempted, per the +`sources/harvest-uk-2026-08-02/uk_obr/NOTES.md` access recipe (no bypasses). +Discovery via the Wayback CDX API over `obr.uk/docs/*`. + +| file | original URL | snapshot | sha256 | +|---|---|---|---| +| efo_november2023_chapter2.xlsx | https://obr.uk/docs/dlm_uploads/Chapter_2_charts_and_tables_November_2023.xlsx | 20231122212755 | 4b4b8092c1bf3e2cb84d7e6c16efcf122eec528cc5b1a40d599d3d2c89be3bdf | +| efo_march2024_chapter2.xlsx | https://obr.uk/docs/dlm_uploads/Chapter_2_charts_and_tables_March_2024.xlsx | 20240306134036 | b3bec6bc914efed2b5a7245f2f705ec82d722467c32f2057682a212c1d793e1a | +| efo_october2024_chapter2.xlsx | https://obr.uk/docs/dlm_uploads/Chapter_2_charts_and_tables_October_2024.xlsx | 20241030144507 | 9d402b235e1d8d7b469c136b13035d120eb6ea089b489a7cbe5bff7cac905a3b | +| efo_november2025_chapter3.xlsx | https://obr.uk/docs/dlm_uploads/Chapter_3_charts_and_tables_November_2025.xlsx | 20251130064953 | bb84ae66ad1e867af4c751b915b3e8d59c83146f7c6b3f9f92fc8fc7699fe3d8 | +| efo_march2026_annex_tables.xlsx | https://obr.uk/docs/d055fbf02d5b3g6jq8l2/efo-march-2026-charts-and-tables-annex-tables.xlsx | 20260316163140 | 58a0c59cac93651a477f2c097b0f99b1dbcee417e9b54e0be3c6f92294ba0ad8 | +| obr_briefing_paper_10_supply_side.xlsx | https://obr.uk/docs/dlm_uploads/Briefing_paper_No.10_Accounting_for_the_supply-side_effects_of_policy_measures_charts_and_tables.xlsx | 20251126134224 | 8ca1af0be01762edc75a4c3c9fde1e455732068b0140483cd1ffde2c4b11843f | + +## What was surveyed and deliberately NOT kept + +The Annex A charts-and-tables workbooks for Nov 2023, Mar 2024, Oct 2024, +Mar 2025 and Nov 2025 were fetched and inspected: their Tables A.1–A.12 are +economy/fiscal forecast levels (already covered by the EFO adapters and the +uk_obr harvest), with NO policy-effects content — so they are not vendored. +The Mar 2025, Nov 2025 and Mar 2026 Chapter 2 workbooks likewise carry no +policy-impact chart (2025+ EFOs moved policy effects into the fiscal/policy +chapter — hence the Nov 2025 Chapter 3 workbook here). Nov 2025 chapters 4 +and 5 were inspected and dropped (receipts/spending detail, no package +effects). + +Deferred, honestly: the March 2025 and March 2026 EFO policy-chapter +workbooks (Spring events' package effects, if published in chart-data form) +were not located in this pass; the March 2026 Annex B Table B.1 covers the +March 2026 decisions in aggregate. diff --git a/sources/obr-policy-effects/raw/efo_march2024_chapter2.xlsx b/sources/obr-policy-effects/raw/efo_march2024_chapter2.xlsx new file mode 100644 index 0000000..2e584bd Binary files /dev/null and b/sources/obr-policy-effects/raw/efo_march2024_chapter2.xlsx differ diff --git a/sources/obr-policy-effects/raw/efo_march2026_annex_tables.xlsx b/sources/obr-policy-effects/raw/efo_march2026_annex_tables.xlsx new file mode 100644 index 0000000..5e29f22 Binary files /dev/null and b/sources/obr-policy-effects/raw/efo_march2026_annex_tables.xlsx differ diff --git a/sources/obr-policy-effects/raw/efo_november2023_chapter2.xlsx b/sources/obr-policy-effects/raw/efo_november2023_chapter2.xlsx new file mode 100644 index 0000000..fb851bc Binary files /dev/null and b/sources/obr-policy-effects/raw/efo_november2023_chapter2.xlsx differ diff --git a/sources/obr-policy-effects/raw/efo_november2025_chapter3.xlsx b/sources/obr-policy-effects/raw/efo_november2025_chapter3.xlsx new file mode 100644 index 0000000..a1e0c28 Binary files /dev/null and b/sources/obr-policy-effects/raw/efo_november2025_chapter3.xlsx differ diff --git a/sources/obr-policy-effects/raw/efo_october2024_chapter2.xlsx b/sources/obr-policy-effects/raw/efo_october2024_chapter2.xlsx new file mode 100644 index 0000000..adb28af Binary files /dev/null and b/sources/obr-policy-effects/raw/efo_october2024_chapter2.xlsx differ diff --git a/sources/obr-policy-effects/raw/obr_briefing_paper_10_supply_side.xlsx b/sources/obr-policy-effects/raw/obr_briefing_paper_10_supply_side.xlsx new file mode 100644 index 0000000..fad90ab Binary files /dev/null and b/sources/obr-policy-effects/raw/obr_briefing_paper_10_supply_side.xlsx differ diff --git a/sources/obr-policy-effects/source.json b/sources/obr-policy-effects/source.json new file mode 100644 index 0000000..ff8ecef --- /dev/null +++ b/sources/obr-policy-effects/source.json @@ -0,0 +1,41 @@ +{ + "id": "obr-policy-effects", + "name": "OBR \u2014 published economic and behavioural effects of policy (AS2023\u2013AB2025 packages, supply-side scorings, March 2026 decisions)", + "organization": "Office for Budget Responsibility", + "country": "UK", + "claim_class": "policy_effect", + "url": "https://obr.uk/efo/", + "data_urls": [ + "https://obr.uk/docs/dlm_uploads/Chapter_2_charts_and_tables_November_2023.xlsx", + "https://obr.uk/docs/dlm_uploads/Chapter_2_charts_and_tables_March_2024.xlsx", + "https://obr.uk/docs/dlm_uploads/Chapter_2_charts_and_tables_October_2024.xlsx", + "https://obr.uk/docs/dlm_uploads/Chapter_3_charts_and_tables_November_2025.xlsx", + "https://obr.uk/docs/d055fbf02d5b3g6jq8l2/efo-march-2026-charts-and-tables-annex-tables.xlsx", + "https://obr.uk/docs/dlm_uploads/Briefing_paper_No.10_Accounting_for_the_supply-side_effects_of_policy_measures_charts_and_tables.xlsx" + ], + "published": "Per artifact, per fiscal event: 2023-11-22 (EFO Nov 2023), 2024-03-06 (EFO Mar 2024), 2024-10-30 (EFO Oct 2024), 2025-11-26 (EFO Nov 2025 and Briefing paper No.10), 2026-03-03 (EFO Mar 2026). Wayback snapshot timestamps are in raw/README.md and are NOT publication dates.", + "fetched": "2026-08-20", + "model": { + "name": "OBR policy scoring (demand multipliers + supply-side scorings)", + "open_source": false, + "method": "Package demand effects via OBR fiscal multipliers; supply-side effects per measure via labour-supply elasticities (NICs, childcare, welfare conditionality), capital deepening (investment incentives, public investment) and TFP channels, scored against the pre-measures forecast baseline of each EFO round. Briefing Paper No.10 (Nov 2025) documents the framework and re-states every scored measure.", + "method_basis": "EFO policy chapters/boxes AS2023-AB2025; OBR Briefing Paper No.10" + }, + "baseline_key": "Per row, per round: each package/measure is scored against that EFO round's PRE-MEASURES forecast (obr_pre_measures_), which is a distinct named world per round \u2014 never the null current_law, and never shared across rounds. March 2026 Table B.1 is explicit in its own title that its counterfactual is the November 2025 Budget forecast (obr_november_2025_budget_forecast). Briefing paper No.10 further distinguishes the counterfactual KIND: tax and welfare measures are scored against their legislated-parameter counterfactual, DEL and regulatory measures against the pre-existing activity/spending baseline; each row carries that kind plus a locator. The March 2025 WCA reversal scores against the WCA-adjusted world the November 2023 reforms created.", + "period": "Financial years 2023-24 to 2030-31 as published; briefing-paper supply-side impacts are single forecast-horizon numbers", + "metrics": [ + "gdp_level_effect", + "cpi_inflation_effect", + "supply_side_impact", + "decisions_effect_on_borrowing" + ], + "geographies": "UK", + "coverage_note": "Package GDP effects: AS2023 (by channel), SB2024 (by channel), AB2024 (by component AND by measure), AB2025 (by component). AB2025 CPI effects by measure. Per-measure supply-side impacts (percent of potential GDP, by channel) for every measure OBR has scored, SB2023-SS2025, from Briefing Paper No.10 Table 2.1. March 2026 total/direct/indirect effects of Government decisions on borrowing (nested, GBP). Counterpart compute (OBR emulator, PE-UK LSR, OG-UK) is issue #55 steps 2-3, not this build. Source reconciliation: the adapter reads 272 numeric cells and emits 266 claims + 6 deliberately dropped cells \u2014 the March 2026 Table B.1 memo line 'total effect of Government decisions on current budget deficit', which scores a different fiscal aggregate (current budget, not PSNB) and is therefore not laundered into these four metrics. The drop is tallied by the build and asserted by tests; a value line that is neither emitted nor a declared drop raises.", + "diagnosis_upstream": "OBR scoring models are closed; divergence diagnoses classified as external-model issues become a comparison memo, not an upstream PR.", + "units": { + "gdp_level_effect": "percent_of_real_gdp \u2014 per cent deviation in the LEVEL of real GDP (or of an expenditure component)", + "cpi_inflation_effect": "percentage_points \u2014 effect on CPI inflation, in pp", + "supply_side_impact": "percent_of_potential_gdp \u2014 impact on POTENTIAL output, per cent of GDP", + "decisions_effect_on_borrowing": "gbp_nominal \u2014 raw pounds (published in GBP billion), sign as published (positive increases borrowing)" + } +} diff --git a/tests/test_obr_policy_effects_adapter.py b/tests/test_obr_policy_effects_adapter.py new file mode 100644 index 0000000..2e34ebb --- /dev/null +++ b/tests/test_obr_policy_effects_adapter.py @@ -0,0 +1,326 @@ +"""Pins for the obr-policy-effects harvest (#55, step 1: external side). + +The committed data/externals/obr-policy-effects.json is what downstream +consumes; these tests pin its shape and totals, plus (when the raw +workbooks are present) that a rebuild from the committed raw bytes +reproduces the committed output byte-for-byte and the published +hierarchy identities hold. +""" + +import json +from pathlib import Path + +import pytest + +ROOT = Path(__file__).resolve().parent.parent +EXTERNAL = ROOT / "data" / "externals" / "obr-policy-effects.json" +RAW = ROOT / "sources" / "obr-policy-effects" / "raw" + +pytestmark = pytest.mark.skipif( + not EXTERNAL.exists(), reason="no committed obr-policy-effects.json" +) + + +@pytest.fixture(scope="module") +def rows(): + return json.loads(EXTERNAL.read_text()) + + +def test_row_count_and_block_totals(rows): + assert len(rows) == 266 + by = {} + for r in rows: + by[(r["metric"], r["fiscal_event"])] = ( + by.get((r["metric"], r["fiscal_event"]), 0) + 1 + ) + assert by[("gdp_level_effect", "autumn_statement_2023")] == 30 + assert by[("gdp_level_effect", "spring_budget_2024")] == 20 + assert by[("gdp_level_effect", "autumn_budget_2024")] == 66 # components+measures + assert by[("gdp_level_effect", "autumn_budget_2025")] == 35 + assert by[("cpi_inflation_effect", "autumn_budget_2025")] == 36 + assert by[("decisions_effect_on_borrowing", "march_2026_efo")] == 60 + assert sum(v for (m, _), v in by.items() if m == "supply_side_impact") == 19 + + +def test_row_shape_is_closed(rows): + required = { + "source", + "country", + "program", + "metric", + "subgroup", + "variant", + "geography", + "unit_concept", + "period", + "value", + "status", + "fiscal_event", + "basis", + "scoring_method", + "scope", + "aggregate_level", + "parent", + "artifact", + "baseline", + "baseline_counterfactual", + "baseline_locator", + "source_column", + } + for r in rows: + assert required <= set(r), sorted(required - set(r)) + assert r["source"] == "obr-policy-effects" + assert r["country"] == "UK" + assert r["status"] == "ok" + assert isinstance(r["value"], float) + + +# The three macro quantities are semantically different and must never +# share one unit concept: a per-cent deviation in the LEVEL of real GDP, +# an effect on CPI inflation in PERCENTAGE POINTS, and an impact on +# POTENTIAL output as a per cent of GDP. +_EXPECTED_UNITS = { + "gdp_level_effect": "percent_of_real_gdp", + "cpi_inflation_effect": "percentage_points", + "supply_side_impact": "percent_of_potential_gdp", + "decisions_effect_on_borrowing": "gbp_nominal", +} + + +def test_units_match_metric(rows): + for r in rows: + assert r["unit_concept"] == _EXPECTED_UNITS[r["metric"]], r["metric"] + if r["metric"] == "decisions_effect_on_borrowing": + # sign convention carried verbatim, never normalised silently + assert r["sign_convention"] == "as_published_positive_increases" + # and the four are genuinely distinct labels, not aliases + assert len(set(_EXPECTED_UNITS.values())) == 4 + + +def test_basis_is_the_standard_axis_and_scoring_method_is_its_own(rows): + """`basis` means forecast|outturn everywhere in this repo; a scoring + method is not a basis and gets its own axis.""" + for r in rows: + assert r["basis"] == "forecast" + assert r["scoring_method"] in {"post_behavioural", "supply_side"} + assert (r["scoring_method"] == "supply_side") == ( + r["metric"] == "supply_side_impact" + ) + + +def test_spot_values_trace_to_published_cells(rows): + def get(**kw): + hits = [r for r in rows if all(r[k] == v for k, v in kw.items())] + assert len(hits) == 1, (kw, len(hits)) + return hits[0]["value"] + + # AS2023 C2.A: NICs cut supply effect on real GDP, 2028-29 (per cent) + assert get( + fiscal_event="autumn_statement_2023", + metric="gdp_level_effect", + subgroup="supply_nics_cut", + period="2028-29", + ) == pytest.approx(0.16741543499136508) + # Briefing paper T2.1: the same measure's supply-side scoring — + # published identical to the AS2023 chart's terminal-year value + assert get( + metric="supply_side_impact", + program="employee_nics_cut", + fiscal_event="autumn_statement_2023", + ) == pytest.approx(0.16741543499136508) + # AB2024 C2.B employer NICs, 2029-30 — also BP10's AB2024 entry + assert get( + fiscal_event="autumn_budget_2024", + metric="gdp_level_effect", + subgroup="supply_employer_nics", + period="2029-30", + ) == pytest.approx(-0.087084388859310025) + # TB.1 indirect effects 2028-29, GBP raw + assert get( + metric="decisions_effect_on_borrowing", + program="indirect_effects", + period="2028-29", + ) == pytest.approx(-1785290340.7289479) + # BP10: tax thresholds freeze is the one large negative labour entry + assert get( + metric="supply_side_impact", program="tax_threshold_freeze" + ) == pytest.approx(-0.25) + + +def test_tb1_hierarchy_reconciles(rows): + """direct + indirect == total, and each subtotal equals its + components, per period — the published nesting must survive parsing + (double-count guard, same convention as the obr-welfare adapter).""" + tb = [r for r in rows if r["metric"] == "decisions_effect_on_borrowing"] + by = {(r["program"], r["period"]): r["value"] for r in tb} + periods = {p for (_, p) in by} + assert len(periods) == 6 + for p in periods: + assert by[("direct_effects", p)] + by[("indirect_effects", p)] == ( + pytest.approx(by[("total_effect", p)], abs=1.0) + ) + assert by[("spending_measures", p)] + by[("tax_measures", p)] == ( + pytest.approx(by[("direct_effects", p)], abs=1.0) + ) + comps = [ + "additional_departmental_spending", + "local_authority_support", + "other_spending_measures", + ] + assert sum(by[(c, p)] for c in comps) == pytest.approx( + by[("spending_measures", p)], abs=1.0 + ) + assert by[("pillar_2_reforms", p)] + by[("other_tax_measures", p)] == ( + pytest.approx(by[("tax_measures", p)], abs=1.0) + ) + + +def test_parents_exist_and_totals_have_none(rows): + programs = {r["program"] for r in rows} + for r in rows: + if r["aggregate_level"] == "total": + assert r["parent"] is None + if r["parent"] is not None and r["metric"] == "decisions_effect_on_borrowing": + assert r["parent"] in programs + + +@pytest.mark.skipif(not RAW.exists(), reason="raw workbooks not present") +def test_rebuild_is_byte_stable(tmp_path, monkeypatch): + """Re-running the adapter against the committed raw bytes must + reproduce the committed JSON exactly (includes the sha256 gate on + every raw file).""" + # unique module name: several sources/ trees ship a module called + # "adapter", and a plain import would hit whichever loaded first + import importlib.util + + spec = importlib.util.spec_from_file_location( + "obr_policy_effects_adapter", + ROOT / "sources" / "obr-policy-effects" / "adapter.py", + ) + adapter = importlib.util.module_from_spec(spec) + spec.loader.exec_module(adapter) + monkeypatch.setattr(adapter, "OUT_DIR", tmp_path) + adapter.build() + assert (tmp_path / "obr-policy-effects.json").read_text() == EXTERNAL.read_text() + + +@pytest.fixture(scope="module") +def adapter(): + """The adapter module, loaded under a unique name (several sources/ + trees ship a module called "adapter").""" + import importlib.util + + spec = importlib.util.spec_from_file_location( + "obr_policy_effects_adapter", + ROOT / "sources" / "obr-policy-effects" / "adapter.py", + ) + mod = importlib.util.module_from_spec(spec) + spec.loader.exec_module(mod) + return mod + + +def test_publication_provenance_is_per_event(rows, adapter): + """Every row names the vendored artifact it was read from, and each + artifact carries its OWN release date — one generic publications/ + URL stamped with the newest round's date misdates every older + round's claims.""" + by_event = {} + for r in rows: + assert r["artifact"] in adapter.ARTIFACTS, r["artifact"] + by_event.setdefault(r["fiscal_event"], set()).add(r["artifact"]) + # the four package rounds each read their own dated release + # AS2023 is read from its own EFO release AND re-stated in BP10 + assert by_event["autumn_statement_2023"] == { + "efo_november2023_chapter2.xlsx", + "obr_briefing_paper_10_supply_side.xlsx", + } + assert by_event["autumn_budget_2024"] >= {"efo_october2024_chapter2.xlsx"} + assert by_event["march_2026_efo"] == {"efo_march2026_annex_tables.xlsx"} + dates = {f: a["date"] for f, a in adapter.ARTIFACTS.items()} + assert dates["efo_november2023_chapter2.xlsx"] == "2023-11-22" + assert dates["efo_march2024_chapter2.xlsx"] == "2024-03-06" + assert dates["efo_october2024_chapter2.xlsx"] == "2024-10-30" + assert dates["efo_november2025_chapter3.xlsx"] == "2025-11-26" + # publication date, NOT the Wayback capture (2026-03-16) + assert dates["efo_march2026_annex_tables.xlsx"] == "2026-03-03" + assert len(set(dates.values())) == 5 # BP10 shares the Nov-2025 date + + +def test_every_row_carries_a_pre_measures_baseline(rows, adapter): + """OBR scores against each round's PRE-MEASURES forecast — a named + world per round, never the null current_law.""" + for r in rows: + assert r["baseline"] == adapter._PRE_MEASURES[r["fiscal_event"]] + assert r["baseline"] != "current_law" + assert r["baseline_counterfactual"] in { + "policy_parameters", + "del_activity", + "regulatory", + } + assert len(r["baseline_locator"]) > 40 + # six pre-measures rounds (SB2023..AB2025) plus March 2026's + # since-the-November-2025-Budget world: seven distinct baselines + assert len(set(r["baseline"] for r in rows)) == 7 + # March 2026's counterfactual is the November 2025 Budget forecast, + # per Table B.1's own title — not a pre-measures world + tb = next(r for r in rows if r["fiscal_event"] == "march_2026_efo") + assert tb["baseline"] == "obr_november_2025_budget_forecast" + # BP10 splits legislated-parameter counterfactuals from DEL and + # regulatory activity baselines + bp10 = [r for r in rows if r["metric"] == "supply_side_impact"] + kinds = {r["variant"]: r["baseline_counterfactual"] for r in bp10} + assert kinds == { + "tax": "policy_parameters", + "welfare": "policy_parameters", + "del": "del_activity", + "regulation": "regulatory", + } + wca = next(r for r in bp10 if r["program"] == "wca_reversal") + assert "WCA-ADJUSTED" in wca["baseline_locator"] + + +@pytest.mark.skipif(not RAW.exists(), reason="raw workbooks not present") +def test_build_reconciles_every_source_cell(tmp_path, monkeypatch, adapter): + """272 numeric cells read = 266 claims + 6 deliberately dropped memo + cells. The memo line is a TALLIED drop, not a silent skip.""" + monkeypatch.setattr(adapter, "OUT_DIR", tmp_path) + rows, counts, rec = adapter.build() + assert rec["source_cells_read"] == 272 + assert rec["claims"] == 266 == len(rows) + assert rec["deliberate_drops"] == 6 + assert len(rec["drops"]) == 1 + drop = rec["drops"][0] + assert drop["slug"] == "memo_current_budget" + assert drop["cells"] == 6 + assert "current budget" in drop["reason"] + # and the four claim metrics still tie out + assert counts["tb1_decisions"] == 60 + + +@pytest.mark.skipif(not RAW.exists(), reason="raw workbooks not present") +def test_unregistered_labels_raise(monkeypatch, adapter, tmp_path): + """The identity vocabularies are CLOSED: a re-labelled workbook + fails loudly instead of minting a claim under an unseen slug.""" + monkeypatch.setattr(adapter, "OUT_DIR", tmp_path) + + series = dict(adapter._SERIES) + series[("autumn_statement_2023", "C2.A")] = {"Demand": "demand"} + monkeypatch.setattr(adapter, "_SERIES", series) + with pytest.raises(RuntimeError, match="unregistered C2.A series label"): + adapter.build() + monkeypatch.undo() + monkeypatch.setattr(adapter, "OUT_DIR", tmp_path) + + monkeypatch.setattr(adapter, "_BP10_MEASURES", {"Universal Support": "us"}) + with pytest.raises(RuntimeError, match="unregistered BP10 T2.1 measure"): + adapter.build() + + +@pytest.mark.skipif(not RAW.exists(), reason="raw workbooks not present") +def test_unclassified_tb1_value_line_raises(monkeypatch, adapter, tmp_path): + """A value-bearing TB.1 line that is neither emitted nor a declared + drop is an error — the failure mode the memo row slipped through.""" + monkeypatch.setattr(adapter, "OUT_DIR", tmp_path) + monkeypatch.setattr(adapter, "TB1_DROPS", []) + with pytest.raises(RuntimeError, match="unclassified value line"): + adapter.build()