Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions app/App.css
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
background: rgba(15, 118, 110, 0.95);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
padding: var(--pe-space-md) var(--pe-space-xl);
padding: var(--pe-space-md) 0;
width: 100%;
position: sticky;
top: 0;
Expand All @@ -45,6 +45,7 @@
.title-row-inner {
max-width: 1400px;
margin: 0 auto;
padding: 0 var(--pe-space-xl);
display: flex;
justify-content: space-between;
align-items: center;
Expand All @@ -65,7 +66,6 @@
font-size: 1.05rem;
line-height: 1.7;
color: var(--pe-text-secondary);
max-width: 820px;
margin-bottom: var(--pe-space-xl);
animation: fadeIn 0.4s ease-out;
}
Expand Down Expand Up @@ -491,7 +491,11 @@
}

.title-row {
padding: var(--pe-space-sm) var(--pe-space-md);
padding: var(--pe-space-sm) 0;
}

.title-row-inner {
padding: 0 var(--pe-space-md);
}

.title-row h1 {
Expand Down
11 changes: 9 additions & 2 deletions app/page.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -77,12 +77,19 @@ function Dashboard() {
<div className="app">
<header className="title-row">
<div className="title-row-inner">
<h1>Spring Statement 2026</h1>
<h1>Spring Statement 2026 analysis</h1>
</div>
</header>
<main className="main-content">
<p className="dashboard-intro">
PolicyEngine analysis of the OBR&apos;s March 2026 economic forecast
PolicyEngine analysis of the{" "}
<a
href="https://obr.uk/economic-and-fiscal-outlooks/"
target="_blank"
rel="noreferrer"
>
OBR&apos;s March 2026 economic forecast
</a>{" "}
revisions and their projected impact on UK household incomes. The
Spring Statement contained no new policy measures — all changes result
from updated economic assumptions.
Expand Down
100 changes: 50 additions & 50 deletions public/data/detailed_budgetary_impact.csv
Original file line number Diff line number Diff line change
@@ -1,51 +1,51 @@
year,program,baseline,reform,difference
2026,income_tax,303272.73899443523,303272.73899443523,0.0
2026,national_insurance,56035.53018029651,56035.53018029651,0.0
2026,vat,200684.99023889532,200684.99023889532,0.0
2026,council_tax,60975.72982729077,60975.72982729077,0.0
2026,fuel_duty,34765.63809750822,34765.63809750822,0.0
2026,tax_credits,5406.764615242458,5406.764615242458,-0.0
2026,universal_credit,80875.61182102392,80875.61182102392,-0.0
2026,child_benefit,15677.099071694834,15677.099071694834,-0.0
2026,state_pension,122276.98239907347,122276.98239907347,-0.0
2026,pension_credit,5989.291994108764,5989.291994108764,-0.0
2027,income_tax,318842.63694264094,318842.63694264094,0.0
2027,national_insurance,58063.57606287163,58063.57606287163,0.0
2027,vat,205496.36494742037,205496.36494742037,0.0
2027,council_tax,64659.05849905342,64659.05849905342,0.0
2027,fuel_duty,39462.0899228921,39462.0899228921,0.0
2027,tax_credits,5558.882313274557,5558.882313274557,-0.0
2027,universal_credit,83077.66709902306,83077.66709902306,-0.0
2027,child_benefit,16125.300974580407,16125.300974580407,-0.0
2027,state_pension,126142.7111801254,126142.7111801254,-0.0
2027,pension_credit,6103.4966800892735,6103.4966800892735,-0.0
2028,income_tax,332888.4167182199,332888.4167182199,0.0
2028,national_insurance,58846.53796278711,58846.53796278711,0.0
2028,vat,210527.23408144133,210527.23408144133,0.0
2028,council_tax,68507.11337248725,68507.11337248725,0.0
2028,fuel_duty,41970.256974364114,41970.256974364114,0.0
2028,tax_credits,5681.531851997269,5681.531851997269,-0.0
2028,universal_credit,85396.48175922343,85396.48175922343,-0.0
2028,child_benefit,16516.8669624525,16516.8669624525,-0.0
2028,state_pension,129329.04617681382,129329.04617681382,-0.0
2028,pension_credit,6190.7437699792235,6190.7437699792235,-0.0
2029,income_tax,347810.65010074497,347810.65010074497,0.0
2029,national_insurance,60484.88450799108,60484.88450799108,0.0
2029,vat,215767.21074488971,215767.21074488971,0.0
2029,council_tax,72505.6181612071,72505.6181612071,0.0
2029,fuel_duty,44280.64615361491,44280.64615361491,0.0
2029,tax_credits,5811.8286665137675,5811.8286665137675,-0.0
2029,universal_credit,87999.0821609842,87999.0821609842,-0.0
2029,child_benefit,16927.9919284299,16927.9919284299,-0.0
2029,state_pension,132659.48127452147,132659.48127452147,-0.0
2029,pension_credit,6263.407463412997,6263.407463412997,-0.0
2030,income_tax,364245.2533321321,364245.2533321321,0.0
2030,national_insurance,62468.09505541894,62468.09505541894,0.0
2030,vat,221072.93211309024,221072.93211309024,0.0
2030,council_tax,76714.3507657324,76714.3507657324,0.0
2030,fuel_duty,46687.89005494893,46687.89005494893,0.0
2030,tax_credits,5937.397368991846,5937.397368991846,-0.0
2030,universal_credit,89904.66771697627,89904.66771697627,-0.0
2030,child_benefit,17351.062528444258,17351.062528444258,-0.0
2030,state_pension,136099.19445440217,136099.19445440217,-0.0
2030,pension_credit,5732.043683078642,5732.043683078642,-0.0
2026,income_tax,304730.8439144392,304744.0698935997,13.225979160522462
2026,national_insurance,55737.99965794466,56141.3191489743,403.3194910296402
2026,vat,200835.8714179344,200835.8714179344,0.0
2026,council_tax,60664.11190772149,60664.11190772149,0.0
2026,fuel_duty,35463.747557224386,35463.747557224386,0.0
2026,tax_credits,5290.852230760112,5286.707752740712,4.144478019400597
2026,universal_credit,80892.74900119173,80867.7426383464,25.006362845321654
2026,child_benefit,15611.400307538195,15603.84313430796,7.557173230236053
2026,state_pension,122078.41468818983,122176.21637289779,-97.80168470796204
2026,pension_credit,5972.874071519186,5954.92955415779,17.944517361395835
2027,income_tax,320908.0067779534,320934.23671441426,26.22993646081543
2027,national_insurance,58186.76532734835,57479.012494316165,-707.7528330321884
2027,vat,205610.5477711693,205610.5477711693,0.0
2027,council_tax,64519.435719095694,64519.435719095694,0.0
2027,fuel_duty,40246.61442554191,40246.61442554191,0.0
2027,tax_credits,5436.194798181148,5416.586102475047,19.60869570610237
2027,universal_credit,82995.18245214972,82906.04219420836,89.14025794136047
2027,child_benefit,16057.736020704735,16021.75957636995,35.97644433478546
2027,state_pension,125938.71122687338,126143.831024713,-205.11979783961488
2027,pension_credit,6085.320196301552,6024.0809320465605,61.23926425499153
2028,income_tax,335134.91884455556,335164.9201421303,30.001297574768067
2028,national_insurance,58915.746722880016,58806.409548955045,-109.3371739249649
2028,vat,210561.63934467576,210561.63934467576,0.0
2028,council_tax,68699.73700763391,68699.73700763391,0.0
2028,fuel_duty,42787.86606888584,42787.86606888584,0.0
2028,tax_credits,5555.893679060627,5534.008332033964,21.88534702666378
2028,universal_credit,85295.01359726118,85198.50800779137,96.50558946980286
2028,child_benefit,16447.663123018487,16407.538359263017,40.124763755470276
2028,state_pension,129121.12650330196,129331.85101443302,-210.72451113105774
2028,pension_credit,6174.526047702704,6108.649815220868,65.87623248183633
2029,income_tax,350155.8273071976,350188.269292015,32.44198481738281
2029,national_insurance,61384.56714483321,61774.167857809356,389.60071297615053
2029,vat,215717.8752039614,215717.8752039614,0.0
2029,council_tax,72862.3997553772,72862.3997553772,0.0
2029,fuel_duty,45125.56573567095,45125.56573567095,0.0
2029,tax_credits,5682.515596333218,5656.567814368341,25.947781964878082
2029,universal_credit,87912.83786355042,87801.65622456431,111.18163898609924
2029,child_benefit,16857.063952252585,16809.306644069908,47.75730818267822
2029,state_pension,132446.50504959468,132663.80369090423,-217.2986413095703
2029,pension_credit,6239.735857206298,6165.61580016285,74.12005704344749
2030,income_tax,367081.0083849407,367114.8418567441,33.833471803405764
2030,national_insurance,62611.38354587946,63411.14844326598,799.7648973865204
2030,vat,221022.3838654562,221022.3838654562,0.0
2030,council_tax,77210.71335799992,77210.71335799992,0.0
2030,fuel_duty,47578.74239954073,47578.74239954073,0.0
2030,tax_credits,5803.93303676049,5773.654437884992,30.278598875496865
2030,universal_credit,89749.45900276749,89492.85746436992,256.60153839756777
2030,child_benefit,17278.36202601888,17222.61199670249,55.75002931639099
2030,state_pension,135881.71015803205,136105.63123261754,-223.92107458551024
2030,pension_credit,5770.899498894896,5687.848066462216,83.05143243268108
112 changes: 56 additions & 56 deletions public/data/distributional_impact.csv
Original file line number Diff line number Diff line change
@@ -1,56 +1,56 @@
year,decile,absolute_change,relative_change
2026,1st,0.0,0.0
2026,2nd,0.0,0.0
2026,3rd,0.0,0.0
2026,4th,0.0,0.0
2026,5th,0.0,0.0
2026,6th,0.0,0.0
2026,7th,0.0,0.0
2026,8th,0.0,0.0
2026,9th,0.0,0.0
2026,10th,0.0,0.0
2026,All,0.0,0.0
2027,1st,0.0,0.0
2027,2nd,0.0,0.0
2027,3rd,0.0,0.0
2027,4th,0.0,0.0
2027,5th,0.0,0.0
2027,6th,0.0,0.0
2027,7th,0.0,0.0
2027,8th,0.0,0.0
2027,9th,0.0,0.0
2027,10th,0.0,0.0
2027,All,0.0,0.0
2028,1st,0.0,0.0
2028,2nd,0.0,0.0
2028,3rd,0.0,0.0
2028,4th,0.0,0.0
2028,5th,0.0,0.0
2028,6th,0.0,0.0
2028,7th,0.0,0.0
2028,8th,0.0,0.0
2028,9th,0.0,0.0
2028,10th,0.0,0.0
2028,All,0.0,0.0
2029,1st,0.0,0.0
2029,2nd,0.0,0.0
2029,3rd,0.0,0.0
2029,4th,0.0,0.0
2029,5th,0.0,0.0
2029,6th,0.0,0.0
2029,7th,0.0,0.0
2029,8th,0.0,0.0
2029,9th,0.0,0.0
2029,10th,0.0,0.0
2029,All,0.0,0.0
2030,1st,0.0,0.0
2030,2nd,0.0,0.0
2030,3rd,0.0,0.0
2030,4th,0.0,0.0
2030,5th,0.0,0.0
2030,6th,0.0,0.0
2030,7th,0.0,0.0
2030,8th,0.0,0.0
2030,9th,0.0,0.0
2030,10th,0.0,0.0
2030,All,0.0,0.0
year,decile,absolute_change_nominal,absolute_change_real,relative_change_nominal,relative_change_real
2026,1st,0.8,0.8,0.004,0.004
2026,2nd,0.91,0.91,0.003,0.003
2026,3rd,-0.4,-0.4,-0.0011,-0.0011
2026,4th,-0.71,-0.71,-0.0017,-0.0017
2026,5th,-0.31,-0.31,-0.0007,-0.0007
2026,6th,-0.24,-0.24,-0.0005,-0.0005
2026,7th,0.12,0.12,0.0002,0.0002
2026,8th,2.27,2.27,0.0034,0.0034
2026,9th,6.03,6.03,0.0083,0.0083
2026,10th,-133.24,-133.24,-0.1061,-0.1061
2026,All,-12.6,-12.6,-0.0233,-0.0233
2027,1st,-1.86,2.15,-0.0091,0.0108
2027,2nd,-4.87,1.32,-0.0156,0.0043
2027,3rd,-7.93,-0.46,-0.0212,-0.0012
2027,4th,-8.27,0.37,-0.0191,0.0009
2027,5th,-8.51,0.76,-0.0183,0.0017
2027,6th,-5.5,4.99,-0.0104,0.0096
2027,7th,-8.21,2.99,-0.0145,0.0054
2027,8th,-2.83,10.32,-0.0042,0.0157
2027,9th,2.31,16.71,0.0031,0.0231
2027,10th,215.04,235.77,0.1685,0.1885
2027,All,17.32,27.72,0.0315,0.0515
2028,1st,-2.34,9.48,-0.0114,0.048
2028,2nd,-6.29,11.92,-0.02,0.0394
2028,3rd,-9.98,12.22,-0.0261,0.0333
2028,4th,-9.5,16.04,-0.0215,0.0379
2028,5th,-11.09,16.33,-0.0234,0.0359
2028,6th,-7.13,24.0,-0.0132,0.0462
2028,7th,-11.27,21.93,-0.0196,0.0398
2028,8th,-6.48,32.48,-0.0096,0.0498
2028,9th,-6.72,36.32,-0.009,0.0504
2028,10th,45.12,118.05,0.0345,0.0939
2028,All,-2.41,29.54,-0.0043,0.0551
2029,1st,-3.38,16.21,-0.0162,0.0827
2029,2nd,-8.95,21.44,-0.0279,0.071
2029,3rd,-13.32,23.49,-0.0344,0.0645
2029,4th,-11.85,30.33,-0.0266,0.0723
2029,5th,-13.98,31.81,-0.0289,0.0699
2029,6th,-9.44,42.08,-0.0172,0.0817
2029,7th,-13.57,41.4,-0.0233,0.0756
2029,8th,-7.53,56.65,-0.011,0.0879
2029,9th,-9.85,61.77,-0.0129,0.086
2029,10th,-106.31,23.86,-0.0798,0.019
2029,All,-19.66,34.26,-0.0347,0.0642
2030,1st,-11.24,8.73,-0.0536,0.0451
2030,2nd,-17.71,13.23,-0.0545,0.0441
2030,3rd,-21.49,16.01,-0.0546,0.0441
2030,4th,-19.37,23.19,-0.043,0.0557
2030,5th,-21.09,25.36,-0.0429,0.0558
2030,6th,-14.06,38.49,-0.0249,0.0738
2030,7th,-18.37,36.55,-0.0313,0.0674
2030,8th,-8.13,55.96,-0.0117,0.0871
2030,9th,-5.89,64.71,-0.0076,0.0911
2030,10th,-244.06,-101.39,-0.1793,-0.0807
2030,All,-38.21,17.25,-0.0663,0.0324
32 changes: 0 additions & 32 deletions public/data/economic_forecast.json
Original file line number Diff line number Diff line change
Expand Up @@ -127,38 +127,6 @@
"change": 0.0
}
],
"per_capita_gdp": [
{
"year": 2026,
"previous": 3.3,
"updated": 2.9,
"change": -0.4
},
{
"year": 2027,
"previous": 3.3,
"updated": 3.2,
"change": -0.1
},
{
"year": 2028,
"previous": 3.0,
"updated": 3.1,
"change": 0.1
},
{
"year": 2029,
"previous": 2.9,
"updated": 3.0,
"change": 0.1
},
{
"year": 2030,
"previous": 3.1,
"updated": 3.1,
"change": 0.0
}
],
"social_rent": [
{
"year": 2026,
Expand Down
Loading