Base URL:

Economic impact

Calculate the distributional impact of policy reforms. Compares reform scenario against baseline and produces decile-level analysis plus program statistics.

Recommended endpoint: This is the primary way to analyse policy reforms. It handles simulation creation, comparison, and statistical analysis automatically.

Create economic impact analysis

POST/analysis/economic-impact

Create or retrieve an economic impact analysis. Creates baseline and reform simulations automatically.

Request body

https://v2.api.policyengine.org/analysis/economic-impact

Get economic impact status

GET/analysis/economic-impact/:report_id

Check status and retrieve results of an economic impact analysis.

Path parameters

https://v2.api.policyengine.org/analysis/economic-impact/990e8400-e29b-41d4-a716-446655440000

Request parameters

tax_benefit_model_namepolicyengine_uk or policyengine_us
dataset_idUUID - Dataset to run simulations on
policy_idUUID | null - Reform policy (baseline uses current law)
dynamic_idUUID | null - Optional behavioural response model

Example response (completed)

{
  "report_id": "990e8400-e29b-41d4-a716-446655440000",
  "status": "completed",
  "baseline_simulation": {
    "id": "aaa11111-e29b-41d4-a716-446655440000",
    "status": "completed",
    "error_message": null
  },
  "reform_simulation": {
    "id": "bbb22222-e29b-41d4-a716-446655440000",
    "status": "completed",
    "error_message": null
  },
  "decile_impacts": [
    {
      "decile": 1,
      "income_variable": "household_net_income",
      "baseline_mean": 12500,
      "reform_mean": 13200,
      "absolute_change": 700,
      "relative_change": 0.056,
      "count_better_off": 450000,
      "count_worse_off": 120000,
      "count_no_change": 30000
    },
    {
      "decile": 2,
      "income_variable": "household_net_income",
      "baseline_mean": 18000,
      "reform_mean": 18450,
      "absolute_change": 450,
      "relative_change": 0.025,
      "count_better_off": 380000,
      "count_worse_off": 150000,
      "count_no_change": 70000
    }
  ],
  "program_statistics": [
    {
      "program_name": "income_tax",
      "entity": "person",
      "is_tax": true,
      "baseline_total": 210000000000,
      "reform_total": 195000000000,
      "change": -15000000000,
      "baseline_count": 31000000,
      "reform_count": 29000000,
      "winners": 8000000,
      "losers": 0
    },
    {
      "program_name": "universal_credit",
      "entity": "person",
      "is_tax": false,
      "baseline_total": 45000000000,
      "reform_total": 42000000000,
      "change": -3000000000,
      "baseline_count": 6000000,
      "reform_count": 5500000,
      "winners": 0,
      "losers": 500000
    }
  ]
}

Decile impact object

decileinteger (1-10) - Income decile
income_variablestring - Variable used for decile ranking
baseline_meannumber - Mean income under baseline
reform_meannumber - Mean income under reform
absolute_changenumber - reform_mean - baseline_mean
relative_changenumber - Percentage change (0.05 = 5%)
count_better_offnumber - People gaining from reform
count_worse_offnumber - People losing from reform

Program statistics object

program_namestring - Tax or benefit name
entitystring - Entity level (person, household, etc.)
is_taxboolean - True for taxes, false for benefits
baseline_totalnumber - Total revenue/spending under baseline
reform_totalnumber - Total revenue/spending under reform
changenumber - Difference (reform - baseline)
winnersnumber - Count of people benefiting
losersnumber - Count of people losing out

Programs analysed

UK

  • income_tax
  • national_insurance
  • vat
  • council_tax
  • universal_credit
  • child_benefit
  • pension_credit
  • income_support
  • working_tax_credit
  • child_tax_credit

US

  • income_tax
  • employee_payroll_tax
  • snap
  • tanf
  • ssi
  • social_security