From 9799b9ed995bb72abf556036f389c0714cf3d417 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Fri, 30 Oct 2026 15:14:59 +0000 Subject: [PATCH 1/4] Add HMRC benefits in kind statistics, July 2026 For PolicyEngine/uk-autumn-budget-dashboard-2026#316: Budget 2026 raises company car tax by one percentage point in every band from 2030-31, and policyengine-uk 2.165.0 (PolicyEngine/policyengine-uk#2750) models the company car and car fuel benefits. hmrc-benefits-in-kind-july-2026 carries 544 facts from HMRC's Tables 1 to 4 workbook (15 July 2026): Table 1's recipients, taxable value, average taxable value, and Income Tax and Class 1A NIC liabilities, 2011-12 to 2024-25; Tables 2A, 2C and 2E's car benefit recipients by CO2 band and by fuel type and the average CO2 emissions of company cars over the same years; and Tables 3A, 3B and 4's 2024-25 recipients, taxable value and average taxable value by range of total income and by region. Markers emit no fact, never a zero; each sheet's rounding is quoted; 2024-25 is provisional and payrolled cars are under-reported from 2016-17, on every record set's notes. HMRC's averages are ported as printed, since the rounded cells do not reproduce them. Tables 3A, 3B and 4 are grossed from the SPI cases matched to the P11D and RTI records (survey_aggregate); their 'All' rows print Table 1's totals and are not ported again. Re-pin the merged bundle: +544 facts, one source table and one geography (HMRC's unknown recipient region). The merged-bundle test needs `chronicle publish-raw` for the new artifact first. Co-Authored-By: Claude Opus 5.5 --- .../hmrc-benefits-in-kind-july-2026.added.md | 1 + chronicle/bundle.py | 1 + chronicle/source_package.py | 2 + .../2026_Tables_1_to_4.ods | Bin 0 -> 42963 bytes .../benefits_in_kind_july_2026/manifest.yaml | 18 + docs/pe-uk-source-checklist.md | 23 + .../build_package.py | 1760 ++ .../source_package.yaml | 22499 ++++++++++++++++ tests/test_chronicle_bundle.py | 66 +- ..._source_hmrc_benefits_in_kind_july_2026.py | 602 + 10 files changed, 24958 insertions(+), 14 deletions(-) create mode 100644 changelog.d/hmrc-benefits-in-kind-july-2026.added.md create mode 100644 db/data/hmrc/benefits_in_kind_july_2026/2026_Tables_1_to_4.ods create mode 100644 db/data/hmrc/benefits_in_kind_july_2026/manifest.yaml create mode 100644 packages/hmrc/benefits_in_kind_july_2026/build_package.py create mode 100644 packages/hmrc/benefits_in_kind_july_2026/source_package.yaml create mode 100644 tests/test_source_hmrc_benefits_in_kind_july_2026.py diff --git a/changelog.d/hmrc-benefits-in-kind-july-2026.added.md b/changelog.d/hmrc-benefits-in-kind-july-2026.added.md new file mode 100644 index 00000000..3c089e8a --- /dev/null +++ b/changelog.d/hmrc-benefits-in-kind-july-2026.added.md @@ -0,0 +1 @@ +Add HMRC's Benefits in kind statistics for July 2026 for PolicyEngine/uk-autumn-budget-dashboard-2026#316: company car and car fuel benefit recipients, taxable value, average taxable value, and Income Tax and Class 1A NIC liabilities from 2011-12 to 2024-25 (Table 1); company car benefit recipients by CO2 emission band and by fuel type, and the average CO2 emissions of company cars, over the same years (Tables 2A, 2C and 2E); and 2024-25 recipients, taxable value and average taxable value by range of total income and by region (Tables 3A, 3B and 4). HMRC's '<0.5', '<2.5' and '[note 3]' cells emit no fact, never a zero, and 2024-25 is provisional. diff --git a/chronicle/bundle.py b/chronicle/bundle.py index 40b1979e..72efd0ef 100644 --- a/chronicle/bundle.py +++ b/chronicle/bundle.py @@ -138,6 +138,7 @@ "gambling-commission-gsgb-annual-report-2025", "gambling-commission-industry-statistics-fy2025-26", "hmrc-alcohol-bulletin-july-2026", + "hmrc-benefits-in-kind-july-2026", "hmrc-betting-gaming-statistics-july-2026", "hmrc-cash-isa-limit-reduction-2026", "hmrc-cgt-age-2026", diff --git a/chronicle/source_package.py b/chronicle/source_package.py index 2ba257f9..73f568e2 100644 --- a/chronicle/source_package.py +++ b/chronicle/source_package.py @@ -603,6 +603,8 @@ "hmrc-isa-statistics-2026": Path("hmrc/isa_statistics_2026"), "hmrc-lisa-statistics-2026": Path("hmrc/lisa_statistics_2026"), # end PolicyEngine/microcosm#1415 + # PolicyEngine/uk-autumn-budget-dashboard-2026#316 + "hmrc-benefits-in-kind-july-2026": Path("hmrc/benefits_in_kind_july_2026"), "hmrc-spi-income-by-area-2023-24": Path("hmrc/spi_income_by_area_2023_24"), "hmrc-salary-sacrifice-relief-2024-25": Path( "hmrc/salary_sacrifice_relief_2024_25" diff --git a/db/data/hmrc/benefits_in_kind_july_2026/2026_Tables_1_to_4.ods b/db/data/hmrc/benefits_in_kind_july_2026/2026_Tables_1_to_4.ods new file mode 100644 index 0000000000000000000000000000000000000000..f671f9a1960b5a7d9a0e9f761e0ae1c9be49e925 GIT binary patch literal 42963 zcmZs>18}BI&^8*|wry{0dt>K`ZQHhOCmY+glZ|cL8=bu0_g9_&RGqtOre>zcb@%jD zSGS@JC>RXT|9-?kA=X@x3_q3s64Xz!v9K|5_OLfGu(!9iFfwqqu(M@!wKZn2GjOtS zVz9F}u{E|caq}i5yMs35FTMP4p}Bp8E68D2>(L0tnY|9Nb-l4@)<43b`8>?^94ZMZp6FJ$@x?yC%@I}Ur zj^8d`S2>;XdaqKaqin>qFA;~=v+BLyTjaX6MgDXmIF~JC)LmWfky6)!E>b;oADvjq zZki3nz63{;Lpvx`2&ru35uT=+zxD1*#RAIL9~~?tkKO`#F-jF!w=6fha7z)Lj?Nbi zjs?>Br<{S0&JV0C|J@o9cv+o;J7@h90|Tg6c|;c-PEK?)Mmlrh@bU6y^U5liw_wXL zFffSgoKFP6fc}+n)0}D^0Eik6K(G_a$y1P)WL>tnk+C*2J;Hut^S`Oz(y-P7Eu~)1 zH(TI4!`EeZ#5yNLX3cKW9`#$nYa`Poa&}CTq@(Kp zlBsBj*)LOKIj`AGqq{enJ}B%u+1r3JO>hz+$o8A7&NHukyA$Bi`uIDC8p5E$pC}19 zQOPsmx}gyy3iYJ^3a`)&+B1cFT}sA#v%n?SOGYymVPTBs_?-Y+bz5q6UN|F;-w{e- z1K$r2(-wGMzzRjc0p71npQHDY0WBNED(7w;KV>*N)G_8+fVGxx0HSEH zh=niOs3K&LSc-eCu%P27Z*t*F&-JNnBdOi$|Mx1fbk7}W#Mt)2DnKRas%ps&CavF8 z0l0ZCvpsXNQ*P#fKz*0-Hy?}-Cb$StlD8m0=am+TlXYQE*jIRHylVp0p=FH& zJu}#n(9sXNu#m#S8*`-653yRoT6;K}IIQ9-6e}~qUs4XhuKRcc3go{v3`)-wAtw1= zRxr5@Dih{{?EQBa`>_`%U>li7bPpvaAa_7%kU5IcMf(!^fGYkplexd0>5g~RYO!QA zXTffnY)V54g})xu|_PpRazuhWI-uq?#s93G38PH*MC z21hkL3;#`PX5*vDuZu?l$+GN@i(s5ISzc<3pyO?MBq&t-;Re4R=iK>(K40roe{wL2 zrzdFGQgqNM+Hzqd>Mv&DAk&;zR+dL8xo(g=n0qWGj2hCs$0aWwR@L~JH zhix2+iv8!S>32JdmtlXFAz)}Uz=xynLic$N>;DtcP?_TWLK`G@Y7Pj5Q4`X{LjE=+ zT0gNHTBGg%PmV#wrxIsqb%h%}3IxX}9Fsx+>=UFNGPE z{ADsIg&g2OCPI?vdYkLX4ofHv4BW?NtEIg3uS)3P-|0{~x2TmPoTU{FT zH`Hdz#i<~g+l~ZSb5xSfdhl7QC$}l0$3_UB690V9vY^`^1or)`9v0H^n&%x&+wcC;-Yss^sMov|Ls)k9fAo? zP+wBk6HCz=76Nqw$GRaQ9&~ z2UJaScV9&WosfL);YB~PotlFcw%9XJXzb?CCurNzdarIv1I<>U3hvoQJwt@fY0@5; zsa`;?sl7H2ElHbGN9m;h2%7D;Z(I6o4d&6m)U90fG~K^TYF}dJzJtjrUiRM`VO2-; zO0Gd%6mjrecD`xBU6c3c`xDa^cp;VF@F^g-!0>I@*iqUEg@hli=V;%G?`o}q)uHwh zWWWEBPrX+^e&6`F+@zMRM7`xr2)@g8k{2%RMV1@QgN{Blo{dUPMjteej}#B()^8v9 z_RP4IH|`LZ&VS$z&OSAt^Py-3Rn~okh(bnB5Kb3;gE+{ISp2q%K(E4i5;mTxZ0nB% zjY&wzy7r(lWK-E$Jp5+WeD7>~48`1JuLKOE)ZJ!D>5)e|xoHUFM3cY}xquuttO^=G zyMY@g`IDrDyzvOU4qTT|5*P36BKMAckSTn^T~DT}XK-UcS#L+*aih+}v51Aj^;7-! z)uUK3rz4(Q`d!5AMWNd$K|4f4DGTQ|Ar6A~)#=l3FTyIxJ->G&ytkCi`*<5Ma}bV4 zF?z)+4I$!!N0*ye%3Pv{8~=>;Csl*73{CoFa~`h@OFSQP2F zqM^jX?&*Eoyx-@PJ$#6wI}QnVy5bdUCwC4Db=l@Oc>cDU{(wePSCVbFxKYe)<0)xd zfQu|@{q?&UFrlLc{fT97=|TT&7YAgeqr4bjY~_%L-eBuQN(`?P43ds`Wr$BL0Yr&e zrrjmlQgxW%)<%4=G4i3%l)HR)nxoCI&G9b7HrT8T_h(^&*CUV%!Uw!ZA7z3L;?@^9 z&(nC*ru0L(8c%8}x?8Y)Mg7ilNwvdKaMqN<&6;a<-?Sa(|Vqq`Oy0%~VY6&jEz5qblIB z3F^qMFeS{ z^sNB~#xzEO6T;*SpMG~$f;4;_r{N@40Ryg4Ng#^j#iZSuJIGp_V45V=Q0b6D)&k;0 z44FW`L?>iJlGQ!0(J^XY-eZ}2;(p*jIAO=?sA0(ZH%JD(iJuc^ImsM2`+1>3iaTUt zo6u*xGDpDS&^hw<;Y5jBZ$kbUe(D4A7ZWDPQsnnGDj}RwMvCZggS8y>-_2mux-LqX z(6z4EIAm+`Y$$=hN}+f;QVSTic{mUKQ)oTPjrF#1yc|`W1r7B|e{XeDKV`TT&vxYM zdTDp~dVvPGI~Y3IK5aS~WYWFDYj8zEUGpcJ^oKjQdo{m~i*D|Jq3i_SINtn0 zzNU}O)5@t&`*k`N_C!&3Ar>ni$}@VbO)$UW=$0lR%7yr4%IIl3Y1dY6^0^oIyx!<} z#^Am4rL~z$xJbxg%N>@euWs3)d~n%ycW5Q#vpRY%ZC=1yBfHIU#W(xmhI5(iO%I0^V7ymS#(ic$gFOw4+tpH1Qh58XagD9**gCR$^V1cJ{yh)WA(f5;+FzMhg_}-VB-|FU1N(r zEuChjS6ff3%-24gqkD>iWMp@2Que@gOZPXg3Lhp}s%>?Gs>qr|C_v<=1xqB6W0ilp z%+!_VR!v`QqO8*f`^RwOV0yBet#tU{)7iRJY#k9SpnF zJ+!W+)r9n~;JMxl-P>NSEM`FM#C_T^KW|w7f#QkGyJbBI8n$B;xj}}_hyiDd((i?> z)BnP#4s!zr_%uH3qZ4U+Pq#i2SjtP93+$`6?4;I2YC}% z>klm{IdZ^EPSp!G^bYV5!cA9*fX=@tm&dO##piU_TEpwccQP)`L@GBTKBgN zG}O2K2KKT%uXijxyjl#Ao>M&Rk6I8CjGl2a(7~ykG=M+rr~O{-+P~MN988wAzHclR z+5>B_qQrp*{SoWj@s+n;2}OfnNntJ`)BXf%%$p%Z)dTL}oC*LCU|`#> zC#3RSfo5px5)x-Aw3$%N!yb5kW-nj=O>P zCD*p+8^O#N%&bAL*H^Q~gRD#dS5bqpA67u)Y#31_UwX?vH7bSGxAqraX`eoJ^%pR% znP#W=%6(kpuL;6qMp**08?Q(87sR^a4M6u4(&$b)@7Q*QXLfH2B0!X0QKlt|Wue{) zz>aDS(Uf2_uTl3vf-$8bL=<;?Hc}ltBETDP35eu;Z;}0blstGz&cH1;PK3#wwdB~2 z5j?@X1l)nq&kZE@iFv+tM zg92&_09)lBXQ}((8E2BB_?LlYtMMnZY^d_XfC1>u2;PIKI#`fTm|xhyXeb>zLR51c zIjvIQZIDDwImA!2J$v6GJnLO^efck=P}|+|ue^-cw)$#ZvqOaGySXWw#*W}vz!^}f zUH5R>I}=b1Bx+7nCg)?zZ^LU7(dR%LVlMErB+Rs~2sYg9cWnWk03Hm!n!<40iwOUt zZ_~)YZwF(PS=Q*JaWVKS6|!UrCfBfjhU0ngX9;Z%Yi*7)Xy6oM+-435g=0%=1xsG0 ztaCQh6ZzFDW<~^IWvePA1e=kr(Q;YnBGbk{wsPs+wd@#`$M?TVaSi~ZTThE0$8RQYE=EylwebqSLAG04!F zrmPW!!(HHoCVD&9h2`1iKgYvbh2Y+jPVy*;KMv*%P$1$6)wF{~C!=?w-xNZx4xB+3 z>7+Y9NTQ|i@s;ScN{nJdqzHj*6_r`?hYl40&u!^U6xVN)HmuiqZG z2y|OIK=!f(A%TA^_d*wPXhX6f@tVC)wk0K%dec&!@}vTQWe&zLn>*#@?;I6#u*LP=c65qsW{jO+XuOs4 zll^Y@09TSrk)k(@A9GR5%Bfravw3lnr};|tK%kGLROPW)f+G%Dfm0givkH>JKU^+9AUT33&{` z=p7=o73I7&R@6MQ?#OrT&(sxKZH2yrjXn!9k(($Dzmae^YSeAFa`FF`5qr$%a&K6> zR*JbPmD<~mw3~fx_E$#C#L=?2pw|hP!*Gp3Na?1;`O3AMmuYeSVYAgi?andy%1NvO z>3-rbpc-5qPb1BX7q_=`&y;6aZjvTv%oc5QD&zBU&E<~>Y~8{r=q4O8G`9dP|%on+ohKjA1qz zkc+MQ@u5@sj7FmxnC;IPA*_0(r+oMG+Oo!R=A*CcfK}2d)@|FhjFJm|h}3V8Sufk1 zdg+I@e(55CDAd>KQOFBM5AcM>RhfJMb-PO}j&Bllo+)^4Laj-#Dh?l6<&|2*Os!32 zXq_pbM2yHQqfb=(Ws(Y(-WL6mQ{}AvvXGZ(F(;Z@XJA(FJ|+s#Z`q(pR6aEXFiYNnK>EvK9yEfu2tY? z9h-CW#2>39ainzPS>;hSIk=2A21zc6lroij|ae^^tV;_Cc$9?7SpT$@!v&5N-hHZxYJqLnd;%3D85PVYU|HX!#;iRnI zMf*PZH&)#2aH#2v%ntTwp{|~$W@I^rKP~Efe(jZHY0e<8Vzwiq`iB;dAPz+LHUjHN zn)UE@Ps9^GnJYJXQ-sc!@aM`6t?R)4 zhLTTsHnU{_w}Qn6P&`svJqLqcYBPB3z)7(H3u`V$fNmN&8o(MAHbXA=hIxcQb43hb(HdM9XBk>GBfj zHgjx5%|y5>FPk$?+PQP@))DJ$hE#W>NX|Ad9koXvoHibms|!Y(!olI&X%IPSD;B#P z7tty!wZK1{6fdP-p(rb*e#|WxHC4m*nZ2IibtY7}Zh5>n@=A;h{?70wok+;+5oQxw z9qwFlt9s&|RCquv<#OQoc?`a<4>#0|Dz|EBexvN*&hHh!r%Mt_yU2i?rd)GPPI zrOUe)D8x?(nmp})Id~BuV}nYIV0gCL)&pR@F_U(WjS&QpqrGiFK_yNT9TguM9D42T z8?*sghG-Xc?U@qx!xwgL{e$LCLL?*%eB|zrZcDOb-n(zpV#L&Ii_R5*`SePc;e71v z7bSHiXM>~h=lk#8EWE~C+bAp{u9IK0BqYBem_;!1JBVQADY7axOm3;5i zjgA!T3^(8PK3`A{;%FxkZkHDMNv2Z=Z+LR}!#EtbpHbD^9MybEk^?h;w zUC>z(05=9u&y?9u^UwAq^SbB#F=+-SH@uZ;s3jC8yw2QyolJR2^|OurvN{1pNE%%e zOTAp*ylgxTSn7VYSAJ%B9}9BvV79lf`xFRhJ>-)G1l-Z+y$e=Y*UJcKG3^b^JB-#r z`;i3?eIFS!teJvUAE8kf@|z@rK;_qxfT8z07#c_uwIAoq%BAh5bB{}ge}_(j1{`2R zM?M65=Di4jTt{zxxpsq$x64w;!Tb5yq}N1Kz)l*z{Ki}v=I^(+_{BVG%b>uV)>zug zfk9*tFjs?^{Z?4NOHdaN7^H3Z)2cPv&%W7*Ti?T1|6&7%{$#O}`+Zjjjal@*dtv@< z;`~IwOeI!1n$D7tc$-Ix;9kI%YH=+?M8}{K+ajjUR6k>OM&M^!%Ocy&r*PF%D>=-= z=btoxXXk6S?O*SDV3YRovbC+hvq^#T&#eeC|DQmA$<_Arxc_hQe|`S*M2HA^jdn+f zJ43W{OUN2AzK?wP1}7A;R5Pzs^EsjE|vIb`2QP*4*@QZvs{IRT`G#=U2E+;6>unKy zn{mIgo%}342K_qj^7)V@Ehw5$OWuj!^2@b$1n~~PuF|GoWEn)zD4~pc0lH$fF&=qW zC0h;fCVsmucm4bwnl}9(Pf5C;q~E>$acX@T#WoFb8STSgD6&VstXHYkRPRP45wtg@ zi1Tf`5#&JwyBC(@>F7G76dw9~Mch{tI+P}hUiO+O+aF72-(jb!Rht#|sveDJ2ULg@ zww%Y%B6nG*b2Nz8IoSQ_gwa)bF9sjGVG-5n^*~M-J<@))E%tw{2NxAGfeEHLA+vMF zr$(@koK42~t@p?wW^qKOF8LOyG@e*p!Hk2r@5Tg481fECav_QwgmhMb5YqD3Os zNt4KuJQxgoR+Dhbp$EnzJp?aYieO3J<nAu zHZ7~)GjH!`d)%Se`Q&Z*N2^{-ub-?!!4x*MtsNTb*78|&F?C8Q8G0@I zjTg4@lRW&BDyzJ0_788_ZL@L;FxU5zibZ@;e(B56gK~q9M!QJr#_E%gsyAaG(krWAidbT(=N{K)XU39%cz{05e!` zz#(N_MgV_DC zp9c#I(H>m^sRo0Kx$mW*Rn@p|KPBb`46Rw?CXK&~IuI4yiZmhBn_ti`;STBxnb(A@ zO-HB;fCx53d5a$22(<04GmJPQ@WBKSo#q(dwKm_pJ{VLF1}HhCd~9?QRUFgy6eyF8 zu`Z}eF{w)zu7d}V#piEfLHj-)NDvOqh3U3w1#L2q>aZR9bqG>hKM;CA#M;nluqj$K zx!(#i`KLby&LPJ`ZMZS-;4t4C9DqlHC4dbZ&b5LAcmrMozzDusQ01xN8Dct_R+;i6 z+7rhl7$!7oYPA!~5p)?vBQI_r8QQAx6j)qLpjyroh#lTtD}+0Un~hM98vxS&2m2qeXl?O@7u)IDHA@62j+ zr>qW=6o-}DJIqG+eI-!3$3W7Nq+*#I&gdu+OKuP`&z^Cm8)c(6BF3+&Z;t_sdik2(9%OWq*=k zZ;5z)uAZ!7&0(c_gLYsjF!)qAsHu=6Y`jsp7tRI|gtj$&^Tiam_Item%NGo^@O)b^ z3EtdaYcgxPMyxdiCtZASukur=ZFoqkRBO=wEsg6vkZ4H{n&Ca&ur zcnV=8fY~Moan?9n(@SM z=LP2#Q-`&~mT{n}L~LUYy#|l>6Y*^p6*Tf_%M|c1qI!0w=K+`mJTlS=jh6W-wBD^F z{Sku9Ic-BVdEg2I_)WGDCSUO(x+PDsVzZPSHsMGu43OZD3z#+EdIpL3PSZ;E{4f-3 zI4bt(r_h*Vx+$chi4UmwJ zHLc!Q*v-yEiRY3BdUT+UnT6ft$z4vckb#2C*{<-6cKV5MPP=JmlOoUi3~nY+ zC9}3u6mXZ=wWNw+mLGf>0GCluqIO?Tv+$3kCMUR!sj}>0S9?8R!BGZ?0IZnP#xf2| z5T(+!02W`IKHWr1qM zM3D-3{%iAx^_ghz!|!9tgyytgk$eNo28Juj@ZaLVT}O?Ehbc^-fNB0MYQBhEz&Bza zz~^t^$!4#a;4kdoi{A){T!X?YZiUzQ)n;;vCE+Z66yB1(HWZ#uodT2zVEVbt@|oeG z&Yuf(o?6$fZ05o84HIIsl32?#UN)Pwkb@hYC&yrZw^h30k#oFiNbY94+=*Rqv(Cl@ z8#F)kKQK%O{t%=AKWs}!;*|BLfx4Duf`isWLYL_p5y?Q zp^7Pc+4y7{;m8OCr40OZ`m)4ZEaoEG0|uEDGmk(qPYbDS^5(5_|DXaGrjZJ$LD3R8 z*^cCZ2x;s-urVfo8eEXHWNCs-Mc4pE2+)Q^Xs1Zz@#CLUujU=Y8HJ~VVu`Z>tMqLa z!=`7I2dyyyvy^QPi-7~M<}n1{2tr|h3Se}2n0-uz(D{iJ6uJvTLrbV|O>q}`xh0CS z*n)@);!faHIkKrkZokizD_7H_euFcGheH0ob7(l_oIoLN6rsSH8YIG*DuVenHo>77 zWm+y#Tj2)3$CH}jnqQ)*VW-$K`0ZSI-dGmxE0hZ{XLpg7}E5>Pqb2l02TvJ2X zGwG42;Bry1$!RqN$+S8gKI&&FjIYrL9SvpGG?0B(9WyaS3qYu--KPS!Cm$R-@E#cs6Xjk zZ~Dbb33~0{%gK>cX^GG_1~X7A=i2#3Zwc523ikQUq74N8)7{mb0LM_r7}%58F^XM4 zOCNS06A9cDlZDFZkVuNSi;b*#|BvS4z{!qa<=L_Pr_O@SJLzy^>wbcQg#F-2KdRjC z9|c>5cnWe+9v#U_)F^PpMNtV`m@bRCip5X|$s`*G!7xccHS~h}3rZ1Em+D=pAo1+k zpDxF?sLRiMyhJ8s^@Bi%J_IR*37E#lc-9{E=LPT%ANCJY3Iinlwh0K@2MN1wOAD&3 z1v3#u|91UNX;(lFx&(%&V#R+7DQJqJV6R3EN4gL47nzbsxDtBRDI3q>Znlf7=w-;8Q|fhv7_^ZE={O>w0h0DfSt$l${+XB zj;&VWff!?q4>X$Dj-}Qc9F^9JGZLt1D`eye(zQ3>cUt48Vs=!EDq1{;9;9= z;~?KB%&M)4oe^YKe9S~S6oxR4>j40$^TV|Jy#a1@ea5!Dt(Ns-Fl1`dcFOg#Ww5KC z-!V&&T2erMHoaLs$llHXI>7VwZ^$JcQB>y!nWDTjQ1%b@w$|`3g>%;53A~Wy!yh zhD@+bX|gJ*2;&lzagtO?*5A8?O|G61#T6bA#t|OiwgbVC-0O`#L$EDhi-@2~+zoA9 zIapfb)!8i+!t5qKh__U!8n>M7uv8DG*UJHz`sle`oh<0vF?D4pQ9T4KFEqqJim_J@ zCOv2yFobf(B@ZTbXbn*sO)^cEi;k1b2thNcaSJKhyMfaCh_L!Y+&_52mIvyTDI9{^ z`HoSa2W}zAS2J^kEmR!-Y*l%=Qc|i{ceIx%g4MAa|>S|mad93BE$D6H6w>k%9In0`r0Dd7+hzrD^VgV`yIt>ATZTK3}8$ZOD#E~~8Pcr1ie zOK_LJ)&e~yhs#@wJi5S6+QgKAA|7reXP`rZu;gpr?3mX=8Xc>cFlthz&Dev+r8uX- z;%zW2 z>s@z`h-}Fz@JTuB`gva)tiv;ski=|%c!=U`oQIrfS;-Fz!5$mWe39Kygf>VNItTrk}5%rO&&&gN!jAx{U5#rI`^0Ymtg8Di}BQWE6D6*kpGU;35IV$ zJk}Umq__YU9iceKj+d4^sP-6yOfR&RE2c5o%Xa~^cWmM5kv5#>R7&j<1W7JaJfAEW zRH3roK>q%m;INyn+a|Vs zzox(|?k`da)QVBWx{6B&V>n9X^YSs85u`!{oPmtXVo;kamS_n-^F$U6x~0K0J_K?# zzEPEy%1EUNu?`WIXwx(EfN|4^C`Hj3Nz*U5Le0*Id#?(-9csg~4s3xx*)GUa*C^QM z93*3gRut6?vH@8-0ZC%++9s8$-GZq7s;N?BitA4x)y#p70Hg$_;YTzkmn!ahkm;dd zZvfK#Iy1eiY$XOyX^i3?Q@HsR#eg@n9LdA*5Y{wPxak$E=#;NGT4PvHZ%G0FmNLAC ztrN0CT;?pW8=Wgc_khOjCIw7xR=Pa?53=|p7cBwupE>SgPMW}Fl@ry1f|&o~6AQ#o z8Msv{z#{fas!ZZnthx#{%}1`ZSzUvRY+e-E*u3Uu6<9Y%DGI?oBD~BV&p36{(!Nk? zNnvJ)z|lv9vt+;xWrX&lv!kzD6e&AfrZe5DJa`2h6$9=FAT1)r4a|HW!Qa6F-VLY3C{gsoaOttSa!h^*ahXNJxnQA_9@l4vV9ONvX}<({X{e+5fx#jG~u?3 zJ5I>HaWaQ5eLl)10j!mVLuD0)ntYe97FRN} znqbS6+=&Z?ua*koM3+J&PPgPj49MB%B@;D3R34g;=ix)S=*L4LEF@dp)rsttOYLw5 z8VC|lm~yiiu-LzC#8twU2o9g?Vs3fZrf*OjuW)39-`Cz-^*KUYb#eOD1^&W*rO~B^ z{?c~IL;@2zE^mSEl%ve(Tc;u3M6j<|?HUM<4L7r=R(on%WBjX%%kLoqnl{$ewB$$= zW`jBm#!{8*(K-OhkLgNoQDAUAd85rZk750DNHQq2uB6_yl+Pz<^?VT^@Y5X~uafcgV zoDaGgbzyWV4L8e}qVvqkkNoC=3zDe&*EL9PbStD)+qz|E`xze-9{OJt#;Sf#XClS@ zKwk$Vq z_wlCdlbe905F5iSK>3ek9`wu+<5V~7)7K&KaVFq6wiD-Yh#yaDKEQKV6qy{RBQ5=v z@<#pS{m?I}*6l`s_4?PJxRsGIK;uJ;!pHz@jJDs!PPHNF;}7zHdFEy5g8EtqCmsVP zMTi#oI9pNpA)oJ-{50ry;ROjpdo{)8X;yLU_LoL}kqGF#&A&WF{t6j(hUlFrA74pK z0pl4Ww`>sUC3psE8WC=gu>;ug9`xnNcD`=!_q*SB-?|}NV{*pq;JO*q1q}Nh5aQ19 zj2PoW_tHOWy92n!gF3X|UHooLM?v6>Q2-CN&9}9^o)_H$(Rr>!ND2;^lGnV+O1qKT zl8&d$K@7$xK$@G|6akJ}AiF1JlnVQ8ZAv`khYzetID*O)6$N|&5Q;y1iD~;^k6<>b zfLwk2()tApn8%Mr5F9}>>bZxaD;&WSXhq$;lRtdTBR>taGIzAiN+HT3(De{=DkMvD zh+3dOtcj&Lj~fcrih4u_AO_KL<8^~0+-LBkGxw0uDX)#bYH$0m9cDzq?f2uLpq)=9 z9_e$S9FnCKNfV?y{X*Y>9eT|rs8S|!EBPo4$k^%# zfk;3(x$HP`2>}w9hxxfA4vdq%%Za__#CkA-FMDyU0=7t@?HM_v);&k8Qgil|e|Z=+ z5m=}k?Z8N-A=_^~Mfrj(7`yDSjU~fmjdm(TD;OT5b7{wjH2X-2WI5JhuD^hz+-y+c z`7Bmx6#O{4U}#g#A*V4`Y0JbWylF0-R8zMM%e;u$ww;5`m>=AYw#M>}V=-8)c zfW&1#%33LhH_>IfxB6~tK;W^vxnW$vzl!Pj7orYem_L;2^%b_*C!Rv z4$u)Th@sc7))(#s^gY9+b!U(d&Xq%nh=fI#8^omS`KhQ=!vcjvy{8BrU!5xtIcy3R zrqYsGOzsdAw>8V|wHtIirKCTqdTaCmSTeU0L>U|XJ4?=0qD z=A{;{DRlK_(_8O211I=MihNf8$~=X_1KK_1^P@cOuop8MWfn5=?diC8^`0W%D`UeI zBNETj336EZDsg+LG)bxnt};^a3(k+g=Y<+j)~|uyBj-oC7MthvPcJRElEk$kHRRXJ zE2(NIoAk)V`IIEm|MsVLi9|?wD+#V0s!Nt=4Cw{mTk1O?bg2HzoHvK9$HaKj12h5M zML;X-hI!^o?I)3zk`f@{7wroS9nJ?d${jqL9Ai0ThkBAiC9jyQK^>>#LQ~Wy_{W3R zD!@4lak~l|k+#i|@P}+bR{;|z(Hn|jMCujOqYN9St22io%oX3S!}KSzN1PRa#!kbs zt1?W6w+qGdwj*u;pMm15O|Szut6lf$rJsjC^@o*Qi_QmJE9A_H z>-LFY9?x~Bi(_V%L~ppUQb(u2HloqlQm-~4gQFJY$QoY#?H@D5EDH`7$@=SX>Zm+I zCO_*e#Ni^y+adrSEF~oe`-$dWrXFk{XRYoQK#dIiYYS^O1RIXy7Z#pj5HPVvdDg1S zK*)LE-rpAP>r*Le(Ip^VfZQVn3;IPlOAgm_Y6vt>MhSx5C)^n6OZuWC+{N1=-!88bpd99Zhoq)Xo4>ZYFS9AgRXP z&jC1)G+eNbY9My#p3iJG3H+rr3sfs5iP|)72Yt*obFlqe5Q_p(jngtg=Uc@zJZO&n z0k~l3Ur5eg#OM3%>cP>w`lVujWMIK~R}_HP^A%OZmqntD_^IJutBl^f=1?<9^HB{-zVMF&(A@z2gtHl-3bfS zB_DMKd9L{Nu_%SZ&i-%fenJ1cVYN~7o-E9{Px`EE?p?wTm16gsVyJ~y-RftBrVi7%LoYlp^Z_i(Ix6n^|57(pNdSI-o6@+#IjUg^{&qX+h@lrlKR zG_AY7SA!lW$rmc?(slGG(FY3OtFKPgxGRa68gd@YHZN%2GCCD@t$VAiXOrp~{=m#k z_PMq@Nb#z^%ie>Dg@P>|V}3|cC3-^5E)0EfS=*0so}W&&Ei0_G4h$m+q)1717J^EI zuw_F6%aN(H<^~QuM|aPmfQTuXSQEB{>3P&mE85qAIE@aTBZB!oVsYu&ToOp*WpSUw zC~TWolf-a9C$oY9wPt}?mTkI!QC}o^ zX^GlRoRv~Y<+YaCb}UFGo#qq^mdSzSlnR>t@q^xPv!8 zgha;?(SOW(ewH#=?;sJ$>BKfsV0Ks)xp}?A z51p}Q>l6xL`|)*j>xx@pa*KCmsqAkJm2+T;Hr}L$6ujZ!DOE6A82mT$vTYVrY>*Hm z3b%OmhKl7@?vK-@V1QSAVO=G0IhU4Ge(r)vJnoc1rvAH2|A&*xTmB+JP>1bKk@kL6 zc0g_`WKxhOD?rj_MOy&v!YKNMWNME3KNzJ|`~(()Zu;>SrWu0wf{~|!M)ihPo3lIgt%oq1z0{ssU8YbSx|IV!C5J zam;K26oqft6m%f}m*;30i~=wh6&$6eFk5TDTdUe0R2u4HE=6Za(%t9CzN*t-t1 zB3uqhAN$zd_08&hFa&z4LOFK*Ey8ljFd)54RVcuvd*!{D&*S1ek5G(1PAPvobr$nG z7DR(@E@~BU5{%sbngS;GtRBn=N>@FR=rZT8SPa90s5d`HB&>7gEF7)AMP+-k5(z^@ zz?i#(4!$$5Y&%`VQ2BO#w)1pgfyR-a24)VyzVlgRwbFV0-PDU(&qCTWRuQF~_-_if z*B>J(RipH+-ZOzP$|)ViO(L6Q%&5`}zMf)H7D7GNlvNVB~ z$rwl^_?7{3mC6)a_)$s((#9cXm74(qRJ#qzqz$aWjK!AT}W&bQ!O2Ij>+WMe!XveuQ6Y^5ActY$7#TcA!t=ytyV2iWkfna)| z6fdL|2jfS%HMoH^M)S1sz9Hd2GM>^oa6%EwMF>}0htp}#dQa1Wf`?7&U-aL`+7mCL zwUYHU*yx~(WtGAyPqH+2W0hLJD(!77t4b#?riO-Bdh85K8x@J-BafRhugh=|8MGg+ zKeH74Qc;riX7_dO^UBSnra&jB4RYYbbVu5XrF1tbl zl+S?KvxLEo11Y}j91Uy0>=t(ERqE9`htSt4sr1UxRb>WUCBi03mVaNhzC=K&4C_|u zV3n^no7L;NYU^WIowzx{=jrp8_tjsiP3ubj&eDURHwBa5`lQ%tDn|AH8~?}WVkiTH zlX#Hw1`OcW77+CsOp9r^%aI5;n6%dIrW5ZOreuMcby7X28!70Q*JYd{clpVv>q{{S z8d%DNU&2iPasyO1r{E)tNDwtorjmYp5kGupbWhd^=-~Pt2Agb#_Pm&2^V({Hh_$`e zyGIxlpQxsexwr~c1XeY(BtB7cg0a87+4CF_vkSQ*FM#iY+Uj;`Z{6&zi-9I`-wncO zQQ2D>uCQ*038D2rMZfEMwvtE3c18x7N1?^6HYz?XKt|*>+($x{)5R zMjzV&S{ZD-+o+td{{+2L4(^EK0X}wzxgO_wjpXtSVEDT@zzRdYA?K!mj~`-YPpewD z-$$P^?g!ADl0!B7gV#2ao*IrQyp3Y@hzWrRQuQvS zIC6-uW8L;lUvg?bR|&EGz-`F&{4zJU$HggLEP-R}&w=lup7%(6UUKIVHoZGwgN_LJ zjmP2)^JA&>=y%aK{vY1nJF1DW>lY2uq)2blqErh-x=M+tG!YR&Iz&KfD54dz^KFbEQ!vH3b#(ZTiF66S1c+T~T(O8ka+N{uP2oE#eI= z+)gWy#aibt7xhlHe8M~osa6#T0LcbEtbQ)|fTN?vCC%Kq^Dsh05ahh0pV$jeI7r*> zldpM~dG%hs>;6ltDf+tK&NE%UakC-z_s*>uwyoiB}lC2>u`7xj+uRkWNJ)7JUor;7P1uAa{kv@BtJ>ISOeIpg!X79GzI5!}ZvbJ9U> z7eZwR(=^96qZ+9k;=y*8hh@{^Dr=#ccUVd-a&8o1IUSoy&+r~ZvRvw1ewj%V@N=Dh zzM`~%jaBA~ElCu-uKr-~26y7u0)KZau7SGO=SgTp-dE6inK!w~Q~>d)FIoFS*(I-V zQ&ZBU)da~-55x=K!b~V}YaTyTp zq9j?a%j#zBHDBA)Jo`N)Wq5Bhad46;hpi^DygHtwJA*pAA@O`u;(EPSQ}5}N+SV%D z>rWbgGnOQ-xXsz~15FeFo#A1lKR;dMp}+k0x~VC}Tf`~QrtU>RT9bPEl_*lLWxa&1 z_^Ahxedqr+j(Q<3gf>07RfMa%4l_#La|trI(6j4mPEol1)hAg7{y?|lLUN&Ekk#eZ zX1U5wCBom&BD3f0pK7F(%h47Wy%^g6Kzc27NX91mfdjA9#6OJ=^j%JdJts5-t*Pd)tfE$3#i|wAXD=@ z>b+KM+Ugq<4BXaoLA2)Av$}j;?;AL>ZE$6+)%96M5p&(L@|tYRo0ZF3IUBAob{CUd z!5Rjn?{@rfU+jHxhjgJ7`4cNYIx{~Su}>}He1#ghXc-F3?q=Qc@W zl(-Yum4Vv)`9(+}iB611o-5`1{4+BEk3tRDzcbIbZC15X%1_gXA|3qP z`%s|TUyA#cz8v_gy!AW3q5DgQn-FmY5myjUTTmw-ep&y#uBO*V`|ttDE=u9*=-Ke^ z?UhyObs?6>1uGlV7Lc7yEywyuF3XUBw!q>>PL|JT<8L?a2a(DH7l#7teGC=(8|!I_ ze@!NA%swl)9#+Zu+GGv7M4JDyw^AyNGTAsI`1g8xrA15LRdzGy2hle^X}UAZsT99_ zWOr1Xw=p1QPpg!jxc98!MEd07Z>`Xz-uLI0O>Pfljr*06t?&2b3E|#@bMNEcW7zJ0 z3Vw;Z>W$osSd}~9AlM{Y;&2cwsF975RFZoSz^A5(zuoN-SWH2Z!^$jW!ZV0D+x?m6 zo~xg<)dvc0d1K+I^D{YVB3zQl(3b;zaiLE^zNxrdZvAfEL9E~m`OWvCkDTnjG*fGF zj!!?s(3Db^*G=WP?!SX@0Wtrv*Lr^WTxOnq@%U^X4F^M!q+`^li_<0|3DKBttXt~K z8YaG;QzePvDsiDVXHV*XG;wgHMnFwtGZh}LV5^+gz8EhSeVYmUIIcB5uAFEo{|5b0 zp4@lpdf(Zak9ouekAkVpz(tW5Qr4aNFi#z`hLW=$k@qGqxpU>2WOA2U>UvGz53@qN zR1J9qJfx*SmSekm%Fohl%dY3~bwz!aoKB?9e7VnWwEqKFf~v)lfDnOG^S&t*c|z9h zy{B`gL9Rc~C1`N{?G=t$?9cB~Z5KCdrzbvl1x39LI>R;gsq$+1is&t!`$o+8Mu`a& zv+F~Q9GtgIrR8_PriLTdXf;ojTsu2NFtzi?*7K;B$ZXHcXUx<2EH%pV zulx-26kDt*nu*V;-F-*bu|K%&`8eHolAigvh`}lD{p*t-SlqdP%>3t;q+btj?cC12 zLOS=ex1`i$EMCFJYNUfUnc%BU(L{VWG~ShU?mskL72v7^<)83XiFy-U%6r=JMyfXP zU16K?{Iao%wqV~UMyFl#o~4oEV2LH-+e@YNx=U8CN&LZ(jJDr0Y}j7{Dc=)a=fzup z-K?CwGWk1e!Q5ZDd1Ee}-08q+f4g>2GV5MFP5t(Y#miKGI3#j>X`hU_J8F%xC~*23 zRPY`5of}xy{eNHgy_vNK+62CNd;$a#1pYNMu+mpFxnrp8=i=|};r`@5E5NHWus%JP zIOBF=KHVVdlEcNyO#&jKw-{d3lu9=HN|mVxK(x}IY75v;n>EAf$61Y#0!!aJmjgfl zsC)yrJe4`5_iefoJ&GhdX((Kibd}ru5nati+ZfVgh-I+bv{s);q#SPk(8(C-dakH{ zy?NPJ$yo2>m9vSos+QbMx`+0Q1ix%E(+1gTm$W*?GXr-{2Or&8Wo)c}ImlYpi@&yh z`S(p{H0Us-_P6TUP(7(6Riu2q0IPnBFUf4NfDkF&=!!A=QmY=-k|JJAG* z<@+wySpH!)W=ST^sc}C8U`71@f<4rb??Yk0g86cQJ^y)_m3xrOzcukGnWp9^R0Lx8 z<>>L{7tIRRbRNF&@Hlx^6ns|nrto&&S7tF&)7kDWOh_S> z_8L|3Lk7dQtx7NK-6?J){3(_Cw906cnlnADA3_VD&ZXgP0^(jp2TxB8hQS_j-uDt^10!v$UQ3+;Vjh@6Wj}|jHH2?n#+DA8Qokto{?gsz zD_vZ^0|l_L=y7KVpd9_8|Ar_l)F}$n9sbN*MuS%-`O!53!>P=q)r#|L?EY1om_w~G zohqvE{}j*veAZb0Oh;#r9SHPq;{~+W&;6mdi?X+$i>JGalFuV|&*SN1Jc#F(p@|`g zfq?-u5Bz|R=Rh|=z{+*t^KXCR--n6u-=3L?iIItgnT6#)8!OvM7FIS^7M7D7C)wEl zeSqIMIoLV>{qgT2|8?pKW=2M4c2*YF{~YrFYIocP;ynqPW?=<}!2ul5!~+bUkr5a)GcaP{=x4z9ASPaBzOyR&Ec_NO ztWtpjs?RfuPD)>|!wTN}PLxq|eH_ikE+i~+T2xj}{@nQs>Kd9_m#Q%FKG1os;|ObzX5vX<2#2yUO?V z4UJ9BEv;?s-95d1{R5xB433Ten3$ZJo|#=*Cj9*Mdu4TPowWOB?=N|ua&Y*ME(Q?e ze~|_3|Ce;}0(71DCj-`hbTOO=0X9ZnCg!s$EPVPFtS*84QmW5S3S7@9s>8BLtKB0C zx<3BSE+nJABun~7+J7kfe@0mJ{}E;X7h(UCu2~Q#BLg5jMqUsEL{mNnMYkP;us1t3 z=v_FVPP}9u>efA*OO-{<;$|Vl%<1`&U$op!I5hXC34M&N zO{+ZyJ;ZTSLnv9LYnoU4tAd{i_I1VwC_EkfuwcTzW%n@S`Gu&0x|Pda%bn+sK`}2e zzmtza^8?4A*7iel`pM_VpmWQ_0NRV-0NQ19=Qp?13EADn&VM4PGY9^51;4X9tonbA zzh5|c?_SDP`5}V^1m1kdbF$IGAS`}e-$0OpIR-HY0vASiuo44$v*1GzqNxO5&vJY( z#}|h?sDWgTh1Ekp!e=StAd1_Hb*nsl>Yn06imcf;&(v!WXy?Vq2NV;cbk{zVAAUK~ zg18eCspU#4+fRtJslis*&NZe73E_OdA7jy_dxd(N7>PY*wSAsmt^joLd7pHNVU%?+;P);7~sdqPV=Fq z9fR-*P@*Yv+GpIXjdJ$rOsMrUglT*8rxsF0a&=r&b=lsz_bq`=&S9yZXD|L1Y}$3> zGQFVufP0t%oVpIBT!3yl5ND`>_?Sq52xUWKY|_T9V5U2KHMK1SMGcwzMzF{2?y0EU zOGegbhK;!@{7;U)jZ_DYO$77=4;9i;6i(3r^oA*g0)cs}saEUBHRl?%Gl7?zf9RMn zt?RN~nL_vtG!}~j zWMA6k*gxB!skJ=P$v(On*!6q)l1J*zv?%Ze3V}=mgxjMhN%7d|Yu~5x8R47yYKr}H z6uHc|w9CPp4tA70yHdT+FQ(quBCw+ihbO!qA~X>v{I`zx11<{WL1tUhdxdB3pgyy7<;*%R?uk zHaU^Pcw|P==#+wgg^KCO6Gm9H8@x5^@W&t?2On$VJd=qiYv#hty}Ox){hDW^f@L_9 zcEPh7bT&5NhU2vMTIFEmER1}W=-*beZj-*?BdPGA?y7TBu*}^9-mv!6`>-DsP_-sZT(Dob z-eAArFesDeHSO+X`%pDqpGlm@>x9p_;wbk2<_1v&X2CDzgW_Y*zREFZTd5NeSM(Xg z;N=dnV~~pkFfH!zPmQ36k8`Qt5l63p!-SzGfZp>!eu+B+O7S7B<``7LwlQ6G43Y|m zW2%w;yT}9G)A6)0Bt7fe;bhXq*Oc!ho9<)K2{;#}fe@0qvbzUmp?DmF94CIxvkW6CS{8|~db8Ask9$Y+$D2=8iWsQX`3 z(xQy8g#i8AMCX)9+(X{%lce>lv7f$yL-s|^#3a!_oMX(PERd>}kek1V$-M{(x_W3? zkU1O0+$7(U#8OSJA6E2pb^1zoJhy9nP5i<|HA#@nbLgqi20B+F!0a2V2tK+96+%S! z4;_O9>>}^98=oclXL&N$zFvx&>K_`O#58&~w~nV@Z7l7ONdV@# z2Z-(-r;jY2r6e!uDjQM|-e}wPP6*|R=Q5O=Qi$ue&T^g|T7tdOFfulq`|?aCMAgVI z&h*RY41&H7rWMivrShZ6d^BXx9E^JgMK&gK$NX;jK4t3XU`iapkh3S=fx<$xzScYm z{>b>mOuC`aHfsbFSwftmbD@9%Xi|1=k>V2~O-KYg;?w*kWkDcy7`$xG;b?q#3@T_b z6WogZ6xG(6`8{Xs`oo-aDF#b+)|z=50apMk_M8qeCj`t?^aDD@M4+6@M}(}1?rZ;QXz{2VRS%4eWZ<*(^Dpu<;P%fE?E!Vrxx6xo3O zH>|ebbP&Lm{!k$DN>9f?LV z{L^>%j3i$JEq1O~Qk)V2xB)z(@15SoNQH?G6WBYi@J2Y8n9?%IUgFsDDOE;G?TV^X z@~f_=$e~N7ft+0u!c?&e(o_$I9pa%V-wP&M?nI-wI+@n=PEF`wW>Ec5p{BK%stR54^=q^bJNebz8*7>21 z5W4XeCMifn#mY5L`2G%R_h`N3^Sjq9K+InKu?dICuZ|BF8Gctn@-f6a=qMa31mB2i zj>jH@W=6@)<8p138^k~4hn=L+Sh`rKsnz$rEe#EA98b-s+2KWr@y2PlMR%NxHOXN_ zU~)~M-k9`t96lH+3vlH;0xQ$W9;!OjRmcwf85}9y)-b+k)Y48eir#7(+I2Qe-}&?- zC*t*^;io&<&F9!#@81RK)PgBjZqV5-qZ+4>7*7dLa#Yj!CLK(%Xxcz0qAR_p^iEIl zx;180?|n>mX!FmR*3Ob`imI(@6^Jm*^^7Cf83G!+BEM?r{AJM0ET zhXF}$GsZqik@4UFW=a)75S`dz5J=oH%rm7atr#{mkNNkukPf`1x|Gg7J=siR%ODhn zU4vL)@a;I_b!7B0hT$sTxZM9?ni`TcnwIv!r;HP!2!2|9fbZd06dNx0DYaF$pe%2 z+A-*5V5kg{!@nK|@6Y(_JR`0+5`TRf1-D0Ru+?NA5Ms{h9NLsv{PR0h0JLM@-~_13#1=X` zEesD8ZX_Qf(>et<;F8~#E)@n8x7Pny03W?-8TU7b^u7&2uP0%0ag@vXWDsQv7=0!n zwOnst@}p;5O_RCVD02g_Wfb>1ne0mnjp&2P&u;sA&f7^|`Dy3xmKt5s`=?9#y#Fw+ z14q0Cpvlz8xO@z_R`ZK87q8cTa|AKfrCm49 z>=R*K(V`0PEDb~Jji`bFr!eb|S%K0>fKw@+*oV!EP>f1>mKSgn?>x!8+r(Ha9 zC~fD^sOIl^my_|}b%=*W0RMvH3B45}iYi<}XZs?*`T7`i>KVzBkd2IwRDqF12}|^% zciuTRvlG>eQqkOc#?^&iC(7HKLgU|@8rK(o&0#p4p_VXE_)nV0p!)F05Za499I{=x zAHxuNd8(6z(hL@|r!*{U#5j6q+KH4lwT;WB=s%WsD9@WQsB&;r9Pg88xY_*#3BZHr zI3g4(IQON5$}({bJic%yW@+?!Ffv(GIk^eSvkKu1ZiceKtT()Ubj&KI?P0uSP4hes zGI81(FK*v6xDa^|67|gd7{oFQjOLCW54|g|WlN=oK96aJ7uAM3IFS5uDqyv1hw!%L zbHNvnL5(9^Ma$={&&jmbrTwbiYlP)bpUK(!83)O8u#-Zrfho!ZTYrzF)_^0&`XE~z zHK7~?&&@x?onB!Gr{7ZE?$~HQPiR%oGDo69FpMK2_rniAKY~ZInv8|Uj~q6J&g8;wj;pk^dw9u#Xcqui8-eh_%#8LzTI72m36fW6?>d|a zJG1=D70>?$Fgl0YKuNN=1f|B*69R1{0sF#=>Jd*)%Z2R^4jK)yKQHyDGYodz>wkqI zK53x}%HvnImWZrNC@gAPn>?Jk(zB1_-%&>hdyN#Yi)v;qJ0vhyIV_}l?4I;3Z>%eb zk)o9haRa%qu4;?h7!*bXgMW_@LOjHzN^<>!d`wHU#wMg#qzZ+%2F4$GlH`fh<6Hf< zJ}Z7TdeLDXEAR&^J2KLdGiBf~%2S$Bhne0Q={N!LB_g(-5F5w@iU#rH0H%3`Dt->f zO1+PVh&qRUG@wA2a5GZg3OW#UbBO}M@=uUK^dx=R1`PY-k@{Maj1SIn#eq;pP(TJ|7Bbnd$?y}3U2H~8X=Ul5^k$UTBdOO8!G%>Q&r zn&J6VU8(MwYP^(uI$P6{pEjMH7jWWCR6|-3#2cAvLqA8t^*mGJ=A}YN!kfn+QoV#_ zm(Zf*ur;}zV}wa%Ven=y-;jcAO>tZ1#S-0*M%oIvLR_OKRk)>}vA0u!q6{Od;aLX| z?DLevQOC(n`OuF`xP+j&oy4iUhz2{{h7e}Xbj2ag)pgt*T8HIHJGoU9%g00u1q5yh z2d(Ge8jwgxfH^c>{Iz;$PcG5KFYIdy`-5ndq?=4tg?YKM;;$5ud2k{ zX}mFoT+NTN*^+KD`Tl#Nr1QL%y<|JQdX-ZL` z)Q5&b^{#R16<-mRY|ckL{`X%AG{hNt>-6xXGajA?jPRXE#mPispf)Mt*lw%N0%2*5!eH7Cu+_M1bb3R3~ zE}XRAj;$5@lVlJQSmT&Y{91WAbvSbl*LKmhVo33qvntac zw^aF7-zIqF>g?ByWnHPMUP;LbKXkQn4WYHJv*C?<+_Lc9FH%=CYpY9nx`4>mrVrdQ zN)-cgSWGQ|G-Efk=sJ`PqMRvJCu$EY?pd3hPf9iE18;BmW6?bTMHLW zrg?O*O@RknB>=rm5TZRdMcx_>PJrNFLW%cn-N&|8@@+bZU+bPkyuA?y=XaI%#;wgh zeLKSU{vg-c{+G=K5c4%ixEHz`P$T?XfYi{6O+Vu9*bo75!~@qTWf~KEDeZfDr;?q1 zG{0$0#1jkOW*CSbgE%x=<>eKo3Ev|D9K$Msz&Zyhv)Unnht&Fw_QPoQB33?mwOQ`y zwdN-#<3W$iisscXm>YPPLbgOfv{%I#vA+S7D~xpZzG}+jwGIxziA_@d;|`7Oe3iGy zojRJ6oQFvRZ*M-l8~!eXjZQ?XjA8I)C}PO|RwDirtQ)}yj5jYF+++HAR;p9(hYqV; z%sczo4DkfvzN^R?&w0$pfO(TxkBfCt?jYJii0!v8(#-cyd-zA${0^ZCAn06x2akSC z@6B_ciUpi@`4j<-JW(;T2R#AfZAJ!s9MY~04z@eP=%y#M;4f|>2^7kAz-QJm#DEa0 z@D!chMT@6O#029x0v=`zc#4=vsSaGc zzR%m3#?Km48!-vZA{&_~|=^p!~_wRL8lR)Q+|N9#i(ChzA(if_U_}}7VS2Q(o?T}s% z5gUa3-17kc{S7%ZW8APmSKRT0e66_Cg|Y;2=wF2H1Ruc&1|y@v;>RFg3_B&DuMpg7 z8(hOh^N-vx5!J}J-`s0>>uL)V5w^DeUnHV);HQCE(ed-6jM~+xFM6fyphMtJZ%-r< zadRf0n4a@N<0P~*j)o7zC%HXUJDEm3?Ax1sr_)kD*STy4Hc$y{ma;# zjl4;cz{ECk&y51XbX&0Puc=7+nzg50nXDs$VeSIwuKa9>VwDH+Ujsk+?iheIpOq)W zX=OTEfdu85aY98*ASq-7K*bR!5FBFxO@|O?z{D_lnp6lG$oO=pjRXF-9kNsp!S9+M-rNDe z7BHD5Dvm)KK@5~Yz?%R^y&R_kz@Q#i4tQ2SgjW;Q4$yJY(jWh_9fOe!x%Z#DwFjh% z+O?%Y+B2V3`!i;BUD<{=(aP_#5&?6=^oN$z;RH-7Zd#2FNIMz(3C2ZDYC^thkxWT^wcPd5^Eg}5WOC&M|xR?*Ee5*-U z-ZI|m2bwNA1G5fMS@3Ruq4zMaIac8@c+Xd){G;)3;8u1(OkJ4kEeb3B6hOwy4Js!9 zBJz(x7OD1~0IZ0qf#CDt8Z;pO^agVxus}TR_DR)`MQn%1ZiJAG=AO>>rrcP^2ex4qbq) z*N8|eUp)CjTb3;m7elq3m92id6-ah+=*8)T9KJlVItCR_-;_%+`}HC1GP>L*v|Qvs zna(y!^cf;Q0XPv42g66h{XZ&I2H+vH_sqHG)-AiGBO2>}{A#v)&2ZKW(Vx zZ$AALF!1Qx;OBs^RRWypF-V*$L!`7U3ntq|YBc;%bdnj5)UiFS+}$P;F?D}>PF1nU z$msmjWsDla6M0~t2RYJ71z2r9WyL^yWMLq{KnVai0m$`B8v!(`wDpG zNhDAe`aOQ`sCocnYLMMwb*96*>c#s9MY{PQq6NO1{vZWa8F|>aYOWzsmCBg z!6IOCnN=TycHKQfbLpoNfPqSe=6yA_L%4E8oEO!!-44QuZ+y_XZO9naGG`)j&E0+U zZkXVoe@JTpLcD*kRGum(Pa=gFsd1eaS4&I4ZhX(^1vjJJVPJy;(kR+7_&WXiocYuISZn$(CQ<>BqaSLfNq$> zNx3~hN`#y+Rn$h5EOF6Htkvi?(xtx+@$;@Us#v$U-mU%egmH1U1mBfmDGLFg)npnX zQj`*_+=qD~DL|>ximPq3A!)^J277$p!Awo(CkMU4$}_H*9hoy`>#);35cniOZ04I8 zz}<3a&0um2z=U*wK10PwKN8G&vV7_N;ccSW^uMfKKg3=Xwl?KqSF!-afH3)`Sq7S+!QFG8M2s6iRQY-)u@r zMJgoJo5?(_e)vQk=LK#?adwIUr@uq7>F~M{kGk8Dn~-3aimC)99kXRLCoE*7Z3v~h zZ&4WWy3Gx#YB<|!5eouwd(iR_c%U?6jF~0$R}ok6@mpV(v{N6$k|QD{)OvIF^O#!p z`9Dh~aag>^`jOk-48BW}*f!h6R_i-T)RtAA_&OiO|nc zkU*^{`T_l0r}DEW=HEKxW-Gd%0Z)Zf3~~4KAsJ~VwX0YEz?2IWSO{lU$;Jq*B+{v=uIUZ^%R7c&c0Rk} z^+p1pr5e(gW$a3tk3n{_;~9sq0UON^47p$pN3;S{06-D1Cqv2a<(ZE(CcX>=sa zuSH%rox98YgVS5wr!tJk;dvbsOnQV}XjkML>ul4m9-z?7lfX4>DOKe6$DlYFB4$e~ zurd;0#fz^2?1*mV3JN0>h&p}x9!>7{kYChk((R3r?Fh9mR)*=HrI|MXkQ4J9$S`Z- zh_|5>`Kbh*K!EYQ1~Aga{%&(Fs#=Sk+n=RRIch6DXT@a7O0~=9Ewa99k~*2XF?xV< ze??Ga?}a|;ZqKC(x)CH}ICJxUYK04Ti$%PM4rrKFs9`C3kLDx}?i$Dz_=;-rD&pNk zx21hRw4dl4gb$LUm`mlWAS;nLLbb`Uv}P)}0`_Q~-xlX}Rm{8=x;CZaHk`CQcROj> zLG$#$&V=e?7UMH;M?hZz=S{Rj0H%&jClIjHOue*MRG56+RsdCvrGjMH8?Ja{^ln~u z2$EG?RVz9x%`WpNTec$Y_qjylj-M!iS<&|ZWQf7f?aYAj=vb=Lkt2Ny)1cfJkRmLK znC-9#CU7SoO3;zzj*d5r_BQ-BU66zq`FCd$lf3cibKon3ti5~4m%#0GuVg#rTD>zVv;)w8(Va-HmkBi%Z-|5KavK2RNC|)&VHPh$;DOJGpN0l1|(CI>IWCS)LkyjI;V>!b)N!SCh zs#No-TvOuIiy*NPSg(DFzD)7g{z>7&uq4CkZ9espMNYmZFRFx}GIH*NavCu6tZFP}p{$?L}Er>*w$h3yyD5~f{5 zv*$nn2mA*Fz}Lyp#@uLyTE!p)82*KRhQyWc8T#3?Iqpx7jW7r2$J4pP`f>y8#+=ov zu!A0e`$2#fz8Obg??QYKyz~(;U+1~dlADwp6{~kcOO_2|mlkf$p%Y~qT6xyU_r#YF zVIk^;E`}E}hTpk`nD8(ja!~-J#0pG5EH7L*6mW7~a9P?Xb%&}gO{mf`f{OyRn^bu7 zfqNURpitgY@PM}Z)1@HgC$Bw@34&k3P^5*o*a!wh)}GP1x$eostn2PbI^UMoUE<#k z)Fr3nC-3JRy2to>c;l7km+o+BgX0iH0{}kcc0-wLsd~f~DnAmxH4#@>+q^F+N0cpW ziadH#aM02oZT>`MNc^;nYgMeseGuH_pUz{5Cb(%MvJ>sKj`Wcyd>C~i2ov9V;RjvT zJ``p@9tmcjUfm~WdFN(b%x8kivAOx_YBsg^f=3GmWgn-CucUBQil?rbzAtwiA4S6oO!Boq|QdF48BIqmx{yTK`#`1rP znoL>1^NcH(*);Ttqsu}?fW4?FRmPeC^9?L;vq5+JTw3qF#4;_ja7EgfepciDl|oB zOFYtnPh`S-p&}S>)FvW{XT9A&Up@}9#4%Z`5{wYww>KicQdq?8Cq7~H|D#z;Rk(ykZ}ePD_@$r?t&kzdjZA?~=713*&VoPc@}$yhx4gbZ`C z?3a{k9xrM|4SDM%@h zdpM~_>tfH4(LET7oKYOabCjYeywyT5pGDC*fZ&0d{afQ3S zbQY*96OKIKqi{w_(NaEaE1b|RDMV?jFsq<+3M81wp#mxfg3mOy&+#5zu! z`5(Be4yFHw(E6sv5X76@2S&m%h)wA##9DVa`NA>ib0G@7Ax-Kip_?1J9D|(Q0670m zuclS+rcEI#$@Vq zexHx*Gr6a$bcHjbJvPGu+S}yPOpR(*-hXW` zjZ|Fn;~O;_+nc+*rM{qL-fZi)rAWA&(I@V8qWD78`}hAEcTZq4F*5|ZbvcqgDs2m> z@81c8qu{|59!JrHlDUb%+B*!$ur=A*h0M-oj4nsnT!i*(LPAa7w8dPM)q2pG+A z$#^JWim_G@d^)7ThAN1|!ug2uTe1YC`07*msRV;erbE&EN~2RKa#jLIrwLwkYPgIO!M$4Fm7@?!p1bLl$}GsB*p(4Q+kEqt}s7Osa8C<_JM-z7rs01lS}G;&SzTbk|dMk z^p+*-fs*0x`My_C2x%zM1pER+G>67Qh!&?J$N;_3KdFMP<3Tf-0o*--wXmr}M@eB4 zpJP8Sy1cGEW~eDcXL_VZIFaLqwBU;`s)%cPBEUoeV&*7kE#e}Ipv(dvczU%HS!HJs zR<=G1?L+c8IygIgeon|cZ)tT=#=lgxK2wB8|IAbq0(%`0UMiSqj-;HQXkUjm31iRw zA{o@?%jV<~M!6RCP}S4@J-=vs2-(jmze>{9W(t*+t@7=gnkHo09Df4O&94vu-t2`dFcKdE?h4?eb! zY6MgHO@WqJl4loOigMpmres+-wL?E>_E}BeCf^J#RoX9{Xr|LV?pPplnwR(W8}S~D z=@K{fbP-?_)`{fG5(`qMkuC}YMhh3K=_?*^e+$%w z?mBxnH!uz4w^%f{wm%#Bqne+tt%OYhMQ~HE{{l1_2z*L_63=k{GJrkQQX?=<>M1oY_I3%<)t zHnTvBBZi^{AQ?8G>zL^)Ndw)Bi$-t+bMuDo4r(WC>75BZx+fY}<|p29={c`dQ}cuT zl0PodS8n^SejVIA381yD5@N*Cz$OhiU5oOa=(fb&GlXUf_3Xhk2q#tVK{;?fr-C)J zPk!_N+??r=hfo3D85~xBLciw&76RlCh!3IEH#`04BRMkS@X;-LEXE5OT_{8=(_;uF zke`qyi{9CL6+(#ciltAk8z$M(?QxTblcsjgLKzZ5cQfnmeO?ziaX(J~z=qD|35-FQ zmX5$@V0ft(BnUZxf+Wd1{Lry0HY!`cL?PIYZ@Z)kyt*Z-0(0}n?sM`D_egyF#yWTZ zfCC6Z-ysGsMsfq*=Fcs_sVcQV(f9u#sRDpD#}fJJ>;pu`TeJd<7g{*9$Kcx@LfC}k!-v5wJ6H$Q%s#o1V&T4w<1`ODwW&G9Z^}fr3FQAZKj(P;i(D4y~0*(p*LAs368=~-$nBPA17dTHEPy3m-k^^f2kULT9uxf^ZK z#XIRyPSdeBPkVaYziS(XI0KhLV6$=c^fwXZ8@T%1tp$=pS9?>z@RVq7LiJ`-$OWsE z>%LRwUJiw}4L=_~@c6hBjUjrXsQgpcNJ3eF#hxu8gaApT@U8Y1@>XZlGShhDC#NLU z^AB6hTW(fnKM>m2PJfs^$iv+Soed#>0f6zpx)$q+IryYA!-q^<4_%J(Ybha8&%@eI zetfh1!}wP1X}kL+-Y!jPmZwkOID7BTJZf#6&H*_Bhi;Jf04_bCI@5CWggYb6mbtmH z!Ao;aq>8zKYGuE_B8pmrgBb_A_6lMP*_I>o#-OPekx+n<4**+PfD*#^9zo`O#+@n8 z@iaHHiJ*&H%Gl16AIB7QblqrK0p84wmw@IwkA?wWhs#6nUb?>?%>K-{=NtveKvB+A z049$jW1ax<20AhtAXK4>rTK8Z%0O}6P-QD138Vqxvh%W!&00_@saX8NJo2HX@Y;93 zBWqs!5yE_?aiaW=EQTuj2beQwKDMN-Pm#}*OHApy_+!OgT|ZHM)5SHR{LwX*rTMAz9~OC8)T z7eM#Gl>lPZ;3A<8PDeJIiNLikP%4T0cUoU4mBFgk9{E_#f4-{q#$B_p$Ov-LaG6(qfjJ)RxOJa!t#uc2XwNADVJ)k)tZF zOH?)S8C5J#?;1vMQ?y_`D54=a#rX_rWeW%hnLf~B;Bt{lt=|>KyX`Sa9bxaC%>v%b z4)uj;WWRgnd?**1+EkF4`EFG{hAC0R8jR(ps3GWV|GK1l!vm7(YLuPjir%?bQt2C4 z@3bv@DFlt&@ieqN>mU}2mhRDdRpkGt&2V|6&3s+C8+i8$haM9ZG7jgb3Qz)zC`R3f zI{tak_ztbIK6iI7Ny7|ktIK_Z1?i75Bk4M=yw2f9b;9_owOlSP^tKpsw4H zBxob58(5H5HjHW5ZmIQd_y0s#fEZ9-KPxhv%k60qno5>Y8+>oi;a%JJlJC+(zOZf< zg{+PM5;qlaaey3v4Jnnyq2;E}5ItAX3AJ0&L|UaK*(hyt zav7p`{#!%XIIE?MxhV6cx(D2|&>6rKvd03~S)o-nof6gu)-m}KqN2ou$s zB-FaQ4&|zjGzfbpI2jEz2u#Q%{rU~NmTS?&r0*>AQfG+#{} z%K5>1#qHyyxo=IwcjZof(6^C2P~@uhFfQ|JdhVe+Sv5Yfp8u(RU|1#m=_25GOF6m@ zEr*JJBZK@?tupY*?C7oX9K)5BVG&7#_XXLJ-q-iqNgem>h(f5aJg}S){zr=NZ^R$S z5wA|gdP-Md^K-5tgJ*_)P99iD8a5s9H>1_#@Z#R0ePgfK*SuYM=Phrh%Xd5Yzq&6R zJ-V+dim-_H2hT0YJsF8a0aL5cNem#mP>-1^-ntg%cfc!$dYwF>(y-a7LT>srxiMBz z6T1Fxx2VK(rF;|qz7%kmC853_zY$-Lu#mqIS{g_nG;E;D-#p9Frk2nt^L>EerR*`# zvM`|pmzJ8Bhjb*J-sv=DX4J4j>U6#6hG?sx>J{FIpyYpR;}6AWZKf^UcyoKb$FKhn_ zZLWS`1uB%Zt3c)SQi)q+M7rj*N{iNyH2T%(Tceb%6h;+>>5ppLBhMh-rTB}(s^d8c zc(W&BG zKMZwEE{9X~1ZJ<=fm-xOi0O!g)iLwJEM+u|0_k@Dkhv&Jy7X~ZxsyNHMWOI&|A^^; zMQum}IURBMxF#cwt`-)(1+ivvuN}s)blZL-l#0Jk?s9k--OJoHeZ{F@!r2^{Rok5d(6!E9xOy*e51g7&m20%Ym9##)xXQb4U=6Nsh0c<^XXu>^-Ud1rRUGPzj-Cc z;ocpW6j=Tu)y>7hOU#FCFZe_y{sufdy_t)gR1_WImAMV6HDvqL$KNQKN-J!}gV*O2 z{lxUpxqE;!6w>Aa5@dlQ^AR+eOfVgR>HO_rF+M|?RN)-RycNjStq0r!9uXN3tuqE1 zKF7yXb^rAC7F@ehK#`;{qUcOFU05}K9s-Ue6Gn54`QVYLZ^)ZWmBU4FZgQ|Eo--Fq zO~xYE*oEQSJVYFm$tU#CKdL+DcW*z&EAIPs%LLP}b8URzXB+>Up}X0&LdtKGKOAn@ zywQ7mr0gRRNyj|Gd$7luc@js(uc1|m_Z0H$1*=j$<=&KyHr(7XG$awAU{Q9qq3`Y7 z%7MoN8ryx}JnD23{Gmr=UUlSdF993{USp2tM-z~^K8XLS_errm%A8-&8pg{6ZlO|< zc@~)4jUT<1ya$w^rH$W5I}2~=^WZd!uN;M%e0g&F{oi5xF4BWDaBMq~jTA_)O~{V2J%ju={d&Ci4?$V(pt#9HL*m zQP&z3&C20Q%CPssVNCVoyb^*kVNgMsxpW(EUjhPC5jY+*JXw?Ke8=)DptPvG^ll7S ze7i5%tFxt$^09R7ymV-0UHCD z-9DI6k#>UFfESsZ{j0^0WEo~aoOz5ZY>rYi=y$NCH$9LzW`EoEVwAw_MaOPp9fm7Y z#@`~y(ZUtucd}yGi%i@g{#C*AYG!!^Ved^N&+y&pZjd+aicYb^#$8|ba}~6NCv~~I zfrH&>2M>?=i;pq`{Z|ByhKcm9hXF8II9_imxHyBpxXo1iV}VlD6C%=7pu z6}s534yI&7P~zc06#7r68kyA-BB@$Jt!}@j0NwKhDBNmQa(4sc+Bm^W9C(SWA$3LP zOwT0c%D({YeepV~I9s*)ZJ3)=0J*j(-KQ}7s^6u!*(^qeY`?@QNQ$cgM&1U7{uyr^ zDg~CZ;}kFPkF+U>x<}e|;S>Z&VYK{%`Sh1^9;x~rb3vXB{+agAo$Mr#6CJhZTHT(d zZ1E`rF>p8DgO^Cy08uY4)8+Z&F8T2VBd)NcZ9LWZHzLvfQgt8RYR2_`2sYcniLq}y z)XQ0Q^}MqeQY-ixzo{@?)iPV%!9mvHLK=z$O8OLL2#SV;!Be;Jm~(Q@c$h2s8_@*< zW$c1LDXz*LhXs=9Q@TfJ6FM3G!4n$RRT7vv$luv3W9SF=-j@Su+J<6ZH&Y16U^J|S z4yl9^c1PAtbr&M1a8gR7)QG*<)41sf3+k|CQa<^UEi!htG#D`?1)|<0;1+~ zh-q^X*xXalX>W?+nD{xqAA!5hyom20Zd*E#*P&59+ND`^e)4@#{+5bh>((!c3;Tjo zJnfOuNak@0xTByT!-%EVqmq!`ier_N^aMR50xooEi0{n3^^4Tq$~;Gsn+H(y&xA`E z>c=lvKhAY3Xvk1j&!{>lz_Yh=L$`^KS~G+f9GQ#aiJ;Ef2||KtTKKCkP#}zTxc6g! z$&daM8(Up>ioVV`07`CYDJ70KM#}~IEy-z-GJ<`o*t9Ua9b7 z&M9@SBxQ=%byu6e2S%blXyXM9ic8OyP3d^zKG)=*F2E-&1W#tnDxk9n@B5y~_+g#e z%%6kEcaZW$+Cu=K+fn_L<*o`x;H)#d}c^Vq8l}SLAwu?**PnDZC@&U1Uqd=!$?8YL-naK#>m8S z%u5d`IJwk@niD{&B?0N3)t^S;HeK@BBkMRWextPP)=9 zz|)4P>d+TyOf8xRrZxsz?!sbTE7Tu&!T{lpR?8?LBuX)e2`-&W(r#|}O9O=+E+vI` zRZ>2-^}X6EFRrhX<Ahqp4%uuPymKhBcQ?T+y*{Ez?ewSDhf!S^1d>4^GEX95?a)rTIKPXy3&NHq=<18a z5veTxdvn3}6?zXz7qjk}So<1A1n!wHQ!YQAwekKTtp_S8MhIPg4f!01h8E)xy!&*91~aisYZ6T`#vGL%Ym^Z$w_E{0P9#2zX zgPTBlh9%zN$k!TzF4-8o`)Qk=@ADpii8R~5IaqUUYEZZELZN`ry7aq-0{!TwU3LgiSy^v&xa>w^Nuv>7<)p`!#kwID;mE_1}r%NO>!U za17ao>6Dw~Pn?qC(I)5&3S z*5A7qC!2njKWS3t=`c9j=OZ&@h&;oU6vsD$GZ1VZ&JT{@&xG>YY=s*jYOCV927y}W z0=R~aF)#`cI%0S!T=l6+neUV_kb1ANi!xVNJkC*`j=gLSio#dDloQ={SL-|QBTHOK z%z1D=HW1ZNUpJAmr7o&fdq`g%EzC9Yt+gW6Em+{x(nEY4k7@{!NN?{JyL&iIojRY= z5sqXACIHVai5LBw6Mp`dOJgc*T*f{O4|2dwqH2Zcm~Z@MQyxGU2qzUEXM9t(_fVbE(-@Xv;`EHXpAWS z5}3tRcxHNBm&#XRsdpTo(iNO@`T9tSJnY+CTVIojMqS&{Wvu@nHGO}>b0H0AMcA1v#RSk93i11a2d_P#0M;x-eR$^mX;oZD7#4A^fnt!x^QsjPyWa1KdG;{#IUB~>b_!mBd)##hBnuzWjNZd1;)(>14Za=(1HIBT~jR&D#Jc8_Mfn7rF)#^#JD zGcUe4sJ=gR2ZjO6@3Is~*{Bo>^LXzFh26(X!wYgCpmkDj7BSVsFD@~Ez+9plf2CY$ zLdPw;8>}uY6ddZ9>*xQNxW4_!!_Wh>G40?T>oZ8kYVT@2os&md5x^ACnZYRTV_}9N zFIqp8XErA(@C}lI7zu#q3ufD6Lkk=+RSBy{w7VO>i@~+F&|D-|Lp?8Qim=2x@f9nz$qB=bP8^Jk=OKczVP=QHhT-D(gd#^ARi8%#D z8+%ek?1zJ|ToOD!RHZmrS{yS{9Qg&Q1L_HvRR0tjnZkkFhc;Xm;IKG{)-N1l zp2mz|+gPAJ0ac4fx42&(YGBQ|fQspYf}#WlVdtU=zVXmcNQZ4 zYUeWp<0YX#bmJiaSxXbfk+o0SAi#BH}j6Ww#!BnBQ zPhk8BJK<7O!X9#SbEFKK+*s3)Z;i80*l`kjxThL{IXs0`4zEVuS7e4?PvD?tK_LO! zj(fr$d~fP{jXAVrUzOT+#oth7yYo2iidNu}u+SoO|gUIa5!f zm*bh4)>7|2RxF-fsc7#+oi0h4vc6nkn1cQBUdC43h!;)J2lGX2HH0Iu3{0#Cf=A?< zsTg|(kViwiC|f#mlan$RuyvUiSrVto=R23Gx`aM`Yj)~%In?xk6A4i_LW~U1t*Luk zL51}MFgzS!-2$#d^#?t6ElZpR$)Ca>y{kH+Pg=--z-Y5Oi z?Evs#Eq`-72NjS_m-vYau;R*h{TRCpm{QY;u>IG*3S-*-+yK1$Ap!CoSje~R{nrDPL|jy74@@_<99Qm z<*9OL9a<^FUPSV(g8_mAmd~BQYpw9W!pL|4)#lsL+*>*$G~h-b#9SetJX-|}PrOHZ@l z41KJUzh!_)WOKoy=*pK)P2yS>LG9}7B@pENVZC9M62Jij?IS(+&Q8zICV7=%O}(0U znUF6=n9z+BtfNFtY#7!zvp(C8ZOoQ`acMd*{>a&%2fgI>F^;4iEKGITPudeuQ&dV` ztccG+tG@pBHS_IbE6ty7HTmQ~%MiNHt*#la;V2liw|oVgf`R06aNvF!l6 zHRoI$p!i^bzwcOzCnyXa5c%Y{hKybG%MqH8#KI^LM6hgsC$e0$dObw1!jd!_E`91hgubIWgWSeUt>zo zG4Hm%XU`UQvd%Soh8l0#m)>%>Z)AFt0mm2gs8{AeAxp3d2%F~iEQ4z#wqyo^0tB06aDx03x4`5D%88l-(to&ihI`8 z1#Mp@%HrKVl=lxg%@dRY?I0gi3w)eo z!`;ggZbPRM#g_rE0f&4kchmWMu0pA-U&TI^gG$kIMmq+*t!&HFyYGH`Jy(uYF*ky! z_c1ku!YP=0le3%fk+P#zGQe(bz+UgW*CIAHJL{537A@k(2* zr0u4>c&^+DEGv5!&6U*RZ|!9bOsm!>K`a&WJ*ZkZN4pWl<{G8kvJ@xT)Zxbqee_@96o(a@-Pd{*QcjgnWoHNIQD{0-kjqnay$X&b?*1G5x=|`55zND@29CE&gqfO{ltR}acAsOg- zDl-+u#Kc~m2wo;BY%m=$(3Jg}o@f8yZzf(bx_yQVjG@X@VVK zmN7^_ajs?^l7C_NdweVxiJe4>`AOLi;Ws=j^cXNYhx;Thf-4rVTa1UdRD=n0~1X%Q-bF|?+$=I62=;UcW>y?*`f z@XLFa8#PPi7CkRN63w`gyZ@1RHic0JS`*MCSiT5={5H#Q^(d*WN`4TtVm(l&>#-gi$nU4Gatenbdkg0pSBa>dFLLAW!V%AcTA zJGS?Nta(0fit_RMvwqMPC9_c?k# zD8Um`M>~`td*{^Qjy_8SULQcy!X)l4Ru;RS1A2Wi=Gt8KfzX5I?{ZI|ac}B2s5A~N zE&s|?!SZa|+Gb=8ucF~2Ig{!gz1t^nH1;ew_J8ocaA~=X9I2J$*}#_BI{r2zK&(_R zD(awsn^);9Xk=Zp;sD7Z1ISAkR;#3y^#WYA8ccW@TI@ubsRW$pkUix}LOJJ3?$2=h z^tMMic3fHeSoxv4{`=GDL$_DXtoPIZ^A-O+Vrwn1K?m`V=5uV2(Y*tJguMP;m*oDh zpJ4xBpR19Vef}OLiP-elHhU4rH+D!Hiy#m$0}=msUw@Ch2>yj%jSTV$Ul;cN_qaZ- zmxjG&2tCiXw0g3kUo3fZ>SLYvk%*#!PDK$h8~Wc}Cw0kGh?N&o-= literal 0 HcmV?d00001 diff --git a/db/data/hmrc/benefits_in_kind_july_2026/manifest.yaml b/db/data/hmrc/benefits_in_kind_july_2026/manifest.yaml new file mode 100644 index 00000000..491351b5 --- /dev/null +++ b/db/data/hmrc/benefits_in_kind_july_2026/manifest.yaml @@ -0,0 +1,18 @@ +source_id: hmrc +package_id: hmrc-benefits-in-kind-july-2026 +dataset: hmrc_hmrc-benefits-in-kind-july-2026 +source_page: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 +table: 'Benefits in kind statistics: July 2026, Tables 1 to 4: company car benefit + and company car fuel benefit' +license: Open Government Licence v3.0 +license_url: https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/ +attribution: 'Source: HM Revenue and Customs, Benefits in kind statistics: July 2026. Contains public sector information licensed under the Open Government Licence v3.0.' +license_evidence: 'The GOV.UK publication page (https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026) states that all content is available under the Open Government Licence v3.0, except where otherwise stated. The workbook states no other terms: its Contents and Notes sheets carry no licence or copyright line.' +license_verified_at: '2026-10-30' +files: + 2026: + filename: 2026_Tables_1_to_4.ods + source_url: https://assets.publishing.service.gov.uk/media/6a50881e9e9c95844ae64c70/2026_Tables_1_to_4.ods + sha256: a0ee56173ad12b784c3b986652f904c1229e165f5b27454b44ac9144cd98c678 + size_bytes: 42963 + fetched_at: '2026-10-30T13:36:48+00:00' diff --git a/docs/pe-uk-source-checklist.md b/docs/pe-uk-source-checklist.md index 3d2a227e..1ce6e6ee 100644 --- a/docs/pe-uk-source-checklist.md +++ b/docs/pe-uk-source-checklist.md @@ -315,6 +315,29 @@ yearly ISA subscriptions per adult by type. uk-data has no ISA target. Three pac facts): the shares of cash ISA subscribers aged under 65 either side of GBP 12,000 in 2022-23. +## Beyond parity — HMRC benefits in kind statistics (PolicyEngine/uk-autumn-budget-dashboard-2026#316) + +Budget 2026 raises company car tax by one percentage point in every band from 2030-31, +and policyengine-uk 2.165.0 (PolicyEngine/policyengine-uk#2750) models the company car and +car fuel benefits. Microcosm fills those inputs and measures them against HMRC's tables. +uk-data has no company car target. One package adds 544 facts; its field contracts and +caveats are in the header of `packages/hmrc/benefits_in_kind_july_2026/source_package.yaml`, +which `build_package.py` in the same directory writes. + +- **Benefits in kind statistics, July 2026, Tables 1 to 4** + (`hmrc-benefits-in-kind-july-2026`, 544 facts): + - Table 1's car and car fuel benefit recipients, taxable value, average taxable value, + and Income Tax and Class 1A NIC liabilities, 2011-12 to 2024-25; + - Tables 2A and 2C's car benefit recipients by CO2 emission band and by fuel type, + 2011-12 to 2024-25, each year in the bands it prints, and Table 2E's average CO2 + emissions of company cars; + - Tables 3A, 3B and 4's 2024-25 recipients, taxable value and average taxable value by + range of total income and by region, grossed by HMRC from the Survey of Personal + Incomes cases matched to the P11D and RTI records (`survey_aggregate`). +- Not ported: Tables 2B and 2D (Tables 2A and 2C as whole-percent shares), the 'All' rows + of Tables 3A, 3B and 4 (their recipients and taxable value print the same as Table 1's, + and their averages would share Table 1's keys), and Table 5 (a separate workbook). + ## Beyond parity — OBR EFO October 2026 (chronicle#393) The October 2026 Economic and fiscal outlook, published with the Budget on 28 October 2026, diff --git a/packages/hmrc/benefits_in_kind_july_2026/build_package.py b/packages/hmrc/benefits_in_kind_july_2026/build_package.py new file mode 100644 index 00000000..65a592ca --- /dev/null +++ b/packages/hmrc/benefits_in_kind_july_2026/build_package.py @@ -0,0 +1,1760 @@ +#!/usr/bin/env python3 +"""Author the HMRC benefits in kind statistics, July 2026 package. + +For PolicyEngine/uk-autumn-budget-dashboard-2026#316. Writes +``hmrc-benefits-in-kind-july-2026`` from the bytes its manifest pins under +``db/data``: Tables 1, 2A, 2C, 3A, 3B and 4 of HMRC's ``2026_Tables_1_to_4.ods``. +Nothing is downloaded and no value is computed. + +Every selector is located by matching the publisher's text in Chronicle's own parse of +the file, and every match is asserted, so a re-run against different bytes fails +rather than drifting. The publisher's markers ('<0.5', '<2.5', '[note 3]') are asserted +cell by cell and emit no fact. + +Usage:: + + uv run python packages/hmrc/benefits_in_kind_july_2026/build_package.py + uv run python packages/hmrc/benefits_in_kind_july_2026/build_package.py --check +""" + +from __future__ import annotations + +import argparse +import hashlib +import re +import sys +from pathlib import Path + +import yaml + +from chronicle.sources.cells import SourceArtifactMetadata, source_cells_from_ods + +PACKAGE_DIR = Path(__file__).resolve().parent +REPO_ROOT = PACKAGE_DIR.parents[2] + +RELEASE_URL = ( + "https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026" +) +PACKAGE_ID = "hmrc-benefits-in-kind-july-2026" +DATA_DIR = "hmrc/benefits_in_kind_july_2026" +FILE = "2026_Tables_1_to_4.ods" +SHA256 = "a0ee56173ad12b784c3b986652f904c1229e165f5b27454b44ac9144cd98c678" +PREFIX = "hmrc.benefits_in_kind_july_2026" +SOURCE_TABLE = ( + "Benefits in kind statistics: July 2026, Tables 1 to 4: company car benefit and " + "company car fuel benefit" +) +SHEETS = ( + "Contents", + "Notes", + "1_car_and_car_fuel_benefit", + "2A_CO2_recipients", + "2B_CO2_percentages", + "2C_fuel_type_recipients", + "2D_fuel_type_percentages", + "2E_average_CO2", + "3A_car_recipients_income", + "3B_fuel_recipients_income", + "4_car_region", +) + +UK = { + "geography_id": "K02000001", + "geography_level": "country", + "geography_name": "United Kingdom", + "geography_vintage": "current", +} +DOMAIN = "company_car_benefits" +ENTITY_ROLE = "benefit_in_kind_recipient" +YEARS = tuple(range(2011, 2025)) +YEAR_COLUMNS = dict(zip(YEARS, "BCDEFGHIJKLMNO")) +PROVISIONAL_YEAR = 2024 +NEW_CO2_BANDS_FROM = 2020 +# Zero-emission cars carried a zero-rate charge from April 2010 to April 2015 (note 3). +ZERO_RATE_YEARS = range(2011, 2015) + +RECIPIENTS = "hmrc.benefit_in_kind_recipients" +TAXABLE_VALUE = "hmrc.benefit_in_kind_taxable_value" +MEAN_TAXABLE_VALUE = "hmrc.benefit_in_kind_mean_taxable_value" +INCOME_TAX = "hmrc.benefit_in_kind_income_tax_liability" +NIC = "hmrc.benefit_in_kind_class_1a_nic_liability" +MEAN_CO2 = "hmrc.company_car_mean_co2_emissions" +CO2_UNIT = "g_co2_per_km" + +# ---------------------------------------------------------------- parsing + + +def artifact_meta(path: Path) -> SourceArtifactMetadata: + return SourceArtifactMetadata( + source_name="hmrc", + source_table=path.name, + source_file=path.name, + url=None, + vintage="x", + sha256="0", + size_bytes=0, + extracted_at="x", + extraction_method="x", + ) + + +def pinned_bytes() -> tuple[Path, bytes]: + path = REPO_ROOT / "db/data" / DATA_DIR / FILE + content = path.read_bytes() + digest = hashlib.sha256(content).hexdigest() + assert digest == SHA256, f"{path} has SHA-256 {digest}, expected {SHA256}" + return path, content + + +def ods_sheets() -> dict[str, dict[tuple[int, str], object]]: + """Map sheet -> (row, column letter) -> raw value, from Chronicle's own parse.""" + path, content = pinned_bytes() + cells = source_cells_from_ods( + content, artifact_meta(path), coerce_numeric_text=True + ) + sheets: dict[str, dict[tuple[int, str], object]] = {} + order: list[str] = [] + for cell in cells: + if cell.sheet_name not in sheets: + sheets[cell.sheet_name] = {} + order.append(cell.sheet_name) + if cell.raw_value in (None, ""): + continue + column = re.match(r"[A-Z]+", cell.address).group(0) + sheets[cell.sheet_name][(cell.row_number, column)] = cell.raw_value + assert tuple(order) == SHEETS, order + return sheets + + +def expect(grid: dict, row: int, column: str, value: object) -> None: + assert grid.get((row, column)) == value, ( + row, + column, + grid.get((row, column)), + value, + ) + + +def is_number(value: object) -> bool: + return isinstance(value, (int, float)) and not isinstance(value, bool) + + +def text(grid: dict, row: int, column: str = "A") -> str: + value = grid.get((row, column)) + assert isinstance(value, str), (row, column, value) + return value + + +# ---------------------------------------------------------------- shapes + + +def constraint( + variable: str, operator: str, value: object, label: str, unit: str | None = None +) -> dict: + item = {"variable": variable, "operator": operator, "value": value} + if unit is not None: + item["unit"] = unit + item["label"] = label + return item + + +def category(variable: str, value: str, label: str) -> tuple[dict, list[dict]]: + """A publisher category as a filter and, unless it is 'all', a constraint.""" + filters = {variable: value} + constraints = [] if value == "all" else [constraint(variable, "==", value, label)] + return filters, constraints + + +def guard(column: str, row: int, value: object, label: str) -> dict: + return {"column": column, "row": row, "expected_value": value, "label": label} + + +def coverage_tax_year(opening: int, label: str, notes: str) -> dict: + return { + "start_date": f"{opening}-04-06", + "end_date": f"{opening + 1}-04-05", + "basis": "tax", + "source_period_label": label, + "notes": notes, + } + + +def row_entry( + *, + value_id: str, + label: str, + ordinal: int, + row_number: int, + header: object, + kind: str, + filters: dict | None = None, + constraints: list[dict] | None = None, + geography: dict | None = None, + guards: list[dict] | None = None, +) -> dict: + entry: dict = { + "value_id": value_id, + "label": label, + "ordinal": ordinal, + "row_number": row_number, + "expected_row_header_column": "A", + "expected_row_header": header, + } + if geography: + entry.update(geography) + entry["table_record_kind"] = kind + if filters: + entry["filters"] = filters + if constraints: + entry["constraints"] = constraints + if guards: + entry["guard_cells"] = guards + return entry + + +def measure_entry( + *, + measure_id: str, + label: str, + column: str, + header_row: int, + header: object, + concept: str, + unit: str, + value_scale: int, + notes: str, + aggregation: str = "sum", +) -> dict: + return { + "measure_id": measure_id, + "label": label, + "ordinal": 0, + "column": column, + "source_column_id": measure_id, + "expected_column_header_row": header_row, + "expected_column_header": header, + "concept": concept, + "source_concept": concept, + "concept_relation": "source_label", + "concept_authority": "hmrc", + "concept_evidence_url": RELEASE_URL, + "concept_evidence_notes": notes, + "unit": unit, + "aggregation": aggregation, + "value_scale": value_scale, + "expected_cell_type": "number", + } + + +def record_set( + *, + record_set_id: str, + sheet: str, + period: int, + coverage: dict, + provenance: str, + groupby: str, + rows: list[dict], + measure: dict, + shared: tuple[dict, list[dict]] | None = None, + survey_instrument: str | None = None, +) -> dict: + payload: dict = { + "record_set_id": record_set_id, + "provenance_class": provenance, + } + if survey_instrument is not None: + payload["survey_instrument"] = survey_instrument + payload |= { + "assertion": "observation", + "record_set_spec_id": f"{record_set_id}.v1", + "source_record_id_prefix": record_set_id, + "sheet_name": sheet, + "period_type": "tax_year", + "period": period, + "period_coverage": coverage, + } + payload.update(UK) + payload.update( + { + "entity": "person", + "entity_role": ENTITY_ROLE, + "domain": DOMAIN, + "groupby_dimension": groupby, + } + ) + if shared is not None: + filters, constraints = shared + payload["shared_filters"] = filters + if constraints: + payload["shared_constraints"] = constraints + payload["rows"] = rows + payload["measures"] = [measure] + return payload + + +# ------------------------------------------------- publisher vocabularies + +BENEFIT_TYPES = { + "car": "Company car benefit", + "fuel": "Car fuel benefit", + "all": "Car and fuel benefit", +} +BENEFIT_TYPE_LABEL = "Company car benefit type" + + +def benefit_type(value: str) -> tuple[dict, list[dict]]: + return category("company_car_benefit_type", value, BENEFIT_TYPE_LABEL) + + +# Table 1: (measure id, label, concept, unit, scale, provenance, row headers for the car, +# fuel and car-and-fuel rows). The two average rows follow, car and fuel only. +TABLE_1 = ( + ( + "recipients", + "Recipients", + RECIPIENTS, + "count", + 1000, + "administrative", + ( + "Car benefit recipients (thousands)", + "Fuel benefit recipients (thousands)", + "Car and fuel benefit recipients (thousands) [note 2]", + ), + ), + ( + "taxable_value", + "Taxable value", + TAXABLE_VALUE, + "gbp", + 1000000, + "administrative", + ( + "Car benefit total taxable value (£millions)", + "Fuel benefit total taxable value (£millions)", + "Car and fuel benefit total taxable value (£millions)", + ), + ), + ( + "income_tax_liability", + "Income Tax liability", + INCOME_TAX, + "gbp", + 1000000, + "model_output", + ( + "Car benefit total Income Tax liability (£millions)", + "Fuel benefit total Income Tax liability (£millions)", + "Car and car fuel benefit total Income Tax liability (£millions)", + ), + ), + ( + "class_1a_nic_liability", + "Class 1A NIC liability", + NIC, + "gbp", + 1000000, + "model_output", + ( + "Car benefit total NIC liability (£millions)", + "Fuel benefit total NIC liability (£millions)", + "Car and fuel benefit total NIC liability (£millions)", + ), + ), +) +TABLE_1_AVERAGES = ( + "Car benefit average taxable value (£)", + "Fuel benefit average taxable value (£)", +) + +CO2_BANDS_TO_2019 = ( + "Zero", + "1 - 50", + "51 - 75", + "76 - 94", + "95 - 104", + "105 - 114", + "115 - 124", + "125 - 134", + "135 - 144", + "145 - 154", + "155 - 164", + "165 - 174", + "175 g/km and over", +) +CO2_BANDS_FROM_2020 = ( + "Zero", + "1 - 50", + "51 - 54", + "55 - 59", + "60 - 64", + "65 - 69", + "70 - 74", + "75 - 79", + "80 - 84", + "85 - 89", + "90 - 94", + "95 - 104", + "105 - 114", + "115 - 124", + "125 - 134", + "135 - 144", + "145 - 154", + "155 - 164", + "165- 169", + "170 g/km and over", +) +# Rows 4 to 27 of Table 2A, in sheet order, and its Total row. +CO2_SHEET_ROWS = ( + "Zero", + "1 - 50", + "51 - 75", + "51 - 54", + "55 - 59", + "60 - 64", + "65 - 69", + "70 - 74", + "76 - 94", + "75 - 79", + "80 - 84", + "85 - 89", + "90 - 94", + "95 - 104", + "105 - 114", + "115 - 124", + "125 - 134", + "135 - 144", + "145 - 154", + "155 - 164", + "165 - 174", + "165- 169", + "170 g/km and over", + "175 g/km and over", +) + +FUEL_TYPES = ( + ( + "diesel_including_hybrids", + "Diesel (including hybrids)", + "Diesel (including hybrids)", + ), + ( + "petrol_including_hybrids", + "Petrol (including hybrids)", + "Petrol (including hybrids)", + ), + ("fully_electric", "Fully Electric", "Fully electric"), +) + +INCOME_RANGES_3A = ( + "£0 to £8,499", + "£8,500 to £14,999", + "£15,000 to £19,999", + "£20,000 to £29,999", + "£30,000 to £39,999", + "£40,000 to £49,999", + "£50,000 to £74,999", + "£75,000 to £99,999", + "£100,000 to £149,999", + "£150,000 to £199,999", + "£200,000 and over", +) +INCOME_RANGES_3B = ( + "£0 to £29,999", + "£30,000 to £39,999", + "£40,000 to £49,999", + "£50,000 to £74,999", + "£75,000 to £99,999", + "£100,000 to £149,999", + "£150,000 to £199,999", + "£200,000 and over", +) + +# Table 4's rows: publisher label -> geography. HMRC prints Northern Ireland, Scotland +# and Wales beside the English regions, and an 'Unknown' row. +REGIONS = ( + ("North East", "E12000001", "region"), + ("North West", "E12000002", "region"), + ("Yorkshire and The Humber", "E12000003", "region"), + ("East Midlands", "E12000004", "region"), + ("West Midlands", "E12000005", "region"), + ("East of England", "E12000006", "region"), + ("London", "E12000007", "region"), + ("South East", "E12000008", "region"), + ("South West", "E12000009", "region"), + ("Northern Ireland", "N92000002", "country"), + ("Scotland", "S92000003", "country"), + ("Wales", "W92000004", "country"), + ("Unknown", "hmrc:recipient_region_unknown", "statistical_scope"), +) + +# Every cell HMRC fills with a marker instead of a number, in the six ported sheets. +MARKER_MEANINGS = { + "<0.5": "fewer than 500 recipients, under half the table's unit of a thousand", + "<2.5": "fewer than 2,500 recipients, under half the rounding base of 5 thousand", + "[note 3]": "not available, as note 3 excludes zero-emission cars before April 2015", +} +EXPECTED_MARKERS = { + "2A_CO2_recipients": { + **{f"{column}4": "[note 3]" for column in "BCDE"}, + **{f"{column}5": "<0.5" for column in "BCD"}, + **{f"{column}6": "<0.5" for column in "BCF"}, + }, + "2C_fuel_type_recipients": { + **{f"{column}7": "[note 3]" for column in "BCDE"}, + **{f"{column}7": "<2.5" for column in "FGHI"}, + }, + "3B_fuel_recipients_income": {"B7": "<2.5", "B8": "<2.5", "B13": "<2.5"}, +} + +# ------------------------------------------------------------ the notes + + +def year_label(opening: int) -> str: + return f"{opening} to {opening + 1}" + + +def band_from_label(label: str) -> tuple[int, int | None]: + """'Zero' -> (0, 0); '51 - 54' and '165- 169' -> (51, 54) and (165, 169); + '170 g/km and over' -> (170, None).""" + if label == "Zero": + return 0, 0 + match = re.fullmatch(r"(\d+)\s*-\s*(\d+)", label) + if match: + low, high = int(match.group(1)), int(match.group(2)) + assert low < high, label + return low, high + match = re.fullmatch(r"(\d+) g/km and over", label) + assert match, label + return int(match.group(1)), None + + +def co2_value_id(low: int, high: int | None) -> str: + if high == 0: + return "co2_0" + return f"co2_{low}_plus" if high is None else f"co2_{low}_to_{high}" + + +def co2_value_label(low: int, high: int | None) -> str: + if high == 0: + return "0 g/km" + return f"{low} g/km and over" if high is None else f"{low} to {high} g/km" + + +def income_band(label: str) -> tuple[int, int | None]: + """'£8,500 to £14,999' -> (8500, 14999); '£200,000 and over' -> (200000, None).""" + match = re.fullmatch(r"£([\d,]+) to £([\d,]+)", label) + if match: + low, high = (int(part.replace(",", "")) for part in match.groups()) + assert low < high, label + return low, high + match = re.fullmatch(r"£([\d,]+) and over", label) + assert match, label + return int(match.group(1).replace(",", "")), None + + +def income_value_id(low: int, high: int | None) -> str: + return f"income_{low}_plus" if high is None else f"income_{low}_to_{high}" + + +def assert_tiles(bands: list[tuple[int, int | None]]) -> None: + """Each band starts one above the last one's top, and only the last is open.""" + for (_, previous_high), (low, _) in zip(bands, bands[1:]): + assert previous_high is not None and low == previous_high + 1, bands + assert bands[-1][1] is None, bands + + +def quote(sentence: str) -> str: + return f"'{sentence}'" + + +SOURCES = ( + "HMRC compiles these from employers' P11D returns and, from 2017 to 2018, the company " + "cars employers payroll and report through Real Time Information (RTI), counting a " + "car reported both ways once (background quality report, section 3.5)." +) +LIABILITY_METHOD = ( + "HMRC estimates the liability for each Survey of Personal Incomes (SPI) case " + "matched to the P11D and RTI records as the difference between the liabilities " + "with and without the benefit, which 'effectively considers the benefit in kind as " + "the final marginal element of income'; it grosses the cases up, divides by the " + "grossed benefit to get an average rate per pound of benefit, and applies that " + "rate to the whole taxable value (background quality report, section 3.5)." +) +PROJECTED_LIABILITIES = ( + "HMRC bases this year's Income Tax and NIC figures on projections of the Survey " + "of Personal Incomes (commentary, section 1): the latest SPI is 'projected forward " + "one year to help produce the provisional tax liability estimates that appear in " + "Table 1' (background quality report, section 3.5)." +) +APPORTIONED = ( + "A recipient with more than one company car in the year is apportioned between " + "the cars by the time each was held, so the rows add to recipients, not cars " + "(background quality report, section 3.5)." +) +SURVEY_INSTRUMENT = ( + "Survey of Personal Incomes matched to employers' P11D and Real Time Information " + "company car records" +) +SAMPLE_GROSSING = ( + "HMRC estimates this table from the Survey of Personal Incomes cases matched to the " + "P11D and RTI records: it grosses them up with standard SPI grossing factors, then " + "applies a further adjustment factor so that the total taxable value equals the " + "figure from the full data, and the same factor scales the recipients (background " + "quality report, section 3.5)." +) +AVERAGES_AS_PRINTED = ( + "The printed averages do not all equal the quotient of the printed, rounded " + "taxable value and recipients, so they are ported as published, not derived." +) + + +def year_notes(opening: int, *, extra: str = "") -> str: + """Caveats that belong to the reference year, recorded on period_coverage.""" + parts = [] + if opening in ZERO_RATE_YEARS: + parts.append( + "Cars emitting 0 g/km are not in these statistics for this year: from April " + "2010 to April 2015 they carried a zero-rate charge (note 3), and HMRC " + "includes electric cars only from 2015 to 2016 (commentary, section 6)." + ) + if opening <= 2015: + parts.append( + "Before April 2016 a few employers payrolled benefits informally; their P11Ds " + "were not processed electronically and are not in these statistics " + "(commentary, section 8.1)." + ) + else: + detail = { + 2016: ( + "In 2016 to 2017 payrolled cars could not be reported through RTI, so " + "every voluntarily payrolled car is missing." + ), + 2017: ( + "In 2017 to 2018 reporting payrolled cars through RTI was voluntary, so " + "the payrolled cars employers chose not to report are missing." + ), + }.get( + opening, + "From April 2018 payrolled cars must be reported through RTI, but HMRC " + "finds compliance incomplete.", + ) + parts.append( + "From April 2016 employers could payroll company cars instead of reporting " + f"them on a P11D. {detail} HMRC expects company car recipients to be " + "under-reported in every year since April 2016 (commentary, section 8)." + ) + if opening == PROVISIONAL_YEAR: + parts.append( + "HMRC marks 2024 to 2025 provisional (note 1): its figures come from an " + "initial extract of the Expenses and Benefits data and may be revised." + ) + if extra: + parts.append(extra) + return " ".join(parts) + + +def marker_sentence(markers: list[tuple[str, str]]) -> str: + """'<0.5' for '1 - 50' and '51 - 75' ... -> one sentence, or '' when none.""" + if not markers: + return "" + by_marker: dict[str, list[str]] = {} + for row_label, marker in markers: + by_marker.setdefault(marker, []).append(quote(row_label)) + clauses = [ + f"'{marker}' ({MARKER_MEANINGS[marker]}) for {listed(rows)}" + for marker, rows in by_marker.items() + ] + return ( + "HMRC prints " + "; ".join(clauses) + ": those cells emit no fact, not a zero." + ) + + +def listed(items: list[str]) -> str: + return items[0] if len(items) == 1 else ", ".join(items[:-1]) + " and " + items[-1] + + +def guarded_sentence(guarded: list[tuple[str, str]], measure_label: str) -> str: + """Rows whose recipients carry a marker but whose measure is a number.""" + if not guarded: + return "" + (marker,) = {marker for _, marker in guarded} + rows = listed([quote(label) for label, _ in guarded]) + return ( + f"HMRC prints '{marker}' ({MARKER_MEANINGS[marker]}) for the recipients of " + f"{rows}: their {measure_label.lower()} cells are ported, each with the " + "marker as a guard cell, and their recipients emit no fact." + ) + + +# ----------------------------------------------------------------- tables + + +def check_markers(sheets: dict) -> None: + for sheet, expected in EXPECTED_MARKERS.items(): + found = { + f"{column}{row}": value + for (row, column), value in sheets[sheet].items() + if value in MARKER_MEANINGS + } + assert found == expected, (sheet, found) + + +def check_notes(grid: dict) -> dict[int, str]: + expect(grid, 1, "A", "Note") + expect(grid, 1, "B", "Description") + notes = {} + for number in (1, 2, 3): + expect(grid, number + 1, "A", number) + notes[number] = text(grid, number + 1, "B") + assert notes[1].startswith( + "All figures given for tax year 2024 to 2025 are based on an initial extract" + ), notes[1] + assert notes[2].startswith( + "All recipients of company car fuel benefit must also be in receipt" + ), notes[2] + assert notes[3].startswith( + "Between April 2010 and April 2015 there was a zero-rate charge" + ), notes[3] + expect(grid, 5, "A", "End of worksheet") + return notes + + +def year_headers(grid: dict, header_row: int) -> dict[int, str]: + headers = {} + for opening, column in YEAR_COLUMNS.items(): + expected = year_label(opening) + ( + " [note 1]" if opening == PROVISIONAL_YEAR else "" + ) + expect(grid, header_row, column, expected) + headers[opening] = expected + assert (header_row, "P") not in grid + return headers + + +def table_1(grid: dict, notes: dict[int, str]) -> tuple[list[dict], dict]: + sheet = "1_car_and_car_fuel_benefit" + title = "Table 1: Company car benefit and company car fuel benefit (time series)" + expect(grid, 1, "A", title) + incomplete = text(grid, 3) + assert incomplete.startswith("The data in this table are not fully complete."), ( + incomplete + ) + rounding = "Numbers and amounts are rounded to the nearest 10" + expect(grid, 4, "A", rounding) + expect(grid, 5, "A", "Tax Year") + headers = year_headers(grid, 5) + row = 6 + record_sets = [] + ported: dict = {} + for measure_id, label, concept, unit, scale, provenance, row_headers in TABLE_1: + first = row + for offset, header in enumerate(row_headers): + expect(grid, first + offset, "A", header) + row += len(row_headers) + if measure_id == "recipients": + unit_text = ( + "recipients are in thousands, so the rounding is to the nearest 10,000. " + "The car and fuel row counts people receiving either benefit, and it " + "prints the same as the car row in every year; note 2: " + + quote(notes[2]) + ) + method = "Individuals reported as receiving the benefit. " + SOURCES + elif measure_id == "taxable_value": + unit_text = ( + "amounts are in GBP million, so the rounding is to the nearest GBP 10 " + "million. A car's taxable value is its list price with accessories times " + "the appropriate percentage for its CO2 emissions, and car fuel benefit " + "is the car fuel benefit multiplier times the same percentage (background " + "quality report, section 2.4). The car and fuel row is their sum." + ) + method = "The taxable value of the benefits reported. " + SOURCES + else: + unit_text = ( + "amounts are in GBP million, so the rounding is to the nearest GBP 10 " + "million. The car and fuel row is their sum." + ) + method = LIABILITY_METHOD + if measure_id == "class_1a_nic_liability": + method = ( + "Class 1A National Insurance contributions, which employers pay on " + "the benefits; employees pay no NICs on car or car fuel benefit " + "(background quality report, section 2.4). " + method + ) + for opening in YEARS: + column = YEAR_COLUMNS[opening] + for offset in range(3): + assert is_number(grid.get((first + offset, column))), ( + first + offset, + column, + ) + measure_notes = ( + f"Table 1, {label}, {headers[opening]}. {method} " + + quote(incomplete) + + " " + + quote(rounding) + + ": " + + unit_text + ) + extra = "" + if provenance == "model_output" and opening == PROVISIONAL_YEAR: + extra = PROJECTED_LIABILITIES + rows = [] + for ordinal, value_id in enumerate(("car", "fuel", "all")): + filters, constraints = benefit_type(value_id) + rows.append( + row_entry( + value_id=value_id, + label=BENEFIT_TYPES[value_id], + ordinal=ordinal, + row_number=first + ordinal, + header=row_headers[ordinal], + kind="total" if value_id == "all" else "detail", + filters=filters, + constraints=constraints, + guards=[ + guard("A", 1, title, "Table title"), + guard("A", 4, rounding, "Rounding"), + ], + ) + ) + ported[(measure_id, value_id, opening)] = grid[ + (first + ordinal, column) + ] + record_sets.append( + record_set( + record_set_id=f"{PREFIX}.table1.{measure_id}.ty{opening}", + sheet=sheet, + period=opening, + coverage=coverage_tax_year( + opening, headers[opening], year_notes(opening, extra=extra) + ), + provenance=provenance, + groupby="company_car_benefit_type", + rows=rows, + measure=measure_entry( + measure_id=measure_id, + label=label, + column=column, + header_row=5, + header=headers[opening], + concept=concept, + unit=unit, + value_scale=scale, + notes=measure_notes, + ), + ) + ) + average_row = row + for offset, header in enumerate(TABLE_1_AVERAGES): + expect(grid, average_row + offset, "A", header) + expect(grid, average_row + len(TABLE_1_AVERAGES), "A", "End of worksheet") + for opening in YEARS: + column = YEAR_COLUMNS[opening] + rows = [] + for ordinal, value_id in enumerate(("car", "fuel")): + value = grid.get((average_row + ordinal, column)) + assert is_number(value), (average_row + ordinal, column) + filters, constraints = benefit_type(value_id) + rows.append( + row_entry( + value_id=value_id, + label=BENEFIT_TYPES[value_id], + ordinal=ordinal, + row_number=average_row + ordinal, + header=TABLE_1_AVERAGES[ordinal], + kind="detail", + filters=filters, + constraints=constraints, + guards=[ + guard("A", 1, title, "Table title"), + guard("A", 4, rounding, "Rounding"), + ], + ) + ) + ported[("average_taxable_value", value_id, opening)] = value + record_sets.append( + record_set( + record_set_id=f"{PREFIX}.table1.average_taxable_value.ty{opening}", + sheet=sheet, + period=opening, + coverage=coverage_tax_year( + opening, headers[opening], year_notes(opening) + ), + provenance="administrative", + groupby="company_car_benefit_type", + rows=rows, + measure=measure_entry( + measure_id="average_taxable_value", + label="Average taxable value", + column=column, + header_row=5, + header=headers[opening], + concept=MEAN_TAXABLE_VALUE, + unit="gbp", + value_scale=1, + notes=( + f"Table 1, Average taxable value, {headers[opening]}: HMRC's " + "average taxable value per recipient of each benefit, in GBP. " + f"{SOURCES} {quote(incomplete)} {quote(rounding)}: the averages " + f"are rounded to the nearest GBP 10. {AVERAGES_AS_PRINTED}" + ), + aggregation="mean", + ), + ) + ) + assert len(record_sets) == 5 * len(YEARS) + return record_sets, ported + + +def table_2a(grid: dict, table_1_cells: dict) -> list[dict]: + sheet = "2A_CO2_recipients" + title = ( + "Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 " + "emission (time series)" + ) + expect(grid, 1, "A", title) + units = ( + "Recipients of company car benefit (thousands) from tax year 2011 to 2012 to " + "tax year 2024 to 2025" + ) + expect(grid, 2, "A", units) + expect(grid, 3, "A", "CO2 emission band") + headers = year_headers(grid, 3) + rows_by_label = {} + for offset, label in enumerate(CO2_SHEET_ROWS): + expect(grid, 4 + offset, "A", label) + rows_by_label[label] = 4 + offset + total_row = 4 + len(CO2_SHEET_ROWS) + expect(grid, total_row, "A", "Total") + expect(grid, total_row + 1, "A", "End of worksheet") + for scheme in (CO2_BANDS_TO_2019, CO2_BANDS_FROM_2020): + assert_tiles([band_from_label(label) for label in scheme]) + record_sets = [] + for opening in YEARS: + column = YEAR_COLUMNS[opening] + scheme = ( + CO2_BANDS_FROM_2020 if opening >= NEW_CO2_BANDS_FROM else CO2_BANDS_TO_2019 + ) + filled = [ + label for label in CO2_SHEET_ROWS if (rows_by_label[label], column) in grid + ] + # Each year prints exactly one scheme's bands, in sheet order. + assert filled == [label for label in CO2_SHEET_ROWS if label in scheme], ( + opening, + filled, + ) + # The Total row restates Table 1's car benefit recipients: ported from Table 1. + assert ( + grid[(total_row, column)] == table_1_cells[("recipients", "car", opening)] + ) + rows = [] + markers = [] + for label in scheme: + row = rows_by_label[label] + value = grid[(row, column)] + if not is_number(value): + assert value in MARKER_MEANINGS, (row, column, value) + markers.append((label, value)) + continue + low, high = band_from_label(label) + value_id = co2_value_id(low, high) + filters, constraints = category( + "company_car_co2_band", value_id, "Company car CO2 emission band" + ) + variable = "company_car_co2_emissions" + if high == 0: + constraints.append( + constraint(variable, "==", 0, "CO2 emissions", CO2_UNIT) + ) + else: + if low == 1: + constraints.append( + constraint( + variable, ">", 0, "CO2 emissions lower bound", CO2_UNIT + ) + ) + else: + constraints.append( + constraint( + variable, ">=", low, "CO2 emissions lower bound", CO2_UNIT + ) + ) + if high is not None: + constraints.append( + constraint( + variable, + "<", + high + 1, + "CO2 emissions upper bound", + CO2_UNIT, + ) + ) + rows.append( + row_entry( + value_id=value_id, + label=co2_value_label(low, high), + ordinal=len(rows), + row_number=row, + header=label, + kind="detail", + filters=filters, + constraints=constraints, + guards=[ + guard("A", 1, title, "Table title"), + guard("A", 2, units, "Units"), + ], + ) + ) + scheme_text = ( + "the bands printed from 2020 to 2021: five-gram bands from 51 to 94 g/km, " + "and 165 to 169 and 170 g/km and over above 164" + if opening >= NEW_CO2_BANDS_FROM + else "the bands printed to 2019 to 2020: 51 to 75 and 76 to 94 g/km below " + "95, and 165 to 174 and 175 g/km and over above 164" + ) + notes = " ".join( + part + for part in ( + f"Table 2A, recipients of company car benefit by the CO2 emissions of the " + f"car, {headers[opening]}, in thousands. {SOURCES} {APPORTIONED} Missing " + "or implausible CO2 figures are imputed where other data allow, typically " + "for under 2% of car benefits (section 3.5). From April 2020 the CO2 " + "figures are WLTP measurements; before, they are NEDC figures, WLTP " + "results converted back to NEDC equivalents from September 2018 " + f"(background quality report, section 2.4). This year uses {scheme_text}. " + "The sheet gives no rounding rule; its band cells are whole thousands. " + "Its 'Total' row restates Table 1's car benefit recipients and is ported " + "from Table 1.", + marker_sentence(markers), + ) + if part + ) + record_sets.append( + record_set( + record_set_id=f"{PREFIX}.table2a.recipients.ty{opening}", + sheet=sheet, + period=opening, + coverage=coverage_tax_year( + opening, headers[opening], year_notes(opening) + ), + provenance="administrative", + groupby="company_car_co2_band", + rows=rows, + measure=measure_entry( + measure_id="recipients", + label="Recipients", + column=column, + header_row=3, + header=headers[opening], + concept=RECIPIENTS, + unit="count", + value_scale=1000, + notes=notes, + ), + shared=benefit_type("car"), + ) + ) + return record_sets + + +def table_2c(grid: dict, table_1_cells: dict) -> list[dict]: + sheet = "2C_fuel_type_recipients" + title = ( + "Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel " + "type (time series)" + ) + expect(grid, 1, "A", title) + expect( + grid, + 2, + "A", + "Recipients of company car benefit (thousands) from tax year 2011 to 2012 to " + "tax year 2024 to 2025", + ) + rounding = "Numbers are rounded to the nearest 5" + expect(grid, 3, "A", rounding) + expect(grid, 4, "A", "Type of fuel") + headers = year_headers(grid, 4) + for offset, (_, header, _) in enumerate(FUEL_TYPES): + expect(grid, 5 + offset, "A", header) + total_row = 5 + len(FUEL_TYPES) + expect(grid, total_row, "A", "Total") + expect(grid, total_row + 1, "A", "End of worksheet") + record_sets = [] + for opening in YEARS: + column = YEAR_COLUMNS[opening] + assert ( + grid[(total_row, column)] == table_1_cells[("recipients", "car", opening)] + ) + rows = [] + markers = [] + for offset, (value_id, header, label) in enumerate(FUEL_TYPES): + value = grid[(5 + offset, column)] + if not is_number(value): + assert value in MARKER_MEANINGS, (5 + offset, column, value) + markers.append((header, value)) + continue + filters, constraints = category( + "company_car_fuel_type", value_id, "Company car fuel type" + ) + rows.append( + row_entry( + value_id=value_id, + label=label, + ordinal=len(rows), + row_number=5 + offset, + header=header, + kind="detail", + filters=filters, + constraints=constraints, + guards=[ + guard("A", 1, title, "Table title"), + guard("A", 3, rounding, "Rounding"), + ], + ) + ) + notes = " ".join( + part + for part in ( + f"Table 2C, recipients of company car benefit by the fuel type of the car, " + f"{headers[opening]}, in thousands: {quote(rounding)}, so to the nearest " + f"5,000. {SOURCES} {APPORTIONED} Missing or implausible fuel types are " + "imputed where other data allow (section 3.5). HMRC classes a diesel car " + "meeting the Euro IV or RDE2 standard as diesel even where no diesel " + "supplement applies (background quality report, section 2.4). The rows " + "are HMRC's own: 'Diesel (including hybrids)', 'Petrol (including " + "hybrids)' and 'Fully Electric'. Its 'Total' row restates Table 1's car " + "benefit recipients and is ported from Table 1.", + marker_sentence(markers), + ) + if part + ) + record_sets.append( + record_set( + record_set_id=f"{PREFIX}.table2c.recipients.ty{opening}", + sheet=sheet, + period=opening, + coverage=coverage_tax_year( + opening, headers[opening], year_notes(opening) + ), + provenance="administrative", + groupby="company_car_fuel_type", + rows=rows, + measure=measure_entry( + measure_id="recipients", + label="Recipients", + column=column, + header_row=4, + header=headers[opening], + concept=RECIPIENTS, + unit="count", + value_scale=1000, + notes=notes, + ), + shared=benefit_type("car"), + ) + ) + return record_sets + + +def table_2e(grid: dict) -> list[dict]: + sheet = "2E_average_CO2" + title = ( + "Table 2E: Average CO2 emissions of company cars as reported to HMRC (time " + "series)" + ) + expect(grid, 1, "A", title) + units = ( + "Average CO2 emissions of company cars (in g/km) from tax year 2010 to 2011 to " + "2024 to 2025" + ) + expect(grid, 2, "A", units) + expect(grid, 3, "A", "Tax Year") + headers = year_headers(grid, 3) + row_header = "Average CO2 emissions (g/km)" + expect(grid, 4, "A", row_header) + expect(grid, 5, "A", "End of worksheet") + record_sets = [] + for opening in YEARS: + column = YEAR_COLUMNS[opening] + assert is_number(grid.get((4, column))), (4, column) + filters, constraints = benefit_type("car") + rows = [ + row_entry( + value_id="car", + label=BENEFIT_TYPES["car"], + ordinal=0, + row_number=4, + header=row_header, + kind="detail", + filters=filters, + constraints=constraints, + guards=[ + guard("A", 1, title, "Table title"), + guard("A", 2, units, "Units"), + ], + ) + ] + notes = ( + "Table 2E, average CO2 emissions of company cars as reported to HMRC, " + f"{headers[opening]}, in g/km. The background quality report gives the " + "unit of Table 2E's averages as a company car benefit (section 2.5). " + f"{SOURCES} Missing or implausible CO2 figures are imputed where other data " + "allow, typically for under 2% of car benefits (section 3.5). From April " + "2020 the CO2 figures are WLTP measurements; before, they are NEDC figures, " + "WLTP results converted back to NEDC equivalents from September 2018 " + "(background quality report, section 2.4). Electric cars are in the average " + "from 2015 to 2016 (commentary, sections 2 and 6). The sheet gives no " + "rounding rule; its cells are whole g/km. Its subtitle reads 'from tax year " + "2010 to 2011', but its first column is 2011 to 2012." + ) + record_sets.append( + record_set( + record_set_id=f"{PREFIX}.table2e.average_co2_emissions.ty{opening}", + sheet=sheet, + period=opening, + coverage=coverage_tax_year( + opening, headers[opening], year_notes(opening) + ), + provenance="administrative", + groupby="company_car_benefit_type", + rows=rows, + measure=measure_entry( + measure_id="average_co2_emissions", + label="Average CO2 emissions", + column=column, + header_row=3, + header=headers[opening], + concept=MEAN_CO2, + unit=CO2_UNIT, + value_scale=1, + notes=notes, + aggregation="mean", + ), + ) + ) + return record_sets + + +TABLE_3_4_MEASURES = ( + ( + "recipients", + "Recipients", + "B", + "Recipients (thousands)", + RECIPIENTS, + "count", + 1000, + "sum", + ), + ( + "taxable_value", + "Taxable value", + "C", + "Taxable value (£millions)", + TAXABLE_VALUE, + "gbp", + 1000000, + "sum", + ), + ( + "average_taxable_value", + "Average taxable value", + "D", + "Average value (£)", + MEAN_TAXABLE_VALUE, + "gbp", + 1, + "mean", + ), +) + + +def tables_3_and_4( + grid: dict, + *, + table: str, + sheet: str, + title: str, + benefit: str, + rounding: str, + first_column_header: str, + row_specs: list[tuple[str, str, str, dict, list[dict], dict | None]], + table_1_cells: dict, + groupby: str, + describe: str, + all_average_equals_table_1: bool, +) -> list[dict]: + """Tables 3A, 3B and 4: one record set per measure, 2024 to 2025 only. + + ``row_specs`` holds (publisher label, value id, label, filters, constraints, + geography) for each row above 'All'.""" + expect(grid, 1, "A", title) + period_text = "Tax year 2024 to 2025 [note 1]" + expect(grid, 2, "A", period_text) + grossed = text(grid, 3) + assert grossed.startswith( + "The figures in this table are grossed up from the sample which contains income information." + ), grossed + assert grossed.endswith( + "the total number of recipients will not necessarily match the figure in Table 1." + ), grossed + incomplete = text(grid, 4) + assert incomplete.startswith("The data in this table are not fully complete."), ( + incomplete + ) + expect(grid, 5, "A", rounding) + expect(grid, 6, "A", first_column_header) + for _, _, column, header, *_ in TABLE_3_4_MEASURES: + expect(grid, 6, column, header) + assert (6, "E") not in grid + for offset, spec in enumerate(row_specs): + expect(grid, 7 + offset, "A", spec[0]) + all_row = 7 + len(row_specs) + expect(grid, all_row, "A", "All") + expect(grid, all_row + 1, "A", "End of worksheet") + # The 'All' row is HMRC's grossed total, which need not match Table 1. Its + # recipients and taxable value print the same as Table 1's 2024 to 2025 cells, which + # are ported, and its average matches Table 1's only where the argument says so. + for measure_id, column in (("recipients", "B"), ("taxable_value", "C")): + assert ( + grid[(all_row, column)] + == table_1_cells[(measure_id, benefit, PROVISIONAL_YEAR)] + ), (table, measure_id) + table_1_average = table_1_cells[ + ("average_taxable_value", benefit, PROVISIONAL_YEAR) + ] + assert (grid[(all_row, "D")] == table_1_average) == all_average_equals_table_1, ( + table, + grid[(all_row, "D")], + table_1_average, + ) + record_sets = [] + for ( + measure_id, + label, + column, + header, + concept, + unit, + scale, + aggregation, + ) in TABLE_3_4_MEASURES: + rows = [] + markers = [] + guarded = [] + for offset, ( + publisher, + value_id, + row_label, + filters, + constraints, + geography, + ) in enumerate(row_specs): + row = 7 + offset + value = grid[(row, column)] + guards = [ + guard("A", 1, title, "Table title"), + guard("A", 2, period_text, "Tax year"), + guard("A", 5, rounding, "Rounding"), + ] + if not is_number(value): + assert value in MARKER_MEANINGS, (row, column, value) + markers.append((publisher, value)) + continue + recipients = grid[(row, "B")] + if measure_id != "recipients" and not is_number(recipients): + guarded.append((publisher, recipients)) + guards.append( + guard( + "B", + row, + recipients, + f"Recipients printed '{recipients}' (" + + MARKER_MEANINGS[recipients] + + "): no recipients fact", + ) + ) + rows.append( + row_entry( + value_id=value_id, + label=row_label, + ordinal=len(rows), + row_number=row, + header=publisher, + kind="detail", + filters=filters, + constraints=constraints, + geography=geography, + guards=guards, + ) + ) + if measure_id == "average_taxable_value": + measure_text = ( + "HMRC's average taxable value per recipient, in GBP, rounded as the " + f"sheet states. {AVERAGES_AS_PRINTED} Its 'All' row is not ported: " + "it would share the key of Table 1's 2024 to 2025 average" + + ( + ", and prints the same value." + if all_average_equals_table_1 + else ", and prints a different value, so HMRC's grossed recipients " + "for this table differ from Table 1's before rounding." + ) + ) + else: + measure_text = ( + "Its 'All' row prints the same value as Table 1's 2024 to 2025 cell, " + "which is ported, so it is not ported again." + ) + notes = " ".join( + part + for part in ( + f"Table {table}, {period_text}, {header}: {describe} " + + quote(grossed) + + " " + + SAMPLE_GROSSING + + " " + + quote(incomplete) + + " " + + quote(rounding) + + ". " + + measure_text, + marker_sentence(markers), + guarded_sentence(guarded, label), + ) + if part + ) + record_sets.append( + record_set( + record_set_id=f"{PREFIX}.table{table.lower()}.{measure_id}.ty{PROVISIONAL_YEAR}", + sheet=sheet, + period=PROVISIONAL_YEAR, + coverage=coverage_tax_year( + PROVISIONAL_YEAR, + period_text, + year_notes(PROVISIONAL_YEAR), + ), + provenance="survey_aggregate", + survey_instrument=SURVEY_INSTRUMENT, + groupby=groupby, + rows=rows, + measure=measure_entry( + measure_id=measure_id, + label=label, + column=column, + header_row=6, + header=header, + concept=concept, + unit=unit, + value_scale=scale, + notes=notes, + aggregation=aggregation, + ), + shared=benefit_type(benefit), + ) + ) + return record_sets + + +INCOME_DEFINITION = ( + "Total income is 'inclusive of the benefit amount' and 'comprises all incomes " + "assessable for Income Tax' (background quality report, section 2.4)." +) + + +def income_row_specs(labels: tuple[str, ...]) -> list[tuple]: + bands = [income_band(label) for label in labels] + assert bands[0][0] == 0 + assert_tiles(bands) + specs = [] + for label, (low, high) in zip(labels, bands): + value_id = income_value_id(low, high) + filters, constraints = category( + "benefit_in_kind_income_band", value_id, "Range of total income" + ) + if low > 0: + constraints.append( + constraint("total_income", ">=", low, "Total income lower bound", "gbp") + ) + if high is not None: + constraints.append( + constraint( + "total_income", "<", high + 1, "Total income upper bound", "gbp" + ) + ) + specs.append((label, value_id, label, filters, constraints, None)) + return specs + + +def region_row_specs() -> list[tuple]: + specs = [] + for label, geography_id, level in REGIONS: + geography = { + "geography_id": geography_id, + "geography_level": level, + "geography_name": label, + "geography_vintage": "current", + } + value_id = geography_id.removeprefix("hmrc:") + specs.append((label, value_id, label, {}, [], geography)) + return specs + + +def table_3a(grid: dict, table_1_cells: dict) -> list[dict]: + return tables_3_and_4( + grid, + table="3A", + sheet="3A_car_recipients_income", + title="Table 3A: Income breakdown of recipients of company cars", + benefit="car", + rounding=( + "Numbers and amounts less than 10 are rounded to the nearest 5; those " + "greater than 10 are rounded to the nearest 10" + ), + first_column_header="Income Range", + row_specs=income_row_specs(INCOME_RANGES_3A), + table_1_cells=table_1_cells, + groupby="benefit_in_kind_income_band", + describe=( + "company car benefit by range of total income of the recipient. " + + INCOME_DEFINITION + ), + all_average_equals_table_1=True, + ) + + +def table_3b(grid: dict, table_1_cells: dict) -> list[dict]: + record_sets = tables_3_and_4( + grid, + table="3B", + sheet="3B_fuel_recipients_income", + title="Table 3B: Income breakdown of recipients of employer-provided car fuel", + benefit="fuel", + rounding=( + "Numbers and amounts less than 10 are rounded to the nearest 5; those " + "greater than 10 are rounded to the nearest 10" + ), + first_column_header="Income Range", + row_specs=income_row_specs(INCOME_RANGES_3B), + table_1_cells=table_1_cells, + groupby="benefit_in_kind_income_band", + describe=( + "car fuel benefit by range of total income of the recipient, in bands HMRC " + "groups more coarsely than Table 3A's. " + INCOME_DEFINITION + ), + all_average_equals_table_1=True, + ) + assert "Some income bands have been grouped" in text(grid, 4) + return record_sets + + +def table_4(grid: dict, table_1_cells: dict) -> list[dict]: + return tables_3_and_4( + grid, + table="4", + sheet="4_car_region", + title="Table 4: Regional breakdown of recipients of company cars", + benefit="car", + rounding="Numbers are rounded to the nearest 5 and amounts to the nearest 10", + first_column_header="Region", + row_specs=region_row_specs(), + table_1_cells=table_1_cells, + groupby="geography", + describe=( + "company car benefit by region of the recipient, with Northern Ireland, " + "Scotland and Wales beside the English regions and an 'Unknown' row." + ), + all_average_equals_table_1=False, + ) + + +# ------------------------------------------------------------- package + +HEADER = """\ +# HMRC Benefits in kind statistics: July 2026 (published 15 July 2026), the Tables 1 to 4 +# workbook, for PolicyEngine/uk-autumn-budget-dashboard-2026#316: Budget 2026 raises +# company car tax by one percentage point in every band from 2030-31, policyengine-uk +# 2.165.0 (PolicyEngine/policyengine-uk#2750) models the company car and car fuel +# benefits, and Microcosm vendors these facts to fill and measure its company car inputs. +# Written by build_package.py in this directory from the pinned workbook; edit that, not +# this. +# +# Ported: Table 1 (car and car fuel benefit recipients, taxable value, average taxable +# value, and Income Tax and NIC liabilities, 2011-12 to 2024-25), Table 2A (car benefit +# recipients by CO2 emission band, 2011-12 to 2024-25), Table 2C (car benefit recipients +# by fuel type, 2011-12 to 2024-25), Table 2E (average CO2 emissions of company cars, +# 2011-12 to 2024-25), Tables 3A and 3B (car and car fuel benefit recipients, taxable +# value and average taxable value by range of total income, 2024-25) and Table 4 (car +# benefit recipients, taxable value and average taxable value by region, 2024-25). Not +# ported: Tables 2B and 2D, which restate Tables 2A and 2C as percentages of each year's +# total to the whole percent ('<0.5%' below half a percent), so the ported counts are the +# finer series; the 'All' rows of Tables 3A, 3B and 4 (below); and Table 5 (all Class 1A +# benefits, a separate workbook). +# +# The averages are ported as published, not derived: HMRC's printed averages do not all +# equal the quotient of the printed, rounded cells. Table 1's 2024-25 car benefit average +# is GBP 3,330, where GBP 3,070 million over 920 thousand recipients gives GBP 3,337. +# +# Table 2A's CO2 bands changed in 2020-21 with the appropriate-percentage bands. To +# 2019-20 it prints 51-75, 76-94, 165-174 and 175 g/km and over; from 2020-21, five-gram +# bands from 51-54 to 90-94, and 165-169 and 170 g/km and over. Both schemes share zero, +# 1-50 and the ten-gram bands from 95-104 to 155-164. Each year carries the bands it +# prints, asserted to be exactly one scheme, and each band carries company_car_co2_emissions +# bounds, so bands of the two schemes never share a key. +# +# Publisher markers emit no fact, never a zero: '<0.5' (Table 2A, fewer than 500 +# recipients), '<2.5' (Tables 2C and 3B, fewer than 2,500) and '[note 3]' (Tables 2A and +# 2C: cars emitting 0 g/km, excluded while they carried a zero-rate charge, 2011-12 to +# 2014-15). The notes of each affected measure name its marked cells, and Table 3B's three +# bands whose recipients are '<2.5' keep their taxable value and average with the marker +# as a guard cell. Rounding is each sheet's own and each measure's notes quote it: Table 1 +# to the nearest 10 (10,000 recipients, GBP 10 million, GBP 10 for the averages), Table 2A +# whole thousands and Table 2E whole g/km with no stated rule, Table 2C to the nearest 5 +# thousand, Tables 3A and 3B to the nearest 5 below 10 and the nearest 10 above, and Table +# 4 recipients to the nearest 5 thousand and amounts to the nearest 10. +# +# Recipients, taxable values and averages in Table 1, and Tables 2A, 2C and 2E, come from +# employers' P11D returns and, from 2017-18, the company cars they payroll and report +# through Real Time Information: administrative. HMRC estimates the Income Tax and NIC +# liabilities by matching the Survey of Personal Incomes to those records and comparing +# liabilities with and without the benefit, and for 2024-25 projects the latest SPI +# forward a year to do so: model_output. Tables 3A, 3B and 4 are grossed up from that +# matched sample with SPI grossing factors and scaled to the full data's taxable value: +# survey_aggregate, with the matched SPI as survey instrument, as hmrc-isa-statistics-2026 +# classes its SPI-matched tables. NICs are the employers' Class 1A contributions. 2024-25 +# is provisional (note 1), and HMRC warns that payrolled cars have been under-reported +# since April 2016; both caveats ride on each record set's period_coverage notes, as does +# the exclusion of zero-emission cars before 2015-16. The notes cite the release's +# commentary, +# https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026/benefit-in-kind-statistics-commentary-july-2026, +# and HMRC's background quality report for these statistics, +# https://www.gov.uk/government/statistics/benefits-in-kind-statistics-june-2023/benefit-in-kind-statistics-background-quality-report. +# +# Totals printed more than once are ported once, and build_package.py asserts every copy +# equal: the Total rows of Tables 2A and 2C restate Table 1's car benefit recipients in +# every year. The 'All' rows of Tables 3A, 3B and 4 are HMRC's grossed totals, which HMRC +# says need not match Table 1. Their recipients and taxable value print the same as Table +# 1's 2024-25 car or fuel cells, so they are not ported again. Their averages are not +# ported either, since each would share the key of Table 1's 2024-25 average: Tables 3A +# and 3B print Table 1's average, but Table 4 prints GBP 3,350 against Table 1's GBP +# 3,330, so its grossed recipients differ from Table 1's before rounding. +# +""" + + +class PackageDumper(yaml.SafeDumper): + """Plain YAML with no anchors, so every record set reads on its own.""" + + def ignore_aliases(self, data: object) -> bool: + return True + + +def render(payload: dict) -> str: + return HEADER + yaml.dump( + payload, Dumper=PackageDumper, sort_keys=False, allow_unicode=True, width=100 + ) + + +def value_labels() -> dict: + co2 = {} + for scheme in (CO2_BANDS_TO_2019, CO2_BANDS_FROM_2020): + for label in scheme: + low, high = band_from_label(label) + co2[co2_value_id(low, high)] = co2_value_label(low, high) + income = {} + for labels in (INCOME_RANGES_3A, INCOME_RANGES_3B): + for label in labels: + income[income_value_id(*income_band(label))] = label + return { + "company_car_benefit_type": dict(BENEFIT_TYPES), + "company_car_co2_band": dict( + sorted(co2.items(), key=lambda item: band_sort(item[0])) + ), + "company_car_fuel_type": {value_id: label for value_id, _, label in FUEL_TYPES}, + "benefit_in_kind_income_band": dict( + sorted(income.items(), key=lambda item: band_sort(item[0])) + ), + } + + +def band_sort(value_id: str) -> tuple[int, int]: + numbers = [int(part) for part in re.findall(r"\d+", value_id)] + return numbers[0], numbers[1] if len(numbers) > 1 else 10**9 + + +def package() -> str: + sheets = ods_sheets() + check_markers(sheets) + notes = check_notes(sheets["Notes"]) + table_1_sets, table_1_cells = table_1(sheets["1_car_and_car_fuel_benefit"], notes) + record_sets = ( + table_1_sets + + table_2a(sheets["2A_CO2_recipients"], table_1_cells) + + table_2c(sheets["2C_fuel_type_recipients"], table_1_cells) + + table_2e(sheets["2E_average_CO2"]) + + table_3a(sheets["3A_car_recipients_income"], table_1_cells) + + table_3b(sheets["3B_fuel_recipients_income"], table_1_cells) + + table_4(sheets["4_car_region"], table_1_cells) + ) + payload = { + "schema_version": "ledger.source_package.v1", + "package_id": PACKAGE_ID, + "label": ( + "HMRC Benefits in kind statistics, July 2026: company car and car fuel " + "benefit recipients, taxable value, average taxable value and Income Tax and " + "NIC liabilities (Table 1), car benefit recipients by CO2 emission band and " + "fuel type and average CO2 emissions (Tables 2A, 2C and 2E), and 2024-25 " + "recipients, taxable value and average taxable value by range of total income " + "and region (Tables 3A, 3B and 4)" + ), + "dimension_labels": { + "company_car_benefit_type": BENEFIT_TYPE_LABEL, + "company_car_co2_band": "Company car CO2 emission band", + "company_car_fuel_type": "Company car fuel type", + "benefit_in_kind_income_band": "Range of total income", + "geography": "Geography", + }, + "dimension_value_labels": value_labels(), + "artifact": { + "source_name": "hmrc", + "source_table": SOURCE_TABLE, + "resource_package": "db", + "resource_directory": f"data/{DATA_DIR}", + "manifest": "manifest.yaml", + "vintage": "benefits_in_kind_statistics_july_2026", + "extracted_at": "2026-10-30", + "extraction_method": "ODS whole-workbook used-range parse with numeric-text coercion", + "parser": "ods_numeric_text_used_range", + "artifact_year": 2026, + }, + "record_sets": record_sets, + } + return render(payload) + + +def main() -> int: + parser = argparse.ArgumentParser(description=__doc__.splitlines()[0]) + parser.add_argument( + "--check", + action="store_true", + help="Compare the generated YAML with the committed file instead of writing.", + ) + args = parser.parse_args() + path = PACKAGE_DIR / "source_package.yaml" + text_out = package() + if args.check: + if not path.exists() or path.read_text(encoding="utf-8") != text_out: + print( + f"Stale generated package: {path.relative_to(REPO_ROOT)}", + file=sys.stderr, + ) + return 1 + return 0 + path.write_text(text_out, encoding="utf-8") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/packages/hmrc/benefits_in_kind_july_2026/source_package.yaml b/packages/hmrc/benefits_in_kind_july_2026/source_package.yaml new file mode 100644 index 00000000..6e27a62a --- /dev/null +++ b/packages/hmrc/benefits_in_kind_july_2026/source_package.yaml @@ -0,0 +1,22499 @@ +# HMRC Benefits in kind statistics: July 2026 (published 15 July 2026), the Tables 1 to 4 +# workbook, for PolicyEngine/uk-autumn-budget-dashboard-2026#316: Budget 2026 raises +# company car tax by one percentage point in every band from 2030-31, policyengine-uk +# 2.165.0 (PolicyEngine/policyengine-uk#2750) models the company car and car fuel +# benefits, and Microcosm vendors these facts to fill and measure its company car inputs. +# Written by build_package.py in this directory from the pinned workbook; edit that, not +# this. +# +# Ported: Table 1 (car and car fuel benefit recipients, taxable value, average taxable +# value, and Income Tax and NIC liabilities, 2011-12 to 2024-25), Table 2A (car benefit +# recipients by CO2 emission band, 2011-12 to 2024-25), Table 2C (car benefit recipients +# by fuel type, 2011-12 to 2024-25), Table 2E (average CO2 emissions of company cars, +# 2011-12 to 2024-25), Tables 3A and 3B (car and car fuel benefit recipients, taxable +# value and average taxable value by range of total income, 2024-25) and Table 4 (car +# benefit recipients, taxable value and average taxable value by region, 2024-25). Not +# ported: Tables 2B and 2D, which restate Tables 2A and 2C as percentages of each year's +# total to the whole percent ('<0.5%' below half a percent), so the ported counts are the +# finer series; the 'All' rows of Tables 3A, 3B and 4 (below); and Table 5 (all Class 1A +# benefits, a separate workbook). +# +# The averages are ported as published, not derived: HMRC's printed averages do not all +# equal the quotient of the printed, rounded cells. Table 1's 2024-25 car benefit average +# is GBP 3,330, where GBP 3,070 million over 920 thousand recipients gives GBP 3,337. +# +# Table 2A's CO2 bands changed in 2020-21 with the appropriate-percentage bands. To +# 2019-20 it prints 51-75, 76-94, 165-174 and 175 g/km and over; from 2020-21, five-gram +# bands from 51-54 to 90-94, and 165-169 and 170 g/km and over. Both schemes share zero, +# 1-50 and the ten-gram bands from 95-104 to 155-164. Each year carries the bands it +# prints, asserted to be exactly one scheme, and each band carries company_car_co2_emissions +# bounds, so bands of the two schemes never share a key. +# +# Publisher markers emit no fact, never a zero: '<0.5' (Table 2A, fewer than 500 +# recipients), '<2.5' (Tables 2C and 3B, fewer than 2,500) and '[note 3]' (Tables 2A and +# 2C: cars emitting 0 g/km, excluded while they carried a zero-rate charge, 2011-12 to +# 2014-15). The notes of each affected measure name its marked cells, and Table 3B's three +# bands whose recipients are '<2.5' keep their taxable value and average with the marker +# as a guard cell. Rounding is each sheet's own and each measure's notes quote it: Table 1 +# to the nearest 10 (10,000 recipients, GBP 10 million, GBP 10 for the averages), Table 2A +# whole thousands and Table 2E whole g/km with no stated rule, Table 2C to the nearest 5 +# thousand, Tables 3A and 3B to the nearest 5 below 10 and the nearest 10 above, and Table +# 4 recipients to the nearest 5 thousand and amounts to the nearest 10. +# +# Recipients, taxable values and averages in Table 1, and Tables 2A, 2C and 2E, come from +# employers' P11D returns and, from 2017-18, the company cars they payroll and report +# through Real Time Information: administrative. HMRC estimates the Income Tax and NIC +# liabilities by matching the Survey of Personal Incomes to those records and comparing +# liabilities with and without the benefit, and for 2024-25 projects the latest SPI +# forward a year to do so: model_output. Tables 3A, 3B and 4 are grossed up from that +# matched sample with SPI grossing factors and scaled to the full data's taxable value: +# survey_aggregate, with the matched SPI as survey instrument, as hmrc-isa-statistics-2026 +# classes its SPI-matched tables. NICs are the employers' Class 1A contributions. 2024-25 +# is provisional (note 1), and HMRC warns that payrolled cars have been under-reported +# since April 2016; both caveats ride on each record set's period_coverage notes, as does +# the exclusion of zero-emission cars before 2015-16. The notes cite the release's +# commentary, +# https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026/benefit-in-kind-statistics-commentary-july-2026, +# and HMRC's background quality report for these statistics, +# https://www.gov.uk/government/statistics/benefits-in-kind-statistics-june-2023/benefit-in-kind-statistics-background-quality-report. +# +# Totals printed more than once are ported once, and build_package.py asserts every copy +# equal: the Total rows of Tables 2A and 2C restate Table 1's car benefit recipients in +# every year. The 'All' rows of Tables 3A, 3B and 4 are HMRC's grossed totals, which HMRC +# says need not match Table 1. Their recipients and taxable value print the same as Table +# 1's 2024-25 car or fuel cells, so they are not ported again. Their averages are not +# ported either, since each would share the key of Table 1's 2024-25 average: Tables 3A +# and 3B print Table 1's average, but Table 4 prints GBP 3,350 against Table 1's GBP +# 3,330, so its grossed recipients differ from Table 1's before rounding. +# +schema_version: ledger.source_package.v1 +package_id: hmrc-benefits-in-kind-july-2026 +label: 'HMRC Benefits in kind statistics, July 2026: company car and car fuel benefit recipients, taxable + value, average taxable value and Income Tax and NIC liabilities (Table 1), car benefit recipients by + CO2 emission band and fuel type and average CO2 emissions (Tables 2A, 2C and 2E), and 2024-25 recipients, + taxable value and average taxable value by range of total income and region (Tables 3A, 3B and 4)' +dimension_labels: + company_car_benefit_type: Company car benefit type + company_car_co2_band: Company car CO2 emission band + company_car_fuel_type: Company car fuel type + benefit_in_kind_income_band: Range of total income + geography: Geography +dimension_value_labels: + company_car_benefit_type: + car: Company car benefit + fuel: Car fuel benefit + all: Car and fuel benefit + company_car_co2_band: + co2_0: 0 g/km + co2_1_to_50: 1 to 50 g/km + co2_51_to_75: 51 to 75 g/km + co2_51_to_54: 51 to 54 g/km + co2_55_to_59: 55 to 59 g/km + co2_60_to_64: 60 to 64 g/km + co2_65_to_69: 65 to 69 g/km + co2_70_to_74: 70 to 74 g/km + co2_75_to_79: 75 to 79 g/km + co2_76_to_94: 76 to 94 g/km + co2_80_to_84: 80 to 84 g/km + co2_85_to_89: 85 to 89 g/km + co2_90_to_94: 90 to 94 g/km + co2_95_to_104: 95 to 104 g/km + co2_105_to_114: 105 to 114 g/km + co2_115_to_124: 115 to 124 g/km + co2_125_to_134: 125 to 134 g/km + co2_135_to_144: 135 to 144 g/km + co2_145_to_154: 145 to 154 g/km + co2_155_to_164: 155 to 164 g/km + co2_165_to_174: 165 to 174 g/km + co2_165_to_169: 165 to 169 g/km + co2_170_plus: 170 g/km and over + co2_175_plus: 175 g/km and over + company_car_fuel_type: + diesel_including_hybrids: Diesel (including hybrids) + petrol_including_hybrids: Petrol (including hybrids) + fully_electric: Fully electric + benefit_in_kind_income_band: + income_0_to_8499: £0 to £8,499 + income_0_to_29999: £0 to £29,999 + income_8500_to_14999: £8,500 to £14,999 + income_15000_to_19999: £15,000 to £19,999 + income_20000_to_29999: £20,000 to £29,999 + income_30000_to_39999: £30,000 to £39,999 + income_40000_to_49999: £40,000 to £49,999 + income_50000_to_74999: £50,000 to £74,999 + income_75000_to_99999: £75,000 to £99,999 + income_100000_to_149999: £100,000 to £149,999 + income_150000_to_199999: £150,000 to £199,999 + income_200000_plus: £200,000 and over +artifact: + source_name: hmrc + source_table: 'Benefits in kind statistics: July 2026, Tables 1 to 4: company car benefit and company + car fuel benefit' + resource_package: db + resource_directory: data/hmrc/benefits_in_kind_july_2026 + manifest: manifest.yaml + vintage: benefits_in_kind_statistics_july_2026 + extracted_at: '2026-10-30' + extraction_method: ODS whole-workbook used-range parse with numeric-text coercion + parser: ods_numeric_text_used_range + artifact_year: 2026 +record_sets: +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2011 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2011.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2011 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2011 + period_coverage: + start_date: '2011-04-06' + end_date: '2012-04-05' + basis: tax + source_period_label: 2011 to 2012 + notes: 'Cars emitting 0 g/km are not in these statistics for this year: from April 2010 to April 2015 + they carried a zero-rate charge (note 3), and HMRC includes electric cars only from 2015 to 2016 + (commentary, section 6). Before April 2016 a few employers payrolled benefits informally; their + P11Ds were not processed electronically and are not in these statistics (commentary, section 8.1).' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 6 + expected_row_header_column: A + expected_row_header: Car benefit recipients (thousands) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 7 + expected_row_header_column: A + expected_row_header: Fuel benefit recipients (thousands) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 8 + expected_row_header_column: A + expected_row_header: Car and fuel benefit recipients (thousands) [note 2] + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: B + source_column_id: recipients + expected_column_header_row: 5 + expected_column_header: 2011 to 2012 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Recipients, 2011 to 2012. Individuals reported as receiving the + benefit. HMRC compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars + employers payroll and report through Real Time Information (RTI), counting a car reported both ways + once (background quality report, section 3.5). ''The data in this table are not fully complete. + Some company cars are not included in the source data used to produce the statistics and are therefore + excluded from the tables. For more information please see the background documentation.'' ''Numbers + and amounts are rounded to the nearest 10'': recipients are in thousands, so the rounding is to + the nearest 10,000. The car and fuel row counts people receiving either benefit, and it prints the + same as the car row in every year; note 2: ''All recipients of company car fuel benefit must also + be in receipt of a company car. However, historic figures in this row may exclude a small number + of cases where an individual received a company car with zero taxable value but received company + car fuel benefit with positive taxable value.''' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2012 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2012.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2012 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2012 + period_coverage: + start_date: '2012-04-06' + end_date: '2013-04-05' + basis: tax + source_period_label: 2012 to 2013 + notes: 'Cars emitting 0 g/km are not in these statistics for this year: from April 2010 to April 2015 + they carried a zero-rate charge (note 3), and HMRC includes electric cars only from 2015 to 2016 + (commentary, section 6). Before April 2016 a few employers payrolled benefits informally; their + P11Ds were not processed electronically and are not in these statistics (commentary, section 8.1).' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 6 + expected_row_header_column: A + expected_row_header: Car benefit recipients (thousands) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 7 + expected_row_header_column: A + expected_row_header: Fuel benefit recipients (thousands) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 8 + expected_row_header_column: A + expected_row_header: Car and fuel benefit recipients (thousands) [note 2] + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: C + source_column_id: recipients + expected_column_header_row: 5 + expected_column_header: 2012 to 2013 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Recipients, 2012 to 2013. Individuals reported as receiving the + benefit. HMRC compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars + employers payroll and report through Real Time Information (RTI), counting a car reported both ways + once (background quality report, section 3.5). ''The data in this table are not fully complete. + Some company cars are not included in the source data used to produce the statistics and are therefore + excluded from the tables. For more information please see the background documentation.'' ''Numbers + and amounts are rounded to the nearest 10'': recipients are in thousands, so the rounding is to + the nearest 10,000. The car and fuel row counts people receiving either benefit, and it prints the + same as the car row in every year; note 2: ''All recipients of company car fuel benefit must also + be in receipt of a company car. However, historic figures in this row may exclude a small number + of cases where an individual received a company car with zero taxable value but received company + car fuel benefit with positive taxable value.''' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2013 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2013.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2013 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2013 + period_coverage: + start_date: '2013-04-06' + end_date: '2014-04-05' + basis: tax + source_period_label: 2013 to 2014 + notes: 'Cars emitting 0 g/km are not in these statistics for this year: from April 2010 to April 2015 + they carried a zero-rate charge (note 3), and HMRC includes electric cars only from 2015 to 2016 + (commentary, section 6). Before April 2016 a few employers payrolled benefits informally; their + P11Ds were not processed electronically and are not in these statistics (commentary, section 8.1).' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 6 + expected_row_header_column: A + expected_row_header: Car benefit recipients (thousands) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 7 + expected_row_header_column: A + expected_row_header: Fuel benefit recipients (thousands) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 8 + expected_row_header_column: A + expected_row_header: Car and fuel benefit recipients (thousands) [note 2] + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: D + source_column_id: recipients + expected_column_header_row: 5 + expected_column_header: 2013 to 2014 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Recipients, 2013 to 2014. Individuals reported as receiving the + benefit. HMRC compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars + employers payroll and report through Real Time Information (RTI), counting a car reported both ways + once (background quality report, section 3.5). ''The data in this table are not fully complete. + Some company cars are not included in the source data used to produce the statistics and are therefore + excluded from the tables. For more information please see the background documentation.'' ''Numbers + and amounts are rounded to the nearest 10'': recipients are in thousands, so the rounding is to + the nearest 10,000. The car and fuel row counts people receiving either benefit, and it prints the + same as the car row in every year; note 2: ''All recipients of company car fuel benefit must also + be in receipt of a company car. However, historic figures in this row may exclude a small number + of cases where an individual received a company car with zero taxable value but received company + car fuel benefit with positive taxable value.''' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2014 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2014.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2014 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2014 + period_coverage: + start_date: '2014-04-06' + end_date: '2015-04-05' + basis: tax + source_period_label: 2014 to 2015 + notes: 'Cars emitting 0 g/km are not in these statistics for this year: from April 2010 to April 2015 + they carried a zero-rate charge (note 3), and HMRC includes electric cars only from 2015 to 2016 + (commentary, section 6). Before April 2016 a few employers payrolled benefits informally; their + P11Ds were not processed electronically and are not in these statistics (commentary, section 8.1).' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 6 + expected_row_header_column: A + expected_row_header: Car benefit recipients (thousands) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 7 + expected_row_header_column: A + expected_row_header: Fuel benefit recipients (thousands) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 8 + expected_row_header_column: A + expected_row_header: Car and fuel benefit recipients (thousands) [note 2] + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: E + source_column_id: recipients + expected_column_header_row: 5 + expected_column_header: 2014 to 2015 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Recipients, 2014 to 2015. Individuals reported as receiving the + benefit. HMRC compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars + employers payroll and report through Real Time Information (RTI), counting a car reported both ways + once (background quality report, section 3.5). ''The data in this table are not fully complete. + Some company cars are not included in the source data used to produce the statistics and are therefore + excluded from the tables. For more information please see the background documentation.'' ''Numbers + and amounts are rounded to the nearest 10'': recipients are in thousands, so the rounding is to + the nearest 10,000. The car and fuel row counts people receiving either benefit, and it prints the + same as the car row in every year; note 2: ''All recipients of company car fuel benefit must also + be in receipt of a company car. However, historic figures in this row may exclude a small number + of cases where an individual received a company car with zero taxable value but received company + car fuel benefit with positive taxable value.''' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2015 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2015.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2015 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2015 + period_coverage: + start_date: '2015-04-06' + end_date: '2016-04-05' + basis: tax + source_period_label: 2015 to 2016 + notes: Before April 2016 a few employers payrolled benefits informally; their P11Ds were not processed + electronically and are not in these statistics (commentary, section 8.1). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 6 + expected_row_header_column: A + expected_row_header: Car benefit recipients (thousands) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 7 + expected_row_header_column: A + expected_row_header: Fuel benefit recipients (thousands) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 8 + expected_row_header_column: A + expected_row_header: Car and fuel benefit recipients (thousands) [note 2] + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: F + source_column_id: recipients + expected_column_header_row: 5 + expected_column_header: 2015 to 2016 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Recipients, 2015 to 2016. Individuals reported as receiving the + benefit. HMRC compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars + employers payroll and report through Real Time Information (RTI), counting a car reported both ways + once (background quality report, section 3.5). ''The data in this table are not fully complete. + Some company cars are not included in the source data used to produce the statistics and are therefore + excluded from the tables. For more information please see the background documentation.'' ''Numbers + and amounts are rounded to the nearest 10'': recipients are in thousands, so the rounding is to + the nearest 10,000. The car and fuel row counts people receiving either benefit, and it prints the + same as the car row in every year; note 2: ''All recipients of company car fuel benefit must also + be in receipt of a company car. However, historic figures in this row may exclude a small number + of cases where an individual received a company car with zero taxable value but received company + car fuel benefit with positive taxable value.''' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2016 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2016.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2016 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2016 + period_coverage: + start_date: '2016-04-06' + end_date: '2017-04-05' + basis: tax + source_period_label: 2016 to 2017 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. In + 2016 to 2017 payrolled cars could not be reported through RTI, so every voluntarily payrolled car + is missing. HMRC expects company car recipients to be under-reported in every year since April 2016 + (commentary, section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 6 + expected_row_header_column: A + expected_row_header: Car benefit recipients (thousands) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 7 + expected_row_header_column: A + expected_row_header: Fuel benefit recipients (thousands) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 8 + expected_row_header_column: A + expected_row_header: Car and fuel benefit recipients (thousands) [note 2] + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: G + source_column_id: recipients + expected_column_header_row: 5 + expected_column_header: 2016 to 2017 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Recipients, 2016 to 2017. Individuals reported as receiving the + benefit. HMRC compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars + employers payroll and report through Real Time Information (RTI), counting a car reported both ways + once (background quality report, section 3.5). ''The data in this table are not fully complete. + Some company cars are not included in the source data used to produce the statistics and are therefore + excluded from the tables. For more information please see the background documentation.'' ''Numbers + and amounts are rounded to the nearest 10'': recipients are in thousands, so the rounding is to + the nearest 10,000. The car and fuel row counts people receiving either benefit, and it prints the + same as the car row in every year; note 2: ''All recipients of company car fuel benefit must also + be in receipt of a company car. However, historic figures in this row may exclude a small number + of cases where an individual received a company car with zero taxable value but received company + car fuel benefit with positive taxable value.''' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2017 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2017.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2017 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2017 + period_coverage: + start_date: '2017-04-06' + end_date: '2018-04-05' + basis: tax + source_period_label: 2017 to 2018 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. In + 2017 to 2018 reporting payrolled cars through RTI was voluntary, so the payrolled cars employers + chose not to report are missing. HMRC expects company car recipients to be under-reported in every + year since April 2016 (commentary, section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 6 + expected_row_header_column: A + expected_row_header: Car benefit recipients (thousands) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 7 + expected_row_header_column: A + expected_row_header: Fuel benefit recipients (thousands) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 8 + expected_row_header_column: A + expected_row_header: Car and fuel benefit recipients (thousands) [note 2] + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: H + source_column_id: recipients + expected_column_header_row: 5 + expected_column_header: 2017 to 2018 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Recipients, 2017 to 2018. Individuals reported as receiving the + benefit. HMRC compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars + employers payroll and report through Real Time Information (RTI), counting a car reported both ways + once (background quality report, section 3.5). ''The data in this table are not fully complete. + Some company cars are not included in the source data used to produce the statistics and are therefore + excluded from the tables. For more information please see the background documentation.'' ''Numbers + and amounts are rounded to the nearest 10'': recipients are in thousands, so the rounding is to + the nearest 10,000. The car and fuel row counts people receiving either benefit, and it prints the + same as the car row in every year; note 2: ''All recipients of company car fuel benefit must also + be in receipt of a company car. However, historic figures in this row may exclude a small number + of cases where an individual received a company car with zero taxable value but received company + car fuel benefit with positive taxable value.''' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2018 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2018.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2018 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2018 + period_coverage: + start_date: '2018-04-06' + end_date: '2019-04-05' + basis: tax + source_period_label: 2018 to 2019 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 6 + expected_row_header_column: A + expected_row_header: Car benefit recipients (thousands) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 7 + expected_row_header_column: A + expected_row_header: Fuel benefit recipients (thousands) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 8 + expected_row_header_column: A + expected_row_header: Car and fuel benefit recipients (thousands) [note 2] + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: I + source_column_id: recipients + expected_column_header_row: 5 + expected_column_header: 2018 to 2019 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Recipients, 2018 to 2019. Individuals reported as receiving the + benefit. HMRC compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars + employers payroll and report through Real Time Information (RTI), counting a car reported both ways + once (background quality report, section 3.5). ''The data in this table are not fully complete. + Some company cars are not included in the source data used to produce the statistics and are therefore + excluded from the tables. For more information please see the background documentation.'' ''Numbers + and amounts are rounded to the nearest 10'': recipients are in thousands, so the rounding is to + the nearest 10,000. The car and fuel row counts people receiving either benefit, and it prints the + same as the car row in every year; note 2: ''All recipients of company car fuel benefit must also + be in receipt of a company car. However, historic figures in this row may exclude a small number + of cases where an individual received a company car with zero taxable value but received company + car fuel benefit with positive taxable value.''' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2019 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2019.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2019 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2019 + period_coverage: + start_date: '2019-04-06' + end_date: '2020-04-05' + basis: tax + source_period_label: 2019 to 2020 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 6 + expected_row_header_column: A + expected_row_header: Car benefit recipients (thousands) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 7 + expected_row_header_column: A + expected_row_header: Fuel benefit recipients (thousands) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 8 + expected_row_header_column: A + expected_row_header: Car and fuel benefit recipients (thousands) [note 2] + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: J + source_column_id: recipients + expected_column_header_row: 5 + expected_column_header: 2019 to 2020 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Recipients, 2019 to 2020. Individuals reported as receiving the + benefit. HMRC compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars + employers payroll and report through Real Time Information (RTI), counting a car reported both ways + once (background quality report, section 3.5). ''The data in this table are not fully complete. + Some company cars are not included in the source data used to produce the statistics and are therefore + excluded from the tables. For more information please see the background documentation.'' ''Numbers + and amounts are rounded to the nearest 10'': recipients are in thousands, so the rounding is to + the nearest 10,000. The car and fuel row counts people receiving either benefit, and it prints the + same as the car row in every year; note 2: ''All recipients of company car fuel benefit must also + be in receipt of a company car. However, historic figures in this row may exclude a small number + of cases where an individual received a company car with zero taxable value but received company + car fuel benefit with positive taxable value.''' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2020 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2020.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2020 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2020 + period_coverage: + start_date: '2020-04-06' + end_date: '2021-04-05' + basis: tax + source_period_label: 2020 to 2021 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 6 + expected_row_header_column: A + expected_row_header: Car benefit recipients (thousands) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 7 + expected_row_header_column: A + expected_row_header: Fuel benefit recipients (thousands) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 8 + expected_row_header_column: A + expected_row_header: Car and fuel benefit recipients (thousands) [note 2] + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: K + source_column_id: recipients + expected_column_header_row: 5 + expected_column_header: 2020 to 2021 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Recipients, 2020 to 2021. Individuals reported as receiving the + benefit. HMRC compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars + employers payroll and report through Real Time Information (RTI), counting a car reported both ways + once (background quality report, section 3.5). ''The data in this table are not fully complete. + Some company cars are not included in the source data used to produce the statistics and are therefore + excluded from the tables. For more information please see the background documentation.'' ''Numbers + and amounts are rounded to the nearest 10'': recipients are in thousands, so the rounding is to + the nearest 10,000. The car and fuel row counts people receiving either benefit, and it prints the + same as the car row in every year; note 2: ''All recipients of company car fuel benefit must also + be in receipt of a company car. However, historic figures in this row may exclude a small number + of cases where an individual received a company car with zero taxable value but received company + car fuel benefit with positive taxable value.''' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2021 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2021.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2021 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2021 + period_coverage: + start_date: '2021-04-06' + end_date: '2022-04-05' + basis: tax + source_period_label: 2021 to 2022 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 6 + expected_row_header_column: A + expected_row_header: Car benefit recipients (thousands) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 7 + expected_row_header_column: A + expected_row_header: Fuel benefit recipients (thousands) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 8 + expected_row_header_column: A + expected_row_header: Car and fuel benefit recipients (thousands) [note 2] + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: L + source_column_id: recipients + expected_column_header_row: 5 + expected_column_header: 2021 to 2022 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Recipients, 2021 to 2022. Individuals reported as receiving the + benefit. HMRC compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars + employers payroll and report through Real Time Information (RTI), counting a car reported both ways + once (background quality report, section 3.5). ''The data in this table are not fully complete. + Some company cars are not included in the source data used to produce the statistics and are therefore + excluded from the tables. For more information please see the background documentation.'' ''Numbers + and amounts are rounded to the nearest 10'': recipients are in thousands, so the rounding is to + the nearest 10,000. The car and fuel row counts people receiving either benefit, and it prints the + same as the car row in every year; note 2: ''All recipients of company car fuel benefit must also + be in receipt of a company car. However, historic figures in this row may exclude a small number + of cases where an individual received a company car with zero taxable value but received company + car fuel benefit with positive taxable value.''' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2022 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2022.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2022 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2022 + period_coverage: + start_date: '2022-04-06' + end_date: '2023-04-05' + basis: tax + source_period_label: 2022 to 2023 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 6 + expected_row_header_column: A + expected_row_header: Car benefit recipients (thousands) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 7 + expected_row_header_column: A + expected_row_header: Fuel benefit recipients (thousands) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 8 + expected_row_header_column: A + expected_row_header: Car and fuel benefit recipients (thousands) [note 2] + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: M + source_column_id: recipients + expected_column_header_row: 5 + expected_column_header: 2022 to 2023 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Recipients, 2022 to 2023. Individuals reported as receiving the + benefit. HMRC compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars + employers payroll and report through Real Time Information (RTI), counting a car reported both ways + once (background quality report, section 3.5). ''The data in this table are not fully complete. + Some company cars are not included in the source data used to produce the statistics and are therefore + excluded from the tables. For more information please see the background documentation.'' ''Numbers + and amounts are rounded to the nearest 10'': recipients are in thousands, so the rounding is to + the nearest 10,000. The car and fuel row counts people receiving either benefit, and it prints the + same as the car row in every year; note 2: ''All recipients of company car fuel benefit must also + be in receipt of a company car. However, historic figures in this row may exclude a small number + of cases where an individual received a company car with zero taxable value but received company + car fuel benefit with positive taxable value.''' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2023 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2023.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2023 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2023 + period_coverage: + start_date: '2023-04-06' + end_date: '2024-04-05' + basis: tax + source_period_label: 2023 to 2024 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 6 + expected_row_header_column: A + expected_row_header: Car benefit recipients (thousands) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 7 + expected_row_header_column: A + expected_row_header: Fuel benefit recipients (thousands) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 8 + expected_row_header_column: A + expected_row_header: Car and fuel benefit recipients (thousands) [note 2] + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: N + source_column_id: recipients + expected_column_header_row: 5 + expected_column_header: 2023 to 2024 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Recipients, 2023 to 2024. Individuals reported as receiving the + benefit. HMRC compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars + employers payroll and report through Real Time Information (RTI), counting a car reported both ways + once (background quality report, section 3.5). ''The data in this table are not fully complete. + Some company cars are not included in the source data used to produce the statistics and are therefore + excluded from the tables. For more information please see the background documentation.'' ''Numbers + and amounts are rounded to the nearest 10'': recipients are in thousands, so the rounding is to + the nearest 10,000. The car and fuel row counts people receiving either benefit, and it prints the + same as the car row in every year; note 2: ''All recipients of company car fuel benefit must also + be in receipt of a company car. However, historic figures in this row may exclude a small number + of cases where an individual received a company car with zero taxable value but received company + car fuel benefit with positive taxable value.''' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2024 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2024.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.recipients.ty2024 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2024 + period_coverage: + start_date: '2024-04-06' + end_date: '2025-04-05' + basis: tax + source_period_label: 2024 to 2025 [note 1] + notes: 'From April 2016 employers could payroll company cars instead of reporting them on a P11D. + From April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. + HMRC expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). HMRC marks 2024 to 2025 provisional (note 1): its figures come from an initial extract + of the Expenses and Benefits data and may be revised.' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 6 + expected_row_header_column: A + expected_row_header: Car benefit recipients (thousands) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 7 + expected_row_header_column: A + expected_row_header: Fuel benefit recipients (thousands) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 8 + expected_row_header_column: A + expected_row_header: Car and fuel benefit recipients (thousands) [note 2] + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: O + source_column_id: recipients + expected_column_header_row: 5 + expected_column_header: 2024 to 2025 [note 1] + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Recipients, 2024 to 2025 [note 1]. Individuals reported as receiving + the benefit. HMRC compiles these from employers'' P11D returns and, from 2017 to 2018, the company + cars employers payroll and report through Real Time Information (RTI), counting a car reported both + ways once (background quality report, section 3.5). ''The data in this table are not fully complete. + Some company cars are not included in the source data used to produce the statistics and are therefore + excluded from the tables. For more information please see the background documentation.'' ''Numbers + and amounts are rounded to the nearest 10'': recipients are in thousands, so the rounding is to + the nearest 10,000. The car and fuel row counts people receiving either benefit, and it prints the + same as the car row in every year; note 2: ''All recipients of company car fuel benefit must also + be in receipt of a company car. However, historic figures in this row may exclude a small number + of cases where an individual received a company car with zero taxable value but received company + car fuel benefit with positive taxable value.''' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2011 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2011.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2011 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2011 + period_coverage: + start_date: '2011-04-06' + end_date: '2012-04-05' + basis: tax + source_period_label: 2011 to 2012 + notes: 'Cars emitting 0 g/km are not in these statistics for this year: from April 2010 to April 2015 + they carried a zero-rate charge (note 3), and HMRC includes electric cars only from 2015 to 2016 + (commentary, section 6). Before April 2016 a few employers payrolled benefits informally; their + P11Ds were not processed electronically and are not in these statistics (commentary, section 8.1).' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 9 + expected_row_header_column: A + expected_row_header: Car benefit total taxable value (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 10 + expected_row_header_column: A + expected_row_header: Fuel benefit total taxable value (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 11 + expected_row_header_column: A + expected_row_header: Car and fuel benefit total taxable value (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: taxable_value + label: Taxable value + ordinal: 0 + column: B + source_column_id: taxable_value + expected_column_header_row: 5 + expected_column_header: 2011 to 2012 + concept: hmrc.benefit_in_kind_taxable_value + source_concept: hmrc.benefit_in_kind_taxable_value + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Taxable value, 2011 to 2012. The taxable value of the benefits reported. + HMRC compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars employers + payroll and report through Real Time Information (RTI), counting a car reported both ways once (background + quality report, section 3.5). ''The data in this table are not fully complete. Some company cars + are not included in the source data used to produce the statistics and are therefore excluded from + the tables. For more information please see the background documentation.'' ''Numbers and amounts + are rounded to the nearest 10'': amounts are in GBP million, so the rounding is to the nearest GBP + 10 million. A car''s taxable value is its list price with accessories times the appropriate percentage + for its CO2 emissions, and car fuel benefit is the car fuel benefit multiplier times the same percentage + (background quality report, section 2.4). The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2012 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2012.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2012 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2012 + period_coverage: + start_date: '2012-04-06' + end_date: '2013-04-05' + basis: tax + source_period_label: 2012 to 2013 + notes: 'Cars emitting 0 g/km are not in these statistics for this year: from April 2010 to April 2015 + they carried a zero-rate charge (note 3), and HMRC includes electric cars only from 2015 to 2016 + (commentary, section 6). Before April 2016 a few employers payrolled benefits informally; their + P11Ds were not processed electronically and are not in these statistics (commentary, section 8.1).' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 9 + expected_row_header_column: A + expected_row_header: Car benefit total taxable value (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 10 + expected_row_header_column: A + expected_row_header: Fuel benefit total taxable value (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 11 + expected_row_header_column: A + expected_row_header: Car and fuel benefit total taxable value (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: taxable_value + label: Taxable value + ordinal: 0 + column: C + source_column_id: taxable_value + expected_column_header_row: 5 + expected_column_header: 2012 to 2013 + concept: hmrc.benefit_in_kind_taxable_value + source_concept: hmrc.benefit_in_kind_taxable_value + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Taxable value, 2012 to 2013. The taxable value of the benefits reported. + HMRC compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars employers + payroll and report through Real Time Information (RTI), counting a car reported both ways once (background + quality report, section 3.5). ''The data in this table are not fully complete. Some company cars + are not included in the source data used to produce the statistics and are therefore excluded from + the tables. For more information please see the background documentation.'' ''Numbers and amounts + are rounded to the nearest 10'': amounts are in GBP million, so the rounding is to the nearest GBP + 10 million. A car''s taxable value is its list price with accessories times the appropriate percentage + for its CO2 emissions, and car fuel benefit is the car fuel benefit multiplier times the same percentage + (background quality report, section 2.4). The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2013 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2013.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2013 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2013 + period_coverage: + start_date: '2013-04-06' + end_date: '2014-04-05' + basis: tax + source_period_label: 2013 to 2014 + notes: 'Cars emitting 0 g/km are not in these statistics for this year: from April 2010 to April 2015 + they carried a zero-rate charge (note 3), and HMRC includes electric cars only from 2015 to 2016 + (commentary, section 6). Before April 2016 a few employers payrolled benefits informally; their + P11Ds were not processed electronically and are not in these statistics (commentary, section 8.1).' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 9 + expected_row_header_column: A + expected_row_header: Car benefit total taxable value (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 10 + expected_row_header_column: A + expected_row_header: Fuel benefit total taxable value (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 11 + expected_row_header_column: A + expected_row_header: Car and fuel benefit total taxable value (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: taxable_value + label: Taxable value + ordinal: 0 + column: D + source_column_id: taxable_value + expected_column_header_row: 5 + expected_column_header: 2013 to 2014 + concept: hmrc.benefit_in_kind_taxable_value + source_concept: hmrc.benefit_in_kind_taxable_value + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Taxable value, 2013 to 2014. The taxable value of the benefits reported. + HMRC compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars employers + payroll and report through Real Time Information (RTI), counting a car reported both ways once (background + quality report, section 3.5). ''The data in this table are not fully complete. Some company cars + are not included in the source data used to produce the statistics and are therefore excluded from + the tables. For more information please see the background documentation.'' ''Numbers and amounts + are rounded to the nearest 10'': amounts are in GBP million, so the rounding is to the nearest GBP + 10 million. A car''s taxable value is its list price with accessories times the appropriate percentage + for its CO2 emissions, and car fuel benefit is the car fuel benefit multiplier times the same percentage + (background quality report, section 2.4). The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2014 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2014.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2014 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2014 + period_coverage: + start_date: '2014-04-06' + end_date: '2015-04-05' + basis: tax + source_period_label: 2014 to 2015 + notes: 'Cars emitting 0 g/km are not in these statistics for this year: from April 2010 to April 2015 + they carried a zero-rate charge (note 3), and HMRC includes electric cars only from 2015 to 2016 + (commentary, section 6). Before April 2016 a few employers payrolled benefits informally; their + P11Ds were not processed electronically and are not in these statistics (commentary, section 8.1).' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 9 + expected_row_header_column: A + expected_row_header: Car benefit total taxable value (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 10 + expected_row_header_column: A + expected_row_header: Fuel benefit total taxable value (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 11 + expected_row_header_column: A + expected_row_header: Car and fuel benefit total taxable value (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: taxable_value + label: Taxable value + ordinal: 0 + column: E + source_column_id: taxable_value + expected_column_header_row: 5 + expected_column_header: 2014 to 2015 + concept: hmrc.benefit_in_kind_taxable_value + source_concept: hmrc.benefit_in_kind_taxable_value + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Taxable value, 2014 to 2015. The taxable value of the benefits reported. + HMRC compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars employers + payroll and report through Real Time Information (RTI), counting a car reported both ways once (background + quality report, section 3.5). ''The data in this table are not fully complete. Some company cars + are not included in the source data used to produce the statistics and are therefore excluded from + the tables. For more information please see the background documentation.'' ''Numbers and amounts + are rounded to the nearest 10'': amounts are in GBP million, so the rounding is to the nearest GBP + 10 million. A car''s taxable value is its list price with accessories times the appropriate percentage + for its CO2 emissions, and car fuel benefit is the car fuel benefit multiplier times the same percentage + (background quality report, section 2.4). The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2015 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2015.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2015 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2015 + period_coverage: + start_date: '2015-04-06' + end_date: '2016-04-05' + basis: tax + source_period_label: 2015 to 2016 + notes: Before April 2016 a few employers payrolled benefits informally; their P11Ds were not processed + electronically and are not in these statistics (commentary, section 8.1). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 9 + expected_row_header_column: A + expected_row_header: Car benefit total taxable value (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 10 + expected_row_header_column: A + expected_row_header: Fuel benefit total taxable value (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 11 + expected_row_header_column: A + expected_row_header: Car and fuel benefit total taxable value (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: taxable_value + label: Taxable value + ordinal: 0 + column: F + source_column_id: taxable_value + expected_column_header_row: 5 + expected_column_header: 2015 to 2016 + concept: hmrc.benefit_in_kind_taxable_value + source_concept: hmrc.benefit_in_kind_taxable_value + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Taxable value, 2015 to 2016. The taxable value of the benefits reported. + HMRC compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars employers + payroll and report through Real Time Information (RTI), counting a car reported both ways once (background + quality report, section 3.5). ''The data in this table are not fully complete. Some company cars + are not included in the source data used to produce the statistics and are therefore excluded from + the tables. For more information please see the background documentation.'' ''Numbers and amounts + are rounded to the nearest 10'': amounts are in GBP million, so the rounding is to the nearest GBP + 10 million. A car''s taxable value is its list price with accessories times the appropriate percentage + for its CO2 emissions, and car fuel benefit is the car fuel benefit multiplier times the same percentage + (background quality report, section 2.4). The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2016 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2016.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2016 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2016 + period_coverage: + start_date: '2016-04-06' + end_date: '2017-04-05' + basis: tax + source_period_label: 2016 to 2017 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. In + 2016 to 2017 payrolled cars could not be reported through RTI, so every voluntarily payrolled car + is missing. HMRC expects company car recipients to be under-reported in every year since April 2016 + (commentary, section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 9 + expected_row_header_column: A + expected_row_header: Car benefit total taxable value (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 10 + expected_row_header_column: A + expected_row_header: Fuel benefit total taxable value (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 11 + expected_row_header_column: A + expected_row_header: Car and fuel benefit total taxable value (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: taxable_value + label: Taxable value + ordinal: 0 + column: G + source_column_id: taxable_value + expected_column_header_row: 5 + expected_column_header: 2016 to 2017 + concept: hmrc.benefit_in_kind_taxable_value + source_concept: hmrc.benefit_in_kind_taxable_value + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Taxable value, 2016 to 2017. The taxable value of the benefits reported. + HMRC compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars employers + payroll and report through Real Time Information (RTI), counting a car reported both ways once (background + quality report, section 3.5). ''The data in this table are not fully complete. Some company cars + are not included in the source data used to produce the statistics and are therefore excluded from + the tables. For more information please see the background documentation.'' ''Numbers and amounts + are rounded to the nearest 10'': amounts are in GBP million, so the rounding is to the nearest GBP + 10 million. A car''s taxable value is its list price with accessories times the appropriate percentage + for its CO2 emissions, and car fuel benefit is the car fuel benefit multiplier times the same percentage + (background quality report, section 2.4). The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2017 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2017.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2017 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2017 + period_coverage: + start_date: '2017-04-06' + end_date: '2018-04-05' + basis: tax + source_period_label: 2017 to 2018 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. In + 2017 to 2018 reporting payrolled cars through RTI was voluntary, so the payrolled cars employers + chose not to report are missing. HMRC expects company car recipients to be under-reported in every + year since April 2016 (commentary, section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 9 + expected_row_header_column: A + expected_row_header: Car benefit total taxable value (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 10 + expected_row_header_column: A + expected_row_header: Fuel benefit total taxable value (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 11 + expected_row_header_column: A + expected_row_header: Car and fuel benefit total taxable value (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: taxable_value + label: Taxable value + ordinal: 0 + column: H + source_column_id: taxable_value + expected_column_header_row: 5 + expected_column_header: 2017 to 2018 + concept: hmrc.benefit_in_kind_taxable_value + source_concept: hmrc.benefit_in_kind_taxable_value + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Taxable value, 2017 to 2018. The taxable value of the benefits reported. + HMRC compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars employers + payroll and report through Real Time Information (RTI), counting a car reported both ways once (background + quality report, section 3.5). ''The data in this table are not fully complete. Some company cars + are not included in the source data used to produce the statistics and are therefore excluded from + the tables. For more information please see the background documentation.'' ''Numbers and amounts + are rounded to the nearest 10'': amounts are in GBP million, so the rounding is to the nearest GBP + 10 million. A car''s taxable value is its list price with accessories times the appropriate percentage + for its CO2 emissions, and car fuel benefit is the car fuel benefit multiplier times the same percentage + (background quality report, section 2.4). The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2018 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2018.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2018 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2018 + period_coverage: + start_date: '2018-04-06' + end_date: '2019-04-05' + basis: tax + source_period_label: 2018 to 2019 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 9 + expected_row_header_column: A + expected_row_header: Car benefit total taxable value (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 10 + expected_row_header_column: A + expected_row_header: Fuel benefit total taxable value (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 11 + expected_row_header_column: A + expected_row_header: Car and fuel benefit total taxable value (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: taxable_value + label: Taxable value + ordinal: 0 + column: I + source_column_id: taxable_value + expected_column_header_row: 5 + expected_column_header: 2018 to 2019 + concept: hmrc.benefit_in_kind_taxable_value + source_concept: hmrc.benefit_in_kind_taxable_value + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Taxable value, 2018 to 2019. The taxable value of the benefits reported. + HMRC compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars employers + payroll and report through Real Time Information (RTI), counting a car reported both ways once (background + quality report, section 3.5). ''The data in this table are not fully complete. Some company cars + are not included in the source data used to produce the statistics and are therefore excluded from + the tables. For more information please see the background documentation.'' ''Numbers and amounts + are rounded to the nearest 10'': amounts are in GBP million, so the rounding is to the nearest GBP + 10 million. A car''s taxable value is its list price with accessories times the appropriate percentage + for its CO2 emissions, and car fuel benefit is the car fuel benefit multiplier times the same percentage + (background quality report, section 2.4). The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2019 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2019.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2019 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2019 + period_coverage: + start_date: '2019-04-06' + end_date: '2020-04-05' + basis: tax + source_period_label: 2019 to 2020 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 9 + expected_row_header_column: A + expected_row_header: Car benefit total taxable value (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 10 + expected_row_header_column: A + expected_row_header: Fuel benefit total taxable value (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 11 + expected_row_header_column: A + expected_row_header: Car and fuel benefit total taxable value (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: taxable_value + label: Taxable value + ordinal: 0 + column: J + source_column_id: taxable_value + expected_column_header_row: 5 + expected_column_header: 2019 to 2020 + concept: hmrc.benefit_in_kind_taxable_value + source_concept: hmrc.benefit_in_kind_taxable_value + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Taxable value, 2019 to 2020. The taxable value of the benefits reported. + HMRC compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars employers + payroll and report through Real Time Information (RTI), counting a car reported both ways once (background + quality report, section 3.5). ''The data in this table are not fully complete. Some company cars + are not included in the source data used to produce the statistics and are therefore excluded from + the tables. For more information please see the background documentation.'' ''Numbers and amounts + are rounded to the nearest 10'': amounts are in GBP million, so the rounding is to the nearest GBP + 10 million. A car''s taxable value is its list price with accessories times the appropriate percentage + for its CO2 emissions, and car fuel benefit is the car fuel benefit multiplier times the same percentage + (background quality report, section 2.4). The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2020 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2020.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2020 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2020 + period_coverage: + start_date: '2020-04-06' + end_date: '2021-04-05' + basis: tax + source_period_label: 2020 to 2021 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 9 + expected_row_header_column: A + expected_row_header: Car benefit total taxable value (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 10 + expected_row_header_column: A + expected_row_header: Fuel benefit total taxable value (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 11 + expected_row_header_column: A + expected_row_header: Car and fuel benefit total taxable value (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: taxable_value + label: Taxable value + ordinal: 0 + column: K + source_column_id: taxable_value + expected_column_header_row: 5 + expected_column_header: 2020 to 2021 + concept: hmrc.benefit_in_kind_taxable_value + source_concept: hmrc.benefit_in_kind_taxable_value + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Taxable value, 2020 to 2021. The taxable value of the benefits reported. + HMRC compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars employers + payroll and report through Real Time Information (RTI), counting a car reported both ways once (background + quality report, section 3.5). ''The data in this table are not fully complete. Some company cars + are not included in the source data used to produce the statistics and are therefore excluded from + the tables. For more information please see the background documentation.'' ''Numbers and amounts + are rounded to the nearest 10'': amounts are in GBP million, so the rounding is to the nearest GBP + 10 million. A car''s taxable value is its list price with accessories times the appropriate percentage + for its CO2 emissions, and car fuel benefit is the car fuel benefit multiplier times the same percentage + (background quality report, section 2.4). The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2021 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2021.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2021 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2021 + period_coverage: + start_date: '2021-04-06' + end_date: '2022-04-05' + basis: tax + source_period_label: 2021 to 2022 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 9 + expected_row_header_column: A + expected_row_header: Car benefit total taxable value (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 10 + expected_row_header_column: A + expected_row_header: Fuel benefit total taxable value (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 11 + expected_row_header_column: A + expected_row_header: Car and fuel benefit total taxable value (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: taxable_value + label: Taxable value + ordinal: 0 + column: L + source_column_id: taxable_value + expected_column_header_row: 5 + expected_column_header: 2021 to 2022 + concept: hmrc.benefit_in_kind_taxable_value + source_concept: hmrc.benefit_in_kind_taxable_value + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Taxable value, 2021 to 2022. The taxable value of the benefits reported. + HMRC compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars employers + payroll and report through Real Time Information (RTI), counting a car reported both ways once (background + quality report, section 3.5). ''The data in this table are not fully complete. Some company cars + are not included in the source data used to produce the statistics and are therefore excluded from + the tables. For more information please see the background documentation.'' ''Numbers and amounts + are rounded to the nearest 10'': amounts are in GBP million, so the rounding is to the nearest GBP + 10 million. A car''s taxable value is its list price with accessories times the appropriate percentage + for its CO2 emissions, and car fuel benefit is the car fuel benefit multiplier times the same percentage + (background quality report, section 2.4). The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2022 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2022.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2022 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2022 + period_coverage: + start_date: '2022-04-06' + end_date: '2023-04-05' + basis: tax + source_period_label: 2022 to 2023 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 9 + expected_row_header_column: A + expected_row_header: Car benefit total taxable value (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 10 + expected_row_header_column: A + expected_row_header: Fuel benefit total taxable value (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 11 + expected_row_header_column: A + expected_row_header: Car and fuel benefit total taxable value (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: taxable_value + label: Taxable value + ordinal: 0 + column: M + source_column_id: taxable_value + expected_column_header_row: 5 + expected_column_header: 2022 to 2023 + concept: hmrc.benefit_in_kind_taxable_value + source_concept: hmrc.benefit_in_kind_taxable_value + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Taxable value, 2022 to 2023. The taxable value of the benefits reported. + HMRC compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars employers + payroll and report through Real Time Information (RTI), counting a car reported both ways once (background + quality report, section 3.5). ''The data in this table are not fully complete. Some company cars + are not included in the source data used to produce the statistics and are therefore excluded from + the tables. For more information please see the background documentation.'' ''Numbers and amounts + are rounded to the nearest 10'': amounts are in GBP million, so the rounding is to the nearest GBP + 10 million. A car''s taxable value is its list price with accessories times the appropriate percentage + for its CO2 emissions, and car fuel benefit is the car fuel benefit multiplier times the same percentage + (background quality report, section 2.4). The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2023 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2023.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2023 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2023 + period_coverage: + start_date: '2023-04-06' + end_date: '2024-04-05' + basis: tax + source_period_label: 2023 to 2024 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 9 + expected_row_header_column: A + expected_row_header: Car benefit total taxable value (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 10 + expected_row_header_column: A + expected_row_header: Fuel benefit total taxable value (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 11 + expected_row_header_column: A + expected_row_header: Car and fuel benefit total taxable value (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: taxable_value + label: Taxable value + ordinal: 0 + column: N + source_column_id: taxable_value + expected_column_header_row: 5 + expected_column_header: 2023 to 2024 + concept: hmrc.benefit_in_kind_taxable_value + source_concept: hmrc.benefit_in_kind_taxable_value + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Taxable value, 2023 to 2024. The taxable value of the benefits reported. + HMRC compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars employers + payroll and report through Real Time Information (RTI), counting a car reported both ways once (background + quality report, section 3.5). ''The data in this table are not fully complete. Some company cars + are not included in the source data used to produce the statistics and are therefore excluded from + the tables. For more information please see the background documentation.'' ''Numbers and amounts + are rounded to the nearest 10'': amounts are in GBP million, so the rounding is to the nearest GBP + 10 million. A car''s taxable value is its list price with accessories times the appropriate percentage + for its CO2 emissions, and car fuel benefit is the car fuel benefit multiplier times the same percentage + (background quality report, section 2.4). The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2024 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2024.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.taxable_value.ty2024 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2024 + period_coverage: + start_date: '2024-04-06' + end_date: '2025-04-05' + basis: tax + source_period_label: 2024 to 2025 [note 1] + notes: 'From April 2016 employers could payroll company cars instead of reporting them on a P11D. + From April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. + HMRC expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). HMRC marks 2024 to 2025 provisional (note 1): its figures come from an initial extract + of the Expenses and Benefits data and may be revised.' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 9 + expected_row_header_column: A + expected_row_header: Car benefit total taxable value (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 10 + expected_row_header_column: A + expected_row_header: Fuel benefit total taxable value (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 11 + expected_row_header_column: A + expected_row_header: Car and fuel benefit total taxable value (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: taxable_value + label: Taxable value + ordinal: 0 + column: O + source_column_id: taxable_value + expected_column_header_row: 5 + expected_column_header: 2024 to 2025 [note 1] + concept: hmrc.benefit_in_kind_taxable_value + source_concept: hmrc.benefit_in_kind_taxable_value + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Taxable value, 2024 to 2025 [note 1]. The taxable value of the benefits + reported. HMRC compiles these from employers'' P11D returns and, from 2017 to 2018, the company + cars employers payroll and report through Real Time Information (RTI), counting a car reported both + ways once (background quality report, section 3.5). ''The data in this table are not fully complete. + Some company cars are not included in the source data used to produce the statistics and are therefore + excluded from the tables. For more information please see the background documentation.'' ''Numbers + and amounts are rounded to the nearest 10'': amounts are in GBP million, so the rounding is to the + nearest GBP 10 million. A car''s taxable value is its list price with accessories times the appropriate + percentage for its CO2 emissions, and car fuel benefit is the car fuel benefit multiplier times + the same percentage (background quality report, section 2.4). The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2011 + provenance_class: model_output + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2011.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2011 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2011 + period_coverage: + start_date: '2011-04-06' + end_date: '2012-04-05' + basis: tax + source_period_label: 2011 to 2012 + notes: 'Cars emitting 0 g/km are not in these statistics for this year: from April 2010 to April 2015 + they carried a zero-rate charge (note 3), and HMRC includes electric cars only from 2015 to 2016 + (commentary, section 6). Before April 2016 a few employers payrolled benefits informally; their + P11Ds were not processed electronically and are not in these statistics (commentary, section 8.1).' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 12 + expected_row_header_column: A + expected_row_header: Car benefit total Income Tax liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 13 + expected_row_header_column: A + expected_row_header: Fuel benefit total Income Tax liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 14 + expected_row_header_column: A + expected_row_header: Car and car fuel benefit total Income Tax liability (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: income_tax_liability + label: Income Tax liability + ordinal: 0 + column: B + source_column_id: income_tax_liability + expected_column_header_row: 5 + expected_column_header: 2011 to 2012 + concept: hmrc.benefit_in_kind_income_tax_liability + source_concept: hmrc.benefit_in_kind_income_tax_liability + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Income Tax liability, 2011 to 2012. HMRC estimates the liability + for each Survey of Personal Incomes (SPI) case matched to the P11D and RTI records as the difference + between the liabilities with and without the benefit, which ''effectively considers the benefit + in kind as the final marginal element of income''; it grosses the cases up, divides by the grossed + benefit to get an average rate per pound of benefit, and applies that rate to the whole taxable + value (background quality report, section 3.5). ''The data in this table are not fully complete. + Some company cars are not included in the source data used to produce the statistics and are therefore + excluded from the tables. For more information please see the background documentation.'' ''Numbers + and amounts are rounded to the nearest 10'': amounts are in GBP million, so the rounding is to the + nearest GBP 10 million. The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2012 + provenance_class: model_output + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2012.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2012 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2012 + period_coverage: + start_date: '2012-04-06' + end_date: '2013-04-05' + basis: tax + source_period_label: 2012 to 2013 + notes: 'Cars emitting 0 g/km are not in these statistics for this year: from April 2010 to April 2015 + they carried a zero-rate charge (note 3), and HMRC includes electric cars only from 2015 to 2016 + (commentary, section 6). Before April 2016 a few employers payrolled benefits informally; their + P11Ds were not processed electronically and are not in these statistics (commentary, section 8.1).' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 12 + expected_row_header_column: A + expected_row_header: Car benefit total Income Tax liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 13 + expected_row_header_column: A + expected_row_header: Fuel benefit total Income Tax liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 14 + expected_row_header_column: A + expected_row_header: Car and car fuel benefit total Income Tax liability (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: income_tax_liability + label: Income Tax liability + ordinal: 0 + column: C + source_column_id: income_tax_liability + expected_column_header_row: 5 + expected_column_header: 2012 to 2013 + concept: hmrc.benefit_in_kind_income_tax_liability + source_concept: hmrc.benefit_in_kind_income_tax_liability + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Income Tax liability, 2012 to 2013. HMRC estimates the liability + for each Survey of Personal Incomes (SPI) case matched to the P11D and RTI records as the difference + between the liabilities with and without the benefit, which ''effectively considers the benefit + in kind as the final marginal element of income''; it grosses the cases up, divides by the grossed + benefit to get an average rate per pound of benefit, and applies that rate to the whole taxable + value (background quality report, section 3.5). ''The data in this table are not fully complete. + Some company cars are not included in the source data used to produce the statistics and are therefore + excluded from the tables. For more information please see the background documentation.'' ''Numbers + and amounts are rounded to the nearest 10'': amounts are in GBP million, so the rounding is to the + nearest GBP 10 million. The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2013 + provenance_class: model_output + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2013.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2013 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2013 + period_coverage: + start_date: '2013-04-06' + end_date: '2014-04-05' + basis: tax + source_period_label: 2013 to 2014 + notes: 'Cars emitting 0 g/km are not in these statistics for this year: from April 2010 to April 2015 + they carried a zero-rate charge (note 3), and HMRC includes electric cars only from 2015 to 2016 + (commentary, section 6). Before April 2016 a few employers payrolled benefits informally; their + P11Ds were not processed electronically and are not in these statistics (commentary, section 8.1).' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 12 + expected_row_header_column: A + expected_row_header: Car benefit total Income Tax liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 13 + expected_row_header_column: A + expected_row_header: Fuel benefit total Income Tax liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 14 + expected_row_header_column: A + expected_row_header: Car and car fuel benefit total Income Tax liability (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: income_tax_liability + label: Income Tax liability + ordinal: 0 + column: D + source_column_id: income_tax_liability + expected_column_header_row: 5 + expected_column_header: 2013 to 2014 + concept: hmrc.benefit_in_kind_income_tax_liability + source_concept: hmrc.benefit_in_kind_income_tax_liability + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Income Tax liability, 2013 to 2014. HMRC estimates the liability + for each Survey of Personal Incomes (SPI) case matched to the P11D and RTI records as the difference + between the liabilities with and without the benefit, which ''effectively considers the benefit + in kind as the final marginal element of income''; it grosses the cases up, divides by the grossed + benefit to get an average rate per pound of benefit, and applies that rate to the whole taxable + value (background quality report, section 3.5). ''The data in this table are not fully complete. + Some company cars are not included in the source data used to produce the statistics and are therefore + excluded from the tables. For more information please see the background documentation.'' ''Numbers + and amounts are rounded to the nearest 10'': amounts are in GBP million, so the rounding is to the + nearest GBP 10 million. The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2014 + provenance_class: model_output + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2014.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2014 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2014 + period_coverage: + start_date: '2014-04-06' + end_date: '2015-04-05' + basis: tax + source_period_label: 2014 to 2015 + notes: 'Cars emitting 0 g/km are not in these statistics for this year: from April 2010 to April 2015 + they carried a zero-rate charge (note 3), and HMRC includes electric cars only from 2015 to 2016 + (commentary, section 6). Before April 2016 a few employers payrolled benefits informally; their + P11Ds were not processed electronically and are not in these statistics (commentary, section 8.1).' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 12 + expected_row_header_column: A + expected_row_header: Car benefit total Income Tax liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 13 + expected_row_header_column: A + expected_row_header: Fuel benefit total Income Tax liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 14 + expected_row_header_column: A + expected_row_header: Car and car fuel benefit total Income Tax liability (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: income_tax_liability + label: Income Tax liability + ordinal: 0 + column: E + source_column_id: income_tax_liability + expected_column_header_row: 5 + expected_column_header: 2014 to 2015 + concept: hmrc.benefit_in_kind_income_tax_liability + source_concept: hmrc.benefit_in_kind_income_tax_liability + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Income Tax liability, 2014 to 2015. HMRC estimates the liability + for each Survey of Personal Incomes (SPI) case matched to the P11D and RTI records as the difference + between the liabilities with and without the benefit, which ''effectively considers the benefit + in kind as the final marginal element of income''; it grosses the cases up, divides by the grossed + benefit to get an average rate per pound of benefit, and applies that rate to the whole taxable + value (background quality report, section 3.5). ''The data in this table are not fully complete. + Some company cars are not included in the source data used to produce the statistics and are therefore + excluded from the tables. For more information please see the background documentation.'' ''Numbers + and amounts are rounded to the nearest 10'': amounts are in GBP million, so the rounding is to the + nearest GBP 10 million. The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2015 + provenance_class: model_output + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2015.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2015 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2015 + period_coverage: + start_date: '2015-04-06' + end_date: '2016-04-05' + basis: tax + source_period_label: 2015 to 2016 + notes: Before April 2016 a few employers payrolled benefits informally; their P11Ds were not processed + electronically and are not in these statistics (commentary, section 8.1). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 12 + expected_row_header_column: A + expected_row_header: Car benefit total Income Tax liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 13 + expected_row_header_column: A + expected_row_header: Fuel benefit total Income Tax liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 14 + expected_row_header_column: A + expected_row_header: Car and car fuel benefit total Income Tax liability (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: income_tax_liability + label: Income Tax liability + ordinal: 0 + column: F + source_column_id: income_tax_liability + expected_column_header_row: 5 + expected_column_header: 2015 to 2016 + concept: hmrc.benefit_in_kind_income_tax_liability + source_concept: hmrc.benefit_in_kind_income_tax_liability + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Income Tax liability, 2015 to 2016. HMRC estimates the liability + for each Survey of Personal Incomes (SPI) case matched to the P11D and RTI records as the difference + between the liabilities with and without the benefit, which ''effectively considers the benefit + in kind as the final marginal element of income''; it grosses the cases up, divides by the grossed + benefit to get an average rate per pound of benefit, and applies that rate to the whole taxable + value (background quality report, section 3.5). ''The data in this table are not fully complete. + Some company cars are not included in the source data used to produce the statistics and are therefore + excluded from the tables. For more information please see the background documentation.'' ''Numbers + and amounts are rounded to the nearest 10'': amounts are in GBP million, so the rounding is to the + nearest GBP 10 million. The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2016 + provenance_class: model_output + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2016.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2016 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2016 + period_coverage: + start_date: '2016-04-06' + end_date: '2017-04-05' + basis: tax + source_period_label: 2016 to 2017 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. In + 2016 to 2017 payrolled cars could not be reported through RTI, so every voluntarily payrolled car + is missing. HMRC expects company car recipients to be under-reported in every year since April 2016 + (commentary, section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 12 + expected_row_header_column: A + expected_row_header: Car benefit total Income Tax liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 13 + expected_row_header_column: A + expected_row_header: Fuel benefit total Income Tax liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 14 + expected_row_header_column: A + expected_row_header: Car and car fuel benefit total Income Tax liability (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: income_tax_liability + label: Income Tax liability + ordinal: 0 + column: G + source_column_id: income_tax_liability + expected_column_header_row: 5 + expected_column_header: 2016 to 2017 + concept: hmrc.benefit_in_kind_income_tax_liability + source_concept: hmrc.benefit_in_kind_income_tax_liability + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Income Tax liability, 2016 to 2017. HMRC estimates the liability + for each Survey of Personal Incomes (SPI) case matched to the P11D and RTI records as the difference + between the liabilities with and without the benefit, which ''effectively considers the benefit + in kind as the final marginal element of income''; it grosses the cases up, divides by the grossed + benefit to get an average rate per pound of benefit, and applies that rate to the whole taxable + value (background quality report, section 3.5). ''The data in this table are not fully complete. + Some company cars are not included in the source data used to produce the statistics and are therefore + excluded from the tables. For more information please see the background documentation.'' ''Numbers + and amounts are rounded to the nearest 10'': amounts are in GBP million, so the rounding is to the + nearest GBP 10 million. The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2017 + provenance_class: model_output + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2017.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2017 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2017 + period_coverage: + start_date: '2017-04-06' + end_date: '2018-04-05' + basis: tax + source_period_label: 2017 to 2018 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. In + 2017 to 2018 reporting payrolled cars through RTI was voluntary, so the payrolled cars employers + chose not to report are missing. HMRC expects company car recipients to be under-reported in every + year since April 2016 (commentary, section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 12 + expected_row_header_column: A + expected_row_header: Car benefit total Income Tax liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 13 + expected_row_header_column: A + expected_row_header: Fuel benefit total Income Tax liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 14 + expected_row_header_column: A + expected_row_header: Car and car fuel benefit total Income Tax liability (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: income_tax_liability + label: Income Tax liability + ordinal: 0 + column: H + source_column_id: income_tax_liability + expected_column_header_row: 5 + expected_column_header: 2017 to 2018 + concept: hmrc.benefit_in_kind_income_tax_liability + source_concept: hmrc.benefit_in_kind_income_tax_liability + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Income Tax liability, 2017 to 2018. HMRC estimates the liability + for each Survey of Personal Incomes (SPI) case matched to the P11D and RTI records as the difference + between the liabilities with and without the benefit, which ''effectively considers the benefit + in kind as the final marginal element of income''; it grosses the cases up, divides by the grossed + benefit to get an average rate per pound of benefit, and applies that rate to the whole taxable + value (background quality report, section 3.5). ''The data in this table are not fully complete. + Some company cars are not included in the source data used to produce the statistics and are therefore + excluded from the tables. For more information please see the background documentation.'' ''Numbers + and amounts are rounded to the nearest 10'': amounts are in GBP million, so the rounding is to the + nearest GBP 10 million. The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2018 + provenance_class: model_output + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2018.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2018 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2018 + period_coverage: + start_date: '2018-04-06' + end_date: '2019-04-05' + basis: tax + source_period_label: 2018 to 2019 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 12 + expected_row_header_column: A + expected_row_header: Car benefit total Income Tax liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 13 + expected_row_header_column: A + expected_row_header: Fuel benefit total Income Tax liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 14 + expected_row_header_column: A + expected_row_header: Car and car fuel benefit total Income Tax liability (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: income_tax_liability + label: Income Tax liability + ordinal: 0 + column: I + source_column_id: income_tax_liability + expected_column_header_row: 5 + expected_column_header: 2018 to 2019 + concept: hmrc.benefit_in_kind_income_tax_liability + source_concept: hmrc.benefit_in_kind_income_tax_liability + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Income Tax liability, 2018 to 2019. HMRC estimates the liability + for each Survey of Personal Incomes (SPI) case matched to the P11D and RTI records as the difference + between the liabilities with and without the benefit, which ''effectively considers the benefit + in kind as the final marginal element of income''; it grosses the cases up, divides by the grossed + benefit to get an average rate per pound of benefit, and applies that rate to the whole taxable + value (background quality report, section 3.5). ''The data in this table are not fully complete. + Some company cars are not included in the source data used to produce the statistics and are therefore + excluded from the tables. For more information please see the background documentation.'' ''Numbers + and amounts are rounded to the nearest 10'': amounts are in GBP million, so the rounding is to the + nearest GBP 10 million. The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2019 + provenance_class: model_output + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2019.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2019 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2019 + period_coverage: + start_date: '2019-04-06' + end_date: '2020-04-05' + basis: tax + source_period_label: 2019 to 2020 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 12 + expected_row_header_column: A + expected_row_header: Car benefit total Income Tax liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 13 + expected_row_header_column: A + expected_row_header: Fuel benefit total Income Tax liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 14 + expected_row_header_column: A + expected_row_header: Car and car fuel benefit total Income Tax liability (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: income_tax_liability + label: Income Tax liability + ordinal: 0 + column: J + source_column_id: income_tax_liability + expected_column_header_row: 5 + expected_column_header: 2019 to 2020 + concept: hmrc.benefit_in_kind_income_tax_liability + source_concept: hmrc.benefit_in_kind_income_tax_liability + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Income Tax liability, 2019 to 2020. HMRC estimates the liability + for each Survey of Personal Incomes (SPI) case matched to the P11D and RTI records as the difference + between the liabilities with and without the benefit, which ''effectively considers the benefit + in kind as the final marginal element of income''; it grosses the cases up, divides by the grossed + benefit to get an average rate per pound of benefit, and applies that rate to the whole taxable + value (background quality report, section 3.5). ''The data in this table are not fully complete. + Some company cars are not included in the source data used to produce the statistics and are therefore + excluded from the tables. For more information please see the background documentation.'' ''Numbers + and amounts are rounded to the nearest 10'': amounts are in GBP million, so the rounding is to the + nearest GBP 10 million. The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2020 + provenance_class: model_output + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2020.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2020 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2020 + period_coverage: + start_date: '2020-04-06' + end_date: '2021-04-05' + basis: tax + source_period_label: 2020 to 2021 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 12 + expected_row_header_column: A + expected_row_header: Car benefit total Income Tax liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 13 + expected_row_header_column: A + expected_row_header: Fuel benefit total Income Tax liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 14 + expected_row_header_column: A + expected_row_header: Car and car fuel benefit total Income Tax liability (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: income_tax_liability + label: Income Tax liability + ordinal: 0 + column: K + source_column_id: income_tax_liability + expected_column_header_row: 5 + expected_column_header: 2020 to 2021 + concept: hmrc.benefit_in_kind_income_tax_liability + source_concept: hmrc.benefit_in_kind_income_tax_liability + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Income Tax liability, 2020 to 2021. HMRC estimates the liability + for each Survey of Personal Incomes (SPI) case matched to the P11D and RTI records as the difference + between the liabilities with and without the benefit, which ''effectively considers the benefit + in kind as the final marginal element of income''; it grosses the cases up, divides by the grossed + benefit to get an average rate per pound of benefit, and applies that rate to the whole taxable + value (background quality report, section 3.5). ''The data in this table are not fully complete. + Some company cars are not included in the source data used to produce the statistics and are therefore + excluded from the tables. For more information please see the background documentation.'' ''Numbers + and amounts are rounded to the nearest 10'': amounts are in GBP million, so the rounding is to the + nearest GBP 10 million. The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2021 + provenance_class: model_output + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2021.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2021 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2021 + period_coverage: + start_date: '2021-04-06' + end_date: '2022-04-05' + basis: tax + source_period_label: 2021 to 2022 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 12 + expected_row_header_column: A + expected_row_header: Car benefit total Income Tax liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 13 + expected_row_header_column: A + expected_row_header: Fuel benefit total Income Tax liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 14 + expected_row_header_column: A + expected_row_header: Car and car fuel benefit total Income Tax liability (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: income_tax_liability + label: Income Tax liability + ordinal: 0 + column: L + source_column_id: income_tax_liability + expected_column_header_row: 5 + expected_column_header: 2021 to 2022 + concept: hmrc.benefit_in_kind_income_tax_liability + source_concept: hmrc.benefit_in_kind_income_tax_liability + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Income Tax liability, 2021 to 2022. HMRC estimates the liability + for each Survey of Personal Incomes (SPI) case matched to the P11D and RTI records as the difference + between the liabilities with and without the benefit, which ''effectively considers the benefit + in kind as the final marginal element of income''; it grosses the cases up, divides by the grossed + benefit to get an average rate per pound of benefit, and applies that rate to the whole taxable + value (background quality report, section 3.5). ''The data in this table are not fully complete. + Some company cars are not included in the source data used to produce the statistics and are therefore + excluded from the tables. For more information please see the background documentation.'' ''Numbers + and amounts are rounded to the nearest 10'': amounts are in GBP million, so the rounding is to the + nearest GBP 10 million. The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2022 + provenance_class: model_output + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2022.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2022 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2022 + period_coverage: + start_date: '2022-04-06' + end_date: '2023-04-05' + basis: tax + source_period_label: 2022 to 2023 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 12 + expected_row_header_column: A + expected_row_header: Car benefit total Income Tax liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 13 + expected_row_header_column: A + expected_row_header: Fuel benefit total Income Tax liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 14 + expected_row_header_column: A + expected_row_header: Car and car fuel benefit total Income Tax liability (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: income_tax_liability + label: Income Tax liability + ordinal: 0 + column: M + source_column_id: income_tax_liability + expected_column_header_row: 5 + expected_column_header: 2022 to 2023 + concept: hmrc.benefit_in_kind_income_tax_liability + source_concept: hmrc.benefit_in_kind_income_tax_liability + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Income Tax liability, 2022 to 2023. HMRC estimates the liability + for each Survey of Personal Incomes (SPI) case matched to the P11D and RTI records as the difference + between the liabilities with and without the benefit, which ''effectively considers the benefit + in kind as the final marginal element of income''; it grosses the cases up, divides by the grossed + benefit to get an average rate per pound of benefit, and applies that rate to the whole taxable + value (background quality report, section 3.5). ''The data in this table are not fully complete. + Some company cars are not included in the source data used to produce the statistics and are therefore + excluded from the tables. For more information please see the background documentation.'' ''Numbers + and amounts are rounded to the nearest 10'': amounts are in GBP million, so the rounding is to the + nearest GBP 10 million. The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2023 + provenance_class: model_output + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2023.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2023 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2023 + period_coverage: + start_date: '2023-04-06' + end_date: '2024-04-05' + basis: tax + source_period_label: 2023 to 2024 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 12 + expected_row_header_column: A + expected_row_header: Car benefit total Income Tax liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 13 + expected_row_header_column: A + expected_row_header: Fuel benefit total Income Tax liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 14 + expected_row_header_column: A + expected_row_header: Car and car fuel benefit total Income Tax liability (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: income_tax_liability + label: Income Tax liability + ordinal: 0 + column: N + source_column_id: income_tax_liability + expected_column_header_row: 5 + expected_column_header: 2023 to 2024 + concept: hmrc.benefit_in_kind_income_tax_liability + source_concept: hmrc.benefit_in_kind_income_tax_liability + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Income Tax liability, 2023 to 2024. HMRC estimates the liability + for each Survey of Personal Incomes (SPI) case matched to the P11D and RTI records as the difference + between the liabilities with and without the benefit, which ''effectively considers the benefit + in kind as the final marginal element of income''; it grosses the cases up, divides by the grossed + benefit to get an average rate per pound of benefit, and applies that rate to the whole taxable + value (background quality report, section 3.5). ''The data in this table are not fully complete. + Some company cars are not included in the source data used to produce the statistics and are therefore + excluded from the tables. For more information please see the background documentation.'' ''Numbers + and amounts are rounded to the nearest 10'': amounts are in GBP million, so the rounding is to the + nearest GBP 10 million. The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2024 + provenance_class: model_output + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2024.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.income_tax_liability.ty2024 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2024 + period_coverage: + start_date: '2024-04-06' + end_date: '2025-04-05' + basis: tax + source_period_label: 2024 to 2025 [note 1] + notes: 'From April 2016 employers could payroll company cars instead of reporting them on a P11D. + From April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. + HMRC expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). HMRC marks 2024 to 2025 provisional (note 1): its figures come from an initial extract + of the Expenses and Benefits data and may be revised. HMRC bases this year''s Income Tax and NIC + figures on projections of the Survey of Personal Incomes (commentary, section 1): the latest SPI + is ''projected forward one year to help produce the provisional tax liability estimates that appear + in Table 1'' (background quality report, section 3.5).' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 12 + expected_row_header_column: A + expected_row_header: Car benefit total Income Tax liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 13 + expected_row_header_column: A + expected_row_header: Fuel benefit total Income Tax liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 14 + expected_row_header_column: A + expected_row_header: Car and car fuel benefit total Income Tax liability (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: income_tax_liability + label: Income Tax liability + ordinal: 0 + column: O + source_column_id: income_tax_liability + expected_column_header_row: 5 + expected_column_header: 2024 to 2025 [note 1] + concept: hmrc.benefit_in_kind_income_tax_liability + source_concept: hmrc.benefit_in_kind_income_tax_liability + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Income Tax liability, 2024 to 2025 [note 1]. HMRC estimates the + liability for each Survey of Personal Incomes (SPI) case matched to the P11D and RTI records as + the difference between the liabilities with and without the benefit, which ''effectively considers + the benefit in kind as the final marginal element of income''; it grosses the cases up, divides + by the grossed benefit to get an average rate per pound of benefit, and applies that rate to the + whole taxable value (background quality report, section 3.5). ''The data in this table are not fully + complete. Some company cars are not included in the source data used to produce the statistics and + are therefore excluded from the tables. For more information please see the background documentation.'' + ''Numbers and amounts are rounded to the nearest 10'': amounts are in GBP million, so the rounding + is to the nearest GBP 10 million. The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2011 + provenance_class: model_output + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2011.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2011 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2011 + period_coverage: + start_date: '2011-04-06' + end_date: '2012-04-05' + basis: tax + source_period_label: 2011 to 2012 + notes: 'Cars emitting 0 g/km are not in these statistics for this year: from April 2010 to April 2015 + they carried a zero-rate charge (note 3), and HMRC includes electric cars only from 2015 to 2016 + (commentary, section 6). Before April 2016 a few employers payrolled benefits informally; their + P11Ds were not processed electronically and are not in these statistics (commentary, section 8.1).' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 15 + expected_row_header_column: A + expected_row_header: Car benefit total NIC liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 16 + expected_row_header_column: A + expected_row_header: Fuel benefit total NIC liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 17 + expected_row_header_column: A + expected_row_header: Car and fuel benefit total NIC liability (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: class_1a_nic_liability + label: Class 1A NIC liability + ordinal: 0 + column: B + source_column_id: class_1a_nic_liability + expected_column_header_row: 5 + expected_column_header: 2011 to 2012 + concept: hmrc.benefit_in_kind_class_1a_nic_liability + source_concept: hmrc.benefit_in_kind_class_1a_nic_liability + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Class 1A NIC liability, 2011 to 2012. Class 1A National Insurance + contributions, which employers pay on the benefits; employees pay no NICs on car or car fuel benefit + (background quality report, section 2.4). HMRC estimates the liability for each Survey of Personal + Incomes (SPI) case matched to the P11D and RTI records as the difference between the liabilities + with and without the benefit, which ''effectively considers the benefit in kind as the final marginal + element of income''; it grosses the cases up, divides by the grossed benefit to get an average rate + per pound of benefit, and applies that rate to the whole taxable value (background quality report, + section 3.5). ''The data in this table are not fully complete. Some company cars are not included + in the source data used to produce the statistics and are therefore excluded from the tables. For + more information please see the background documentation.'' ''Numbers and amounts are rounded to + the nearest 10'': amounts are in GBP million, so the rounding is to the nearest GBP 10 million. + The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2012 + provenance_class: model_output + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2012.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2012 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2012 + period_coverage: + start_date: '2012-04-06' + end_date: '2013-04-05' + basis: tax + source_period_label: 2012 to 2013 + notes: 'Cars emitting 0 g/km are not in these statistics for this year: from April 2010 to April 2015 + they carried a zero-rate charge (note 3), and HMRC includes electric cars only from 2015 to 2016 + (commentary, section 6). Before April 2016 a few employers payrolled benefits informally; their + P11Ds were not processed electronically and are not in these statistics (commentary, section 8.1).' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 15 + expected_row_header_column: A + expected_row_header: Car benefit total NIC liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 16 + expected_row_header_column: A + expected_row_header: Fuel benefit total NIC liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 17 + expected_row_header_column: A + expected_row_header: Car and fuel benefit total NIC liability (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: class_1a_nic_liability + label: Class 1A NIC liability + ordinal: 0 + column: C + source_column_id: class_1a_nic_liability + expected_column_header_row: 5 + expected_column_header: 2012 to 2013 + concept: hmrc.benefit_in_kind_class_1a_nic_liability + source_concept: hmrc.benefit_in_kind_class_1a_nic_liability + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Class 1A NIC liability, 2012 to 2013. Class 1A National Insurance + contributions, which employers pay on the benefits; employees pay no NICs on car or car fuel benefit + (background quality report, section 2.4). HMRC estimates the liability for each Survey of Personal + Incomes (SPI) case matched to the P11D and RTI records as the difference between the liabilities + with and without the benefit, which ''effectively considers the benefit in kind as the final marginal + element of income''; it grosses the cases up, divides by the grossed benefit to get an average rate + per pound of benefit, and applies that rate to the whole taxable value (background quality report, + section 3.5). ''The data in this table are not fully complete. Some company cars are not included + in the source data used to produce the statistics and are therefore excluded from the tables. For + more information please see the background documentation.'' ''Numbers and amounts are rounded to + the nearest 10'': amounts are in GBP million, so the rounding is to the nearest GBP 10 million. + The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2013 + provenance_class: model_output + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2013.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2013 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2013 + period_coverage: + start_date: '2013-04-06' + end_date: '2014-04-05' + basis: tax + source_period_label: 2013 to 2014 + notes: 'Cars emitting 0 g/km are not in these statistics for this year: from April 2010 to April 2015 + they carried a zero-rate charge (note 3), and HMRC includes electric cars only from 2015 to 2016 + (commentary, section 6). Before April 2016 a few employers payrolled benefits informally; their + P11Ds were not processed electronically and are not in these statistics (commentary, section 8.1).' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 15 + expected_row_header_column: A + expected_row_header: Car benefit total NIC liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 16 + expected_row_header_column: A + expected_row_header: Fuel benefit total NIC liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 17 + expected_row_header_column: A + expected_row_header: Car and fuel benefit total NIC liability (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: class_1a_nic_liability + label: Class 1A NIC liability + ordinal: 0 + column: D + source_column_id: class_1a_nic_liability + expected_column_header_row: 5 + expected_column_header: 2013 to 2014 + concept: hmrc.benefit_in_kind_class_1a_nic_liability + source_concept: hmrc.benefit_in_kind_class_1a_nic_liability + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Class 1A NIC liability, 2013 to 2014. Class 1A National Insurance + contributions, which employers pay on the benefits; employees pay no NICs on car or car fuel benefit + (background quality report, section 2.4). HMRC estimates the liability for each Survey of Personal + Incomes (SPI) case matched to the P11D and RTI records as the difference between the liabilities + with and without the benefit, which ''effectively considers the benefit in kind as the final marginal + element of income''; it grosses the cases up, divides by the grossed benefit to get an average rate + per pound of benefit, and applies that rate to the whole taxable value (background quality report, + section 3.5). ''The data in this table are not fully complete. Some company cars are not included + in the source data used to produce the statistics and are therefore excluded from the tables. For + more information please see the background documentation.'' ''Numbers and amounts are rounded to + the nearest 10'': amounts are in GBP million, so the rounding is to the nearest GBP 10 million. + The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2014 + provenance_class: model_output + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2014.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2014 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2014 + period_coverage: + start_date: '2014-04-06' + end_date: '2015-04-05' + basis: tax + source_period_label: 2014 to 2015 + notes: 'Cars emitting 0 g/km are not in these statistics for this year: from April 2010 to April 2015 + they carried a zero-rate charge (note 3), and HMRC includes electric cars only from 2015 to 2016 + (commentary, section 6). Before April 2016 a few employers payrolled benefits informally; their + P11Ds were not processed electronically and are not in these statistics (commentary, section 8.1).' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 15 + expected_row_header_column: A + expected_row_header: Car benefit total NIC liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 16 + expected_row_header_column: A + expected_row_header: Fuel benefit total NIC liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 17 + expected_row_header_column: A + expected_row_header: Car and fuel benefit total NIC liability (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: class_1a_nic_liability + label: Class 1A NIC liability + ordinal: 0 + column: E + source_column_id: class_1a_nic_liability + expected_column_header_row: 5 + expected_column_header: 2014 to 2015 + concept: hmrc.benefit_in_kind_class_1a_nic_liability + source_concept: hmrc.benefit_in_kind_class_1a_nic_liability + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Class 1A NIC liability, 2014 to 2015. Class 1A National Insurance + contributions, which employers pay on the benefits; employees pay no NICs on car or car fuel benefit + (background quality report, section 2.4). HMRC estimates the liability for each Survey of Personal + Incomes (SPI) case matched to the P11D and RTI records as the difference between the liabilities + with and without the benefit, which ''effectively considers the benefit in kind as the final marginal + element of income''; it grosses the cases up, divides by the grossed benefit to get an average rate + per pound of benefit, and applies that rate to the whole taxable value (background quality report, + section 3.5). ''The data in this table are not fully complete. Some company cars are not included + in the source data used to produce the statistics and are therefore excluded from the tables. For + more information please see the background documentation.'' ''Numbers and amounts are rounded to + the nearest 10'': amounts are in GBP million, so the rounding is to the nearest GBP 10 million. + The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2015 + provenance_class: model_output + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2015.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2015 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2015 + period_coverage: + start_date: '2015-04-06' + end_date: '2016-04-05' + basis: tax + source_period_label: 2015 to 2016 + notes: Before April 2016 a few employers payrolled benefits informally; their P11Ds were not processed + electronically and are not in these statistics (commentary, section 8.1). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 15 + expected_row_header_column: A + expected_row_header: Car benefit total NIC liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 16 + expected_row_header_column: A + expected_row_header: Fuel benefit total NIC liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 17 + expected_row_header_column: A + expected_row_header: Car and fuel benefit total NIC liability (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: class_1a_nic_liability + label: Class 1A NIC liability + ordinal: 0 + column: F + source_column_id: class_1a_nic_liability + expected_column_header_row: 5 + expected_column_header: 2015 to 2016 + concept: hmrc.benefit_in_kind_class_1a_nic_liability + source_concept: hmrc.benefit_in_kind_class_1a_nic_liability + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Class 1A NIC liability, 2015 to 2016. Class 1A National Insurance + contributions, which employers pay on the benefits; employees pay no NICs on car or car fuel benefit + (background quality report, section 2.4). HMRC estimates the liability for each Survey of Personal + Incomes (SPI) case matched to the P11D and RTI records as the difference between the liabilities + with and without the benefit, which ''effectively considers the benefit in kind as the final marginal + element of income''; it grosses the cases up, divides by the grossed benefit to get an average rate + per pound of benefit, and applies that rate to the whole taxable value (background quality report, + section 3.5). ''The data in this table are not fully complete. Some company cars are not included + in the source data used to produce the statistics and are therefore excluded from the tables. For + more information please see the background documentation.'' ''Numbers and amounts are rounded to + the nearest 10'': amounts are in GBP million, so the rounding is to the nearest GBP 10 million. + The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2016 + provenance_class: model_output + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2016.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2016 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2016 + period_coverage: + start_date: '2016-04-06' + end_date: '2017-04-05' + basis: tax + source_period_label: 2016 to 2017 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. In + 2016 to 2017 payrolled cars could not be reported through RTI, so every voluntarily payrolled car + is missing. HMRC expects company car recipients to be under-reported in every year since April 2016 + (commentary, section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 15 + expected_row_header_column: A + expected_row_header: Car benefit total NIC liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 16 + expected_row_header_column: A + expected_row_header: Fuel benefit total NIC liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 17 + expected_row_header_column: A + expected_row_header: Car and fuel benefit total NIC liability (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: class_1a_nic_liability + label: Class 1A NIC liability + ordinal: 0 + column: G + source_column_id: class_1a_nic_liability + expected_column_header_row: 5 + expected_column_header: 2016 to 2017 + concept: hmrc.benefit_in_kind_class_1a_nic_liability + source_concept: hmrc.benefit_in_kind_class_1a_nic_liability + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Class 1A NIC liability, 2016 to 2017. Class 1A National Insurance + contributions, which employers pay on the benefits; employees pay no NICs on car or car fuel benefit + (background quality report, section 2.4). HMRC estimates the liability for each Survey of Personal + Incomes (SPI) case matched to the P11D and RTI records as the difference between the liabilities + with and without the benefit, which ''effectively considers the benefit in kind as the final marginal + element of income''; it grosses the cases up, divides by the grossed benefit to get an average rate + per pound of benefit, and applies that rate to the whole taxable value (background quality report, + section 3.5). ''The data in this table are not fully complete. Some company cars are not included + in the source data used to produce the statistics and are therefore excluded from the tables. For + more information please see the background documentation.'' ''Numbers and amounts are rounded to + the nearest 10'': amounts are in GBP million, so the rounding is to the nearest GBP 10 million. + The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2017 + provenance_class: model_output + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2017.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2017 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2017 + period_coverage: + start_date: '2017-04-06' + end_date: '2018-04-05' + basis: tax + source_period_label: 2017 to 2018 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. In + 2017 to 2018 reporting payrolled cars through RTI was voluntary, so the payrolled cars employers + chose not to report are missing. HMRC expects company car recipients to be under-reported in every + year since April 2016 (commentary, section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 15 + expected_row_header_column: A + expected_row_header: Car benefit total NIC liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 16 + expected_row_header_column: A + expected_row_header: Fuel benefit total NIC liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 17 + expected_row_header_column: A + expected_row_header: Car and fuel benefit total NIC liability (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: class_1a_nic_liability + label: Class 1A NIC liability + ordinal: 0 + column: H + source_column_id: class_1a_nic_liability + expected_column_header_row: 5 + expected_column_header: 2017 to 2018 + concept: hmrc.benefit_in_kind_class_1a_nic_liability + source_concept: hmrc.benefit_in_kind_class_1a_nic_liability + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Class 1A NIC liability, 2017 to 2018. Class 1A National Insurance + contributions, which employers pay on the benefits; employees pay no NICs on car or car fuel benefit + (background quality report, section 2.4). HMRC estimates the liability for each Survey of Personal + Incomes (SPI) case matched to the P11D and RTI records as the difference between the liabilities + with and without the benefit, which ''effectively considers the benefit in kind as the final marginal + element of income''; it grosses the cases up, divides by the grossed benefit to get an average rate + per pound of benefit, and applies that rate to the whole taxable value (background quality report, + section 3.5). ''The data in this table are not fully complete. Some company cars are not included + in the source data used to produce the statistics and are therefore excluded from the tables. For + more information please see the background documentation.'' ''Numbers and amounts are rounded to + the nearest 10'': amounts are in GBP million, so the rounding is to the nearest GBP 10 million. + The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2018 + provenance_class: model_output + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2018.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2018 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2018 + period_coverage: + start_date: '2018-04-06' + end_date: '2019-04-05' + basis: tax + source_period_label: 2018 to 2019 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 15 + expected_row_header_column: A + expected_row_header: Car benefit total NIC liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 16 + expected_row_header_column: A + expected_row_header: Fuel benefit total NIC liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 17 + expected_row_header_column: A + expected_row_header: Car and fuel benefit total NIC liability (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: class_1a_nic_liability + label: Class 1A NIC liability + ordinal: 0 + column: I + source_column_id: class_1a_nic_liability + expected_column_header_row: 5 + expected_column_header: 2018 to 2019 + concept: hmrc.benefit_in_kind_class_1a_nic_liability + source_concept: hmrc.benefit_in_kind_class_1a_nic_liability + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Class 1A NIC liability, 2018 to 2019. Class 1A National Insurance + contributions, which employers pay on the benefits; employees pay no NICs on car or car fuel benefit + (background quality report, section 2.4). HMRC estimates the liability for each Survey of Personal + Incomes (SPI) case matched to the P11D and RTI records as the difference between the liabilities + with and without the benefit, which ''effectively considers the benefit in kind as the final marginal + element of income''; it grosses the cases up, divides by the grossed benefit to get an average rate + per pound of benefit, and applies that rate to the whole taxable value (background quality report, + section 3.5). ''The data in this table are not fully complete. Some company cars are not included + in the source data used to produce the statistics and are therefore excluded from the tables. For + more information please see the background documentation.'' ''Numbers and amounts are rounded to + the nearest 10'': amounts are in GBP million, so the rounding is to the nearest GBP 10 million. + The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2019 + provenance_class: model_output + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2019.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2019 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2019 + period_coverage: + start_date: '2019-04-06' + end_date: '2020-04-05' + basis: tax + source_period_label: 2019 to 2020 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 15 + expected_row_header_column: A + expected_row_header: Car benefit total NIC liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 16 + expected_row_header_column: A + expected_row_header: Fuel benefit total NIC liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 17 + expected_row_header_column: A + expected_row_header: Car and fuel benefit total NIC liability (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: class_1a_nic_liability + label: Class 1A NIC liability + ordinal: 0 + column: J + source_column_id: class_1a_nic_liability + expected_column_header_row: 5 + expected_column_header: 2019 to 2020 + concept: hmrc.benefit_in_kind_class_1a_nic_liability + source_concept: hmrc.benefit_in_kind_class_1a_nic_liability + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Class 1A NIC liability, 2019 to 2020. Class 1A National Insurance + contributions, which employers pay on the benefits; employees pay no NICs on car or car fuel benefit + (background quality report, section 2.4). HMRC estimates the liability for each Survey of Personal + Incomes (SPI) case matched to the P11D and RTI records as the difference between the liabilities + with and without the benefit, which ''effectively considers the benefit in kind as the final marginal + element of income''; it grosses the cases up, divides by the grossed benefit to get an average rate + per pound of benefit, and applies that rate to the whole taxable value (background quality report, + section 3.5). ''The data in this table are not fully complete. Some company cars are not included + in the source data used to produce the statistics and are therefore excluded from the tables. For + more information please see the background documentation.'' ''Numbers and amounts are rounded to + the nearest 10'': amounts are in GBP million, so the rounding is to the nearest GBP 10 million. + The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2020 + provenance_class: model_output + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2020.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2020 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2020 + period_coverage: + start_date: '2020-04-06' + end_date: '2021-04-05' + basis: tax + source_period_label: 2020 to 2021 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 15 + expected_row_header_column: A + expected_row_header: Car benefit total NIC liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 16 + expected_row_header_column: A + expected_row_header: Fuel benefit total NIC liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 17 + expected_row_header_column: A + expected_row_header: Car and fuel benefit total NIC liability (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: class_1a_nic_liability + label: Class 1A NIC liability + ordinal: 0 + column: K + source_column_id: class_1a_nic_liability + expected_column_header_row: 5 + expected_column_header: 2020 to 2021 + concept: hmrc.benefit_in_kind_class_1a_nic_liability + source_concept: hmrc.benefit_in_kind_class_1a_nic_liability + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Class 1A NIC liability, 2020 to 2021. Class 1A National Insurance + contributions, which employers pay on the benefits; employees pay no NICs on car or car fuel benefit + (background quality report, section 2.4). HMRC estimates the liability for each Survey of Personal + Incomes (SPI) case matched to the P11D and RTI records as the difference between the liabilities + with and without the benefit, which ''effectively considers the benefit in kind as the final marginal + element of income''; it grosses the cases up, divides by the grossed benefit to get an average rate + per pound of benefit, and applies that rate to the whole taxable value (background quality report, + section 3.5). ''The data in this table are not fully complete. Some company cars are not included + in the source data used to produce the statistics and are therefore excluded from the tables. For + more information please see the background documentation.'' ''Numbers and amounts are rounded to + the nearest 10'': amounts are in GBP million, so the rounding is to the nearest GBP 10 million. + The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2021 + provenance_class: model_output + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2021.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2021 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2021 + period_coverage: + start_date: '2021-04-06' + end_date: '2022-04-05' + basis: tax + source_period_label: 2021 to 2022 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 15 + expected_row_header_column: A + expected_row_header: Car benefit total NIC liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 16 + expected_row_header_column: A + expected_row_header: Fuel benefit total NIC liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 17 + expected_row_header_column: A + expected_row_header: Car and fuel benefit total NIC liability (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: class_1a_nic_liability + label: Class 1A NIC liability + ordinal: 0 + column: L + source_column_id: class_1a_nic_liability + expected_column_header_row: 5 + expected_column_header: 2021 to 2022 + concept: hmrc.benefit_in_kind_class_1a_nic_liability + source_concept: hmrc.benefit_in_kind_class_1a_nic_liability + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Class 1A NIC liability, 2021 to 2022. Class 1A National Insurance + contributions, which employers pay on the benefits; employees pay no NICs on car or car fuel benefit + (background quality report, section 2.4). HMRC estimates the liability for each Survey of Personal + Incomes (SPI) case matched to the P11D and RTI records as the difference between the liabilities + with and without the benefit, which ''effectively considers the benefit in kind as the final marginal + element of income''; it grosses the cases up, divides by the grossed benefit to get an average rate + per pound of benefit, and applies that rate to the whole taxable value (background quality report, + section 3.5). ''The data in this table are not fully complete. Some company cars are not included + in the source data used to produce the statistics and are therefore excluded from the tables. For + more information please see the background documentation.'' ''Numbers and amounts are rounded to + the nearest 10'': amounts are in GBP million, so the rounding is to the nearest GBP 10 million. + The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2022 + provenance_class: model_output + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2022.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2022 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2022 + period_coverage: + start_date: '2022-04-06' + end_date: '2023-04-05' + basis: tax + source_period_label: 2022 to 2023 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 15 + expected_row_header_column: A + expected_row_header: Car benefit total NIC liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 16 + expected_row_header_column: A + expected_row_header: Fuel benefit total NIC liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 17 + expected_row_header_column: A + expected_row_header: Car and fuel benefit total NIC liability (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: class_1a_nic_liability + label: Class 1A NIC liability + ordinal: 0 + column: M + source_column_id: class_1a_nic_liability + expected_column_header_row: 5 + expected_column_header: 2022 to 2023 + concept: hmrc.benefit_in_kind_class_1a_nic_liability + source_concept: hmrc.benefit_in_kind_class_1a_nic_liability + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Class 1A NIC liability, 2022 to 2023. Class 1A National Insurance + contributions, which employers pay on the benefits; employees pay no NICs on car or car fuel benefit + (background quality report, section 2.4). HMRC estimates the liability for each Survey of Personal + Incomes (SPI) case matched to the P11D and RTI records as the difference between the liabilities + with and without the benefit, which ''effectively considers the benefit in kind as the final marginal + element of income''; it grosses the cases up, divides by the grossed benefit to get an average rate + per pound of benefit, and applies that rate to the whole taxable value (background quality report, + section 3.5). ''The data in this table are not fully complete. Some company cars are not included + in the source data used to produce the statistics and are therefore excluded from the tables. For + more information please see the background documentation.'' ''Numbers and amounts are rounded to + the nearest 10'': amounts are in GBP million, so the rounding is to the nearest GBP 10 million. + The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2023 + provenance_class: model_output + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2023.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2023 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2023 + period_coverage: + start_date: '2023-04-06' + end_date: '2024-04-05' + basis: tax + source_period_label: 2023 to 2024 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 15 + expected_row_header_column: A + expected_row_header: Car benefit total NIC liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 16 + expected_row_header_column: A + expected_row_header: Fuel benefit total NIC liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 17 + expected_row_header_column: A + expected_row_header: Car and fuel benefit total NIC liability (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: class_1a_nic_liability + label: Class 1A NIC liability + ordinal: 0 + column: N + source_column_id: class_1a_nic_liability + expected_column_header_row: 5 + expected_column_header: 2023 to 2024 + concept: hmrc.benefit_in_kind_class_1a_nic_liability + source_concept: hmrc.benefit_in_kind_class_1a_nic_liability + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Class 1A NIC liability, 2023 to 2024. Class 1A National Insurance + contributions, which employers pay on the benefits; employees pay no NICs on car or car fuel benefit + (background quality report, section 2.4). HMRC estimates the liability for each Survey of Personal + Incomes (SPI) case matched to the P11D and RTI records as the difference between the liabilities + with and without the benefit, which ''effectively considers the benefit in kind as the final marginal + element of income''; it grosses the cases up, divides by the grossed benefit to get an average rate + per pound of benefit, and applies that rate to the whole taxable value (background quality report, + section 3.5). ''The data in this table are not fully complete. Some company cars are not included + in the source data used to produce the statistics and are therefore excluded from the tables. For + more information please see the background documentation.'' ''Numbers and amounts are rounded to + the nearest 10'': amounts are in GBP million, so the rounding is to the nearest GBP 10 million. + The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2024 + provenance_class: model_output + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2024.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.class_1a_nic_liability.ty2024 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2024 + period_coverage: + start_date: '2024-04-06' + end_date: '2025-04-05' + basis: tax + source_period_label: 2024 to 2025 [note 1] + notes: 'From April 2016 employers could payroll company cars instead of reporting them on a P11D. + From April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. + HMRC expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). HMRC marks 2024 to 2025 provisional (note 1): its figures come from an initial extract + of the Expenses and Benefits data and may be revised. HMRC bases this year''s Income Tax and NIC + figures on projections of the Survey of Personal Incomes (commentary, section 1): the latest SPI + is ''projected forward one year to help produce the provisional tax liability estimates that appear + in Table 1'' (background quality report, section 3.5).' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 15 + expected_row_header_column: A + expected_row_header: Car benefit total NIC liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 16 + expected_row_header_column: A + expected_row_header: Fuel benefit total NIC liability (£millions) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: all + label: Car and fuel benefit + ordinal: 2 + row_number: 17 + expected_row_header_column: A + expected_row_header: Car and fuel benefit total NIC liability (£millions) + table_record_kind: total + filters: + company_car_benefit_type: all + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: class_1a_nic_liability + label: Class 1A NIC liability + ordinal: 0 + column: O + source_column_id: class_1a_nic_liability + expected_column_header_row: 5 + expected_column_header: 2024 to 2025 [note 1] + concept: hmrc.benefit_in_kind_class_1a_nic_liability + source_concept: hmrc.benefit_in_kind_class_1a_nic_liability + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Class 1A NIC liability, 2024 to 2025 [note 1]. Class 1A National + Insurance contributions, which employers pay on the benefits; employees pay no NICs on car or car + fuel benefit (background quality report, section 2.4). HMRC estimates the liability for each Survey + of Personal Incomes (SPI) case matched to the P11D and RTI records as the difference between the + liabilities with and without the benefit, which ''effectively considers the benefit in kind as the + final marginal element of income''; it grosses the cases up, divides by the grossed benefit to get + an average rate per pound of benefit, and applies that rate to the whole taxable value (background + quality report, section 3.5). ''The data in this table are not fully complete. Some company cars + are not included in the source data used to produce the statistics and are therefore excluded from + the tables. For more information please see the background documentation.'' ''Numbers and amounts + are rounded to the nearest 10'': amounts are in GBP million, so the rounding is to the nearest GBP + 10 million. The car and fuel row is their sum.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2011 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2011.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2011 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2011 + period_coverage: + start_date: '2011-04-06' + end_date: '2012-04-05' + basis: tax + source_period_label: 2011 to 2012 + notes: 'Cars emitting 0 g/km are not in these statistics for this year: from April 2010 to April 2015 + they carried a zero-rate charge (note 3), and HMRC includes electric cars only from 2015 to 2016 + (commentary, section 6). Before April 2016 a few employers payrolled benefits informally; their + P11Ds were not processed electronically and are not in these statistics (commentary, section 8.1).' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 18 + expected_row_header_column: A + expected_row_header: Car benefit average taxable value (£) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 19 + expected_row_header_column: A + expected_row_header: Fuel benefit average taxable value (£) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: average_taxable_value + label: Average taxable value + ordinal: 0 + column: B + source_column_id: average_taxable_value + expected_column_header_row: 5 + expected_column_header: 2011 to 2012 + concept: hmrc.benefit_in_kind_mean_taxable_value + source_concept: hmrc.benefit_in_kind_mean_taxable_value + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Average taxable value, 2011 to 2012: HMRC''s average taxable value + per recipient of each benefit, in GBP. HMRC compiles these from employers'' P11D returns and, from + 2017 to 2018, the company cars employers payroll and report through Real Time Information (RTI), + counting a car reported both ways once (background quality report, section 3.5). ''The data in this + table are not fully complete. Some company cars are not included in the source data used to produce + the statistics and are therefore excluded from the tables. For more information please see the background + documentation.'' ''Numbers and amounts are rounded to the nearest 10'': the averages are rounded + to the nearest GBP 10. The printed averages do not all equal the quotient of the printed, rounded + taxable value and recipients, so they are ported as published, not derived.' + unit: gbp + aggregation: mean + value_scale: 1 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2012 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2012.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2012 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2012 + period_coverage: + start_date: '2012-04-06' + end_date: '2013-04-05' + basis: tax + source_period_label: 2012 to 2013 + notes: 'Cars emitting 0 g/km are not in these statistics for this year: from April 2010 to April 2015 + they carried a zero-rate charge (note 3), and HMRC includes electric cars only from 2015 to 2016 + (commentary, section 6). Before April 2016 a few employers payrolled benefits informally; their + P11Ds were not processed electronically and are not in these statistics (commentary, section 8.1).' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 18 + expected_row_header_column: A + expected_row_header: Car benefit average taxable value (£) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 19 + expected_row_header_column: A + expected_row_header: Fuel benefit average taxable value (£) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: average_taxable_value + label: Average taxable value + ordinal: 0 + column: C + source_column_id: average_taxable_value + expected_column_header_row: 5 + expected_column_header: 2012 to 2013 + concept: hmrc.benefit_in_kind_mean_taxable_value + source_concept: hmrc.benefit_in_kind_mean_taxable_value + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Average taxable value, 2012 to 2013: HMRC''s average taxable value + per recipient of each benefit, in GBP. HMRC compiles these from employers'' P11D returns and, from + 2017 to 2018, the company cars employers payroll and report through Real Time Information (RTI), + counting a car reported both ways once (background quality report, section 3.5). ''The data in this + table are not fully complete. Some company cars are not included in the source data used to produce + the statistics and are therefore excluded from the tables. For more information please see the background + documentation.'' ''Numbers and amounts are rounded to the nearest 10'': the averages are rounded + to the nearest GBP 10. The printed averages do not all equal the quotient of the printed, rounded + taxable value and recipients, so they are ported as published, not derived.' + unit: gbp + aggregation: mean + value_scale: 1 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2013 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2013.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2013 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2013 + period_coverage: + start_date: '2013-04-06' + end_date: '2014-04-05' + basis: tax + source_period_label: 2013 to 2014 + notes: 'Cars emitting 0 g/km are not in these statistics for this year: from April 2010 to April 2015 + they carried a zero-rate charge (note 3), and HMRC includes electric cars only from 2015 to 2016 + (commentary, section 6). Before April 2016 a few employers payrolled benefits informally; their + P11Ds were not processed electronically and are not in these statistics (commentary, section 8.1).' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 18 + expected_row_header_column: A + expected_row_header: Car benefit average taxable value (£) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 19 + expected_row_header_column: A + expected_row_header: Fuel benefit average taxable value (£) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: average_taxable_value + label: Average taxable value + ordinal: 0 + column: D + source_column_id: average_taxable_value + expected_column_header_row: 5 + expected_column_header: 2013 to 2014 + concept: hmrc.benefit_in_kind_mean_taxable_value + source_concept: hmrc.benefit_in_kind_mean_taxable_value + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Average taxable value, 2013 to 2014: HMRC''s average taxable value + per recipient of each benefit, in GBP. HMRC compiles these from employers'' P11D returns and, from + 2017 to 2018, the company cars employers payroll and report through Real Time Information (RTI), + counting a car reported both ways once (background quality report, section 3.5). ''The data in this + table are not fully complete. Some company cars are not included in the source data used to produce + the statistics and are therefore excluded from the tables. For more information please see the background + documentation.'' ''Numbers and amounts are rounded to the nearest 10'': the averages are rounded + to the nearest GBP 10. The printed averages do not all equal the quotient of the printed, rounded + taxable value and recipients, so they are ported as published, not derived.' + unit: gbp + aggregation: mean + value_scale: 1 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2014 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2014.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2014 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2014 + period_coverage: + start_date: '2014-04-06' + end_date: '2015-04-05' + basis: tax + source_period_label: 2014 to 2015 + notes: 'Cars emitting 0 g/km are not in these statistics for this year: from April 2010 to April 2015 + they carried a zero-rate charge (note 3), and HMRC includes electric cars only from 2015 to 2016 + (commentary, section 6). Before April 2016 a few employers payrolled benefits informally; their + P11Ds were not processed electronically and are not in these statistics (commentary, section 8.1).' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 18 + expected_row_header_column: A + expected_row_header: Car benefit average taxable value (£) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 19 + expected_row_header_column: A + expected_row_header: Fuel benefit average taxable value (£) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: average_taxable_value + label: Average taxable value + ordinal: 0 + column: E + source_column_id: average_taxable_value + expected_column_header_row: 5 + expected_column_header: 2014 to 2015 + concept: hmrc.benefit_in_kind_mean_taxable_value + source_concept: hmrc.benefit_in_kind_mean_taxable_value + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Average taxable value, 2014 to 2015: HMRC''s average taxable value + per recipient of each benefit, in GBP. HMRC compiles these from employers'' P11D returns and, from + 2017 to 2018, the company cars employers payroll and report through Real Time Information (RTI), + counting a car reported both ways once (background quality report, section 3.5). ''The data in this + table are not fully complete. Some company cars are not included in the source data used to produce + the statistics and are therefore excluded from the tables. For more information please see the background + documentation.'' ''Numbers and amounts are rounded to the nearest 10'': the averages are rounded + to the nearest GBP 10. The printed averages do not all equal the quotient of the printed, rounded + taxable value and recipients, so they are ported as published, not derived.' + unit: gbp + aggregation: mean + value_scale: 1 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2015 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2015.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2015 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2015 + period_coverage: + start_date: '2015-04-06' + end_date: '2016-04-05' + basis: tax + source_period_label: 2015 to 2016 + notes: Before April 2016 a few employers payrolled benefits informally; their P11Ds were not processed + electronically and are not in these statistics (commentary, section 8.1). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 18 + expected_row_header_column: A + expected_row_header: Car benefit average taxable value (£) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 19 + expected_row_header_column: A + expected_row_header: Fuel benefit average taxable value (£) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: average_taxable_value + label: Average taxable value + ordinal: 0 + column: F + source_column_id: average_taxable_value + expected_column_header_row: 5 + expected_column_header: 2015 to 2016 + concept: hmrc.benefit_in_kind_mean_taxable_value + source_concept: hmrc.benefit_in_kind_mean_taxable_value + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Average taxable value, 2015 to 2016: HMRC''s average taxable value + per recipient of each benefit, in GBP. HMRC compiles these from employers'' P11D returns and, from + 2017 to 2018, the company cars employers payroll and report through Real Time Information (RTI), + counting a car reported both ways once (background quality report, section 3.5). ''The data in this + table are not fully complete. Some company cars are not included in the source data used to produce + the statistics and are therefore excluded from the tables. For more information please see the background + documentation.'' ''Numbers and amounts are rounded to the nearest 10'': the averages are rounded + to the nearest GBP 10. The printed averages do not all equal the quotient of the printed, rounded + taxable value and recipients, so they are ported as published, not derived.' + unit: gbp + aggregation: mean + value_scale: 1 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2016 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2016.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2016 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2016 + period_coverage: + start_date: '2016-04-06' + end_date: '2017-04-05' + basis: tax + source_period_label: 2016 to 2017 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. In + 2016 to 2017 payrolled cars could not be reported through RTI, so every voluntarily payrolled car + is missing. HMRC expects company car recipients to be under-reported in every year since April 2016 + (commentary, section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 18 + expected_row_header_column: A + expected_row_header: Car benefit average taxable value (£) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 19 + expected_row_header_column: A + expected_row_header: Fuel benefit average taxable value (£) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: average_taxable_value + label: Average taxable value + ordinal: 0 + column: G + source_column_id: average_taxable_value + expected_column_header_row: 5 + expected_column_header: 2016 to 2017 + concept: hmrc.benefit_in_kind_mean_taxable_value + source_concept: hmrc.benefit_in_kind_mean_taxable_value + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Average taxable value, 2016 to 2017: HMRC''s average taxable value + per recipient of each benefit, in GBP. HMRC compiles these from employers'' P11D returns and, from + 2017 to 2018, the company cars employers payroll and report through Real Time Information (RTI), + counting a car reported both ways once (background quality report, section 3.5). ''The data in this + table are not fully complete. Some company cars are not included in the source data used to produce + the statistics and are therefore excluded from the tables. For more information please see the background + documentation.'' ''Numbers and amounts are rounded to the nearest 10'': the averages are rounded + to the nearest GBP 10. The printed averages do not all equal the quotient of the printed, rounded + taxable value and recipients, so they are ported as published, not derived.' + unit: gbp + aggregation: mean + value_scale: 1 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2017 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2017.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2017 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2017 + period_coverage: + start_date: '2017-04-06' + end_date: '2018-04-05' + basis: tax + source_period_label: 2017 to 2018 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. In + 2017 to 2018 reporting payrolled cars through RTI was voluntary, so the payrolled cars employers + chose not to report are missing. HMRC expects company car recipients to be under-reported in every + year since April 2016 (commentary, section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 18 + expected_row_header_column: A + expected_row_header: Car benefit average taxable value (£) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 19 + expected_row_header_column: A + expected_row_header: Fuel benefit average taxable value (£) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: average_taxable_value + label: Average taxable value + ordinal: 0 + column: H + source_column_id: average_taxable_value + expected_column_header_row: 5 + expected_column_header: 2017 to 2018 + concept: hmrc.benefit_in_kind_mean_taxable_value + source_concept: hmrc.benefit_in_kind_mean_taxable_value + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Average taxable value, 2017 to 2018: HMRC''s average taxable value + per recipient of each benefit, in GBP. HMRC compiles these from employers'' P11D returns and, from + 2017 to 2018, the company cars employers payroll and report through Real Time Information (RTI), + counting a car reported both ways once (background quality report, section 3.5). ''The data in this + table are not fully complete. Some company cars are not included in the source data used to produce + the statistics and are therefore excluded from the tables. For more information please see the background + documentation.'' ''Numbers and amounts are rounded to the nearest 10'': the averages are rounded + to the nearest GBP 10. The printed averages do not all equal the quotient of the printed, rounded + taxable value and recipients, so they are ported as published, not derived.' + unit: gbp + aggregation: mean + value_scale: 1 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2018 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2018.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2018 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2018 + period_coverage: + start_date: '2018-04-06' + end_date: '2019-04-05' + basis: tax + source_period_label: 2018 to 2019 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 18 + expected_row_header_column: A + expected_row_header: Car benefit average taxable value (£) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 19 + expected_row_header_column: A + expected_row_header: Fuel benefit average taxable value (£) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: average_taxable_value + label: Average taxable value + ordinal: 0 + column: I + source_column_id: average_taxable_value + expected_column_header_row: 5 + expected_column_header: 2018 to 2019 + concept: hmrc.benefit_in_kind_mean_taxable_value + source_concept: hmrc.benefit_in_kind_mean_taxable_value + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Average taxable value, 2018 to 2019: HMRC''s average taxable value + per recipient of each benefit, in GBP. HMRC compiles these from employers'' P11D returns and, from + 2017 to 2018, the company cars employers payroll and report through Real Time Information (RTI), + counting a car reported both ways once (background quality report, section 3.5). ''The data in this + table are not fully complete. Some company cars are not included in the source data used to produce + the statistics and are therefore excluded from the tables. For more information please see the background + documentation.'' ''Numbers and amounts are rounded to the nearest 10'': the averages are rounded + to the nearest GBP 10. The printed averages do not all equal the quotient of the printed, rounded + taxable value and recipients, so they are ported as published, not derived.' + unit: gbp + aggregation: mean + value_scale: 1 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2019 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2019.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2019 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2019 + period_coverage: + start_date: '2019-04-06' + end_date: '2020-04-05' + basis: tax + source_period_label: 2019 to 2020 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 18 + expected_row_header_column: A + expected_row_header: Car benefit average taxable value (£) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 19 + expected_row_header_column: A + expected_row_header: Fuel benefit average taxable value (£) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: average_taxable_value + label: Average taxable value + ordinal: 0 + column: J + source_column_id: average_taxable_value + expected_column_header_row: 5 + expected_column_header: 2019 to 2020 + concept: hmrc.benefit_in_kind_mean_taxable_value + source_concept: hmrc.benefit_in_kind_mean_taxable_value + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Average taxable value, 2019 to 2020: HMRC''s average taxable value + per recipient of each benefit, in GBP. HMRC compiles these from employers'' P11D returns and, from + 2017 to 2018, the company cars employers payroll and report through Real Time Information (RTI), + counting a car reported both ways once (background quality report, section 3.5). ''The data in this + table are not fully complete. Some company cars are not included in the source data used to produce + the statistics and are therefore excluded from the tables. For more information please see the background + documentation.'' ''Numbers and amounts are rounded to the nearest 10'': the averages are rounded + to the nearest GBP 10. The printed averages do not all equal the quotient of the printed, rounded + taxable value and recipients, so they are ported as published, not derived.' + unit: gbp + aggregation: mean + value_scale: 1 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2020 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2020.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2020 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2020 + period_coverage: + start_date: '2020-04-06' + end_date: '2021-04-05' + basis: tax + source_period_label: 2020 to 2021 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 18 + expected_row_header_column: A + expected_row_header: Car benefit average taxable value (£) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 19 + expected_row_header_column: A + expected_row_header: Fuel benefit average taxable value (£) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: average_taxable_value + label: Average taxable value + ordinal: 0 + column: K + source_column_id: average_taxable_value + expected_column_header_row: 5 + expected_column_header: 2020 to 2021 + concept: hmrc.benefit_in_kind_mean_taxable_value + source_concept: hmrc.benefit_in_kind_mean_taxable_value + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Average taxable value, 2020 to 2021: HMRC''s average taxable value + per recipient of each benefit, in GBP. HMRC compiles these from employers'' P11D returns and, from + 2017 to 2018, the company cars employers payroll and report through Real Time Information (RTI), + counting a car reported both ways once (background quality report, section 3.5). ''The data in this + table are not fully complete. Some company cars are not included in the source data used to produce + the statistics and are therefore excluded from the tables. For more information please see the background + documentation.'' ''Numbers and amounts are rounded to the nearest 10'': the averages are rounded + to the nearest GBP 10. The printed averages do not all equal the quotient of the printed, rounded + taxable value and recipients, so they are ported as published, not derived.' + unit: gbp + aggregation: mean + value_scale: 1 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2021 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2021.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2021 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2021 + period_coverage: + start_date: '2021-04-06' + end_date: '2022-04-05' + basis: tax + source_period_label: 2021 to 2022 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 18 + expected_row_header_column: A + expected_row_header: Car benefit average taxable value (£) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 19 + expected_row_header_column: A + expected_row_header: Fuel benefit average taxable value (£) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: average_taxable_value + label: Average taxable value + ordinal: 0 + column: L + source_column_id: average_taxable_value + expected_column_header_row: 5 + expected_column_header: 2021 to 2022 + concept: hmrc.benefit_in_kind_mean_taxable_value + source_concept: hmrc.benefit_in_kind_mean_taxable_value + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Average taxable value, 2021 to 2022: HMRC''s average taxable value + per recipient of each benefit, in GBP. HMRC compiles these from employers'' P11D returns and, from + 2017 to 2018, the company cars employers payroll and report through Real Time Information (RTI), + counting a car reported both ways once (background quality report, section 3.5). ''The data in this + table are not fully complete. Some company cars are not included in the source data used to produce + the statistics and are therefore excluded from the tables. For more information please see the background + documentation.'' ''Numbers and amounts are rounded to the nearest 10'': the averages are rounded + to the nearest GBP 10. The printed averages do not all equal the quotient of the printed, rounded + taxable value and recipients, so they are ported as published, not derived.' + unit: gbp + aggregation: mean + value_scale: 1 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2022 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2022.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2022 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2022 + period_coverage: + start_date: '2022-04-06' + end_date: '2023-04-05' + basis: tax + source_period_label: 2022 to 2023 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 18 + expected_row_header_column: A + expected_row_header: Car benefit average taxable value (£) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 19 + expected_row_header_column: A + expected_row_header: Fuel benefit average taxable value (£) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: average_taxable_value + label: Average taxable value + ordinal: 0 + column: M + source_column_id: average_taxable_value + expected_column_header_row: 5 + expected_column_header: 2022 to 2023 + concept: hmrc.benefit_in_kind_mean_taxable_value + source_concept: hmrc.benefit_in_kind_mean_taxable_value + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Average taxable value, 2022 to 2023: HMRC''s average taxable value + per recipient of each benefit, in GBP. HMRC compiles these from employers'' P11D returns and, from + 2017 to 2018, the company cars employers payroll and report through Real Time Information (RTI), + counting a car reported both ways once (background quality report, section 3.5). ''The data in this + table are not fully complete. Some company cars are not included in the source data used to produce + the statistics and are therefore excluded from the tables. For more information please see the background + documentation.'' ''Numbers and amounts are rounded to the nearest 10'': the averages are rounded + to the nearest GBP 10. The printed averages do not all equal the quotient of the printed, rounded + taxable value and recipients, so they are ported as published, not derived.' + unit: gbp + aggregation: mean + value_scale: 1 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2023 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2023.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2023 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2023 + period_coverage: + start_date: '2023-04-06' + end_date: '2024-04-05' + basis: tax + source_period_label: 2023 to 2024 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 18 + expected_row_header_column: A + expected_row_header: Car benefit average taxable value (£) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 19 + expected_row_header_column: A + expected_row_header: Fuel benefit average taxable value (£) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: average_taxable_value + label: Average taxable value + ordinal: 0 + column: N + source_column_id: average_taxable_value + expected_column_header_row: 5 + expected_column_header: 2023 to 2024 + concept: hmrc.benefit_in_kind_mean_taxable_value + source_concept: hmrc.benefit_in_kind_mean_taxable_value + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Average taxable value, 2023 to 2024: HMRC''s average taxable value + per recipient of each benefit, in GBP. HMRC compiles these from employers'' P11D returns and, from + 2017 to 2018, the company cars employers payroll and report through Real Time Information (RTI), + counting a car reported both ways once (background quality report, section 3.5). ''The data in this + table are not fully complete. Some company cars are not included in the source data used to produce + the statistics and are therefore excluded from the tables. For more information please see the background + documentation.'' ''Numbers and amounts are rounded to the nearest 10'': the averages are rounded + to the nearest GBP 10. The printed averages do not all equal the quotient of the printed, rounded + taxable value and recipients, so they are ported as published, not derived.' + unit: gbp + aggregation: mean + value_scale: 1 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2024 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2024.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table1.average_taxable_value.ty2024 + sheet_name: 1_car_and_car_fuel_benefit + period_type: tax_year + period: 2024 + period_coverage: + start_date: '2024-04-06' + end_date: '2025-04-05' + basis: tax + source_period_label: 2024 to 2025 [note 1] + notes: 'From April 2016 employers could payroll company cars instead of reporting them on a P11D. + From April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. + HMRC expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). HMRC marks 2024 to 2025 provisional (note 1): its figures come from an initial extract + of the Expenses and Benefits data and may be revised.' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 18 + expected_row_header_column: A + expected_row_header: Car benefit average taxable value (£) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + - value_id: fuel + label: Car fuel benefit + ordinal: 1 + row_number: 19 + expected_row_header_column: A + expected_row_header: Fuel benefit average taxable value (£) + table_record_kind: detail + filters: + company_car_benefit_type: fuel + constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 1: Company car benefit and company car fuel benefit (time series)' + label: Table title + - column: A + row: 4 + expected_value: Numbers and amounts are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: average_taxable_value + label: Average taxable value + ordinal: 0 + column: O + source_column_id: average_taxable_value + expected_column_header_row: 5 + expected_column_header: 2024 to 2025 [note 1] + concept: hmrc.benefit_in_kind_mean_taxable_value + source_concept: hmrc.benefit_in_kind_mean_taxable_value + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 1, Average taxable value, 2024 to 2025 [note 1]: HMRC''s average taxable + value per recipient of each benefit, in GBP. HMRC compiles these from employers'' P11D returns and, + from 2017 to 2018, the company cars employers payroll and report through Real Time Information (RTI), + counting a car reported both ways once (background quality report, section 3.5). ''The data in this + table are not fully complete. Some company cars are not included in the source data used to produce + the statistics and are therefore excluded from the tables. For more information please see the background + documentation.'' ''Numbers and amounts are rounded to the nearest 10'': the averages are rounded + to the nearest GBP 10. The printed averages do not all equal the quotient of the printed, rounded + taxable value and recipients, so they are ported as published, not derived.' + unit: gbp + aggregation: mean + value_scale: 1 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2011 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2011.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2011 + sheet_name: 2A_CO2_recipients + period_type: tax_year + period: 2011 + period_coverage: + start_date: '2011-04-06' + end_date: '2012-04-05' + basis: tax + source_period_label: 2011 to 2012 + notes: 'Cars emitting 0 g/km are not in these statistics for this year: from April 2010 to April 2015 + they carried a zero-rate charge (note 3), and HMRC includes electric cars only from 2015 to 2016 + (commentary, section 6). Before April 2016 a few employers payrolled benefits informally; their + P11Ds were not processed electronically and are not in these statistics (commentary, section 8.1).' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_co2_band + shared_filters: + company_car_benefit_type: car + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + rows: + - value_id: co2_76_to_94 + label: 76 to 94 g/km + ordinal: 0 + row_number: 12 + expected_row_header_column: A + expected_row_header: 76 - 94 + table_record_kind: detail + filters: + company_car_co2_band: co2_76_to_94 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_76_to_94 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 76 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 95 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_95_to_104 + label: 95 to 104 g/km + ordinal: 1 + row_number: 17 + expected_row_header_column: A + expected_row_header: 95 - 104 + table_record_kind: detail + filters: + company_car_co2_band: co2_95_to_104 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_95_to_104 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 95 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 105 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_105_to_114 + label: 105 to 114 g/km + ordinal: 2 + row_number: 18 + expected_row_header_column: A + expected_row_header: 105 - 114 + table_record_kind: detail + filters: + company_car_co2_band: co2_105_to_114 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_105_to_114 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 105 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 115 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_115_to_124 + label: 115 to 124 g/km + ordinal: 3 + row_number: 19 + expected_row_header_column: A + expected_row_header: 115 - 124 + table_record_kind: detail + filters: + company_car_co2_band: co2_115_to_124 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_115_to_124 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 115 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 125 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_125_to_134 + label: 125 to 134 g/km + ordinal: 4 + row_number: 20 + expected_row_header_column: A + expected_row_header: 125 - 134 + table_record_kind: detail + filters: + company_car_co2_band: co2_125_to_134 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_125_to_134 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 125 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 135 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_135_to_144 + label: 135 to 144 g/km + ordinal: 5 + row_number: 21 + expected_row_header_column: A + expected_row_header: 135 - 144 + table_record_kind: detail + filters: + company_car_co2_band: co2_135_to_144 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_135_to_144 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 135 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 145 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_145_to_154 + label: 145 to 154 g/km + ordinal: 6 + row_number: 22 + expected_row_header_column: A + expected_row_header: 145 - 154 + table_record_kind: detail + filters: + company_car_co2_band: co2_145_to_154 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_145_to_154 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 145 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 155 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_155_to_164 + label: 155 to 164 g/km + ordinal: 7 + row_number: 23 + expected_row_header_column: A + expected_row_header: 155 - 164 + table_record_kind: detail + filters: + company_car_co2_band: co2_155_to_164 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_155_to_164 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 155 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 165 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_165_to_174 + label: 165 to 174 g/km + ordinal: 8 + row_number: 24 + expected_row_header_column: A + expected_row_header: 165 - 174 + table_record_kind: detail + filters: + company_car_co2_band: co2_165_to_174 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_165_to_174 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 165 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 175 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_175_plus + label: 175 g/km and over + ordinal: 9 + row_number: 27 + expected_row_header_column: A + expected_row_header: 175 g/km and over + table_record_kind: detail + filters: + company_car_co2_band: co2_175_plus + constraints: + - variable: company_car_co2_band + operator: == + value: co2_175_plus + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 175 + unit: g_co2_per_km + label: CO2 emissions lower bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: B + source_column_id: recipients + expected_column_header_row: 3 + expected_column_header: 2011 to 2012 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 2A, recipients of company car benefit by the CO2 emissions of the car, + 2011 to 2012, in thousands. HMRC compiles these from employers'' P11D returns and, from 2017 to + 2018, the company cars employers payroll and report through Real Time Information (RTI), counting + a car reported both ways once (background quality report, section 3.5). A recipient with more than + one company car in the year is apportioned between the cars by the time each was held, so the rows + add to recipients, not cars (background quality report, section 3.5). Missing or implausible CO2 + figures are imputed where other data allow, typically for under 2% of car benefits (section 3.5). + From April 2020 the CO2 figures are WLTP measurements; before, they are NEDC figures, WLTP results + converted back to NEDC equivalents from September 2018 (background quality report, section 2.4). + This year uses the bands printed to 2019 to 2020: 51 to 75 and 76 to 94 g/km below 95, and 165 to + 174 and 175 g/km and over above 164. The sheet gives no rounding rule; its band cells are whole + thousands. Its ''Total'' row restates Table 1''s car benefit recipients and is ported from Table + 1. HMRC prints ''[note 3]'' (not available, as note 3 excludes zero-emission cars before April 2015) + for ''Zero''; ''<0.5'' (fewer than 500 recipients, under half the table''s unit of a thousand) for + ''1 - 50'' and ''51 - 75'': those cells emit no fact, not a zero.' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2012 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2012.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2012 + sheet_name: 2A_CO2_recipients + period_type: tax_year + period: 2012 + period_coverage: + start_date: '2012-04-06' + end_date: '2013-04-05' + basis: tax + source_period_label: 2012 to 2013 + notes: 'Cars emitting 0 g/km are not in these statistics for this year: from April 2010 to April 2015 + they carried a zero-rate charge (note 3), and HMRC includes electric cars only from 2015 to 2016 + (commentary, section 6). Before April 2016 a few employers payrolled benefits informally; their + P11Ds were not processed electronically and are not in these statistics (commentary, section 8.1).' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_co2_band + shared_filters: + company_car_benefit_type: car + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + rows: + - value_id: co2_76_to_94 + label: 76 to 94 g/km + ordinal: 0 + row_number: 12 + expected_row_header_column: A + expected_row_header: 76 - 94 + table_record_kind: detail + filters: + company_car_co2_band: co2_76_to_94 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_76_to_94 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 76 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 95 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_95_to_104 + label: 95 to 104 g/km + ordinal: 1 + row_number: 17 + expected_row_header_column: A + expected_row_header: 95 - 104 + table_record_kind: detail + filters: + company_car_co2_band: co2_95_to_104 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_95_to_104 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 95 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 105 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_105_to_114 + label: 105 to 114 g/km + ordinal: 2 + row_number: 18 + expected_row_header_column: A + expected_row_header: 105 - 114 + table_record_kind: detail + filters: + company_car_co2_band: co2_105_to_114 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_105_to_114 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 105 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 115 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_115_to_124 + label: 115 to 124 g/km + ordinal: 3 + row_number: 19 + expected_row_header_column: A + expected_row_header: 115 - 124 + table_record_kind: detail + filters: + company_car_co2_band: co2_115_to_124 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_115_to_124 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 115 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 125 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_125_to_134 + label: 125 to 134 g/km + ordinal: 4 + row_number: 20 + expected_row_header_column: A + expected_row_header: 125 - 134 + table_record_kind: detail + filters: + company_car_co2_band: co2_125_to_134 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_125_to_134 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 125 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 135 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_135_to_144 + label: 135 to 144 g/km + ordinal: 5 + row_number: 21 + expected_row_header_column: A + expected_row_header: 135 - 144 + table_record_kind: detail + filters: + company_car_co2_band: co2_135_to_144 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_135_to_144 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 135 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 145 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_145_to_154 + label: 145 to 154 g/km + ordinal: 6 + row_number: 22 + expected_row_header_column: A + expected_row_header: 145 - 154 + table_record_kind: detail + filters: + company_car_co2_band: co2_145_to_154 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_145_to_154 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 145 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 155 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_155_to_164 + label: 155 to 164 g/km + ordinal: 7 + row_number: 23 + expected_row_header_column: A + expected_row_header: 155 - 164 + table_record_kind: detail + filters: + company_car_co2_band: co2_155_to_164 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_155_to_164 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 155 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 165 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_165_to_174 + label: 165 to 174 g/km + ordinal: 8 + row_number: 24 + expected_row_header_column: A + expected_row_header: 165 - 174 + table_record_kind: detail + filters: + company_car_co2_band: co2_165_to_174 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_165_to_174 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 165 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 175 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_175_plus + label: 175 g/km and over + ordinal: 9 + row_number: 27 + expected_row_header_column: A + expected_row_header: 175 g/km and over + table_record_kind: detail + filters: + company_car_co2_band: co2_175_plus + constraints: + - variable: company_car_co2_band + operator: == + value: co2_175_plus + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 175 + unit: g_co2_per_km + label: CO2 emissions lower bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: C + source_column_id: recipients + expected_column_header_row: 3 + expected_column_header: 2012 to 2013 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 2A, recipients of company car benefit by the CO2 emissions of the car, + 2012 to 2013, in thousands. HMRC compiles these from employers'' P11D returns and, from 2017 to + 2018, the company cars employers payroll and report through Real Time Information (RTI), counting + a car reported both ways once (background quality report, section 3.5). A recipient with more than + one company car in the year is apportioned between the cars by the time each was held, so the rows + add to recipients, not cars (background quality report, section 3.5). Missing or implausible CO2 + figures are imputed where other data allow, typically for under 2% of car benefits (section 3.5). + From April 2020 the CO2 figures are WLTP measurements; before, they are NEDC figures, WLTP results + converted back to NEDC equivalents from September 2018 (background quality report, section 2.4). + This year uses the bands printed to 2019 to 2020: 51 to 75 and 76 to 94 g/km below 95, and 165 to + 174 and 175 g/km and over above 164. The sheet gives no rounding rule; its band cells are whole + thousands. Its ''Total'' row restates Table 1''s car benefit recipients and is ported from Table + 1. HMRC prints ''[note 3]'' (not available, as note 3 excludes zero-emission cars before April 2015) + for ''Zero''; ''<0.5'' (fewer than 500 recipients, under half the table''s unit of a thousand) for + ''1 - 50'' and ''51 - 75'': those cells emit no fact, not a zero.' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2013 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2013.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2013 + sheet_name: 2A_CO2_recipients + period_type: tax_year + period: 2013 + period_coverage: + start_date: '2013-04-06' + end_date: '2014-04-05' + basis: tax + source_period_label: 2013 to 2014 + notes: 'Cars emitting 0 g/km are not in these statistics for this year: from April 2010 to April 2015 + they carried a zero-rate charge (note 3), and HMRC includes electric cars only from 2015 to 2016 + (commentary, section 6). Before April 2016 a few employers payrolled benefits informally; their + P11Ds were not processed electronically and are not in these statistics (commentary, section 8.1).' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_co2_band + shared_filters: + company_car_benefit_type: car + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + rows: + - value_id: co2_51_to_75 + label: 51 to 75 g/km + ordinal: 0 + row_number: 6 + expected_row_header_column: A + expected_row_header: 51 - 75 + table_record_kind: detail + filters: + company_car_co2_band: co2_51_to_75 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_51_to_75 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 51 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 76 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_76_to_94 + label: 76 to 94 g/km + ordinal: 1 + row_number: 12 + expected_row_header_column: A + expected_row_header: 76 - 94 + table_record_kind: detail + filters: + company_car_co2_band: co2_76_to_94 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_76_to_94 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 76 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 95 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_95_to_104 + label: 95 to 104 g/km + ordinal: 2 + row_number: 17 + expected_row_header_column: A + expected_row_header: 95 - 104 + table_record_kind: detail + filters: + company_car_co2_band: co2_95_to_104 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_95_to_104 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 95 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 105 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_105_to_114 + label: 105 to 114 g/km + ordinal: 3 + row_number: 18 + expected_row_header_column: A + expected_row_header: 105 - 114 + table_record_kind: detail + filters: + company_car_co2_band: co2_105_to_114 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_105_to_114 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 105 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 115 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_115_to_124 + label: 115 to 124 g/km + ordinal: 4 + row_number: 19 + expected_row_header_column: A + expected_row_header: 115 - 124 + table_record_kind: detail + filters: + company_car_co2_band: co2_115_to_124 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_115_to_124 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 115 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 125 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_125_to_134 + label: 125 to 134 g/km + ordinal: 5 + row_number: 20 + expected_row_header_column: A + expected_row_header: 125 - 134 + table_record_kind: detail + filters: + company_car_co2_band: co2_125_to_134 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_125_to_134 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 125 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 135 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_135_to_144 + label: 135 to 144 g/km + ordinal: 6 + row_number: 21 + expected_row_header_column: A + expected_row_header: 135 - 144 + table_record_kind: detail + filters: + company_car_co2_band: co2_135_to_144 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_135_to_144 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 135 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 145 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_145_to_154 + label: 145 to 154 g/km + ordinal: 7 + row_number: 22 + expected_row_header_column: A + expected_row_header: 145 - 154 + table_record_kind: detail + filters: + company_car_co2_band: co2_145_to_154 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_145_to_154 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 145 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 155 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_155_to_164 + label: 155 to 164 g/km + ordinal: 8 + row_number: 23 + expected_row_header_column: A + expected_row_header: 155 - 164 + table_record_kind: detail + filters: + company_car_co2_band: co2_155_to_164 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_155_to_164 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 155 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 165 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_165_to_174 + label: 165 to 174 g/km + ordinal: 9 + row_number: 24 + expected_row_header_column: A + expected_row_header: 165 - 174 + table_record_kind: detail + filters: + company_car_co2_band: co2_165_to_174 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_165_to_174 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 165 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 175 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_175_plus + label: 175 g/km and over + ordinal: 10 + row_number: 27 + expected_row_header_column: A + expected_row_header: 175 g/km and over + table_record_kind: detail + filters: + company_car_co2_band: co2_175_plus + constraints: + - variable: company_car_co2_band + operator: == + value: co2_175_plus + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 175 + unit: g_co2_per_km + label: CO2 emissions lower bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: D + source_column_id: recipients + expected_column_header_row: 3 + expected_column_header: 2013 to 2014 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 2A, recipients of company car benefit by the CO2 emissions of the car, + 2013 to 2014, in thousands. HMRC compiles these from employers'' P11D returns and, from 2017 to + 2018, the company cars employers payroll and report through Real Time Information (RTI), counting + a car reported both ways once (background quality report, section 3.5). A recipient with more than + one company car in the year is apportioned between the cars by the time each was held, so the rows + add to recipients, not cars (background quality report, section 3.5). Missing or implausible CO2 + figures are imputed where other data allow, typically for under 2% of car benefits (section 3.5). + From April 2020 the CO2 figures are WLTP measurements; before, they are NEDC figures, WLTP results + converted back to NEDC equivalents from September 2018 (background quality report, section 2.4). + This year uses the bands printed to 2019 to 2020: 51 to 75 and 76 to 94 g/km below 95, and 165 to + 174 and 175 g/km and over above 164. The sheet gives no rounding rule; its band cells are whole + thousands. Its ''Total'' row restates Table 1''s car benefit recipients and is ported from Table + 1. HMRC prints ''[note 3]'' (not available, as note 3 excludes zero-emission cars before April 2015) + for ''Zero''; ''<0.5'' (fewer than 500 recipients, under half the table''s unit of a thousand) for + ''1 - 50'': those cells emit no fact, not a zero.' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2014 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2014.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2014 + sheet_name: 2A_CO2_recipients + period_type: tax_year + period: 2014 + period_coverage: + start_date: '2014-04-06' + end_date: '2015-04-05' + basis: tax + source_period_label: 2014 to 2015 + notes: 'Cars emitting 0 g/km are not in these statistics for this year: from April 2010 to April 2015 + they carried a zero-rate charge (note 3), and HMRC includes electric cars only from 2015 to 2016 + (commentary, section 6). Before April 2016 a few employers payrolled benefits informally; their + P11Ds were not processed electronically and are not in these statistics (commentary, section 8.1).' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_co2_band + shared_filters: + company_car_benefit_type: car + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + rows: + - value_id: co2_1_to_50 + label: 1 to 50 g/km + ordinal: 0 + row_number: 5 + expected_row_header_column: A + expected_row_header: 1 - 50 + table_record_kind: detail + filters: + company_car_co2_band: co2_1_to_50 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_1_to_50 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>' + value: 0 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 51 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_51_to_75 + label: 51 to 75 g/km + ordinal: 1 + row_number: 6 + expected_row_header_column: A + expected_row_header: 51 - 75 + table_record_kind: detail + filters: + company_car_co2_band: co2_51_to_75 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_51_to_75 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 51 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 76 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_76_to_94 + label: 76 to 94 g/km + ordinal: 2 + row_number: 12 + expected_row_header_column: A + expected_row_header: 76 - 94 + table_record_kind: detail + filters: + company_car_co2_band: co2_76_to_94 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_76_to_94 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 76 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 95 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_95_to_104 + label: 95 to 104 g/km + ordinal: 3 + row_number: 17 + expected_row_header_column: A + expected_row_header: 95 - 104 + table_record_kind: detail + filters: + company_car_co2_band: co2_95_to_104 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_95_to_104 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 95 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 105 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_105_to_114 + label: 105 to 114 g/km + ordinal: 4 + row_number: 18 + expected_row_header_column: A + expected_row_header: 105 - 114 + table_record_kind: detail + filters: + company_car_co2_band: co2_105_to_114 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_105_to_114 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 105 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 115 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_115_to_124 + label: 115 to 124 g/km + ordinal: 5 + row_number: 19 + expected_row_header_column: A + expected_row_header: 115 - 124 + table_record_kind: detail + filters: + company_car_co2_band: co2_115_to_124 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_115_to_124 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 115 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 125 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_125_to_134 + label: 125 to 134 g/km + ordinal: 6 + row_number: 20 + expected_row_header_column: A + expected_row_header: 125 - 134 + table_record_kind: detail + filters: + company_car_co2_band: co2_125_to_134 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_125_to_134 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 125 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 135 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_135_to_144 + label: 135 to 144 g/km + ordinal: 7 + row_number: 21 + expected_row_header_column: A + expected_row_header: 135 - 144 + table_record_kind: detail + filters: + company_car_co2_band: co2_135_to_144 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_135_to_144 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 135 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 145 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_145_to_154 + label: 145 to 154 g/km + ordinal: 8 + row_number: 22 + expected_row_header_column: A + expected_row_header: 145 - 154 + table_record_kind: detail + filters: + company_car_co2_band: co2_145_to_154 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_145_to_154 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 145 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 155 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_155_to_164 + label: 155 to 164 g/km + ordinal: 9 + row_number: 23 + expected_row_header_column: A + expected_row_header: 155 - 164 + table_record_kind: detail + filters: + company_car_co2_band: co2_155_to_164 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_155_to_164 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 155 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 165 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_165_to_174 + label: 165 to 174 g/km + ordinal: 10 + row_number: 24 + expected_row_header_column: A + expected_row_header: 165 - 174 + table_record_kind: detail + filters: + company_car_co2_band: co2_165_to_174 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_165_to_174 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 165 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 175 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_175_plus + label: 175 g/km and over + ordinal: 11 + row_number: 27 + expected_row_header_column: A + expected_row_header: 175 g/km and over + table_record_kind: detail + filters: + company_car_co2_band: co2_175_plus + constraints: + - variable: company_car_co2_band + operator: == + value: co2_175_plus + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 175 + unit: g_co2_per_km + label: CO2 emissions lower bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: E + source_column_id: recipients + expected_column_header_row: 3 + expected_column_header: 2014 to 2015 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 2A, recipients of company car benefit by the CO2 emissions of the car, + 2014 to 2015, in thousands. HMRC compiles these from employers'' P11D returns and, from 2017 to + 2018, the company cars employers payroll and report through Real Time Information (RTI), counting + a car reported both ways once (background quality report, section 3.5). A recipient with more than + one company car in the year is apportioned between the cars by the time each was held, so the rows + add to recipients, not cars (background quality report, section 3.5). Missing or implausible CO2 + figures are imputed where other data allow, typically for under 2% of car benefits (section 3.5). + From April 2020 the CO2 figures are WLTP measurements; before, they are NEDC figures, WLTP results + converted back to NEDC equivalents from September 2018 (background quality report, section 2.4). + This year uses the bands printed to 2019 to 2020: 51 to 75 and 76 to 94 g/km below 95, and 165 to + 174 and 175 g/km and over above 164. The sheet gives no rounding rule; its band cells are whole + thousands. Its ''Total'' row restates Table 1''s car benefit recipients and is ported from Table + 1. HMRC prints ''[note 3]'' (not available, as note 3 excludes zero-emission cars before April 2015) + for ''Zero'': those cells emit no fact, not a zero.' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2015 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2015.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2015 + sheet_name: 2A_CO2_recipients + period_type: tax_year + period: 2015 + period_coverage: + start_date: '2015-04-06' + end_date: '2016-04-05' + basis: tax + source_period_label: 2015 to 2016 + notes: Before April 2016 a few employers payrolled benefits informally; their P11Ds were not processed + electronically and are not in these statistics (commentary, section 8.1). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_co2_band + shared_filters: + company_car_benefit_type: car + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + rows: + - value_id: co2_0 + label: 0 g/km + ordinal: 0 + row_number: 4 + expected_row_header_column: A + expected_row_header: Zero + table_record_kind: detail + filters: + company_car_co2_band: co2_0 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_0 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: == + value: 0 + unit: g_co2_per_km + label: CO2 emissions + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_1_to_50 + label: 1 to 50 g/km + ordinal: 1 + row_number: 5 + expected_row_header_column: A + expected_row_header: 1 - 50 + table_record_kind: detail + filters: + company_car_co2_band: co2_1_to_50 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_1_to_50 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>' + value: 0 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 51 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_76_to_94 + label: 76 to 94 g/km + ordinal: 2 + row_number: 12 + expected_row_header_column: A + expected_row_header: 76 - 94 + table_record_kind: detail + filters: + company_car_co2_band: co2_76_to_94 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_76_to_94 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 76 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 95 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_95_to_104 + label: 95 to 104 g/km + ordinal: 3 + row_number: 17 + expected_row_header_column: A + expected_row_header: 95 - 104 + table_record_kind: detail + filters: + company_car_co2_band: co2_95_to_104 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_95_to_104 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 95 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 105 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_105_to_114 + label: 105 to 114 g/km + ordinal: 4 + row_number: 18 + expected_row_header_column: A + expected_row_header: 105 - 114 + table_record_kind: detail + filters: + company_car_co2_band: co2_105_to_114 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_105_to_114 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 105 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 115 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_115_to_124 + label: 115 to 124 g/km + ordinal: 5 + row_number: 19 + expected_row_header_column: A + expected_row_header: 115 - 124 + table_record_kind: detail + filters: + company_car_co2_band: co2_115_to_124 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_115_to_124 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 115 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 125 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_125_to_134 + label: 125 to 134 g/km + ordinal: 6 + row_number: 20 + expected_row_header_column: A + expected_row_header: 125 - 134 + table_record_kind: detail + filters: + company_car_co2_band: co2_125_to_134 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_125_to_134 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 125 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 135 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_135_to_144 + label: 135 to 144 g/km + ordinal: 7 + row_number: 21 + expected_row_header_column: A + expected_row_header: 135 - 144 + table_record_kind: detail + filters: + company_car_co2_band: co2_135_to_144 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_135_to_144 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 135 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 145 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_145_to_154 + label: 145 to 154 g/km + ordinal: 8 + row_number: 22 + expected_row_header_column: A + expected_row_header: 145 - 154 + table_record_kind: detail + filters: + company_car_co2_band: co2_145_to_154 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_145_to_154 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 145 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 155 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_155_to_164 + label: 155 to 164 g/km + ordinal: 9 + row_number: 23 + expected_row_header_column: A + expected_row_header: 155 - 164 + table_record_kind: detail + filters: + company_car_co2_band: co2_155_to_164 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_155_to_164 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 155 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 165 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_165_to_174 + label: 165 to 174 g/km + ordinal: 10 + row_number: 24 + expected_row_header_column: A + expected_row_header: 165 - 174 + table_record_kind: detail + filters: + company_car_co2_band: co2_165_to_174 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_165_to_174 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 165 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 175 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_175_plus + label: 175 g/km and over + ordinal: 11 + row_number: 27 + expected_row_header_column: A + expected_row_header: 175 g/km and over + table_record_kind: detail + filters: + company_car_co2_band: co2_175_plus + constraints: + - variable: company_car_co2_band + operator: == + value: co2_175_plus + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 175 + unit: g_co2_per_km + label: CO2 emissions lower bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: F + source_column_id: recipients + expected_column_header_row: 3 + expected_column_header: 2015 to 2016 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 2A, recipients of company car benefit by the CO2 emissions of the car, + 2015 to 2016, in thousands. HMRC compiles these from employers'' P11D returns and, from 2017 to + 2018, the company cars employers payroll and report through Real Time Information (RTI), counting + a car reported both ways once (background quality report, section 3.5). A recipient with more than + one company car in the year is apportioned between the cars by the time each was held, so the rows + add to recipients, not cars (background quality report, section 3.5). Missing or implausible CO2 + figures are imputed where other data allow, typically for under 2% of car benefits (section 3.5). + From April 2020 the CO2 figures are WLTP measurements; before, they are NEDC figures, WLTP results + converted back to NEDC equivalents from September 2018 (background quality report, section 2.4). + This year uses the bands printed to 2019 to 2020: 51 to 75 and 76 to 94 g/km below 95, and 165 to + 174 and 175 g/km and over above 164. The sheet gives no rounding rule; its band cells are whole + thousands. Its ''Total'' row restates Table 1''s car benefit recipients and is ported from Table + 1. HMRC prints ''<0.5'' (fewer than 500 recipients, under half the table''s unit of a thousand) + for ''51 - 75'': those cells emit no fact, not a zero.' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2016 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2016.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2016 + sheet_name: 2A_CO2_recipients + period_type: tax_year + period: 2016 + period_coverage: + start_date: '2016-04-06' + end_date: '2017-04-05' + basis: tax + source_period_label: 2016 to 2017 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. In + 2016 to 2017 payrolled cars could not be reported through RTI, so every voluntarily payrolled car + is missing. HMRC expects company car recipients to be under-reported in every year since April 2016 + (commentary, section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_co2_band + shared_filters: + company_car_benefit_type: car + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + rows: + - value_id: co2_0 + label: 0 g/km + ordinal: 0 + row_number: 4 + expected_row_header_column: A + expected_row_header: Zero + table_record_kind: detail + filters: + company_car_co2_band: co2_0 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_0 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: == + value: 0 + unit: g_co2_per_km + label: CO2 emissions + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_1_to_50 + label: 1 to 50 g/km + ordinal: 1 + row_number: 5 + expected_row_header_column: A + expected_row_header: 1 - 50 + table_record_kind: detail + filters: + company_car_co2_band: co2_1_to_50 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_1_to_50 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>' + value: 0 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 51 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_51_to_75 + label: 51 to 75 g/km + ordinal: 2 + row_number: 6 + expected_row_header_column: A + expected_row_header: 51 - 75 + table_record_kind: detail + filters: + company_car_co2_band: co2_51_to_75 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_51_to_75 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 51 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 76 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_76_to_94 + label: 76 to 94 g/km + ordinal: 3 + row_number: 12 + expected_row_header_column: A + expected_row_header: 76 - 94 + table_record_kind: detail + filters: + company_car_co2_band: co2_76_to_94 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_76_to_94 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 76 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 95 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_95_to_104 + label: 95 to 104 g/km + ordinal: 4 + row_number: 17 + expected_row_header_column: A + expected_row_header: 95 - 104 + table_record_kind: detail + filters: + company_car_co2_band: co2_95_to_104 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_95_to_104 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 95 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 105 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_105_to_114 + label: 105 to 114 g/km + ordinal: 5 + row_number: 18 + expected_row_header_column: A + expected_row_header: 105 - 114 + table_record_kind: detail + filters: + company_car_co2_band: co2_105_to_114 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_105_to_114 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 105 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 115 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_115_to_124 + label: 115 to 124 g/km + ordinal: 6 + row_number: 19 + expected_row_header_column: A + expected_row_header: 115 - 124 + table_record_kind: detail + filters: + company_car_co2_band: co2_115_to_124 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_115_to_124 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 115 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 125 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_125_to_134 + label: 125 to 134 g/km + ordinal: 7 + row_number: 20 + expected_row_header_column: A + expected_row_header: 125 - 134 + table_record_kind: detail + filters: + company_car_co2_band: co2_125_to_134 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_125_to_134 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 125 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 135 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_135_to_144 + label: 135 to 144 g/km + ordinal: 8 + row_number: 21 + expected_row_header_column: A + expected_row_header: 135 - 144 + table_record_kind: detail + filters: + company_car_co2_band: co2_135_to_144 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_135_to_144 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 135 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 145 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_145_to_154 + label: 145 to 154 g/km + ordinal: 9 + row_number: 22 + expected_row_header_column: A + expected_row_header: 145 - 154 + table_record_kind: detail + filters: + company_car_co2_band: co2_145_to_154 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_145_to_154 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 145 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 155 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_155_to_164 + label: 155 to 164 g/km + ordinal: 10 + row_number: 23 + expected_row_header_column: A + expected_row_header: 155 - 164 + table_record_kind: detail + filters: + company_car_co2_band: co2_155_to_164 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_155_to_164 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 155 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 165 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_165_to_174 + label: 165 to 174 g/km + ordinal: 11 + row_number: 24 + expected_row_header_column: A + expected_row_header: 165 - 174 + table_record_kind: detail + filters: + company_car_co2_band: co2_165_to_174 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_165_to_174 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 165 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 175 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_175_plus + label: 175 g/km and over + ordinal: 12 + row_number: 27 + expected_row_header_column: A + expected_row_header: 175 g/km and over + table_record_kind: detail + filters: + company_car_co2_band: co2_175_plus + constraints: + - variable: company_car_co2_band + operator: == + value: co2_175_plus + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 175 + unit: g_co2_per_km + label: CO2 emissions lower bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: G + source_column_id: recipients + expected_column_header_row: 3 + expected_column_header: 2016 to 2017 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 2A, recipients of company car benefit by the CO2 emissions of the car, + 2016 to 2017, in thousands. HMRC compiles these from employers'' P11D returns and, from 2017 to + 2018, the company cars employers payroll and report through Real Time Information (RTI), counting + a car reported both ways once (background quality report, section 3.5). A recipient with more than + one company car in the year is apportioned between the cars by the time each was held, so the rows + add to recipients, not cars (background quality report, section 3.5). Missing or implausible CO2 + figures are imputed where other data allow, typically for under 2% of car benefits (section 3.5). + From April 2020 the CO2 figures are WLTP measurements; before, they are NEDC figures, WLTP results + converted back to NEDC equivalents from September 2018 (background quality report, section 2.4). + This year uses the bands printed to 2019 to 2020: 51 to 75 and 76 to 94 g/km below 95, and 165 to + 174 and 175 g/km and over above 164. The sheet gives no rounding rule; its band cells are whole + thousands. Its ''Total'' row restates Table 1''s car benefit recipients and is ported from Table + 1.' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2017 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2017.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2017 + sheet_name: 2A_CO2_recipients + period_type: tax_year + period: 2017 + period_coverage: + start_date: '2017-04-06' + end_date: '2018-04-05' + basis: tax + source_period_label: 2017 to 2018 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. In + 2017 to 2018 reporting payrolled cars through RTI was voluntary, so the payrolled cars employers + chose not to report are missing. HMRC expects company car recipients to be under-reported in every + year since April 2016 (commentary, section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_co2_band + shared_filters: + company_car_benefit_type: car + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + rows: + - value_id: co2_0 + label: 0 g/km + ordinal: 0 + row_number: 4 + expected_row_header_column: A + expected_row_header: Zero + table_record_kind: detail + filters: + company_car_co2_band: co2_0 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_0 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: == + value: 0 + unit: g_co2_per_km + label: CO2 emissions + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_1_to_50 + label: 1 to 50 g/km + ordinal: 1 + row_number: 5 + expected_row_header_column: A + expected_row_header: 1 - 50 + table_record_kind: detail + filters: + company_car_co2_band: co2_1_to_50 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_1_to_50 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>' + value: 0 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 51 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_51_to_75 + label: 51 to 75 g/km + ordinal: 2 + row_number: 6 + expected_row_header_column: A + expected_row_header: 51 - 75 + table_record_kind: detail + filters: + company_car_co2_band: co2_51_to_75 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_51_to_75 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 51 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 76 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_76_to_94 + label: 76 to 94 g/km + ordinal: 3 + row_number: 12 + expected_row_header_column: A + expected_row_header: 76 - 94 + table_record_kind: detail + filters: + company_car_co2_band: co2_76_to_94 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_76_to_94 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 76 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 95 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_95_to_104 + label: 95 to 104 g/km + ordinal: 4 + row_number: 17 + expected_row_header_column: A + expected_row_header: 95 - 104 + table_record_kind: detail + filters: + company_car_co2_band: co2_95_to_104 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_95_to_104 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 95 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 105 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_105_to_114 + label: 105 to 114 g/km + ordinal: 5 + row_number: 18 + expected_row_header_column: A + expected_row_header: 105 - 114 + table_record_kind: detail + filters: + company_car_co2_band: co2_105_to_114 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_105_to_114 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 105 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 115 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_115_to_124 + label: 115 to 124 g/km + ordinal: 6 + row_number: 19 + expected_row_header_column: A + expected_row_header: 115 - 124 + table_record_kind: detail + filters: + company_car_co2_band: co2_115_to_124 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_115_to_124 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 115 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 125 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_125_to_134 + label: 125 to 134 g/km + ordinal: 7 + row_number: 20 + expected_row_header_column: A + expected_row_header: 125 - 134 + table_record_kind: detail + filters: + company_car_co2_band: co2_125_to_134 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_125_to_134 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 125 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 135 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_135_to_144 + label: 135 to 144 g/km + ordinal: 8 + row_number: 21 + expected_row_header_column: A + expected_row_header: 135 - 144 + table_record_kind: detail + filters: + company_car_co2_band: co2_135_to_144 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_135_to_144 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 135 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 145 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_145_to_154 + label: 145 to 154 g/km + ordinal: 9 + row_number: 22 + expected_row_header_column: A + expected_row_header: 145 - 154 + table_record_kind: detail + filters: + company_car_co2_band: co2_145_to_154 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_145_to_154 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 145 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 155 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_155_to_164 + label: 155 to 164 g/km + ordinal: 10 + row_number: 23 + expected_row_header_column: A + expected_row_header: 155 - 164 + table_record_kind: detail + filters: + company_car_co2_band: co2_155_to_164 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_155_to_164 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 155 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 165 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_165_to_174 + label: 165 to 174 g/km + ordinal: 11 + row_number: 24 + expected_row_header_column: A + expected_row_header: 165 - 174 + table_record_kind: detail + filters: + company_car_co2_band: co2_165_to_174 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_165_to_174 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 165 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 175 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_175_plus + label: 175 g/km and over + ordinal: 12 + row_number: 27 + expected_row_header_column: A + expected_row_header: 175 g/km and over + table_record_kind: detail + filters: + company_car_co2_band: co2_175_plus + constraints: + - variable: company_car_co2_band + operator: == + value: co2_175_plus + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 175 + unit: g_co2_per_km + label: CO2 emissions lower bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: H + source_column_id: recipients + expected_column_header_row: 3 + expected_column_header: 2017 to 2018 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 2A, recipients of company car benefit by the CO2 emissions of the car, + 2017 to 2018, in thousands. HMRC compiles these from employers'' P11D returns and, from 2017 to + 2018, the company cars employers payroll and report through Real Time Information (RTI), counting + a car reported both ways once (background quality report, section 3.5). A recipient with more than + one company car in the year is apportioned between the cars by the time each was held, so the rows + add to recipients, not cars (background quality report, section 3.5). Missing or implausible CO2 + figures are imputed where other data allow, typically for under 2% of car benefits (section 3.5). + From April 2020 the CO2 figures are WLTP measurements; before, they are NEDC figures, WLTP results + converted back to NEDC equivalents from September 2018 (background quality report, section 2.4). + This year uses the bands printed to 2019 to 2020: 51 to 75 and 76 to 94 g/km below 95, and 165 to + 174 and 175 g/km and over above 164. The sheet gives no rounding rule; its band cells are whole + thousands. Its ''Total'' row restates Table 1''s car benefit recipients and is ported from Table + 1.' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2018 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2018.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2018 + sheet_name: 2A_CO2_recipients + period_type: tax_year + period: 2018 + period_coverage: + start_date: '2018-04-06' + end_date: '2019-04-05' + basis: tax + source_period_label: 2018 to 2019 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_co2_band + shared_filters: + company_car_benefit_type: car + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + rows: + - value_id: co2_0 + label: 0 g/km + ordinal: 0 + row_number: 4 + expected_row_header_column: A + expected_row_header: Zero + table_record_kind: detail + filters: + company_car_co2_band: co2_0 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_0 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: == + value: 0 + unit: g_co2_per_km + label: CO2 emissions + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_1_to_50 + label: 1 to 50 g/km + ordinal: 1 + row_number: 5 + expected_row_header_column: A + expected_row_header: 1 - 50 + table_record_kind: detail + filters: + company_car_co2_band: co2_1_to_50 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_1_to_50 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>' + value: 0 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 51 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_51_to_75 + label: 51 to 75 g/km + ordinal: 2 + row_number: 6 + expected_row_header_column: A + expected_row_header: 51 - 75 + table_record_kind: detail + filters: + company_car_co2_band: co2_51_to_75 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_51_to_75 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 51 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 76 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_76_to_94 + label: 76 to 94 g/km + ordinal: 3 + row_number: 12 + expected_row_header_column: A + expected_row_header: 76 - 94 + table_record_kind: detail + filters: + company_car_co2_band: co2_76_to_94 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_76_to_94 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 76 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 95 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_95_to_104 + label: 95 to 104 g/km + ordinal: 4 + row_number: 17 + expected_row_header_column: A + expected_row_header: 95 - 104 + table_record_kind: detail + filters: + company_car_co2_band: co2_95_to_104 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_95_to_104 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 95 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 105 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_105_to_114 + label: 105 to 114 g/km + ordinal: 5 + row_number: 18 + expected_row_header_column: A + expected_row_header: 105 - 114 + table_record_kind: detail + filters: + company_car_co2_band: co2_105_to_114 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_105_to_114 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 105 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 115 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_115_to_124 + label: 115 to 124 g/km + ordinal: 6 + row_number: 19 + expected_row_header_column: A + expected_row_header: 115 - 124 + table_record_kind: detail + filters: + company_car_co2_band: co2_115_to_124 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_115_to_124 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 115 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 125 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_125_to_134 + label: 125 to 134 g/km + ordinal: 7 + row_number: 20 + expected_row_header_column: A + expected_row_header: 125 - 134 + table_record_kind: detail + filters: + company_car_co2_band: co2_125_to_134 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_125_to_134 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 125 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 135 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_135_to_144 + label: 135 to 144 g/km + ordinal: 8 + row_number: 21 + expected_row_header_column: A + expected_row_header: 135 - 144 + table_record_kind: detail + filters: + company_car_co2_band: co2_135_to_144 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_135_to_144 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 135 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 145 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_145_to_154 + label: 145 to 154 g/km + ordinal: 9 + row_number: 22 + expected_row_header_column: A + expected_row_header: 145 - 154 + table_record_kind: detail + filters: + company_car_co2_band: co2_145_to_154 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_145_to_154 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 145 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 155 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_155_to_164 + label: 155 to 164 g/km + ordinal: 10 + row_number: 23 + expected_row_header_column: A + expected_row_header: 155 - 164 + table_record_kind: detail + filters: + company_car_co2_band: co2_155_to_164 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_155_to_164 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 155 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 165 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_165_to_174 + label: 165 to 174 g/km + ordinal: 11 + row_number: 24 + expected_row_header_column: A + expected_row_header: 165 - 174 + table_record_kind: detail + filters: + company_car_co2_band: co2_165_to_174 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_165_to_174 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 165 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 175 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_175_plus + label: 175 g/km and over + ordinal: 12 + row_number: 27 + expected_row_header_column: A + expected_row_header: 175 g/km and over + table_record_kind: detail + filters: + company_car_co2_band: co2_175_plus + constraints: + - variable: company_car_co2_band + operator: == + value: co2_175_plus + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 175 + unit: g_co2_per_km + label: CO2 emissions lower bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: I + source_column_id: recipients + expected_column_header_row: 3 + expected_column_header: 2018 to 2019 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 2A, recipients of company car benefit by the CO2 emissions of the car, + 2018 to 2019, in thousands. HMRC compiles these from employers'' P11D returns and, from 2017 to + 2018, the company cars employers payroll and report through Real Time Information (RTI), counting + a car reported both ways once (background quality report, section 3.5). A recipient with more than + one company car in the year is apportioned between the cars by the time each was held, so the rows + add to recipients, not cars (background quality report, section 3.5). Missing or implausible CO2 + figures are imputed where other data allow, typically for under 2% of car benefits (section 3.5). + From April 2020 the CO2 figures are WLTP measurements; before, they are NEDC figures, WLTP results + converted back to NEDC equivalents from September 2018 (background quality report, section 2.4). + This year uses the bands printed to 2019 to 2020: 51 to 75 and 76 to 94 g/km below 95, and 165 to + 174 and 175 g/km and over above 164. The sheet gives no rounding rule; its band cells are whole + thousands. Its ''Total'' row restates Table 1''s car benefit recipients and is ported from Table + 1.' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2019 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2019.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2019 + sheet_name: 2A_CO2_recipients + period_type: tax_year + period: 2019 + period_coverage: + start_date: '2019-04-06' + end_date: '2020-04-05' + basis: tax + source_period_label: 2019 to 2020 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_co2_band + shared_filters: + company_car_benefit_type: car + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + rows: + - value_id: co2_0 + label: 0 g/km + ordinal: 0 + row_number: 4 + expected_row_header_column: A + expected_row_header: Zero + table_record_kind: detail + filters: + company_car_co2_band: co2_0 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_0 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: == + value: 0 + unit: g_co2_per_km + label: CO2 emissions + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_1_to_50 + label: 1 to 50 g/km + ordinal: 1 + row_number: 5 + expected_row_header_column: A + expected_row_header: 1 - 50 + table_record_kind: detail + filters: + company_car_co2_band: co2_1_to_50 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_1_to_50 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>' + value: 0 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 51 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_51_to_75 + label: 51 to 75 g/km + ordinal: 2 + row_number: 6 + expected_row_header_column: A + expected_row_header: 51 - 75 + table_record_kind: detail + filters: + company_car_co2_band: co2_51_to_75 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_51_to_75 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 51 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 76 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_76_to_94 + label: 76 to 94 g/km + ordinal: 3 + row_number: 12 + expected_row_header_column: A + expected_row_header: 76 - 94 + table_record_kind: detail + filters: + company_car_co2_band: co2_76_to_94 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_76_to_94 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 76 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 95 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_95_to_104 + label: 95 to 104 g/km + ordinal: 4 + row_number: 17 + expected_row_header_column: A + expected_row_header: 95 - 104 + table_record_kind: detail + filters: + company_car_co2_band: co2_95_to_104 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_95_to_104 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 95 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 105 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_105_to_114 + label: 105 to 114 g/km + ordinal: 5 + row_number: 18 + expected_row_header_column: A + expected_row_header: 105 - 114 + table_record_kind: detail + filters: + company_car_co2_band: co2_105_to_114 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_105_to_114 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 105 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 115 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_115_to_124 + label: 115 to 124 g/km + ordinal: 6 + row_number: 19 + expected_row_header_column: A + expected_row_header: 115 - 124 + table_record_kind: detail + filters: + company_car_co2_band: co2_115_to_124 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_115_to_124 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 115 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 125 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_125_to_134 + label: 125 to 134 g/km + ordinal: 7 + row_number: 20 + expected_row_header_column: A + expected_row_header: 125 - 134 + table_record_kind: detail + filters: + company_car_co2_band: co2_125_to_134 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_125_to_134 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 125 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 135 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_135_to_144 + label: 135 to 144 g/km + ordinal: 8 + row_number: 21 + expected_row_header_column: A + expected_row_header: 135 - 144 + table_record_kind: detail + filters: + company_car_co2_band: co2_135_to_144 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_135_to_144 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 135 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 145 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_145_to_154 + label: 145 to 154 g/km + ordinal: 9 + row_number: 22 + expected_row_header_column: A + expected_row_header: 145 - 154 + table_record_kind: detail + filters: + company_car_co2_band: co2_145_to_154 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_145_to_154 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 145 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 155 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_155_to_164 + label: 155 to 164 g/km + ordinal: 10 + row_number: 23 + expected_row_header_column: A + expected_row_header: 155 - 164 + table_record_kind: detail + filters: + company_car_co2_band: co2_155_to_164 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_155_to_164 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 155 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 165 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_165_to_174 + label: 165 to 174 g/km + ordinal: 11 + row_number: 24 + expected_row_header_column: A + expected_row_header: 165 - 174 + table_record_kind: detail + filters: + company_car_co2_band: co2_165_to_174 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_165_to_174 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 165 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 175 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_175_plus + label: 175 g/km and over + ordinal: 12 + row_number: 27 + expected_row_header_column: A + expected_row_header: 175 g/km and over + table_record_kind: detail + filters: + company_car_co2_band: co2_175_plus + constraints: + - variable: company_car_co2_band + operator: == + value: co2_175_plus + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 175 + unit: g_co2_per_km + label: CO2 emissions lower bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: J + source_column_id: recipients + expected_column_header_row: 3 + expected_column_header: 2019 to 2020 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 2A, recipients of company car benefit by the CO2 emissions of the car, + 2019 to 2020, in thousands. HMRC compiles these from employers'' P11D returns and, from 2017 to + 2018, the company cars employers payroll and report through Real Time Information (RTI), counting + a car reported both ways once (background quality report, section 3.5). A recipient with more than + one company car in the year is apportioned between the cars by the time each was held, so the rows + add to recipients, not cars (background quality report, section 3.5). Missing or implausible CO2 + figures are imputed where other data allow, typically for under 2% of car benefits (section 3.5). + From April 2020 the CO2 figures are WLTP measurements; before, they are NEDC figures, WLTP results + converted back to NEDC equivalents from September 2018 (background quality report, section 2.4). + This year uses the bands printed to 2019 to 2020: 51 to 75 and 76 to 94 g/km below 95, and 165 to + 174 and 175 g/km and over above 164. The sheet gives no rounding rule; its band cells are whole + thousands. Its ''Total'' row restates Table 1''s car benefit recipients and is ported from Table + 1.' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2020 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2020.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2020 + sheet_name: 2A_CO2_recipients + period_type: tax_year + period: 2020 + period_coverage: + start_date: '2020-04-06' + end_date: '2021-04-05' + basis: tax + source_period_label: 2020 to 2021 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_co2_band + shared_filters: + company_car_benefit_type: car + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + rows: + - value_id: co2_0 + label: 0 g/km + ordinal: 0 + row_number: 4 + expected_row_header_column: A + expected_row_header: Zero + table_record_kind: detail + filters: + company_car_co2_band: co2_0 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_0 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: == + value: 0 + unit: g_co2_per_km + label: CO2 emissions + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_1_to_50 + label: 1 to 50 g/km + ordinal: 1 + row_number: 5 + expected_row_header_column: A + expected_row_header: 1 - 50 + table_record_kind: detail + filters: + company_car_co2_band: co2_1_to_50 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_1_to_50 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>' + value: 0 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 51 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_51_to_54 + label: 51 to 54 g/km + ordinal: 2 + row_number: 7 + expected_row_header_column: A + expected_row_header: 51 - 54 + table_record_kind: detail + filters: + company_car_co2_band: co2_51_to_54 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_51_to_54 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 51 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 55 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_55_to_59 + label: 55 to 59 g/km + ordinal: 3 + row_number: 8 + expected_row_header_column: A + expected_row_header: 55 - 59 + table_record_kind: detail + filters: + company_car_co2_band: co2_55_to_59 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_55_to_59 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 55 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 60 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_60_to_64 + label: 60 to 64 g/km + ordinal: 4 + row_number: 9 + expected_row_header_column: A + expected_row_header: 60 - 64 + table_record_kind: detail + filters: + company_car_co2_band: co2_60_to_64 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_60_to_64 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 60 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 65 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_65_to_69 + label: 65 to 69 g/km + ordinal: 5 + row_number: 10 + expected_row_header_column: A + expected_row_header: 65 - 69 + table_record_kind: detail + filters: + company_car_co2_band: co2_65_to_69 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_65_to_69 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 65 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 70 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_70_to_74 + label: 70 to 74 g/km + ordinal: 6 + row_number: 11 + expected_row_header_column: A + expected_row_header: 70 - 74 + table_record_kind: detail + filters: + company_car_co2_band: co2_70_to_74 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_70_to_74 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 70 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 75 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_75_to_79 + label: 75 to 79 g/km + ordinal: 7 + row_number: 13 + expected_row_header_column: A + expected_row_header: 75 - 79 + table_record_kind: detail + filters: + company_car_co2_band: co2_75_to_79 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_75_to_79 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 75 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 80 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_80_to_84 + label: 80 to 84 g/km + ordinal: 8 + row_number: 14 + expected_row_header_column: A + expected_row_header: 80 - 84 + table_record_kind: detail + filters: + company_car_co2_band: co2_80_to_84 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_80_to_84 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 80 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 85 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_85_to_89 + label: 85 to 89 g/km + ordinal: 9 + row_number: 15 + expected_row_header_column: A + expected_row_header: 85 - 89 + table_record_kind: detail + filters: + company_car_co2_band: co2_85_to_89 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_85_to_89 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 85 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 90 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_90_to_94 + label: 90 to 94 g/km + ordinal: 10 + row_number: 16 + expected_row_header_column: A + expected_row_header: 90 - 94 + table_record_kind: detail + filters: + company_car_co2_band: co2_90_to_94 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_90_to_94 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 90 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 95 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_95_to_104 + label: 95 to 104 g/km + ordinal: 11 + row_number: 17 + expected_row_header_column: A + expected_row_header: 95 - 104 + table_record_kind: detail + filters: + company_car_co2_band: co2_95_to_104 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_95_to_104 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 95 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 105 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_105_to_114 + label: 105 to 114 g/km + ordinal: 12 + row_number: 18 + expected_row_header_column: A + expected_row_header: 105 - 114 + table_record_kind: detail + filters: + company_car_co2_band: co2_105_to_114 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_105_to_114 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 105 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 115 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_115_to_124 + label: 115 to 124 g/km + ordinal: 13 + row_number: 19 + expected_row_header_column: A + expected_row_header: 115 - 124 + table_record_kind: detail + filters: + company_car_co2_band: co2_115_to_124 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_115_to_124 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 115 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 125 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_125_to_134 + label: 125 to 134 g/km + ordinal: 14 + row_number: 20 + expected_row_header_column: A + expected_row_header: 125 - 134 + table_record_kind: detail + filters: + company_car_co2_band: co2_125_to_134 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_125_to_134 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 125 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 135 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_135_to_144 + label: 135 to 144 g/km + ordinal: 15 + row_number: 21 + expected_row_header_column: A + expected_row_header: 135 - 144 + table_record_kind: detail + filters: + company_car_co2_band: co2_135_to_144 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_135_to_144 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 135 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 145 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_145_to_154 + label: 145 to 154 g/km + ordinal: 16 + row_number: 22 + expected_row_header_column: A + expected_row_header: 145 - 154 + table_record_kind: detail + filters: + company_car_co2_band: co2_145_to_154 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_145_to_154 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 145 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 155 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_155_to_164 + label: 155 to 164 g/km + ordinal: 17 + row_number: 23 + expected_row_header_column: A + expected_row_header: 155 - 164 + table_record_kind: detail + filters: + company_car_co2_band: co2_155_to_164 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_155_to_164 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 155 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 165 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_165_to_169 + label: 165 to 169 g/km + ordinal: 18 + row_number: 25 + expected_row_header_column: A + expected_row_header: 165- 169 + table_record_kind: detail + filters: + company_car_co2_band: co2_165_to_169 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_165_to_169 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 165 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 170 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_170_plus + label: 170 g/km and over + ordinal: 19 + row_number: 26 + expected_row_header_column: A + expected_row_header: 170 g/km and over + table_record_kind: detail + filters: + company_car_co2_band: co2_170_plus + constraints: + - variable: company_car_co2_band + operator: == + value: co2_170_plus + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 170 + unit: g_co2_per_km + label: CO2 emissions lower bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: K + source_column_id: recipients + expected_column_header_row: 3 + expected_column_header: 2020 to 2021 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 2A, recipients of company car benefit by the CO2 emissions of the car, + 2020 to 2021, in thousands. HMRC compiles these from employers'' P11D returns and, from 2017 to + 2018, the company cars employers payroll and report through Real Time Information (RTI), counting + a car reported both ways once (background quality report, section 3.5). A recipient with more than + one company car in the year is apportioned between the cars by the time each was held, so the rows + add to recipients, not cars (background quality report, section 3.5). Missing or implausible CO2 + figures are imputed where other data allow, typically for under 2% of car benefits (section 3.5). + From April 2020 the CO2 figures are WLTP measurements; before, they are NEDC figures, WLTP results + converted back to NEDC equivalents from September 2018 (background quality report, section 2.4). + This year uses the bands printed from 2020 to 2021: five-gram bands from 51 to 94 g/km, and 165 + to 169 and 170 g/km and over above 164. The sheet gives no rounding rule; its band cells are whole + thousands. Its ''Total'' row restates Table 1''s car benefit recipients and is ported from Table + 1.' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2021 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2021.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2021 + sheet_name: 2A_CO2_recipients + period_type: tax_year + period: 2021 + period_coverage: + start_date: '2021-04-06' + end_date: '2022-04-05' + basis: tax + source_period_label: 2021 to 2022 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_co2_band + shared_filters: + company_car_benefit_type: car + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + rows: + - value_id: co2_0 + label: 0 g/km + ordinal: 0 + row_number: 4 + expected_row_header_column: A + expected_row_header: Zero + table_record_kind: detail + filters: + company_car_co2_band: co2_0 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_0 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: == + value: 0 + unit: g_co2_per_km + label: CO2 emissions + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_1_to_50 + label: 1 to 50 g/km + ordinal: 1 + row_number: 5 + expected_row_header_column: A + expected_row_header: 1 - 50 + table_record_kind: detail + filters: + company_car_co2_band: co2_1_to_50 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_1_to_50 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>' + value: 0 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 51 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_51_to_54 + label: 51 to 54 g/km + ordinal: 2 + row_number: 7 + expected_row_header_column: A + expected_row_header: 51 - 54 + table_record_kind: detail + filters: + company_car_co2_band: co2_51_to_54 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_51_to_54 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 51 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 55 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_55_to_59 + label: 55 to 59 g/km + ordinal: 3 + row_number: 8 + expected_row_header_column: A + expected_row_header: 55 - 59 + table_record_kind: detail + filters: + company_car_co2_band: co2_55_to_59 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_55_to_59 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 55 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 60 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_60_to_64 + label: 60 to 64 g/km + ordinal: 4 + row_number: 9 + expected_row_header_column: A + expected_row_header: 60 - 64 + table_record_kind: detail + filters: + company_car_co2_band: co2_60_to_64 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_60_to_64 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 60 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 65 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_65_to_69 + label: 65 to 69 g/km + ordinal: 5 + row_number: 10 + expected_row_header_column: A + expected_row_header: 65 - 69 + table_record_kind: detail + filters: + company_car_co2_band: co2_65_to_69 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_65_to_69 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 65 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 70 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_70_to_74 + label: 70 to 74 g/km + ordinal: 6 + row_number: 11 + expected_row_header_column: A + expected_row_header: 70 - 74 + table_record_kind: detail + filters: + company_car_co2_band: co2_70_to_74 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_70_to_74 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 70 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 75 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_75_to_79 + label: 75 to 79 g/km + ordinal: 7 + row_number: 13 + expected_row_header_column: A + expected_row_header: 75 - 79 + table_record_kind: detail + filters: + company_car_co2_band: co2_75_to_79 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_75_to_79 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 75 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 80 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_80_to_84 + label: 80 to 84 g/km + ordinal: 8 + row_number: 14 + expected_row_header_column: A + expected_row_header: 80 - 84 + table_record_kind: detail + filters: + company_car_co2_band: co2_80_to_84 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_80_to_84 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 80 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 85 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_85_to_89 + label: 85 to 89 g/km + ordinal: 9 + row_number: 15 + expected_row_header_column: A + expected_row_header: 85 - 89 + table_record_kind: detail + filters: + company_car_co2_band: co2_85_to_89 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_85_to_89 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 85 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 90 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_90_to_94 + label: 90 to 94 g/km + ordinal: 10 + row_number: 16 + expected_row_header_column: A + expected_row_header: 90 - 94 + table_record_kind: detail + filters: + company_car_co2_band: co2_90_to_94 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_90_to_94 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 90 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 95 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_95_to_104 + label: 95 to 104 g/km + ordinal: 11 + row_number: 17 + expected_row_header_column: A + expected_row_header: 95 - 104 + table_record_kind: detail + filters: + company_car_co2_band: co2_95_to_104 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_95_to_104 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 95 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 105 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_105_to_114 + label: 105 to 114 g/km + ordinal: 12 + row_number: 18 + expected_row_header_column: A + expected_row_header: 105 - 114 + table_record_kind: detail + filters: + company_car_co2_band: co2_105_to_114 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_105_to_114 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 105 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 115 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_115_to_124 + label: 115 to 124 g/km + ordinal: 13 + row_number: 19 + expected_row_header_column: A + expected_row_header: 115 - 124 + table_record_kind: detail + filters: + company_car_co2_band: co2_115_to_124 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_115_to_124 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 115 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 125 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_125_to_134 + label: 125 to 134 g/km + ordinal: 14 + row_number: 20 + expected_row_header_column: A + expected_row_header: 125 - 134 + table_record_kind: detail + filters: + company_car_co2_band: co2_125_to_134 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_125_to_134 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 125 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 135 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_135_to_144 + label: 135 to 144 g/km + ordinal: 15 + row_number: 21 + expected_row_header_column: A + expected_row_header: 135 - 144 + table_record_kind: detail + filters: + company_car_co2_band: co2_135_to_144 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_135_to_144 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 135 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 145 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_145_to_154 + label: 145 to 154 g/km + ordinal: 16 + row_number: 22 + expected_row_header_column: A + expected_row_header: 145 - 154 + table_record_kind: detail + filters: + company_car_co2_band: co2_145_to_154 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_145_to_154 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 145 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 155 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_155_to_164 + label: 155 to 164 g/km + ordinal: 17 + row_number: 23 + expected_row_header_column: A + expected_row_header: 155 - 164 + table_record_kind: detail + filters: + company_car_co2_band: co2_155_to_164 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_155_to_164 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 155 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 165 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_165_to_169 + label: 165 to 169 g/km + ordinal: 18 + row_number: 25 + expected_row_header_column: A + expected_row_header: 165- 169 + table_record_kind: detail + filters: + company_car_co2_band: co2_165_to_169 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_165_to_169 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 165 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 170 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_170_plus + label: 170 g/km and over + ordinal: 19 + row_number: 26 + expected_row_header_column: A + expected_row_header: 170 g/km and over + table_record_kind: detail + filters: + company_car_co2_band: co2_170_plus + constraints: + - variable: company_car_co2_band + operator: == + value: co2_170_plus + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 170 + unit: g_co2_per_km + label: CO2 emissions lower bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: L + source_column_id: recipients + expected_column_header_row: 3 + expected_column_header: 2021 to 2022 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 2A, recipients of company car benefit by the CO2 emissions of the car, + 2021 to 2022, in thousands. HMRC compiles these from employers'' P11D returns and, from 2017 to + 2018, the company cars employers payroll and report through Real Time Information (RTI), counting + a car reported both ways once (background quality report, section 3.5). A recipient with more than + one company car in the year is apportioned between the cars by the time each was held, so the rows + add to recipients, not cars (background quality report, section 3.5). Missing or implausible CO2 + figures are imputed where other data allow, typically for under 2% of car benefits (section 3.5). + From April 2020 the CO2 figures are WLTP measurements; before, they are NEDC figures, WLTP results + converted back to NEDC equivalents from September 2018 (background quality report, section 2.4). + This year uses the bands printed from 2020 to 2021: five-gram bands from 51 to 94 g/km, and 165 + to 169 and 170 g/km and over above 164. The sheet gives no rounding rule; its band cells are whole + thousands. Its ''Total'' row restates Table 1''s car benefit recipients and is ported from Table + 1.' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2022 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2022.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2022 + sheet_name: 2A_CO2_recipients + period_type: tax_year + period: 2022 + period_coverage: + start_date: '2022-04-06' + end_date: '2023-04-05' + basis: tax + source_period_label: 2022 to 2023 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_co2_band + shared_filters: + company_car_benefit_type: car + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + rows: + - value_id: co2_0 + label: 0 g/km + ordinal: 0 + row_number: 4 + expected_row_header_column: A + expected_row_header: Zero + table_record_kind: detail + filters: + company_car_co2_band: co2_0 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_0 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: == + value: 0 + unit: g_co2_per_km + label: CO2 emissions + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_1_to_50 + label: 1 to 50 g/km + ordinal: 1 + row_number: 5 + expected_row_header_column: A + expected_row_header: 1 - 50 + table_record_kind: detail + filters: + company_car_co2_band: co2_1_to_50 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_1_to_50 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>' + value: 0 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 51 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_51_to_54 + label: 51 to 54 g/km + ordinal: 2 + row_number: 7 + expected_row_header_column: A + expected_row_header: 51 - 54 + table_record_kind: detail + filters: + company_car_co2_band: co2_51_to_54 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_51_to_54 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 51 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 55 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_55_to_59 + label: 55 to 59 g/km + ordinal: 3 + row_number: 8 + expected_row_header_column: A + expected_row_header: 55 - 59 + table_record_kind: detail + filters: + company_car_co2_band: co2_55_to_59 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_55_to_59 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 55 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 60 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_60_to_64 + label: 60 to 64 g/km + ordinal: 4 + row_number: 9 + expected_row_header_column: A + expected_row_header: 60 - 64 + table_record_kind: detail + filters: + company_car_co2_band: co2_60_to_64 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_60_to_64 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 60 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 65 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_65_to_69 + label: 65 to 69 g/km + ordinal: 5 + row_number: 10 + expected_row_header_column: A + expected_row_header: 65 - 69 + table_record_kind: detail + filters: + company_car_co2_band: co2_65_to_69 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_65_to_69 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 65 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 70 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_70_to_74 + label: 70 to 74 g/km + ordinal: 6 + row_number: 11 + expected_row_header_column: A + expected_row_header: 70 - 74 + table_record_kind: detail + filters: + company_car_co2_band: co2_70_to_74 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_70_to_74 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 70 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 75 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_75_to_79 + label: 75 to 79 g/km + ordinal: 7 + row_number: 13 + expected_row_header_column: A + expected_row_header: 75 - 79 + table_record_kind: detail + filters: + company_car_co2_band: co2_75_to_79 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_75_to_79 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 75 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 80 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_80_to_84 + label: 80 to 84 g/km + ordinal: 8 + row_number: 14 + expected_row_header_column: A + expected_row_header: 80 - 84 + table_record_kind: detail + filters: + company_car_co2_band: co2_80_to_84 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_80_to_84 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 80 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 85 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_85_to_89 + label: 85 to 89 g/km + ordinal: 9 + row_number: 15 + expected_row_header_column: A + expected_row_header: 85 - 89 + table_record_kind: detail + filters: + company_car_co2_band: co2_85_to_89 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_85_to_89 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 85 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 90 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_90_to_94 + label: 90 to 94 g/km + ordinal: 10 + row_number: 16 + expected_row_header_column: A + expected_row_header: 90 - 94 + table_record_kind: detail + filters: + company_car_co2_band: co2_90_to_94 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_90_to_94 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 90 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 95 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_95_to_104 + label: 95 to 104 g/km + ordinal: 11 + row_number: 17 + expected_row_header_column: A + expected_row_header: 95 - 104 + table_record_kind: detail + filters: + company_car_co2_band: co2_95_to_104 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_95_to_104 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 95 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 105 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_105_to_114 + label: 105 to 114 g/km + ordinal: 12 + row_number: 18 + expected_row_header_column: A + expected_row_header: 105 - 114 + table_record_kind: detail + filters: + company_car_co2_band: co2_105_to_114 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_105_to_114 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 105 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 115 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_115_to_124 + label: 115 to 124 g/km + ordinal: 13 + row_number: 19 + expected_row_header_column: A + expected_row_header: 115 - 124 + table_record_kind: detail + filters: + company_car_co2_band: co2_115_to_124 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_115_to_124 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 115 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 125 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_125_to_134 + label: 125 to 134 g/km + ordinal: 14 + row_number: 20 + expected_row_header_column: A + expected_row_header: 125 - 134 + table_record_kind: detail + filters: + company_car_co2_band: co2_125_to_134 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_125_to_134 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 125 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 135 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_135_to_144 + label: 135 to 144 g/km + ordinal: 15 + row_number: 21 + expected_row_header_column: A + expected_row_header: 135 - 144 + table_record_kind: detail + filters: + company_car_co2_band: co2_135_to_144 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_135_to_144 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 135 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 145 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_145_to_154 + label: 145 to 154 g/km + ordinal: 16 + row_number: 22 + expected_row_header_column: A + expected_row_header: 145 - 154 + table_record_kind: detail + filters: + company_car_co2_band: co2_145_to_154 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_145_to_154 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 145 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 155 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_155_to_164 + label: 155 to 164 g/km + ordinal: 17 + row_number: 23 + expected_row_header_column: A + expected_row_header: 155 - 164 + table_record_kind: detail + filters: + company_car_co2_band: co2_155_to_164 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_155_to_164 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 155 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 165 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_165_to_169 + label: 165 to 169 g/km + ordinal: 18 + row_number: 25 + expected_row_header_column: A + expected_row_header: 165- 169 + table_record_kind: detail + filters: + company_car_co2_band: co2_165_to_169 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_165_to_169 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 165 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 170 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_170_plus + label: 170 g/km and over + ordinal: 19 + row_number: 26 + expected_row_header_column: A + expected_row_header: 170 g/km and over + table_record_kind: detail + filters: + company_car_co2_band: co2_170_plus + constraints: + - variable: company_car_co2_band + operator: == + value: co2_170_plus + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 170 + unit: g_co2_per_km + label: CO2 emissions lower bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: M + source_column_id: recipients + expected_column_header_row: 3 + expected_column_header: 2022 to 2023 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 2A, recipients of company car benefit by the CO2 emissions of the car, + 2022 to 2023, in thousands. HMRC compiles these from employers'' P11D returns and, from 2017 to + 2018, the company cars employers payroll and report through Real Time Information (RTI), counting + a car reported both ways once (background quality report, section 3.5). A recipient with more than + one company car in the year is apportioned between the cars by the time each was held, so the rows + add to recipients, not cars (background quality report, section 3.5). Missing or implausible CO2 + figures are imputed where other data allow, typically for under 2% of car benefits (section 3.5). + From April 2020 the CO2 figures are WLTP measurements; before, they are NEDC figures, WLTP results + converted back to NEDC equivalents from September 2018 (background quality report, section 2.4). + This year uses the bands printed from 2020 to 2021: five-gram bands from 51 to 94 g/km, and 165 + to 169 and 170 g/km and over above 164. The sheet gives no rounding rule; its band cells are whole + thousands. Its ''Total'' row restates Table 1''s car benefit recipients and is ported from Table + 1.' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2023 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2023.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2023 + sheet_name: 2A_CO2_recipients + period_type: tax_year + period: 2023 + period_coverage: + start_date: '2023-04-06' + end_date: '2024-04-05' + basis: tax + source_period_label: 2023 to 2024 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_co2_band + shared_filters: + company_car_benefit_type: car + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + rows: + - value_id: co2_0 + label: 0 g/km + ordinal: 0 + row_number: 4 + expected_row_header_column: A + expected_row_header: Zero + table_record_kind: detail + filters: + company_car_co2_band: co2_0 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_0 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: == + value: 0 + unit: g_co2_per_km + label: CO2 emissions + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_1_to_50 + label: 1 to 50 g/km + ordinal: 1 + row_number: 5 + expected_row_header_column: A + expected_row_header: 1 - 50 + table_record_kind: detail + filters: + company_car_co2_band: co2_1_to_50 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_1_to_50 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>' + value: 0 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 51 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_51_to_54 + label: 51 to 54 g/km + ordinal: 2 + row_number: 7 + expected_row_header_column: A + expected_row_header: 51 - 54 + table_record_kind: detail + filters: + company_car_co2_band: co2_51_to_54 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_51_to_54 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 51 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 55 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_55_to_59 + label: 55 to 59 g/km + ordinal: 3 + row_number: 8 + expected_row_header_column: A + expected_row_header: 55 - 59 + table_record_kind: detail + filters: + company_car_co2_band: co2_55_to_59 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_55_to_59 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 55 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 60 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_60_to_64 + label: 60 to 64 g/km + ordinal: 4 + row_number: 9 + expected_row_header_column: A + expected_row_header: 60 - 64 + table_record_kind: detail + filters: + company_car_co2_band: co2_60_to_64 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_60_to_64 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 60 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 65 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_65_to_69 + label: 65 to 69 g/km + ordinal: 5 + row_number: 10 + expected_row_header_column: A + expected_row_header: 65 - 69 + table_record_kind: detail + filters: + company_car_co2_band: co2_65_to_69 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_65_to_69 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 65 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 70 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_70_to_74 + label: 70 to 74 g/km + ordinal: 6 + row_number: 11 + expected_row_header_column: A + expected_row_header: 70 - 74 + table_record_kind: detail + filters: + company_car_co2_band: co2_70_to_74 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_70_to_74 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 70 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 75 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_75_to_79 + label: 75 to 79 g/km + ordinal: 7 + row_number: 13 + expected_row_header_column: A + expected_row_header: 75 - 79 + table_record_kind: detail + filters: + company_car_co2_band: co2_75_to_79 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_75_to_79 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 75 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 80 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_80_to_84 + label: 80 to 84 g/km + ordinal: 8 + row_number: 14 + expected_row_header_column: A + expected_row_header: 80 - 84 + table_record_kind: detail + filters: + company_car_co2_band: co2_80_to_84 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_80_to_84 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 80 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 85 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_85_to_89 + label: 85 to 89 g/km + ordinal: 9 + row_number: 15 + expected_row_header_column: A + expected_row_header: 85 - 89 + table_record_kind: detail + filters: + company_car_co2_band: co2_85_to_89 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_85_to_89 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 85 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 90 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_90_to_94 + label: 90 to 94 g/km + ordinal: 10 + row_number: 16 + expected_row_header_column: A + expected_row_header: 90 - 94 + table_record_kind: detail + filters: + company_car_co2_band: co2_90_to_94 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_90_to_94 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 90 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 95 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_95_to_104 + label: 95 to 104 g/km + ordinal: 11 + row_number: 17 + expected_row_header_column: A + expected_row_header: 95 - 104 + table_record_kind: detail + filters: + company_car_co2_band: co2_95_to_104 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_95_to_104 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 95 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 105 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_105_to_114 + label: 105 to 114 g/km + ordinal: 12 + row_number: 18 + expected_row_header_column: A + expected_row_header: 105 - 114 + table_record_kind: detail + filters: + company_car_co2_band: co2_105_to_114 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_105_to_114 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 105 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 115 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_115_to_124 + label: 115 to 124 g/km + ordinal: 13 + row_number: 19 + expected_row_header_column: A + expected_row_header: 115 - 124 + table_record_kind: detail + filters: + company_car_co2_band: co2_115_to_124 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_115_to_124 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 115 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 125 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_125_to_134 + label: 125 to 134 g/km + ordinal: 14 + row_number: 20 + expected_row_header_column: A + expected_row_header: 125 - 134 + table_record_kind: detail + filters: + company_car_co2_band: co2_125_to_134 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_125_to_134 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 125 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 135 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_135_to_144 + label: 135 to 144 g/km + ordinal: 15 + row_number: 21 + expected_row_header_column: A + expected_row_header: 135 - 144 + table_record_kind: detail + filters: + company_car_co2_band: co2_135_to_144 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_135_to_144 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 135 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 145 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_145_to_154 + label: 145 to 154 g/km + ordinal: 16 + row_number: 22 + expected_row_header_column: A + expected_row_header: 145 - 154 + table_record_kind: detail + filters: + company_car_co2_band: co2_145_to_154 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_145_to_154 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 145 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 155 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_155_to_164 + label: 155 to 164 g/km + ordinal: 17 + row_number: 23 + expected_row_header_column: A + expected_row_header: 155 - 164 + table_record_kind: detail + filters: + company_car_co2_band: co2_155_to_164 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_155_to_164 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 155 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 165 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_165_to_169 + label: 165 to 169 g/km + ordinal: 18 + row_number: 25 + expected_row_header_column: A + expected_row_header: 165- 169 + table_record_kind: detail + filters: + company_car_co2_band: co2_165_to_169 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_165_to_169 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 165 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 170 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_170_plus + label: 170 g/km and over + ordinal: 19 + row_number: 26 + expected_row_header_column: A + expected_row_header: 170 g/km and over + table_record_kind: detail + filters: + company_car_co2_band: co2_170_plus + constraints: + - variable: company_car_co2_band + operator: == + value: co2_170_plus + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 170 + unit: g_co2_per_km + label: CO2 emissions lower bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: N + source_column_id: recipients + expected_column_header_row: 3 + expected_column_header: 2023 to 2024 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 2A, recipients of company car benefit by the CO2 emissions of the car, + 2023 to 2024, in thousands. HMRC compiles these from employers'' P11D returns and, from 2017 to + 2018, the company cars employers payroll and report through Real Time Information (RTI), counting + a car reported both ways once (background quality report, section 3.5). A recipient with more than + one company car in the year is apportioned between the cars by the time each was held, so the rows + add to recipients, not cars (background quality report, section 3.5). Missing or implausible CO2 + figures are imputed where other data allow, typically for under 2% of car benefits (section 3.5). + From April 2020 the CO2 figures are WLTP measurements; before, they are NEDC figures, WLTP results + converted back to NEDC equivalents from September 2018 (background quality report, section 2.4). + This year uses the bands printed from 2020 to 2021: five-gram bands from 51 to 94 g/km, and 165 + to 169 and 170 g/km and over above 164. The sheet gives no rounding rule; its band cells are whole + thousands. Its ''Total'' row restates Table 1''s car benefit recipients and is ported from Table + 1.' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2024 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2024.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2a.recipients.ty2024 + sheet_name: 2A_CO2_recipients + period_type: tax_year + period: 2024 + period_coverage: + start_date: '2024-04-06' + end_date: '2025-04-05' + basis: tax + source_period_label: 2024 to 2025 [note 1] + notes: 'From April 2016 employers could payroll company cars instead of reporting them on a P11D. + From April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. + HMRC expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). HMRC marks 2024 to 2025 provisional (note 1): its figures come from an initial extract + of the Expenses and Benefits data and may be revised.' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_co2_band + shared_filters: + company_car_benefit_type: car + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + rows: + - value_id: co2_0 + label: 0 g/km + ordinal: 0 + row_number: 4 + expected_row_header_column: A + expected_row_header: Zero + table_record_kind: detail + filters: + company_car_co2_band: co2_0 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_0 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: == + value: 0 + unit: g_co2_per_km + label: CO2 emissions + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_1_to_50 + label: 1 to 50 g/km + ordinal: 1 + row_number: 5 + expected_row_header_column: A + expected_row_header: 1 - 50 + table_record_kind: detail + filters: + company_car_co2_band: co2_1_to_50 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_1_to_50 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>' + value: 0 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 51 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_51_to_54 + label: 51 to 54 g/km + ordinal: 2 + row_number: 7 + expected_row_header_column: A + expected_row_header: 51 - 54 + table_record_kind: detail + filters: + company_car_co2_band: co2_51_to_54 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_51_to_54 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 51 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 55 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_55_to_59 + label: 55 to 59 g/km + ordinal: 3 + row_number: 8 + expected_row_header_column: A + expected_row_header: 55 - 59 + table_record_kind: detail + filters: + company_car_co2_band: co2_55_to_59 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_55_to_59 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 55 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 60 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_60_to_64 + label: 60 to 64 g/km + ordinal: 4 + row_number: 9 + expected_row_header_column: A + expected_row_header: 60 - 64 + table_record_kind: detail + filters: + company_car_co2_band: co2_60_to_64 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_60_to_64 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 60 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 65 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_65_to_69 + label: 65 to 69 g/km + ordinal: 5 + row_number: 10 + expected_row_header_column: A + expected_row_header: 65 - 69 + table_record_kind: detail + filters: + company_car_co2_band: co2_65_to_69 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_65_to_69 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 65 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 70 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_70_to_74 + label: 70 to 74 g/km + ordinal: 6 + row_number: 11 + expected_row_header_column: A + expected_row_header: 70 - 74 + table_record_kind: detail + filters: + company_car_co2_band: co2_70_to_74 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_70_to_74 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 70 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 75 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_75_to_79 + label: 75 to 79 g/km + ordinal: 7 + row_number: 13 + expected_row_header_column: A + expected_row_header: 75 - 79 + table_record_kind: detail + filters: + company_car_co2_band: co2_75_to_79 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_75_to_79 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 75 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 80 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_80_to_84 + label: 80 to 84 g/km + ordinal: 8 + row_number: 14 + expected_row_header_column: A + expected_row_header: 80 - 84 + table_record_kind: detail + filters: + company_car_co2_band: co2_80_to_84 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_80_to_84 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 80 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 85 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_85_to_89 + label: 85 to 89 g/km + ordinal: 9 + row_number: 15 + expected_row_header_column: A + expected_row_header: 85 - 89 + table_record_kind: detail + filters: + company_car_co2_band: co2_85_to_89 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_85_to_89 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 85 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 90 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_90_to_94 + label: 90 to 94 g/km + ordinal: 10 + row_number: 16 + expected_row_header_column: A + expected_row_header: 90 - 94 + table_record_kind: detail + filters: + company_car_co2_band: co2_90_to_94 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_90_to_94 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 90 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 95 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_95_to_104 + label: 95 to 104 g/km + ordinal: 11 + row_number: 17 + expected_row_header_column: A + expected_row_header: 95 - 104 + table_record_kind: detail + filters: + company_car_co2_band: co2_95_to_104 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_95_to_104 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 95 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 105 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_105_to_114 + label: 105 to 114 g/km + ordinal: 12 + row_number: 18 + expected_row_header_column: A + expected_row_header: 105 - 114 + table_record_kind: detail + filters: + company_car_co2_band: co2_105_to_114 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_105_to_114 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 105 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 115 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_115_to_124 + label: 115 to 124 g/km + ordinal: 13 + row_number: 19 + expected_row_header_column: A + expected_row_header: 115 - 124 + table_record_kind: detail + filters: + company_car_co2_band: co2_115_to_124 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_115_to_124 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 115 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 125 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_125_to_134 + label: 125 to 134 g/km + ordinal: 14 + row_number: 20 + expected_row_header_column: A + expected_row_header: 125 - 134 + table_record_kind: detail + filters: + company_car_co2_band: co2_125_to_134 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_125_to_134 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 125 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 135 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_135_to_144 + label: 135 to 144 g/km + ordinal: 15 + row_number: 21 + expected_row_header_column: A + expected_row_header: 135 - 144 + table_record_kind: detail + filters: + company_car_co2_band: co2_135_to_144 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_135_to_144 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 135 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 145 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_145_to_154 + label: 145 to 154 g/km + ordinal: 16 + row_number: 22 + expected_row_header_column: A + expected_row_header: 145 - 154 + table_record_kind: detail + filters: + company_car_co2_band: co2_145_to_154 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_145_to_154 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 145 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 155 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_155_to_164 + label: 155 to 164 g/km + ordinal: 17 + row_number: 23 + expected_row_header_column: A + expected_row_header: 155 - 164 + table_record_kind: detail + filters: + company_car_co2_band: co2_155_to_164 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_155_to_164 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 155 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 165 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_165_to_169 + label: 165 to 169 g/km + ordinal: 18 + row_number: 25 + expected_row_header_column: A + expected_row_header: 165- 169 + table_record_kind: detail + filters: + company_car_co2_band: co2_165_to_169 + constraints: + - variable: company_car_co2_band + operator: == + value: co2_165_to_169 + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 165 + unit: g_co2_per_km + label: CO2 emissions lower bound + - variable: company_car_co2_emissions + operator: < + value: 170 + unit: g_co2_per_km + label: CO2 emissions upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + - value_id: co2_170_plus + label: 170 g/km and over + ordinal: 19 + row_number: 26 + expected_row_header_column: A + expected_row_header: 170 g/km and over + table_record_kind: detail + filters: + company_car_co2_band: co2_170_plus + constraints: + - variable: company_car_co2_band + operator: == + value: co2_170_plus + label: Company car CO2 emission band + - variable: company_car_co2_emissions + operator: '>=' + value: 170 + unit: g_co2_per_km + label: CO2 emissions lower bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2A: Company car benefit recipients as reported to HMRC by vehicle CO2 emission + (time series)' + label: Table title + - column: A + row: 2 + expected_value: Recipients of company car benefit (thousands) from tax year 2011 to 2012 to tax + year 2024 to 2025 + label: Units + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: O + source_column_id: recipients + expected_column_header_row: 3 + expected_column_header: 2024 to 2025 [note 1] + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 2A, recipients of company car benefit by the CO2 emissions of the car, + 2024 to 2025 [note 1], in thousands. HMRC compiles these from employers'' P11D returns and, from + 2017 to 2018, the company cars employers payroll and report through Real Time Information (RTI), + counting a car reported both ways once (background quality report, section 3.5). A recipient with + more than one company car in the year is apportioned between the cars by the time each was held, + so the rows add to recipients, not cars (background quality report, section 3.5). Missing or implausible + CO2 figures are imputed where other data allow, typically for under 2% of car benefits (section + 3.5). From April 2020 the CO2 figures are WLTP measurements; before, they are NEDC figures, WLTP + results converted back to NEDC equivalents from September 2018 (background quality report, section + 2.4). This year uses the bands printed from 2020 to 2021: five-gram bands from 51 to 94 g/km, and + 165 to 169 and 170 g/km and over above 164. The sheet gives no rounding rule; its band cells are + whole thousands. Its ''Total'' row restates Table 1''s car benefit recipients and is ported from + Table 1.' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2011 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2011.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2011 + sheet_name: 2C_fuel_type_recipients + period_type: tax_year + period: 2011 + period_coverage: + start_date: '2011-04-06' + end_date: '2012-04-05' + basis: tax + source_period_label: 2011 to 2012 + notes: 'Cars emitting 0 g/km are not in these statistics for this year: from April 2010 to April 2015 + they carried a zero-rate charge (note 3), and HMRC includes electric cars only from 2015 to 2016 + (commentary, section 6). Before April 2016 a few employers payrolled benefits informally; their + P11Ds were not processed electronically and are not in these statistics (commentary, section 8.1).' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_fuel_type + shared_filters: + company_car_benefit_type: car + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + rows: + - value_id: diesel_including_hybrids + label: Diesel (including hybrids) + ordinal: 0 + row_number: 5 + expected_row_header_column: A + expected_row_header: Diesel (including hybrids) + table_record_kind: detail + filters: + company_car_fuel_type: diesel_including_hybrids + constraints: + - variable: company_car_fuel_type + operator: == + value: diesel_including_hybrids + label: Company car fuel type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel type + (time series)' + label: Table title + - column: A + row: 3 + expected_value: Numbers are rounded to the nearest 5 + label: Rounding + - value_id: petrol_including_hybrids + label: Petrol (including hybrids) + ordinal: 1 + row_number: 6 + expected_row_header_column: A + expected_row_header: Petrol (including hybrids) + table_record_kind: detail + filters: + company_car_fuel_type: petrol_including_hybrids + constraints: + - variable: company_car_fuel_type + operator: == + value: petrol_including_hybrids + label: Company car fuel type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel type + (time series)' + label: Table title + - column: A + row: 3 + expected_value: Numbers are rounded to the nearest 5 + label: Rounding + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: B + source_column_id: recipients + expected_column_header_row: 4 + expected_column_header: 2011 to 2012 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 2C, recipients of company car benefit by the fuel type of the car, + 2011 to 2012, in thousands: ''Numbers are rounded to the nearest 5'', so to the nearest 5,000. HMRC + compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars employers + payroll and report through Real Time Information (RTI), counting a car reported both ways once (background + quality report, section 3.5). A recipient with more than one company car in the year is apportioned + between the cars by the time each was held, so the rows add to recipients, not cars (background + quality report, section 3.5). Missing or implausible fuel types are imputed where other data allow + (section 3.5). HMRC classes a diesel car meeting the Euro IV or RDE2 standard as diesel even where + no diesel supplement applies (background quality report, section 2.4). The rows are HMRC''s own: + ''Diesel (including hybrids)'', ''Petrol (including hybrids)'' and ''Fully Electric''. Its ''Total'' + row restates Table 1''s car benefit recipients and is ported from Table 1. HMRC prints ''[note 3]'' + (not available, as note 3 excludes zero-emission cars before April 2015) for ''Fully Electric'': + those cells emit no fact, not a zero.' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2012 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2012.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2012 + sheet_name: 2C_fuel_type_recipients + period_type: tax_year + period: 2012 + period_coverage: + start_date: '2012-04-06' + end_date: '2013-04-05' + basis: tax + source_period_label: 2012 to 2013 + notes: 'Cars emitting 0 g/km are not in these statistics for this year: from April 2010 to April 2015 + they carried a zero-rate charge (note 3), and HMRC includes electric cars only from 2015 to 2016 + (commentary, section 6). Before April 2016 a few employers payrolled benefits informally; their + P11Ds were not processed electronically and are not in these statistics (commentary, section 8.1).' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_fuel_type + shared_filters: + company_car_benefit_type: car + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + rows: + - value_id: diesel_including_hybrids + label: Diesel (including hybrids) + ordinal: 0 + row_number: 5 + expected_row_header_column: A + expected_row_header: Diesel (including hybrids) + table_record_kind: detail + filters: + company_car_fuel_type: diesel_including_hybrids + constraints: + - variable: company_car_fuel_type + operator: == + value: diesel_including_hybrids + label: Company car fuel type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel type + (time series)' + label: Table title + - column: A + row: 3 + expected_value: Numbers are rounded to the nearest 5 + label: Rounding + - value_id: petrol_including_hybrids + label: Petrol (including hybrids) + ordinal: 1 + row_number: 6 + expected_row_header_column: A + expected_row_header: Petrol (including hybrids) + table_record_kind: detail + filters: + company_car_fuel_type: petrol_including_hybrids + constraints: + - variable: company_car_fuel_type + operator: == + value: petrol_including_hybrids + label: Company car fuel type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel type + (time series)' + label: Table title + - column: A + row: 3 + expected_value: Numbers are rounded to the nearest 5 + label: Rounding + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: C + source_column_id: recipients + expected_column_header_row: 4 + expected_column_header: 2012 to 2013 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 2C, recipients of company car benefit by the fuel type of the car, + 2012 to 2013, in thousands: ''Numbers are rounded to the nearest 5'', so to the nearest 5,000. HMRC + compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars employers + payroll and report through Real Time Information (RTI), counting a car reported both ways once (background + quality report, section 3.5). A recipient with more than one company car in the year is apportioned + between the cars by the time each was held, so the rows add to recipients, not cars (background + quality report, section 3.5). Missing or implausible fuel types are imputed where other data allow + (section 3.5). HMRC classes a diesel car meeting the Euro IV or RDE2 standard as diesel even where + no diesel supplement applies (background quality report, section 2.4). The rows are HMRC''s own: + ''Diesel (including hybrids)'', ''Petrol (including hybrids)'' and ''Fully Electric''. Its ''Total'' + row restates Table 1''s car benefit recipients and is ported from Table 1. HMRC prints ''[note 3]'' + (not available, as note 3 excludes zero-emission cars before April 2015) for ''Fully Electric'': + those cells emit no fact, not a zero.' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2013 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2013.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2013 + sheet_name: 2C_fuel_type_recipients + period_type: tax_year + period: 2013 + period_coverage: + start_date: '2013-04-06' + end_date: '2014-04-05' + basis: tax + source_period_label: 2013 to 2014 + notes: 'Cars emitting 0 g/km are not in these statistics for this year: from April 2010 to April 2015 + they carried a zero-rate charge (note 3), and HMRC includes electric cars only from 2015 to 2016 + (commentary, section 6). Before April 2016 a few employers payrolled benefits informally; their + P11Ds were not processed electronically and are not in these statistics (commentary, section 8.1).' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_fuel_type + shared_filters: + company_car_benefit_type: car + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + rows: + - value_id: diesel_including_hybrids + label: Diesel (including hybrids) + ordinal: 0 + row_number: 5 + expected_row_header_column: A + expected_row_header: Diesel (including hybrids) + table_record_kind: detail + filters: + company_car_fuel_type: diesel_including_hybrids + constraints: + - variable: company_car_fuel_type + operator: == + value: diesel_including_hybrids + label: Company car fuel type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel type + (time series)' + label: Table title + - column: A + row: 3 + expected_value: Numbers are rounded to the nearest 5 + label: Rounding + - value_id: petrol_including_hybrids + label: Petrol (including hybrids) + ordinal: 1 + row_number: 6 + expected_row_header_column: A + expected_row_header: Petrol (including hybrids) + table_record_kind: detail + filters: + company_car_fuel_type: petrol_including_hybrids + constraints: + - variable: company_car_fuel_type + operator: == + value: petrol_including_hybrids + label: Company car fuel type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel type + (time series)' + label: Table title + - column: A + row: 3 + expected_value: Numbers are rounded to the nearest 5 + label: Rounding + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: D + source_column_id: recipients + expected_column_header_row: 4 + expected_column_header: 2013 to 2014 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 2C, recipients of company car benefit by the fuel type of the car, + 2013 to 2014, in thousands: ''Numbers are rounded to the nearest 5'', so to the nearest 5,000. HMRC + compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars employers + payroll and report through Real Time Information (RTI), counting a car reported both ways once (background + quality report, section 3.5). A recipient with more than one company car in the year is apportioned + between the cars by the time each was held, so the rows add to recipients, not cars (background + quality report, section 3.5). Missing or implausible fuel types are imputed where other data allow + (section 3.5). HMRC classes a diesel car meeting the Euro IV or RDE2 standard as diesel even where + no diesel supplement applies (background quality report, section 2.4). The rows are HMRC''s own: + ''Diesel (including hybrids)'', ''Petrol (including hybrids)'' and ''Fully Electric''. Its ''Total'' + row restates Table 1''s car benefit recipients and is ported from Table 1. HMRC prints ''[note 3]'' + (not available, as note 3 excludes zero-emission cars before April 2015) for ''Fully Electric'': + those cells emit no fact, not a zero.' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2014 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2014.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2014 + sheet_name: 2C_fuel_type_recipients + period_type: tax_year + period: 2014 + period_coverage: + start_date: '2014-04-06' + end_date: '2015-04-05' + basis: tax + source_period_label: 2014 to 2015 + notes: 'Cars emitting 0 g/km are not in these statistics for this year: from April 2010 to April 2015 + they carried a zero-rate charge (note 3), and HMRC includes electric cars only from 2015 to 2016 + (commentary, section 6). Before April 2016 a few employers payrolled benefits informally; their + P11Ds were not processed electronically and are not in these statistics (commentary, section 8.1).' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_fuel_type + shared_filters: + company_car_benefit_type: car + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + rows: + - value_id: diesel_including_hybrids + label: Diesel (including hybrids) + ordinal: 0 + row_number: 5 + expected_row_header_column: A + expected_row_header: Diesel (including hybrids) + table_record_kind: detail + filters: + company_car_fuel_type: diesel_including_hybrids + constraints: + - variable: company_car_fuel_type + operator: == + value: diesel_including_hybrids + label: Company car fuel type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel type + (time series)' + label: Table title + - column: A + row: 3 + expected_value: Numbers are rounded to the nearest 5 + label: Rounding + - value_id: petrol_including_hybrids + label: Petrol (including hybrids) + ordinal: 1 + row_number: 6 + expected_row_header_column: A + expected_row_header: Petrol (including hybrids) + table_record_kind: detail + filters: + company_car_fuel_type: petrol_including_hybrids + constraints: + - variable: company_car_fuel_type + operator: == + value: petrol_including_hybrids + label: Company car fuel type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel type + (time series)' + label: Table title + - column: A + row: 3 + expected_value: Numbers are rounded to the nearest 5 + label: Rounding + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: E + source_column_id: recipients + expected_column_header_row: 4 + expected_column_header: 2014 to 2015 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 2C, recipients of company car benefit by the fuel type of the car, + 2014 to 2015, in thousands: ''Numbers are rounded to the nearest 5'', so to the nearest 5,000. HMRC + compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars employers + payroll and report through Real Time Information (RTI), counting a car reported both ways once (background + quality report, section 3.5). A recipient with more than one company car in the year is apportioned + between the cars by the time each was held, so the rows add to recipients, not cars (background + quality report, section 3.5). Missing or implausible fuel types are imputed where other data allow + (section 3.5). HMRC classes a diesel car meeting the Euro IV or RDE2 standard as diesel even where + no diesel supplement applies (background quality report, section 2.4). The rows are HMRC''s own: + ''Diesel (including hybrids)'', ''Petrol (including hybrids)'' and ''Fully Electric''. Its ''Total'' + row restates Table 1''s car benefit recipients and is ported from Table 1. HMRC prints ''[note 3]'' + (not available, as note 3 excludes zero-emission cars before April 2015) for ''Fully Electric'': + those cells emit no fact, not a zero.' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2015 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2015.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2015 + sheet_name: 2C_fuel_type_recipients + period_type: tax_year + period: 2015 + period_coverage: + start_date: '2015-04-06' + end_date: '2016-04-05' + basis: tax + source_period_label: 2015 to 2016 + notes: Before April 2016 a few employers payrolled benefits informally; their P11Ds were not processed + electronically and are not in these statistics (commentary, section 8.1). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_fuel_type + shared_filters: + company_car_benefit_type: car + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + rows: + - value_id: diesel_including_hybrids + label: Diesel (including hybrids) + ordinal: 0 + row_number: 5 + expected_row_header_column: A + expected_row_header: Diesel (including hybrids) + table_record_kind: detail + filters: + company_car_fuel_type: diesel_including_hybrids + constraints: + - variable: company_car_fuel_type + operator: == + value: diesel_including_hybrids + label: Company car fuel type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel type + (time series)' + label: Table title + - column: A + row: 3 + expected_value: Numbers are rounded to the nearest 5 + label: Rounding + - value_id: petrol_including_hybrids + label: Petrol (including hybrids) + ordinal: 1 + row_number: 6 + expected_row_header_column: A + expected_row_header: Petrol (including hybrids) + table_record_kind: detail + filters: + company_car_fuel_type: petrol_including_hybrids + constraints: + - variable: company_car_fuel_type + operator: == + value: petrol_including_hybrids + label: Company car fuel type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel type + (time series)' + label: Table title + - column: A + row: 3 + expected_value: Numbers are rounded to the nearest 5 + label: Rounding + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: F + source_column_id: recipients + expected_column_header_row: 4 + expected_column_header: 2015 to 2016 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 2C, recipients of company car benefit by the fuel type of the car, + 2015 to 2016, in thousands: ''Numbers are rounded to the nearest 5'', so to the nearest 5,000. HMRC + compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars employers + payroll and report through Real Time Information (RTI), counting a car reported both ways once (background + quality report, section 3.5). A recipient with more than one company car in the year is apportioned + between the cars by the time each was held, so the rows add to recipients, not cars (background + quality report, section 3.5). Missing or implausible fuel types are imputed where other data allow + (section 3.5). HMRC classes a diesel car meeting the Euro IV or RDE2 standard as diesel even where + no diesel supplement applies (background quality report, section 2.4). The rows are HMRC''s own: + ''Diesel (including hybrids)'', ''Petrol (including hybrids)'' and ''Fully Electric''. Its ''Total'' + row restates Table 1''s car benefit recipients and is ported from Table 1. HMRC prints ''<2.5'' + (fewer than 2,500 recipients, under half the rounding base of 5 thousand) for ''Fully Electric'': + those cells emit no fact, not a zero.' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2016 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2016.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2016 + sheet_name: 2C_fuel_type_recipients + period_type: tax_year + period: 2016 + period_coverage: + start_date: '2016-04-06' + end_date: '2017-04-05' + basis: tax + source_period_label: 2016 to 2017 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. In + 2016 to 2017 payrolled cars could not be reported through RTI, so every voluntarily payrolled car + is missing. HMRC expects company car recipients to be under-reported in every year since April 2016 + (commentary, section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_fuel_type + shared_filters: + company_car_benefit_type: car + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + rows: + - value_id: diesel_including_hybrids + label: Diesel (including hybrids) + ordinal: 0 + row_number: 5 + expected_row_header_column: A + expected_row_header: Diesel (including hybrids) + table_record_kind: detail + filters: + company_car_fuel_type: diesel_including_hybrids + constraints: + - variable: company_car_fuel_type + operator: == + value: diesel_including_hybrids + label: Company car fuel type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel type + (time series)' + label: Table title + - column: A + row: 3 + expected_value: Numbers are rounded to the nearest 5 + label: Rounding + - value_id: petrol_including_hybrids + label: Petrol (including hybrids) + ordinal: 1 + row_number: 6 + expected_row_header_column: A + expected_row_header: Petrol (including hybrids) + table_record_kind: detail + filters: + company_car_fuel_type: petrol_including_hybrids + constraints: + - variable: company_car_fuel_type + operator: == + value: petrol_including_hybrids + label: Company car fuel type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel type + (time series)' + label: Table title + - column: A + row: 3 + expected_value: Numbers are rounded to the nearest 5 + label: Rounding + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: G + source_column_id: recipients + expected_column_header_row: 4 + expected_column_header: 2016 to 2017 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 2C, recipients of company car benefit by the fuel type of the car, + 2016 to 2017, in thousands: ''Numbers are rounded to the nearest 5'', so to the nearest 5,000. HMRC + compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars employers + payroll and report through Real Time Information (RTI), counting a car reported both ways once (background + quality report, section 3.5). A recipient with more than one company car in the year is apportioned + between the cars by the time each was held, so the rows add to recipients, not cars (background + quality report, section 3.5). Missing or implausible fuel types are imputed where other data allow + (section 3.5). HMRC classes a diesel car meeting the Euro IV or RDE2 standard as diesel even where + no diesel supplement applies (background quality report, section 2.4). The rows are HMRC''s own: + ''Diesel (including hybrids)'', ''Petrol (including hybrids)'' and ''Fully Electric''. Its ''Total'' + row restates Table 1''s car benefit recipients and is ported from Table 1. HMRC prints ''<2.5'' + (fewer than 2,500 recipients, under half the rounding base of 5 thousand) for ''Fully Electric'': + those cells emit no fact, not a zero.' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2017 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2017.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2017 + sheet_name: 2C_fuel_type_recipients + period_type: tax_year + period: 2017 + period_coverage: + start_date: '2017-04-06' + end_date: '2018-04-05' + basis: tax + source_period_label: 2017 to 2018 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. In + 2017 to 2018 reporting payrolled cars through RTI was voluntary, so the payrolled cars employers + chose not to report are missing. HMRC expects company car recipients to be under-reported in every + year since April 2016 (commentary, section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_fuel_type + shared_filters: + company_car_benefit_type: car + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + rows: + - value_id: diesel_including_hybrids + label: Diesel (including hybrids) + ordinal: 0 + row_number: 5 + expected_row_header_column: A + expected_row_header: Diesel (including hybrids) + table_record_kind: detail + filters: + company_car_fuel_type: diesel_including_hybrids + constraints: + - variable: company_car_fuel_type + operator: == + value: diesel_including_hybrids + label: Company car fuel type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel type + (time series)' + label: Table title + - column: A + row: 3 + expected_value: Numbers are rounded to the nearest 5 + label: Rounding + - value_id: petrol_including_hybrids + label: Petrol (including hybrids) + ordinal: 1 + row_number: 6 + expected_row_header_column: A + expected_row_header: Petrol (including hybrids) + table_record_kind: detail + filters: + company_car_fuel_type: petrol_including_hybrids + constraints: + - variable: company_car_fuel_type + operator: == + value: petrol_including_hybrids + label: Company car fuel type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel type + (time series)' + label: Table title + - column: A + row: 3 + expected_value: Numbers are rounded to the nearest 5 + label: Rounding + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: H + source_column_id: recipients + expected_column_header_row: 4 + expected_column_header: 2017 to 2018 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 2C, recipients of company car benefit by the fuel type of the car, + 2017 to 2018, in thousands: ''Numbers are rounded to the nearest 5'', so to the nearest 5,000. HMRC + compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars employers + payroll and report through Real Time Information (RTI), counting a car reported both ways once (background + quality report, section 3.5). A recipient with more than one company car in the year is apportioned + between the cars by the time each was held, so the rows add to recipients, not cars (background + quality report, section 3.5). Missing or implausible fuel types are imputed where other data allow + (section 3.5). HMRC classes a diesel car meeting the Euro IV or RDE2 standard as diesel even where + no diesel supplement applies (background quality report, section 2.4). The rows are HMRC''s own: + ''Diesel (including hybrids)'', ''Petrol (including hybrids)'' and ''Fully Electric''. Its ''Total'' + row restates Table 1''s car benefit recipients and is ported from Table 1. HMRC prints ''<2.5'' + (fewer than 2,500 recipients, under half the rounding base of 5 thousand) for ''Fully Electric'': + those cells emit no fact, not a zero.' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2018 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2018.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2018 + sheet_name: 2C_fuel_type_recipients + period_type: tax_year + period: 2018 + period_coverage: + start_date: '2018-04-06' + end_date: '2019-04-05' + basis: tax + source_period_label: 2018 to 2019 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_fuel_type + shared_filters: + company_car_benefit_type: car + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + rows: + - value_id: diesel_including_hybrids + label: Diesel (including hybrids) + ordinal: 0 + row_number: 5 + expected_row_header_column: A + expected_row_header: Diesel (including hybrids) + table_record_kind: detail + filters: + company_car_fuel_type: diesel_including_hybrids + constraints: + - variable: company_car_fuel_type + operator: == + value: diesel_including_hybrids + label: Company car fuel type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel type + (time series)' + label: Table title + - column: A + row: 3 + expected_value: Numbers are rounded to the nearest 5 + label: Rounding + - value_id: petrol_including_hybrids + label: Petrol (including hybrids) + ordinal: 1 + row_number: 6 + expected_row_header_column: A + expected_row_header: Petrol (including hybrids) + table_record_kind: detail + filters: + company_car_fuel_type: petrol_including_hybrids + constraints: + - variable: company_car_fuel_type + operator: == + value: petrol_including_hybrids + label: Company car fuel type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel type + (time series)' + label: Table title + - column: A + row: 3 + expected_value: Numbers are rounded to the nearest 5 + label: Rounding + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: I + source_column_id: recipients + expected_column_header_row: 4 + expected_column_header: 2018 to 2019 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 2C, recipients of company car benefit by the fuel type of the car, + 2018 to 2019, in thousands: ''Numbers are rounded to the nearest 5'', so to the nearest 5,000. HMRC + compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars employers + payroll and report through Real Time Information (RTI), counting a car reported both ways once (background + quality report, section 3.5). A recipient with more than one company car in the year is apportioned + between the cars by the time each was held, so the rows add to recipients, not cars (background + quality report, section 3.5). Missing or implausible fuel types are imputed where other data allow + (section 3.5). HMRC classes a diesel car meeting the Euro IV or RDE2 standard as diesel even where + no diesel supplement applies (background quality report, section 2.4). The rows are HMRC''s own: + ''Diesel (including hybrids)'', ''Petrol (including hybrids)'' and ''Fully Electric''. Its ''Total'' + row restates Table 1''s car benefit recipients and is ported from Table 1. HMRC prints ''<2.5'' + (fewer than 2,500 recipients, under half the rounding base of 5 thousand) for ''Fully Electric'': + those cells emit no fact, not a zero.' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2019 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2019.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2019 + sheet_name: 2C_fuel_type_recipients + period_type: tax_year + period: 2019 + period_coverage: + start_date: '2019-04-06' + end_date: '2020-04-05' + basis: tax + source_period_label: 2019 to 2020 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_fuel_type + shared_filters: + company_car_benefit_type: car + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + rows: + - value_id: diesel_including_hybrids + label: Diesel (including hybrids) + ordinal: 0 + row_number: 5 + expected_row_header_column: A + expected_row_header: Diesel (including hybrids) + table_record_kind: detail + filters: + company_car_fuel_type: diesel_including_hybrids + constraints: + - variable: company_car_fuel_type + operator: == + value: diesel_including_hybrids + label: Company car fuel type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel type + (time series)' + label: Table title + - column: A + row: 3 + expected_value: Numbers are rounded to the nearest 5 + label: Rounding + - value_id: petrol_including_hybrids + label: Petrol (including hybrids) + ordinal: 1 + row_number: 6 + expected_row_header_column: A + expected_row_header: Petrol (including hybrids) + table_record_kind: detail + filters: + company_car_fuel_type: petrol_including_hybrids + constraints: + - variable: company_car_fuel_type + operator: == + value: petrol_including_hybrids + label: Company car fuel type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel type + (time series)' + label: Table title + - column: A + row: 3 + expected_value: Numbers are rounded to the nearest 5 + label: Rounding + - value_id: fully_electric + label: Fully electric + ordinal: 2 + row_number: 7 + expected_row_header_column: A + expected_row_header: Fully Electric + table_record_kind: detail + filters: + company_car_fuel_type: fully_electric + constraints: + - variable: company_car_fuel_type + operator: == + value: fully_electric + label: Company car fuel type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel type + (time series)' + label: Table title + - column: A + row: 3 + expected_value: Numbers are rounded to the nearest 5 + label: Rounding + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: J + source_column_id: recipients + expected_column_header_row: 4 + expected_column_header: 2019 to 2020 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 2C, recipients of company car benefit by the fuel type of the car, + 2019 to 2020, in thousands: ''Numbers are rounded to the nearest 5'', so to the nearest 5,000. HMRC + compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars employers + payroll and report through Real Time Information (RTI), counting a car reported both ways once (background + quality report, section 3.5). A recipient with more than one company car in the year is apportioned + between the cars by the time each was held, so the rows add to recipients, not cars (background + quality report, section 3.5). Missing or implausible fuel types are imputed where other data allow + (section 3.5). HMRC classes a diesel car meeting the Euro IV or RDE2 standard as diesel even where + no diesel supplement applies (background quality report, section 2.4). The rows are HMRC''s own: + ''Diesel (including hybrids)'', ''Petrol (including hybrids)'' and ''Fully Electric''. Its ''Total'' + row restates Table 1''s car benefit recipients and is ported from Table 1.' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2020 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2020.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2020 + sheet_name: 2C_fuel_type_recipients + period_type: tax_year + period: 2020 + period_coverage: + start_date: '2020-04-06' + end_date: '2021-04-05' + basis: tax + source_period_label: 2020 to 2021 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_fuel_type + shared_filters: + company_car_benefit_type: car + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + rows: + - value_id: diesel_including_hybrids + label: Diesel (including hybrids) + ordinal: 0 + row_number: 5 + expected_row_header_column: A + expected_row_header: Diesel (including hybrids) + table_record_kind: detail + filters: + company_car_fuel_type: diesel_including_hybrids + constraints: + - variable: company_car_fuel_type + operator: == + value: diesel_including_hybrids + label: Company car fuel type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel type + (time series)' + label: Table title + - column: A + row: 3 + expected_value: Numbers are rounded to the nearest 5 + label: Rounding + - value_id: petrol_including_hybrids + label: Petrol (including hybrids) + ordinal: 1 + row_number: 6 + expected_row_header_column: A + expected_row_header: Petrol (including hybrids) + table_record_kind: detail + filters: + company_car_fuel_type: petrol_including_hybrids + constraints: + - variable: company_car_fuel_type + operator: == + value: petrol_including_hybrids + label: Company car fuel type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel type + (time series)' + label: Table title + - column: A + row: 3 + expected_value: Numbers are rounded to the nearest 5 + label: Rounding + - value_id: fully_electric + label: Fully electric + ordinal: 2 + row_number: 7 + expected_row_header_column: A + expected_row_header: Fully Electric + table_record_kind: detail + filters: + company_car_fuel_type: fully_electric + constraints: + - variable: company_car_fuel_type + operator: == + value: fully_electric + label: Company car fuel type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel type + (time series)' + label: Table title + - column: A + row: 3 + expected_value: Numbers are rounded to the nearest 5 + label: Rounding + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: K + source_column_id: recipients + expected_column_header_row: 4 + expected_column_header: 2020 to 2021 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 2C, recipients of company car benefit by the fuel type of the car, + 2020 to 2021, in thousands: ''Numbers are rounded to the nearest 5'', so to the nearest 5,000. HMRC + compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars employers + payroll and report through Real Time Information (RTI), counting a car reported both ways once (background + quality report, section 3.5). A recipient with more than one company car in the year is apportioned + between the cars by the time each was held, so the rows add to recipients, not cars (background + quality report, section 3.5). Missing or implausible fuel types are imputed where other data allow + (section 3.5). HMRC classes a diesel car meeting the Euro IV or RDE2 standard as diesel even where + no diesel supplement applies (background quality report, section 2.4). The rows are HMRC''s own: + ''Diesel (including hybrids)'', ''Petrol (including hybrids)'' and ''Fully Electric''. Its ''Total'' + row restates Table 1''s car benefit recipients and is ported from Table 1.' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2021 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2021.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2021 + sheet_name: 2C_fuel_type_recipients + period_type: tax_year + period: 2021 + period_coverage: + start_date: '2021-04-06' + end_date: '2022-04-05' + basis: tax + source_period_label: 2021 to 2022 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_fuel_type + shared_filters: + company_car_benefit_type: car + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + rows: + - value_id: diesel_including_hybrids + label: Diesel (including hybrids) + ordinal: 0 + row_number: 5 + expected_row_header_column: A + expected_row_header: Diesel (including hybrids) + table_record_kind: detail + filters: + company_car_fuel_type: diesel_including_hybrids + constraints: + - variable: company_car_fuel_type + operator: == + value: diesel_including_hybrids + label: Company car fuel type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel type + (time series)' + label: Table title + - column: A + row: 3 + expected_value: Numbers are rounded to the nearest 5 + label: Rounding + - value_id: petrol_including_hybrids + label: Petrol (including hybrids) + ordinal: 1 + row_number: 6 + expected_row_header_column: A + expected_row_header: Petrol (including hybrids) + table_record_kind: detail + filters: + company_car_fuel_type: petrol_including_hybrids + constraints: + - variable: company_car_fuel_type + operator: == + value: petrol_including_hybrids + label: Company car fuel type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel type + (time series)' + label: Table title + - column: A + row: 3 + expected_value: Numbers are rounded to the nearest 5 + label: Rounding + - value_id: fully_electric + label: Fully electric + ordinal: 2 + row_number: 7 + expected_row_header_column: A + expected_row_header: Fully Electric + table_record_kind: detail + filters: + company_car_fuel_type: fully_electric + constraints: + - variable: company_car_fuel_type + operator: == + value: fully_electric + label: Company car fuel type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel type + (time series)' + label: Table title + - column: A + row: 3 + expected_value: Numbers are rounded to the nearest 5 + label: Rounding + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: L + source_column_id: recipients + expected_column_header_row: 4 + expected_column_header: 2021 to 2022 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 2C, recipients of company car benefit by the fuel type of the car, + 2021 to 2022, in thousands: ''Numbers are rounded to the nearest 5'', so to the nearest 5,000. HMRC + compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars employers + payroll and report through Real Time Information (RTI), counting a car reported both ways once (background + quality report, section 3.5). A recipient with more than one company car in the year is apportioned + between the cars by the time each was held, so the rows add to recipients, not cars (background + quality report, section 3.5). Missing or implausible fuel types are imputed where other data allow + (section 3.5). HMRC classes a diesel car meeting the Euro IV or RDE2 standard as diesel even where + no diesel supplement applies (background quality report, section 2.4). The rows are HMRC''s own: + ''Diesel (including hybrids)'', ''Petrol (including hybrids)'' and ''Fully Electric''. Its ''Total'' + row restates Table 1''s car benefit recipients and is ported from Table 1.' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2022 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2022.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2022 + sheet_name: 2C_fuel_type_recipients + period_type: tax_year + period: 2022 + period_coverage: + start_date: '2022-04-06' + end_date: '2023-04-05' + basis: tax + source_period_label: 2022 to 2023 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_fuel_type + shared_filters: + company_car_benefit_type: car + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + rows: + - value_id: diesel_including_hybrids + label: Diesel (including hybrids) + ordinal: 0 + row_number: 5 + expected_row_header_column: A + expected_row_header: Diesel (including hybrids) + table_record_kind: detail + filters: + company_car_fuel_type: diesel_including_hybrids + constraints: + - variable: company_car_fuel_type + operator: == + value: diesel_including_hybrids + label: Company car fuel type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel type + (time series)' + label: Table title + - column: A + row: 3 + expected_value: Numbers are rounded to the nearest 5 + label: Rounding + - value_id: petrol_including_hybrids + label: Petrol (including hybrids) + ordinal: 1 + row_number: 6 + expected_row_header_column: A + expected_row_header: Petrol (including hybrids) + table_record_kind: detail + filters: + company_car_fuel_type: petrol_including_hybrids + constraints: + - variable: company_car_fuel_type + operator: == + value: petrol_including_hybrids + label: Company car fuel type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel type + (time series)' + label: Table title + - column: A + row: 3 + expected_value: Numbers are rounded to the nearest 5 + label: Rounding + - value_id: fully_electric + label: Fully electric + ordinal: 2 + row_number: 7 + expected_row_header_column: A + expected_row_header: Fully Electric + table_record_kind: detail + filters: + company_car_fuel_type: fully_electric + constraints: + - variable: company_car_fuel_type + operator: == + value: fully_electric + label: Company car fuel type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel type + (time series)' + label: Table title + - column: A + row: 3 + expected_value: Numbers are rounded to the nearest 5 + label: Rounding + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: M + source_column_id: recipients + expected_column_header_row: 4 + expected_column_header: 2022 to 2023 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 2C, recipients of company car benefit by the fuel type of the car, + 2022 to 2023, in thousands: ''Numbers are rounded to the nearest 5'', so to the nearest 5,000. HMRC + compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars employers + payroll and report through Real Time Information (RTI), counting a car reported both ways once (background + quality report, section 3.5). A recipient with more than one company car in the year is apportioned + between the cars by the time each was held, so the rows add to recipients, not cars (background + quality report, section 3.5). Missing or implausible fuel types are imputed where other data allow + (section 3.5). HMRC classes a diesel car meeting the Euro IV or RDE2 standard as diesel even where + no diesel supplement applies (background quality report, section 2.4). The rows are HMRC''s own: + ''Diesel (including hybrids)'', ''Petrol (including hybrids)'' and ''Fully Electric''. Its ''Total'' + row restates Table 1''s car benefit recipients and is ported from Table 1.' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2023 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2023.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2023 + sheet_name: 2C_fuel_type_recipients + period_type: tax_year + period: 2023 + period_coverage: + start_date: '2023-04-06' + end_date: '2024-04-05' + basis: tax + source_period_label: 2023 to 2024 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_fuel_type + shared_filters: + company_car_benefit_type: car + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + rows: + - value_id: diesel_including_hybrids + label: Diesel (including hybrids) + ordinal: 0 + row_number: 5 + expected_row_header_column: A + expected_row_header: Diesel (including hybrids) + table_record_kind: detail + filters: + company_car_fuel_type: diesel_including_hybrids + constraints: + - variable: company_car_fuel_type + operator: == + value: diesel_including_hybrids + label: Company car fuel type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel type + (time series)' + label: Table title + - column: A + row: 3 + expected_value: Numbers are rounded to the nearest 5 + label: Rounding + - value_id: petrol_including_hybrids + label: Petrol (including hybrids) + ordinal: 1 + row_number: 6 + expected_row_header_column: A + expected_row_header: Petrol (including hybrids) + table_record_kind: detail + filters: + company_car_fuel_type: petrol_including_hybrids + constraints: + - variable: company_car_fuel_type + operator: == + value: petrol_including_hybrids + label: Company car fuel type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel type + (time series)' + label: Table title + - column: A + row: 3 + expected_value: Numbers are rounded to the nearest 5 + label: Rounding + - value_id: fully_electric + label: Fully electric + ordinal: 2 + row_number: 7 + expected_row_header_column: A + expected_row_header: Fully Electric + table_record_kind: detail + filters: + company_car_fuel_type: fully_electric + constraints: + - variable: company_car_fuel_type + operator: == + value: fully_electric + label: Company car fuel type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel type + (time series)' + label: Table title + - column: A + row: 3 + expected_value: Numbers are rounded to the nearest 5 + label: Rounding + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: N + source_column_id: recipients + expected_column_header_row: 4 + expected_column_header: 2023 to 2024 + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 2C, recipients of company car benefit by the fuel type of the car, + 2023 to 2024, in thousands: ''Numbers are rounded to the nearest 5'', so to the nearest 5,000. HMRC + compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars employers + payroll and report through Real Time Information (RTI), counting a car reported both ways once (background + quality report, section 3.5). A recipient with more than one company car in the year is apportioned + between the cars by the time each was held, so the rows add to recipients, not cars (background + quality report, section 3.5). Missing or implausible fuel types are imputed where other data allow + (section 3.5). HMRC classes a diesel car meeting the Euro IV or RDE2 standard as diesel even where + no diesel supplement applies (background quality report, section 2.4). The rows are HMRC''s own: + ''Diesel (including hybrids)'', ''Petrol (including hybrids)'' and ''Fully Electric''. Its ''Total'' + row restates Table 1''s car benefit recipients and is ported from Table 1.' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2024 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2024.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2c.recipients.ty2024 + sheet_name: 2C_fuel_type_recipients + period_type: tax_year + period: 2024 + period_coverage: + start_date: '2024-04-06' + end_date: '2025-04-05' + basis: tax + source_period_label: 2024 to 2025 [note 1] + notes: 'From April 2016 employers could payroll company cars instead of reporting them on a P11D. + From April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. + HMRC expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). HMRC marks 2024 to 2025 provisional (note 1): its figures come from an initial extract + of the Expenses and Benefits data and may be revised.' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_fuel_type + shared_filters: + company_car_benefit_type: car + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + rows: + - value_id: diesel_including_hybrids + label: Diesel (including hybrids) + ordinal: 0 + row_number: 5 + expected_row_header_column: A + expected_row_header: Diesel (including hybrids) + table_record_kind: detail + filters: + company_car_fuel_type: diesel_including_hybrids + constraints: + - variable: company_car_fuel_type + operator: == + value: diesel_including_hybrids + label: Company car fuel type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel type + (time series)' + label: Table title + - column: A + row: 3 + expected_value: Numbers are rounded to the nearest 5 + label: Rounding + - value_id: petrol_including_hybrids + label: Petrol (including hybrids) + ordinal: 1 + row_number: 6 + expected_row_header_column: A + expected_row_header: Petrol (including hybrids) + table_record_kind: detail + filters: + company_car_fuel_type: petrol_including_hybrids + constraints: + - variable: company_car_fuel_type + operator: == + value: petrol_including_hybrids + label: Company car fuel type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel type + (time series)' + label: Table title + - column: A + row: 3 + expected_value: Numbers are rounded to the nearest 5 + label: Rounding + - value_id: fully_electric + label: Fully electric + ordinal: 2 + row_number: 7 + expected_row_header_column: A + expected_row_header: Fully Electric + table_record_kind: detail + filters: + company_car_fuel_type: fully_electric + constraints: + - variable: company_car_fuel_type + operator: == + value: fully_electric + label: Company car fuel type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2C: Company car benefit recipients as reported to HMRC by vehicle fuel type + (time series)' + label: Table title + - column: A + row: 3 + expected_value: Numbers are rounded to the nearest 5 + label: Rounding + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: O + source_column_id: recipients + expected_column_header_row: 4 + expected_column_header: 2024 to 2025 [note 1] + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 2C, recipients of company car benefit by the fuel type of the car, + 2024 to 2025 [note 1], in thousands: ''Numbers are rounded to the nearest 5'', so to the nearest + 5,000. HMRC compiles these from employers'' P11D returns and, from 2017 to 2018, the company cars + employers payroll and report through Real Time Information (RTI), counting a car reported both ways + once (background quality report, section 3.5). A recipient with more than one company car in the + year is apportioned between the cars by the time each was held, so the rows add to recipients, not + cars (background quality report, section 3.5). Missing or implausible fuel types are imputed where + other data allow (section 3.5). HMRC classes a diesel car meeting the Euro IV or RDE2 standard as + diesel even where no diesel supplement applies (background quality report, section 2.4). The rows + are HMRC''s own: ''Diesel (including hybrids)'', ''Petrol (including hybrids)'' and ''Fully Electric''. + Its ''Total'' row restates Table 1''s car benefit recipients and is ported from Table 1.' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2011 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2011.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2011 + sheet_name: 2E_average_CO2 + period_type: tax_year + period: 2011 + period_coverage: + start_date: '2011-04-06' + end_date: '2012-04-05' + basis: tax + source_period_label: 2011 to 2012 + notes: 'Cars emitting 0 g/km are not in these statistics for this year: from April 2010 to April 2015 + they carried a zero-rate charge (note 3), and HMRC includes electric cars only from 2015 to 2016 + (commentary, section 6). Before April 2016 a few employers payrolled benefits informally; their + P11Ds were not processed electronically and are not in these statistics (commentary, section 8.1).' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 4 + expected_row_header_column: A + expected_row_header: Average CO2 emissions (g/km) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2E: Average CO2 emissions of company cars as reported to HMRC (time series)' + label: Table title + - column: A + row: 2 + expected_value: Average CO2 emissions of company cars (in g/km) from tax year 2010 to 2011 to 2024 + to 2025 + label: Units + measures: + - measure_id: average_co2_emissions + label: Average CO2 emissions + ordinal: 0 + column: B + source_column_id: average_co2_emissions + expected_column_header_row: 3 + expected_column_header: 2011 to 2012 + concept: hmrc.company_car_mean_co2_emissions + source_concept: hmrc.company_car_mean_co2_emissions + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: Table 2E, average CO2 emissions of company cars as reported to HMRC, 2011 + to 2012, in g/km. The background quality report gives the unit of Table 2E's averages as a company + car benefit (section 2.5). HMRC compiles these from employers' P11D returns and, from 2017 to 2018, + the company cars employers payroll and report through Real Time Information (RTI), counting a car + reported both ways once (background quality report, section 3.5). Missing or implausible CO2 figures + are imputed where other data allow, typically for under 2% of car benefits (section 3.5). From April + 2020 the CO2 figures are WLTP measurements; before, they are NEDC figures, WLTP results converted + back to NEDC equivalents from September 2018 (background quality report, section 2.4). Electric + cars are in the average from 2015 to 2016 (commentary, sections 2 and 6). The sheet gives no rounding + rule; its cells are whole g/km. Its subtitle reads 'from tax year 2010 to 2011', but its first column + is 2011 to 2012. + unit: g_co2_per_km + aggregation: mean + value_scale: 1 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2012 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2012.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2012 + sheet_name: 2E_average_CO2 + period_type: tax_year + period: 2012 + period_coverage: + start_date: '2012-04-06' + end_date: '2013-04-05' + basis: tax + source_period_label: 2012 to 2013 + notes: 'Cars emitting 0 g/km are not in these statistics for this year: from April 2010 to April 2015 + they carried a zero-rate charge (note 3), and HMRC includes electric cars only from 2015 to 2016 + (commentary, section 6). Before April 2016 a few employers payrolled benefits informally; their + P11Ds were not processed electronically and are not in these statistics (commentary, section 8.1).' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 4 + expected_row_header_column: A + expected_row_header: Average CO2 emissions (g/km) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2E: Average CO2 emissions of company cars as reported to HMRC (time series)' + label: Table title + - column: A + row: 2 + expected_value: Average CO2 emissions of company cars (in g/km) from tax year 2010 to 2011 to 2024 + to 2025 + label: Units + measures: + - measure_id: average_co2_emissions + label: Average CO2 emissions + ordinal: 0 + column: C + source_column_id: average_co2_emissions + expected_column_header_row: 3 + expected_column_header: 2012 to 2013 + concept: hmrc.company_car_mean_co2_emissions + source_concept: hmrc.company_car_mean_co2_emissions + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: Table 2E, average CO2 emissions of company cars as reported to HMRC, 2012 + to 2013, in g/km. The background quality report gives the unit of Table 2E's averages as a company + car benefit (section 2.5). HMRC compiles these from employers' P11D returns and, from 2017 to 2018, + the company cars employers payroll and report through Real Time Information (RTI), counting a car + reported both ways once (background quality report, section 3.5). Missing or implausible CO2 figures + are imputed where other data allow, typically for under 2% of car benefits (section 3.5). From April + 2020 the CO2 figures are WLTP measurements; before, they are NEDC figures, WLTP results converted + back to NEDC equivalents from September 2018 (background quality report, section 2.4). Electric + cars are in the average from 2015 to 2016 (commentary, sections 2 and 6). The sheet gives no rounding + rule; its cells are whole g/km. Its subtitle reads 'from tax year 2010 to 2011', but its first column + is 2011 to 2012. + unit: g_co2_per_km + aggregation: mean + value_scale: 1 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2013 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2013.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2013 + sheet_name: 2E_average_CO2 + period_type: tax_year + period: 2013 + period_coverage: + start_date: '2013-04-06' + end_date: '2014-04-05' + basis: tax + source_period_label: 2013 to 2014 + notes: 'Cars emitting 0 g/km are not in these statistics for this year: from April 2010 to April 2015 + they carried a zero-rate charge (note 3), and HMRC includes electric cars only from 2015 to 2016 + (commentary, section 6). Before April 2016 a few employers payrolled benefits informally; their + P11Ds were not processed electronically and are not in these statistics (commentary, section 8.1).' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 4 + expected_row_header_column: A + expected_row_header: Average CO2 emissions (g/km) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2E: Average CO2 emissions of company cars as reported to HMRC (time series)' + label: Table title + - column: A + row: 2 + expected_value: Average CO2 emissions of company cars (in g/km) from tax year 2010 to 2011 to 2024 + to 2025 + label: Units + measures: + - measure_id: average_co2_emissions + label: Average CO2 emissions + ordinal: 0 + column: D + source_column_id: average_co2_emissions + expected_column_header_row: 3 + expected_column_header: 2013 to 2014 + concept: hmrc.company_car_mean_co2_emissions + source_concept: hmrc.company_car_mean_co2_emissions + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: Table 2E, average CO2 emissions of company cars as reported to HMRC, 2013 + to 2014, in g/km. The background quality report gives the unit of Table 2E's averages as a company + car benefit (section 2.5). HMRC compiles these from employers' P11D returns and, from 2017 to 2018, + the company cars employers payroll and report through Real Time Information (RTI), counting a car + reported both ways once (background quality report, section 3.5). Missing or implausible CO2 figures + are imputed where other data allow, typically for under 2% of car benefits (section 3.5). From April + 2020 the CO2 figures are WLTP measurements; before, they are NEDC figures, WLTP results converted + back to NEDC equivalents from September 2018 (background quality report, section 2.4). Electric + cars are in the average from 2015 to 2016 (commentary, sections 2 and 6). The sheet gives no rounding + rule; its cells are whole g/km. Its subtitle reads 'from tax year 2010 to 2011', but its first column + is 2011 to 2012. + unit: g_co2_per_km + aggregation: mean + value_scale: 1 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2014 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2014.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2014 + sheet_name: 2E_average_CO2 + period_type: tax_year + period: 2014 + period_coverage: + start_date: '2014-04-06' + end_date: '2015-04-05' + basis: tax + source_period_label: 2014 to 2015 + notes: 'Cars emitting 0 g/km are not in these statistics for this year: from April 2010 to April 2015 + they carried a zero-rate charge (note 3), and HMRC includes electric cars only from 2015 to 2016 + (commentary, section 6). Before April 2016 a few employers payrolled benefits informally; their + P11Ds were not processed electronically and are not in these statistics (commentary, section 8.1).' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 4 + expected_row_header_column: A + expected_row_header: Average CO2 emissions (g/km) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2E: Average CO2 emissions of company cars as reported to HMRC (time series)' + label: Table title + - column: A + row: 2 + expected_value: Average CO2 emissions of company cars (in g/km) from tax year 2010 to 2011 to 2024 + to 2025 + label: Units + measures: + - measure_id: average_co2_emissions + label: Average CO2 emissions + ordinal: 0 + column: E + source_column_id: average_co2_emissions + expected_column_header_row: 3 + expected_column_header: 2014 to 2015 + concept: hmrc.company_car_mean_co2_emissions + source_concept: hmrc.company_car_mean_co2_emissions + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: Table 2E, average CO2 emissions of company cars as reported to HMRC, 2014 + to 2015, in g/km. The background quality report gives the unit of Table 2E's averages as a company + car benefit (section 2.5). HMRC compiles these from employers' P11D returns and, from 2017 to 2018, + the company cars employers payroll and report through Real Time Information (RTI), counting a car + reported both ways once (background quality report, section 3.5). Missing or implausible CO2 figures + are imputed where other data allow, typically for under 2% of car benefits (section 3.5). From April + 2020 the CO2 figures are WLTP measurements; before, they are NEDC figures, WLTP results converted + back to NEDC equivalents from September 2018 (background quality report, section 2.4). Electric + cars are in the average from 2015 to 2016 (commentary, sections 2 and 6). The sheet gives no rounding + rule; its cells are whole g/km. Its subtitle reads 'from tax year 2010 to 2011', but its first column + is 2011 to 2012. + unit: g_co2_per_km + aggregation: mean + value_scale: 1 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2015 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2015.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2015 + sheet_name: 2E_average_CO2 + period_type: tax_year + period: 2015 + period_coverage: + start_date: '2015-04-06' + end_date: '2016-04-05' + basis: tax + source_period_label: 2015 to 2016 + notes: Before April 2016 a few employers payrolled benefits informally; their P11Ds were not processed + electronically and are not in these statistics (commentary, section 8.1). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 4 + expected_row_header_column: A + expected_row_header: Average CO2 emissions (g/km) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2E: Average CO2 emissions of company cars as reported to HMRC (time series)' + label: Table title + - column: A + row: 2 + expected_value: Average CO2 emissions of company cars (in g/km) from tax year 2010 to 2011 to 2024 + to 2025 + label: Units + measures: + - measure_id: average_co2_emissions + label: Average CO2 emissions + ordinal: 0 + column: F + source_column_id: average_co2_emissions + expected_column_header_row: 3 + expected_column_header: 2015 to 2016 + concept: hmrc.company_car_mean_co2_emissions + source_concept: hmrc.company_car_mean_co2_emissions + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: Table 2E, average CO2 emissions of company cars as reported to HMRC, 2015 + to 2016, in g/km. The background quality report gives the unit of Table 2E's averages as a company + car benefit (section 2.5). HMRC compiles these from employers' P11D returns and, from 2017 to 2018, + the company cars employers payroll and report through Real Time Information (RTI), counting a car + reported both ways once (background quality report, section 3.5). Missing or implausible CO2 figures + are imputed where other data allow, typically for under 2% of car benefits (section 3.5). From April + 2020 the CO2 figures are WLTP measurements; before, they are NEDC figures, WLTP results converted + back to NEDC equivalents from September 2018 (background quality report, section 2.4). Electric + cars are in the average from 2015 to 2016 (commentary, sections 2 and 6). The sheet gives no rounding + rule; its cells are whole g/km. Its subtitle reads 'from tax year 2010 to 2011', but its first column + is 2011 to 2012. + unit: g_co2_per_km + aggregation: mean + value_scale: 1 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2016 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2016.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2016 + sheet_name: 2E_average_CO2 + period_type: tax_year + period: 2016 + period_coverage: + start_date: '2016-04-06' + end_date: '2017-04-05' + basis: tax + source_period_label: 2016 to 2017 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. In + 2016 to 2017 payrolled cars could not be reported through RTI, so every voluntarily payrolled car + is missing. HMRC expects company car recipients to be under-reported in every year since April 2016 + (commentary, section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 4 + expected_row_header_column: A + expected_row_header: Average CO2 emissions (g/km) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2E: Average CO2 emissions of company cars as reported to HMRC (time series)' + label: Table title + - column: A + row: 2 + expected_value: Average CO2 emissions of company cars (in g/km) from tax year 2010 to 2011 to 2024 + to 2025 + label: Units + measures: + - measure_id: average_co2_emissions + label: Average CO2 emissions + ordinal: 0 + column: G + source_column_id: average_co2_emissions + expected_column_header_row: 3 + expected_column_header: 2016 to 2017 + concept: hmrc.company_car_mean_co2_emissions + source_concept: hmrc.company_car_mean_co2_emissions + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: Table 2E, average CO2 emissions of company cars as reported to HMRC, 2016 + to 2017, in g/km. The background quality report gives the unit of Table 2E's averages as a company + car benefit (section 2.5). HMRC compiles these from employers' P11D returns and, from 2017 to 2018, + the company cars employers payroll and report through Real Time Information (RTI), counting a car + reported both ways once (background quality report, section 3.5). Missing or implausible CO2 figures + are imputed where other data allow, typically for under 2% of car benefits (section 3.5). From April + 2020 the CO2 figures are WLTP measurements; before, they are NEDC figures, WLTP results converted + back to NEDC equivalents from September 2018 (background quality report, section 2.4). Electric + cars are in the average from 2015 to 2016 (commentary, sections 2 and 6). The sheet gives no rounding + rule; its cells are whole g/km. Its subtitle reads 'from tax year 2010 to 2011', but its first column + is 2011 to 2012. + unit: g_co2_per_km + aggregation: mean + value_scale: 1 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2017 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2017.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2017 + sheet_name: 2E_average_CO2 + period_type: tax_year + period: 2017 + period_coverage: + start_date: '2017-04-06' + end_date: '2018-04-05' + basis: tax + source_period_label: 2017 to 2018 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. In + 2017 to 2018 reporting payrolled cars through RTI was voluntary, so the payrolled cars employers + chose not to report are missing. HMRC expects company car recipients to be under-reported in every + year since April 2016 (commentary, section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 4 + expected_row_header_column: A + expected_row_header: Average CO2 emissions (g/km) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2E: Average CO2 emissions of company cars as reported to HMRC (time series)' + label: Table title + - column: A + row: 2 + expected_value: Average CO2 emissions of company cars (in g/km) from tax year 2010 to 2011 to 2024 + to 2025 + label: Units + measures: + - measure_id: average_co2_emissions + label: Average CO2 emissions + ordinal: 0 + column: H + source_column_id: average_co2_emissions + expected_column_header_row: 3 + expected_column_header: 2017 to 2018 + concept: hmrc.company_car_mean_co2_emissions + source_concept: hmrc.company_car_mean_co2_emissions + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: Table 2E, average CO2 emissions of company cars as reported to HMRC, 2017 + to 2018, in g/km. The background quality report gives the unit of Table 2E's averages as a company + car benefit (section 2.5). HMRC compiles these from employers' P11D returns and, from 2017 to 2018, + the company cars employers payroll and report through Real Time Information (RTI), counting a car + reported both ways once (background quality report, section 3.5). Missing or implausible CO2 figures + are imputed where other data allow, typically for under 2% of car benefits (section 3.5). From April + 2020 the CO2 figures are WLTP measurements; before, they are NEDC figures, WLTP results converted + back to NEDC equivalents from September 2018 (background quality report, section 2.4). Electric + cars are in the average from 2015 to 2016 (commentary, sections 2 and 6). The sheet gives no rounding + rule; its cells are whole g/km. Its subtitle reads 'from tax year 2010 to 2011', but its first column + is 2011 to 2012. + unit: g_co2_per_km + aggregation: mean + value_scale: 1 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2018 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2018.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2018 + sheet_name: 2E_average_CO2 + period_type: tax_year + period: 2018 + period_coverage: + start_date: '2018-04-06' + end_date: '2019-04-05' + basis: tax + source_period_label: 2018 to 2019 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 4 + expected_row_header_column: A + expected_row_header: Average CO2 emissions (g/km) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2E: Average CO2 emissions of company cars as reported to HMRC (time series)' + label: Table title + - column: A + row: 2 + expected_value: Average CO2 emissions of company cars (in g/km) from tax year 2010 to 2011 to 2024 + to 2025 + label: Units + measures: + - measure_id: average_co2_emissions + label: Average CO2 emissions + ordinal: 0 + column: I + source_column_id: average_co2_emissions + expected_column_header_row: 3 + expected_column_header: 2018 to 2019 + concept: hmrc.company_car_mean_co2_emissions + source_concept: hmrc.company_car_mean_co2_emissions + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: Table 2E, average CO2 emissions of company cars as reported to HMRC, 2018 + to 2019, in g/km. The background quality report gives the unit of Table 2E's averages as a company + car benefit (section 2.5). HMRC compiles these from employers' P11D returns and, from 2017 to 2018, + the company cars employers payroll and report through Real Time Information (RTI), counting a car + reported both ways once (background quality report, section 3.5). Missing or implausible CO2 figures + are imputed where other data allow, typically for under 2% of car benefits (section 3.5). From April + 2020 the CO2 figures are WLTP measurements; before, they are NEDC figures, WLTP results converted + back to NEDC equivalents from September 2018 (background quality report, section 2.4). Electric + cars are in the average from 2015 to 2016 (commentary, sections 2 and 6). The sheet gives no rounding + rule; its cells are whole g/km. Its subtitle reads 'from tax year 2010 to 2011', but its first column + is 2011 to 2012. + unit: g_co2_per_km + aggregation: mean + value_scale: 1 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2019 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2019.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2019 + sheet_name: 2E_average_CO2 + period_type: tax_year + period: 2019 + period_coverage: + start_date: '2019-04-06' + end_date: '2020-04-05' + basis: tax + source_period_label: 2019 to 2020 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 4 + expected_row_header_column: A + expected_row_header: Average CO2 emissions (g/km) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2E: Average CO2 emissions of company cars as reported to HMRC (time series)' + label: Table title + - column: A + row: 2 + expected_value: Average CO2 emissions of company cars (in g/km) from tax year 2010 to 2011 to 2024 + to 2025 + label: Units + measures: + - measure_id: average_co2_emissions + label: Average CO2 emissions + ordinal: 0 + column: J + source_column_id: average_co2_emissions + expected_column_header_row: 3 + expected_column_header: 2019 to 2020 + concept: hmrc.company_car_mean_co2_emissions + source_concept: hmrc.company_car_mean_co2_emissions + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: Table 2E, average CO2 emissions of company cars as reported to HMRC, 2019 + to 2020, in g/km. The background quality report gives the unit of Table 2E's averages as a company + car benefit (section 2.5). HMRC compiles these from employers' P11D returns and, from 2017 to 2018, + the company cars employers payroll and report through Real Time Information (RTI), counting a car + reported both ways once (background quality report, section 3.5). Missing or implausible CO2 figures + are imputed where other data allow, typically for under 2% of car benefits (section 3.5). From April + 2020 the CO2 figures are WLTP measurements; before, they are NEDC figures, WLTP results converted + back to NEDC equivalents from September 2018 (background quality report, section 2.4). Electric + cars are in the average from 2015 to 2016 (commentary, sections 2 and 6). The sheet gives no rounding + rule; its cells are whole g/km. Its subtitle reads 'from tax year 2010 to 2011', but its first column + is 2011 to 2012. + unit: g_co2_per_km + aggregation: mean + value_scale: 1 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2020 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2020.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2020 + sheet_name: 2E_average_CO2 + period_type: tax_year + period: 2020 + period_coverage: + start_date: '2020-04-06' + end_date: '2021-04-05' + basis: tax + source_period_label: 2020 to 2021 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 4 + expected_row_header_column: A + expected_row_header: Average CO2 emissions (g/km) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2E: Average CO2 emissions of company cars as reported to HMRC (time series)' + label: Table title + - column: A + row: 2 + expected_value: Average CO2 emissions of company cars (in g/km) from tax year 2010 to 2011 to 2024 + to 2025 + label: Units + measures: + - measure_id: average_co2_emissions + label: Average CO2 emissions + ordinal: 0 + column: K + source_column_id: average_co2_emissions + expected_column_header_row: 3 + expected_column_header: 2020 to 2021 + concept: hmrc.company_car_mean_co2_emissions + source_concept: hmrc.company_car_mean_co2_emissions + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: Table 2E, average CO2 emissions of company cars as reported to HMRC, 2020 + to 2021, in g/km. The background quality report gives the unit of Table 2E's averages as a company + car benefit (section 2.5). HMRC compiles these from employers' P11D returns and, from 2017 to 2018, + the company cars employers payroll and report through Real Time Information (RTI), counting a car + reported both ways once (background quality report, section 3.5). Missing or implausible CO2 figures + are imputed where other data allow, typically for under 2% of car benefits (section 3.5). From April + 2020 the CO2 figures are WLTP measurements; before, they are NEDC figures, WLTP results converted + back to NEDC equivalents from September 2018 (background quality report, section 2.4). Electric + cars are in the average from 2015 to 2016 (commentary, sections 2 and 6). The sheet gives no rounding + rule; its cells are whole g/km. Its subtitle reads 'from tax year 2010 to 2011', but its first column + is 2011 to 2012. + unit: g_co2_per_km + aggregation: mean + value_scale: 1 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2021 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2021.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2021 + sheet_name: 2E_average_CO2 + period_type: tax_year + period: 2021 + period_coverage: + start_date: '2021-04-06' + end_date: '2022-04-05' + basis: tax + source_period_label: 2021 to 2022 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 4 + expected_row_header_column: A + expected_row_header: Average CO2 emissions (g/km) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2E: Average CO2 emissions of company cars as reported to HMRC (time series)' + label: Table title + - column: A + row: 2 + expected_value: Average CO2 emissions of company cars (in g/km) from tax year 2010 to 2011 to 2024 + to 2025 + label: Units + measures: + - measure_id: average_co2_emissions + label: Average CO2 emissions + ordinal: 0 + column: L + source_column_id: average_co2_emissions + expected_column_header_row: 3 + expected_column_header: 2021 to 2022 + concept: hmrc.company_car_mean_co2_emissions + source_concept: hmrc.company_car_mean_co2_emissions + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: Table 2E, average CO2 emissions of company cars as reported to HMRC, 2021 + to 2022, in g/km. The background quality report gives the unit of Table 2E's averages as a company + car benefit (section 2.5). HMRC compiles these from employers' P11D returns and, from 2017 to 2018, + the company cars employers payroll and report through Real Time Information (RTI), counting a car + reported both ways once (background quality report, section 3.5). Missing or implausible CO2 figures + are imputed where other data allow, typically for under 2% of car benefits (section 3.5). From April + 2020 the CO2 figures are WLTP measurements; before, they are NEDC figures, WLTP results converted + back to NEDC equivalents from September 2018 (background quality report, section 2.4). Electric + cars are in the average from 2015 to 2016 (commentary, sections 2 and 6). The sheet gives no rounding + rule; its cells are whole g/km. Its subtitle reads 'from tax year 2010 to 2011', but its first column + is 2011 to 2012. + unit: g_co2_per_km + aggregation: mean + value_scale: 1 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2022 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2022.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2022 + sheet_name: 2E_average_CO2 + period_type: tax_year + period: 2022 + period_coverage: + start_date: '2022-04-06' + end_date: '2023-04-05' + basis: tax + source_period_label: 2022 to 2023 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 4 + expected_row_header_column: A + expected_row_header: Average CO2 emissions (g/km) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2E: Average CO2 emissions of company cars as reported to HMRC (time series)' + label: Table title + - column: A + row: 2 + expected_value: Average CO2 emissions of company cars (in g/km) from tax year 2010 to 2011 to 2024 + to 2025 + label: Units + measures: + - measure_id: average_co2_emissions + label: Average CO2 emissions + ordinal: 0 + column: M + source_column_id: average_co2_emissions + expected_column_header_row: 3 + expected_column_header: 2022 to 2023 + concept: hmrc.company_car_mean_co2_emissions + source_concept: hmrc.company_car_mean_co2_emissions + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: Table 2E, average CO2 emissions of company cars as reported to HMRC, 2022 + to 2023, in g/km. The background quality report gives the unit of Table 2E's averages as a company + car benefit (section 2.5). HMRC compiles these from employers' P11D returns and, from 2017 to 2018, + the company cars employers payroll and report through Real Time Information (RTI), counting a car + reported both ways once (background quality report, section 3.5). Missing or implausible CO2 figures + are imputed where other data allow, typically for under 2% of car benefits (section 3.5). From April + 2020 the CO2 figures are WLTP measurements; before, they are NEDC figures, WLTP results converted + back to NEDC equivalents from September 2018 (background quality report, section 2.4). Electric + cars are in the average from 2015 to 2016 (commentary, sections 2 and 6). The sheet gives no rounding + rule; its cells are whole g/km. Its subtitle reads 'from tax year 2010 to 2011', but its first column + is 2011 to 2012. + unit: g_co2_per_km + aggregation: mean + value_scale: 1 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2023 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2023.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2023 + sheet_name: 2E_average_CO2 + period_type: tax_year + period: 2023 + period_coverage: + start_date: '2023-04-06' + end_date: '2024-04-05' + basis: tax + source_period_label: 2023 to 2024 + notes: From April 2016 employers could payroll company cars instead of reporting them on a P11D. From + April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. HMRC + expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 4 + expected_row_header_column: A + expected_row_header: Average CO2 emissions (g/km) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2E: Average CO2 emissions of company cars as reported to HMRC (time series)' + label: Table title + - column: A + row: 2 + expected_value: Average CO2 emissions of company cars (in g/km) from tax year 2010 to 2011 to 2024 + to 2025 + label: Units + measures: + - measure_id: average_co2_emissions + label: Average CO2 emissions + ordinal: 0 + column: N + source_column_id: average_co2_emissions + expected_column_header_row: 3 + expected_column_header: 2023 to 2024 + concept: hmrc.company_car_mean_co2_emissions + source_concept: hmrc.company_car_mean_co2_emissions + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: Table 2E, average CO2 emissions of company cars as reported to HMRC, 2023 + to 2024, in g/km. The background quality report gives the unit of Table 2E's averages as a company + car benefit (section 2.5). HMRC compiles these from employers' P11D returns and, from 2017 to 2018, + the company cars employers payroll and report through Real Time Information (RTI), counting a car + reported both ways once (background quality report, section 3.5). Missing or implausible CO2 figures + are imputed where other data allow, typically for under 2% of car benefits (section 3.5). From April + 2020 the CO2 figures are WLTP measurements; before, they are NEDC figures, WLTP results converted + back to NEDC equivalents from September 2018 (background quality report, section 2.4). Electric + cars are in the average from 2015 to 2016 (commentary, sections 2 and 6). The sheet gives no rounding + rule; its cells are whole g/km. Its subtitle reads 'from tax year 2010 to 2011', but its first column + is 2011 to 2012. + unit: g_co2_per_km + aggregation: mean + value_scale: 1 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2024 + provenance_class: administrative + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2024.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table2e.average_co2_emissions.ty2024 + sheet_name: 2E_average_CO2 + period_type: tax_year + period: 2024 + period_coverage: + start_date: '2024-04-06' + end_date: '2025-04-05' + basis: tax + source_period_label: 2024 to 2025 [note 1] + notes: 'From April 2016 employers could payroll company cars instead of reporting them on a P11D. + From April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. + HMRC expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). HMRC marks 2024 to 2025 provisional (note 1): its figures come from an initial extract + of the Expenses and Benefits data and may be revised.' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: company_car_benefit_type + rows: + - value_id: car + label: Company car benefit + ordinal: 0 + row_number: 4 + expected_row_header_column: A + expected_row_header: Average CO2 emissions (g/km) + table_record_kind: detail + filters: + company_car_benefit_type: car + constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + guard_cells: + - column: A + row: 1 + expected_value: 'Table 2E: Average CO2 emissions of company cars as reported to HMRC (time series)' + label: Table title + - column: A + row: 2 + expected_value: Average CO2 emissions of company cars (in g/km) from tax year 2010 to 2011 to 2024 + to 2025 + label: Units + measures: + - measure_id: average_co2_emissions + label: Average CO2 emissions + ordinal: 0 + column: O + source_column_id: average_co2_emissions + expected_column_header_row: 3 + expected_column_header: 2024 to 2025 [note 1] + concept: hmrc.company_car_mean_co2_emissions + source_concept: hmrc.company_car_mean_co2_emissions + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: Table 2E, average CO2 emissions of company cars as reported to HMRC, 2024 + to 2025 [note 1], in g/km. The background quality report gives the unit of Table 2E's averages as + a company car benefit (section 2.5). HMRC compiles these from employers' P11D returns and, from + 2017 to 2018, the company cars employers payroll and report through Real Time Information (RTI), + counting a car reported both ways once (background quality report, section 3.5). Missing or implausible + CO2 figures are imputed where other data allow, typically for under 2% of car benefits (section + 3.5). From April 2020 the CO2 figures are WLTP measurements; before, they are NEDC figures, WLTP + results converted back to NEDC equivalents from September 2018 (background quality report, section + 2.4). Electric cars are in the average from 2015 to 2016 (commentary, sections 2 and 6). The sheet + gives no rounding rule; its cells are whole g/km. Its subtitle reads 'from tax year 2010 to 2011', + but its first column is 2011 to 2012. + unit: g_co2_per_km + aggregation: mean + value_scale: 1 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table3a.recipients.ty2024 + provenance_class: survey_aggregate + survey_instrument: Survey of Personal Incomes matched to employers' P11D and Real Time Information company + car records + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table3a.recipients.ty2024.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table3a.recipients.ty2024 + sheet_name: 3A_car_recipients_income + period_type: tax_year + period: 2024 + period_coverage: + start_date: '2024-04-06' + end_date: '2025-04-05' + basis: tax + source_period_label: Tax year 2024 to 2025 [note 1] + notes: 'From April 2016 employers could payroll company cars instead of reporting them on a P11D. + From April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. + HMRC expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). HMRC marks 2024 to 2025 provisional (note 1): its figures come from an initial extract + of the Expenses and Benefits data and may be revised.' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: benefit_in_kind_income_band + shared_filters: + company_car_benefit_type: car + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + rows: + - value_id: income_0_to_8499 + label: £0 to £8,499 + ordinal: 0 + row_number: 7 + expected_row_header_column: A + expected_row_header: £0 to £8,499 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_0_to_8499 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_0_to_8499 + label: Range of total income + - variable: total_income + operator: < + value: 8500 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3A: Income breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_8500_to_14999 + label: £8,500 to £14,999 + ordinal: 1 + row_number: 8 + expected_row_header_column: A + expected_row_header: £8,500 to £14,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_8500_to_14999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_8500_to_14999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 8500 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 15000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3A: Income breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_15000_to_19999 + label: £15,000 to £19,999 + ordinal: 2 + row_number: 9 + expected_row_header_column: A + expected_row_header: £15,000 to £19,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_15000_to_19999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_15000_to_19999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 15000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 20000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3A: Income breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_20000_to_29999 + label: £20,000 to £29,999 + ordinal: 3 + row_number: 10 + expected_row_header_column: A + expected_row_header: £20,000 to £29,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_20000_to_29999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_20000_to_29999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 20000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 30000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3A: Income breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_30000_to_39999 + label: £30,000 to £39,999 + ordinal: 4 + row_number: 11 + expected_row_header_column: A + expected_row_header: £30,000 to £39,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_30000_to_39999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_30000_to_39999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 30000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 40000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3A: Income breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_40000_to_49999 + label: £40,000 to £49,999 + ordinal: 5 + row_number: 12 + expected_row_header_column: A + expected_row_header: £40,000 to £49,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_40000_to_49999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_40000_to_49999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 40000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 50000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3A: Income breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_50000_to_74999 + label: £50,000 to £74,999 + ordinal: 6 + row_number: 13 + expected_row_header_column: A + expected_row_header: £50,000 to £74,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_50000_to_74999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_50000_to_74999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 50000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 75000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3A: Income breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_75000_to_99999 + label: £75,000 to £99,999 + ordinal: 7 + row_number: 14 + expected_row_header_column: A + expected_row_header: £75,000 to £99,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_75000_to_99999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_75000_to_99999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 75000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 100000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3A: Income breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_100000_to_149999 + label: £100,000 to £149,999 + ordinal: 8 + row_number: 15 + expected_row_header_column: A + expected_row_header: £100,000 to £149,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_100000_to_149999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_100000_to_149999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 100000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 150000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3A: Income breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_150000_to_199999 + label: £150,000 to £199,999 + ordinal: 9 + row_number: 16 + expected_row_header_column: A + expected_row_header: £150,000 to £199,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_150000_to_199999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_150000_to_199999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 150000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 200000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3A: Income breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_200000_plus + label: £200,000 and over + ordinal: 10 + row_number: 17 + expected_row_header_column: A + expected_row_header: £200,000 and over + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_200000_plus + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_200000_plus + label: Range of total income + - variable: total_income + operator: '>=' + value: 200000 + unit: gbp + label: Total income lower bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3A: Income breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: B + source_column_id: recipients + expected_column_header_row: 6 + expected_column_header: Recipients (thousands) + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 3A, Tax year 2024 to 2025 [note 1], Recipients (thousands): company + car benefit by range of total income of the recipient. Total income is ''inclusive of the benefit + amount'' and ''comprises all incomes assessable for Income Tax'' (background quality report, section + 2.4). ''The figures in this table are grossed up from the sample which contains income information. + The grossing methodology ensures that figures reflect the correct total taxable value but the total + number of recipients will not necessarily match the figure in Table 1.'' HMRC estimates this table + from the Survey of Personal Incomes cases matched to the P11D and RTI records: it grosses them up + with standard SPI grossing factors, then applies a further adjustment factor so that the total taxable + value equals the figure from the full data, and the same factor scales the recipients (background + quality report, section 3.5). ''The data in this table are not fully complete. Some company cars + are not included in the source data used to produce the statistics and are therefore excluded from + the tables. For more information please see the background documentation.'' ''Numbers and amounts + less than 10 are rounded to the nearest 5; those greater than 10 are rounded to the nearest 10''. + Its ''All'' row prints the same value as Table 1''s 2024 to 2025 cell, which is ported, so it is + not ported again.' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table3a.taxable_value.ty2024 + provenance_class: survey_aggregate + survey_instrument: Survey of Personal Incomes matched to employers' P11D and Real Time Information company + car records + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table3a.taxable_value.ty2024.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table3a.taxable_value.ty2024 + sheet_name: 3A_car_recipients_income + period_type: tax_year + period: 2024 + period_coverage: + start_date: '2024-04-06' + end_date: '2025-04-05' + basis: tax + source_period_label: Tax year 2024 to 2025 [note 1] + notes: 'From April 2016 employers could payroll company cars instead of reporting them on a P11D. + From April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. + HMRC expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). HMRC marks 2024 to 2025 provisional (note 1): its figures come from an initial extract + of the Expenses and Benefits data and may be revised.' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: benefit_in_kind_income_band + shared_filters: + company_car_benefit_type: car + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + rows: + - value_id: income_0_to_8499 + label: £0 to £8,499 + ordinal: 0 + row_number: 7 + expected_row_header_column: A + expected_row_header: £0 to £8,499 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_0_to_8499 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_0_to_8499 + label: Range of total income + - variable: total_income + operator: < + value: 8500 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3A: Income breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_8500_to_14999 + label: £8,500 to £14,999 + ordinal: 1 + row_number: 8 + expected_row_header_column: A + expected_row_header: £8,500 to £14,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_8500_to_14999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_8500_to_14999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 8500 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 15000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3A: Income breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_15000_to_19999 + label: £15,000 to £19,999 + ordinal: 2 + row_number: 9 + expected_row_header_column: A + expected_row_header: £15,000 to £19,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_15000_to_19999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_15000_to_19999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 15000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 20000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3A: Income breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_20000_to_29999 + label: £20,000 to £29,999 + ordinal: 3 + row_number: 10 + expected_row_header_column: A + expected_row_header: £20,000 to £29,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_20000_to_29999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_20000_to_29999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 20000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 30000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3A: Income breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_30000_to_39999 + label: £30,000 to £39,999 + ordinal: 4 + row_number: 11 + expected_row_header_column: A + expected_row_header: £30,000 to £39,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_30000_to_39999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_30000_to_39999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 30000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 40000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3A: Income breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_40000_to_49999 + label: £40,000 to £49,999 + ordinal: 5 + row_number: 12 + expected_row_header_column: A + expected_row_header: £40,000 to £49,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_40000_to_49999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_40000_to_49999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 40000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 50000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3A: Income breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_50000_to_74999 + label: £50,000 to £74,999 + ordinal: 6 + row_number: 13 + expected_row_header_column: A + expected_row_header: £50,000 to £74,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_50000_to_74999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_50000_to_74999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 50000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 75000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3A: Income breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_75000_to_99999 + label: £75,000 to £99,999 + ordinal: 7 + row_number: 14 + expected_row_header_column: A + expected_row_header: £75,000 to £99,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_75000_to_99999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_75000_to_99999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 75000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 100000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3A: Income breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_100000_to_149999 + label: £100,000 to £149,999 + ordinal: 8 + row_number: 15 + expected_row_header_column: A + expected_row_header: £100,000 to £149,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_100000_to_149999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_100000_to_149999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 100000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 150000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3A: Income breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_150000_to_199999 + label: £150,000 to £199,999 + ordinal: 9 + row_number: 16 + expected_row_header_column: A + expected_row_header: £150,000 to £199,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_150000_to_199999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_150000_to_199999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 150000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 200000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3A: Income breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_200000_plus + label: £200,000 and over + ordinal: 10 + row_number: 17 + expected_row_header_column: A + expected_row_header: £200,000 and over + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_200000_plus + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_200000_plus + label: Range of total income + - variable: total_income + operator: '>=' + value: 200000 + unit: gbp + label: Total income lower bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3A: Income breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: taxable_value + label: Taxable value + ordinal: 0 + column: C + source_column_id: taxable_value + expected_column_header_row: 6 + expected_column_header: Taxable value (£millions) + concept: hmrc.benefit_in_kind_taxable_value + source_concept: hmrc.benefit_in_kind_taxable_value + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 3A, Tax year 2024 to 2025 [note 1], Taxable value (£millions): company + car benefit by range of total income of the recipient. Total income is ''inclusive of the benefit + amount'' and ''comprises all incomes assessable for Income Tax'' (background quality report, section + 2.4). ''The figures in this table are grossed up from the sample which contains income information. + The grossing methodology ensures that figures reflect the correct total taxable value but the total + number of recipients will not necessarily match the figure in Table 1.'' HMRC estimates this table + from the Survey of Personal Incomes cases matched to the P11D and RTI records: it grosses them up + with standard SPI grossing factors, then applies a further adjustment factor so that the total taxable + value equals the figure from the full data, and the same factor scales the recipients (background + quality report, section 3.5). ''The data in this table are not fully complete. Some company cars + are not included in the source data used to produce the statistics and are therefore excluded from + the tables. For more information please see the background documentation.'' ''Numbers and amounts + less than 10 are rounded to the nearest 5; those greater than 10 are rounded to the nearest 10''. + Its ''All'' row prints the same value as Table 1''s 2024 to 2025 cell, which is ported, so it is + not ported again.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table3a.average_taxable_value.ty2024 + provenance_class: survey_aggregate + survey_instrument: Survey of Personal Incomes matched to employers' P11D and Real Time Information company + car records + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table3a.average_taxable_value.ty2024.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table3a.average_taxable_value.ty2024 + sheet_name: 3A_car_recipients_income + period_type: tax_year + period: 2024 + period_coverage: + start_date: '2024-04-06' + end_date: '2025-04-05' + basis: tax + source_period_label: Tax year 2024 to 2025 [note 1] + notes: 'From April 2016 employers could payroll company cars instead of reporting them on a P11D. + From April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. + HMRC expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). HMRC marks 2024 to 2025 provisional (note 1): its figures come from an initial extract + of the Expenses and Benefits data and may be revised.' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: benefit_in_kind_income_band + shared_filters: + company_car_benefit_type: car + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + rows: + - value_id: income_0_to_8499 + label: £0 to £8,499 + ordinal: 0 + row_number: 7 + expected_row_header_column: A + expected_row_header: £0 to £8,499 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_0_to_8499 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_0_to_8499 + label: Range of total income + - variable: total_income + operator: < + value: 8500 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3A: Income breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_8500_to_14999 + label: £8,500 to £14,999 + ordinal: 1 + row_number: 8 + expected_row_header_column: A + expected_row_header: £8,500 to £14,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_8500_to_14999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_8500_to_14999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 8500 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 15000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3A: Income breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_15000_to_19999 + label: £15,000 to £19,999 + ordinal: 2 + row_number: 9 + expected_row_header_column: A + expected_row_header: £15,000 to £19,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_15000_to_19999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_15000_to_19999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 15000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 20000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3A: Income breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_20000_to_29999 + label: £20,000 to £29,999 + ordinal: 3 + row_number: 10 + expected_row_header_column: A + expected_row_header: £20,000 to £29,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_20000_to_29999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_20000_to_29999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 20000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 30000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3A: Income breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_30000_to_39999 + label: £30,000 to £39,999 + ordinal: 4 + row_number: 11 + expected_row_header_column: A + expected_row_header: £30,000 to £39,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_30000_to_39999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_30000_to_39999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 30000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 40000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3A: Income breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_40000_to_49999 + label: £40,000 to £49,999 + ordinal: 5 + row_number: 12 + expected_row_header_column: A + expected_row_header: £40,000 to £49,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_40000_to_49999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_40000_to_49999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 40000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 50000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3A: Income breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_50000_to_74999 + label: £50,000 to £74,999 + ordinal: 6 + row_number: 13 + expected_row_header_column: A + expected_row_header: £50,000 to £74,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_50000_to_74999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_50000_to_74999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 50000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 75000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3A: Income breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_75000_to_99999 + label: £75,000 to £99,999 + ordinal: 7 + row_number: 14 + expected_row_header_column: A + expected_row_header: £75,000 to £99,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_75000_to_99999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_75000_to_99999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 75000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 100000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3A: Income breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_100000_to_149999 + label: £100,000 to £149,999 + ordinal: 8 + row_number: 15 + expected_row_header_column: A + expected_row_header: £100,000 to £149,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_100000_to_149999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_100000_to_149999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 100000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 150000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3A: Income breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_150000_to_199999 + label: £150,000 to £199,999 + ordinal: 9 + row_number: 16 + expected_row_header_column: A + expected_row_header: £150,000 to £199,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_150000_to_199999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_150000_to_199999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 150000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 200000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3A: Income breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_200000_plus + label: £200,000 and over + ordinal: 10 + row_number: 17 + expected_row_header_column: A + expected_row_header: £200,000 and over + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_200000_plus + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_200000_plus + label: Range of total income + - variable: total_income + operator: '>=' + value: 200000 + unit: gbp + label: Total income lower bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3A: Income breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: average_taxable_value + label: Average taxable value + ordinal: 0 + column: D + source_column_id: average_taxable_value + expected_column_header_row: 6 + expected_column_header: Average value (£) + concept: hmrc.benefit_in_kind_mean_taxable_value + source_concept: hmrc.benefit_in_kind_mean_taxable_value + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 3A, Tax year 2024 to 2025 [note 1], Average value (£): company car + benefit by range of total income of the recipient. Total income is ''inclusive of the benefit amount'' + and ''comprises all incomes assessable for Income Tax'' (background quality report, section 2.4). + ''The figures in this table are grossed up from the sample which contains income information. The + grossing methodology ensures that figures reflect the correct total taxable value but the total + number of recipients will not necessarily match the figure in Table 1.'' HMRC estimates this table + from the Survey of Personal Incomes cases matched to the P11D and RTI records: it grosses them up + with standard SPI grossing factors, then applies a further adjustment factor so that the total taxable + value equals the figure from the full data, and the same factor scales the recipients (background + quality report, section 3.5). ''The data in this table are not fully complete. Some company cars + are not included in the source data used to produce the statistics and are therefore excluded from + the tables. For more information please see the background documentation.'' ''Numbers and amounts + less than 10 are rounded to the nearest 5; those greater than 10 are rounded to the nearest 10''. + HMRC''s average taxable value per recipient, in GBP, rounded as the sheet states. The printed averages + do not all equal the quotient of the printed, rounded taxable value and recipients, so they are + ported as published, not derived. Its ''All'' row is not ported: it would share the key of Table + 1''s 2024 to 2025 average, and prints the same value.' + unit: gbp + aggregation: mean + value_scale: 1 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table3b.recipients.ty2024 + provenance_class: survey_aggregate + survey_instrument: Survey of Personal Incomes matched to employers' P11D and Real Time Information company + car records + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table3b.recipients.ty2024.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table3b.recipients.ty2024 + sheet_name: 3B_fuel_recipients_income + period_type: tax_year + period: 2024 + period_coverage: + start_date: '2024-04-06' + end_date: '2025-04-05' + basis: tax + source_period_label: Tax year 2024 to 2025 [note 1] + notes: 'From April 2016 employers could payroll company cars instead of reporting them on a P11D. + From April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. + HMRC expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). HMRC marks 2024 to 2025 provisional (note 1): its figures come from an initial extract + of the Expenses and Benefits data and may be revised.' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: benefit_in_kind_income_band + shared_filters: + company_car_benefit_type: fuel + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + rows: + - value_id: income_40000_to_49999 + label: £40,000 to £49,999 + ordinal: 0 + row_number: 9 + expected_row_header_column: A + expected_row_header: £40,000 to £49,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_40000_to_49999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_40000_to_49999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 40000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 50000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3B: Income breakdown of recipients of employer-provided car fuel' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_50000_to_74999 + label: £50,000 to £74,999 + ordinal: 1 + row_number: 10 + expected_row_header_column: A + expected_row_header: £50,000 to £74,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_50000_to_74999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_50000_to_74999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 50000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 75000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3B: Income breakdown of recipients of employer-provided car fuel' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_75000_to_99999 + label: £75,000 to £99,999 + ordinal: 2 + row_number: 11 + expected_row_header_column: A + expected_row_header: £75,000 to £99,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_75000_to_99999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_75000_to_99999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 75000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 100000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3B: Income breakdown of recipients of employer-provided car fuel' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_100000_to_149999 + label: £100,000 to £149,999 + ordinal: 3 + row_number: 12 + expected_row_header_column: A + expected_row_header: £100,000 to £149,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_100000_to_149999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_100000_to_149999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 100000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 150000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3B: Income breakdown of recipients of employer-provided car fuel' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_200000_plus + label: £200,000 and over + ordinal: 4 + row_number: 14 + expected_row_header_column: A + expected_row_header: £200,000 and over + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_200000_plus + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_200000_plus + label: Range of total income + - variable: total_income + operator: '>=' + value: 200000 + unit: gbp + label: Total income lower bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3B: Income breakdown of recipients of employer-provided car fuel' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: B + source_column_id: recipients + expected_column_header_row: 6 + expected_column_header: Recipients (thousands) + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 3B, Tax year 2024 to 2025 [note 1], Recipients (thousands): car fuel + benefit by range of total income of the recipient, in bands HMRC groups more coarsely than Table + 3A''s. Total income is ''inclusive of the benefit amount'' and ''comprises all incomes assessable + for Income Tax'' (background quality report, section 2.4). ''The figures in this table are grossed + up from the sample which contains income information. The grossing methodology ensures that figures + reflect the correct total taxable value but the total number of recipients will not necessarily + match the figure in Table 1.'' HMRC estimates this table from the Survey of Personal Incomes cases + matched to the P11D and RTI records: it grosses them up with standard SPI grossing factors, then + applies a further adjustment factor so that the total taxable value equals the figure from the full + data, and the same factor scales the recipients (background quality report, section 3.5). ''The + data in this table are not fully complete. Some company cars are not included in the source data + used to produce the statistics and are therefore excluded from the tables. Some income bands have + been grouped to ensure statistical completeness. For more information please see the background + documentation.'' ''Numbers and amounts less than 10 are rounded to the nearest 5; those greater + than 10 are rounded to the nearest 10''. Its ''All'' row prints the same value as Table 1''s 2024 + to 2025 cell, which is ported, so it is not ported again. HMRC prints ''<2.5'' (fewer than 2,500 + recipients, under half the rounding base of 5 thousand) for ''£0 to £29,999'', ''£30,000 to £39,999'' + and ''£150,000 to £199,999'': those cells emit no fact, not a zero.' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table3b.taxable_value.ty2024 + provenance_class: survey_aggregate + survey_instrument: Survey of Personal Incomes matched to employers' P11D and Real Time Information company + car records + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table3b.taxable_value.ty2024.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table3b.taxable_value.ty2024 + sheet_name: 3B_fuel_recipients_income + period_type: tax_year + period: 2024 + period_coverage: + start_date: '2024-04-06' + end_date: '2025-04-05' + basis: tax + source_period_label: Tax year 2024 to 2025 [note 1] + notes: 'From April 2016 employers could payroll company cars instead of reporting them on a P11D. + From April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. + HMRC expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). HMRC marks 2024 to 2025 provisional (note 1): its figures come from an initial extract + of the Expenses and Benefits data and may be revised.' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: benefit_in_kind_income_band + shared_filters: + company_car_benefit_type: fuel + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + rows: + - value_id: income_0_to_29999 + label: £0 to £29,999 + ordinal: 0 + row_number: 7 + expected_row_header_column: A + expected_row_header: £0 to £29,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_0_to_29999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_0_to_29999 + label: Range of total income + - variable: total_income + operator: < + value: 30000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3B: Income breakdown of recipients of employer-provided car fuel' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - column: B + row: 7 + expected_value: <2.5 + label: 'Recipients printed ''<2.5'' (fewer than 2,500 recipients, under half the rounding base of + 5 thousand): no recipients fact' + - value_id: income_30000_to_39999 + label: £30,000 to £39,999 + ordinal: 1 + row_number: 8 + expected_row_header_column: A + expected_row_header: £30,000 to £39,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_30000_to_39999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_30000_to_39999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 30000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 40000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3B: Income breakdown of recipients of employer-provided car fuel' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - column: B + row: 8 + expected_value: <2.5 + label: 'Recipients printed ''<2.5'' (fewer than 2,500 recipients, under half the rounding base of + 5 thousand): no recipients fact' + - value_id: income_40000_to_49999 + label: £40,000 to £49,999 + ordinal: 2 + row_number: 9 + expected_row_header_column: A + expected_row_header: £40,000 to £49,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_40000_to_49999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_40000_to_49999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 40000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 50000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3B: Income breakdown of recipients of employer-provided car fuel' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_50000_to_74999 + label: £50,000 to £74,999 + ordinal: 3 + row_number: 10 + expected_row_header_column: A + expected_row_header: £50,000 to £74,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_50000_to_74999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_50000_to_74999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 50000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 75000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3B: Income breakdown of recipients of employer-provided car fuel' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_75000_to_99999 + label: £75,000 to £99,999 + ordinal: 4 + row_number: 11 + expected_row_header_column: A + expected_row_header: £75,000 to £99,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_75000_to_99999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_75000_to_99999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 75000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 100000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3B: Income breakdown of recipients of employer-provided car fuel' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_100000_to_149999 + label: £100,000 to £149,999 + ordinal: 5 + row_number: 12 + expected_row_header_column: A + expected_row_header: £100,000 to £149,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_100000_to_149999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_100000_to_149999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 100000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 150000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3B: Income breakdown of recipients of employer-provided car fuel' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_150000_to_199999 + label: £150,000 to £199,999 + ordinal: 6 + row_number: 13 + expected_row_header_column: A + expected_row_header: £150,000 to £199,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_150000_to_199999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_150000_to_199999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 150000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 200000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3B: Income breakdown of recipients of employer-provided car fuel' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - column: B + row: 13 + expected_value: <2.5 + label: 'Recipients printed ''<2.5'' (fewer than 2,500 recipients, under half the rounding base of + 5 thousand): no recipients fact' + - value_id: income_200000_plus + label: £200,000 and over + ordinal: 7 + row_number: 14 + expected_row_header_column: A + expected_row_header: £200,000 and over + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_200000_plus + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_200000_plus + label: Range of total income + - variable: total_income + operator: '>=' + value: 200000 + unit: gbp + label: Total income lower bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3B: Income breakdown of recipients of employer-provided car fuel' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: taxable_value + label: Taxable value + ordinal: 0 + column: C + source_column_id: taxable_value + expected_column_header_row: 6 + expected_column_header: Taxable value (£millions) + concept: hmrc.benefit_in_kind_taxable_value + source_concept: hmrc.benefit_in_kind_taxable_value + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 3B, Tax year 2024 to 2025 [note 1], Taxable value (£millions): car + fuel benefit by range of total income of the recipient, in bands HMRC groups more coarsely than + Table 3A''s. Total income is ''inclusive of the benefit amount'' and ''comprises all incomes assessable + for Income Tax'' (background quality report, section 2.4). ''The figures in this table are grossed + up from the sample which contains income information. The grossing methodology ensures that figures + reflect the correct total taxable value but the total number of recipients will not necessarily + match the figure in Table 1.'' HMRC estimates this table from the Survey of Personal Incomes cases + matched to the P11D and RTI records: it grosses them up with standard SPI grossing factors, then + applies a further adjustment factor so that the total taxable value equals the figure from the full + data, and the same factor scales the recipients (background quality report, section 3.5). ''The + data in this table are not fully complete. Some company cars are not included in the source data + used to produce the statistics and are therefore excluded from the tables. Some income bands have + been grouped to ensure statistical completeness. For more information please see the background + documentation.'' ''Numbers and amounts less than 10 are rounded to the nearest 5; those greater + than 10 are rounded to the nearest 10''. Its ''All'' row prints the same value as Table 1''s 2024 + to 2025 cell, which is ported, so it is not ported again. HMRC prints ''<2.5'' (fewer than 2,500 + recipients, under half the rounding base of 5 thousand) for the recipients of ''£0 to £29,999'', + ''£30,000 to £39,999'' and ''£150,000 to £199,999'': their taxable value cells are ported, each + with the marker as a guard cell, and their recipients emit no fact.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table3b.average_taxable_value.ty2024 + provenance_class: survey_aggregate + survey_instrument: Survey of Personal Incomes matched to employers' P11D and Real Time Information company + car records + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table3b.average_taxable_value.ty2024.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table3b.average_taxable_value.ty2024 + sheet_name: 3B_fuel_recipients_income + period_type: tax_year + period: 2024 + period_coverage: + start_date: '2024-04-06' + end_date: '2025-04-05' + basis: tax + source_period_label: Tax year 2024 to 2025 [note 1] + notes: 'From April 2016 employers could payroll company cars instead of reporting them on a P11D. + From April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. + HMRC expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). HMRC marks 2024 to 2025 provisional (note 1): its figures come from an initial extract + of the Expenses and Benefits data and may be revised.' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: benefit_in_kind_income_band + shared_filters: + company_car_benefit_type: fuel + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: fuel + label: Company car benefit type + rows: + - value_id: income_0_to_29999 + label: £0 to £29,999 + ordinal: 0 + row_number: 7 + expected_row_header_column: A + expected_row_header: £0 to £29,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_0_to_29999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_0_to_29999 + label: Range of total income + - variable: total_income + operator: < + value: 30000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3B: Income breakdown of recipients of employer-provided car fuel' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - column: B + row: 7 + expected_value: <2.5 + label: 'Recipients printed ''<2.5'' (fewer than 2,500 recipients, under half the rounding base of + 5 thousand): no recipients fact' + - value_id: income_30000_to_39999 + label: £30,000 to £39,999 + ordinal: 1 + row_number: 8 + expected_row_header_column: A + expected_row_header: £30,000 to £39,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_30000_to_39999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_30000_to_39999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 30000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 40000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3B: Income breakdown of recipients of employer-provided car fuel' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - column: B + row: 8 + expected_value: <2.5 + label: 'Recipients printed ''<2.5'' (fewer than 2,500 recipients, under half the rounding base of + 5 thousand): no recipients fact' + - value_id: income_40000_to_49999 + label: £40,000 to £49,999 + ordinal: 2 + row_number: 9 + expected_row_header_column: A + expected_row_header: £40,000 to £49,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_40000_to_49999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_40000_to_49999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 40000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 50000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3B: Income breakdown of recipients of employer-provided car fuel' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_50000_to_74999 + label: £50,000 to £74,999 + ordinal: 3 + row_number: 10 + expected_row_header_column: A + expected_row_header: £50,000 to £74,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_50000_to_74999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_50000_to_74999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 50000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 75000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3B: Income breakdown of recipients of employer-provided car fuel' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_75000_to_99999 + label: £75,000 to £99,999 + ordinal: 4 + row_number: 11 + expected_row_header_column: A + expected_row_header: £75,000 to £99,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_75000_to_99999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_75000_to_99999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 75000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 100000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3B: Income breakdown of recipients of employer-provided car fuel' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_100000_to_149999 + label: £100,000 to £149,999 + ordinal: 5 + row_number: 12 + expected_row_header_column: A + expected_row_header: £100,000 to £149,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_100000_to_149999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_100000_to_149999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 100000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 150000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3B: Income breakdown of recipients of employer-provided car fuel' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - value_id: income_150000_to_199999 + label: £150,000 to £199,999 + ordinal: 6 + row_number: 13 + expected_row_header_column: A + expected_row_header: £150,000 to £199,999 + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_150000_to_199999 + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_150000_to_199999 + label: Range of total income + - variable: total_income + operator: '>=' + value: 150000 + unit: gbp + label: Total income lower bound + - variable: total_income + operator: < + value: 200000 + unit: gbp + label: Total income upper bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3B: Income breakdown of recipients of employer-provided car fuel' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + - column: B + row: 13 + expected_value: <2.5 + label: 'Recipients printed ''<2.5'' (fewer than 2,500 recipients, under half the rounding base of + 5 thousand): no recipients fact' + - value_id: income_200000_plus + label: £200,000 and over + ordinal: 7 + row_number: 14 + expected_row_header_column: A + expected_row_header: £200,000 and over + table_record_kind: detail + filters: + benefit_in_kind_income_band: income_200000_plus + constraints: + - variable: benefit_in_kind_income_band + operator: == + value: income_200000_plus + label: Range of total income + - variable: total_income + operator: '>=' + value: 200000 + unit: gbp + label: Total income lower bound + guard_cells: + - column: A + row: 1 + expected_value: 'Table 3B: Income breakdown of recipients of employer-provided car fuel' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers and amounts less than 10 are rounded to the nearest 5; those greater than + 10 are rounded to the nearest 10 + label: Rounding + measures: + - measure_id: average_taxable_value + label: Average taxable value + ordinal: 0 + column: D + source_column_id: average_taxable_value + expected_column_header_row: 6 + expected_column_header: Average value (£) + concept: hmrc.benefit_in_kind_mean_taxable_value + source_concept: hmrc.benefit_in_kind_mean_taxable_value + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 3B, Tax year 2024 to 2025 [note 1], Average value (£): car fuel benefit + by range of total income of the recipient, in bands HMRC groups more coarsely than Table 3A''s. + Total income is ''inclusive of the benefit amount'' and ''comprises all incomes assessable for Income + Tax'' (background quality report, section 2.4). ''The figures in this table are grossed up from + the sample which contains income information. The grossing methodology ensures that figures reflect + the correct total taxable value but the total number of recipients will not necessarily match the + figure in Table 1.'' HMRC estimates this table from the Survey of Personal Incomes cases matched + to the P11D and RTI records: it grosses them up with standard SPI grossing factors, then applies + a further adjustment factor so that the total taxable value equals the figure from the full data, + and the same factor scales the recipients (background quality report, section 3.5). ''The data in + this table are not fully complete. Some company cars are not included in the source data used to + produce the statistics and are therefore excluded from the tables. Some income bands have been grouped + to ensure statistical completeness. For more information please see the background documentation.'' + ''Numbers and amounts less than 10 are rounded to the nearest 5; those greater than 10 are rounded + to the nearest 10''. HMRC''s average taxable value per recipient, in GBP, rounded as the sheet states. + The printed averages do not all equal the quotient of the printed, rounded taxable value and recipients, + so they are ported as published, not derived. Its ''All'' row is not ported: it would share the + key of Table 1''s 2024 to 2025 average, and prints the same value. HMRC prints ''<2.5'' (fewer than + 2,500 recipients, under half the rounding base of 5 thousand) for the recipients of ''£0 to £29,999'', + ''£30,000 to £39,999'' and ''£150,000 to £199,999'': their average taxable value cells are ported, + each with the marker as a guard cell, and their recipients emit no fact.' + unit: gbp + aggregation: mean + value_scale: 1 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table4.recipients.ty2024 + provenance_class: survey_aggregate + survey_instrument: Survey of Personal Incomes matched to employers' P11D and Real Time Information company + car records + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table4.recipients.ty2024.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table4.recipients.ty2024 + sheet_name: 4_car_region + period_type: tax_year + period: 2024 + period_coverage: + start_date: '2024-04-06' + end_date: '2025-04-05' + basis: tax + source_period_label: Tax year 2024 to 2025 [note 1] + notes: 'From April 2016 employers could payroll company cars instead of reporting them on a P11D. + From April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. + HMRC expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). HMRC marks 2024 to 2025 provisional (note 1): its figures come from an initial extract + of the Expenses and Benefits data and may be revised.' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: geography + shared_filters: + company_car_benefit_type: car + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + rows: + - value_id: E12000001 + label: North East + ordinal: 0 + row_number: 7 + expected_row_header_column: A + expected_row_header: North East + geography_id: E12000001 + geography_level: region + geography_name: North East + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: E12000002 + label: North West + ordinal: 1 + row_number: 8 + expected_row_header_column: A + expected_row_header: North West + geography_id: E12000002 + geography_level: region + geography_name: North West + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: E12000003 + label: Yorkshire and The Humber + ordinal: 2 + row_number: 9 + expected_row_header_column: A + expected_row_header: Yorkshire and The Humber + geography_id: E12000003 + geography_level: region + geography_name: Yorkshire and The Humber + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: E12000004 + label: East Midlands + ordinal: 3 + row_number: 10 + expected_row_header_column: A + expected_row_header: East Midlands + geography_id: E12000004 + geography_level: region + geography_name: East Midlands + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: E12000005 + label: West Midlands + ordinal: 4 + row_number: 11 + expected_row_header_column: A + expected_row_header: West Midlands + geography_id: E12000005 + geography_level: region + geography_name: West Midlands + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: E12000006 + label: East of England + ordinal: 5 + row_number: 12 + expected_row_header_column: A + expected_row_header: East of England + geography_id: E12000006 + geography_level: region + geography_name: East of England + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: E12000007 + label: London + ordinal: 6 + row_number: 13 + expected_row_header_column: A + expected_row_header: London + geography_id: E12000007 + geography_level: region + geography_name: London + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: E12000008 + label: South East + ordinal: 7 + row_number: 14 + expected_row_header_column: A + expected_row_header: South East + geography_id: E12000008 + geography_level: region + geography_name: South East + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: E12000009 + label: South West + ordinal: 8 + row_number: 15 + expected_row_header_column: A + expected_row_header: South West + geography_id: E12000009 + geography_level: region + geography_name: South West + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: N92000002 + label: Northern Ireland + ordinal: 9 + row_number: 16 + expected_row_header_column: A + expected_row_header: Northern Ireland + geography_id: N92000002 + geography_level: country + geography_name: Northern Ireland + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: S92000003 + label: Scotland + ordinal: 10 + row_number: 17 + expected_row_header_column: A + expected_row_header: Scotland + geography_id: S92000003 + geography_level: country + geography_name: Scotland + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: W92000004 + label: Wales + ordinal: 11 + row_number: 18 + expected_row_header_column: A + expected_row_header: Wales + geography_id: W92000004 + geography_level: country + geography_name: Wales + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: recipient_region_unknown + label: Unknown + ordinal: 12 + row_number: 19 + expected_row_header_column: A + expected_row_header: Unknown + geography_id: hmrc:recipient_region_unknown + geography_level: statistical_scope + geography_name: Unknown + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + measures: + - measure_id: recipients + label: Recipients + ordinal: 0 + column: B + source_column_id: recipients + expected_column_header_row: 6 + expected_column_header: Recipients (thousands) + concept: hmrc.benefit_in_kind_recipients + source_concept: hmrc.benefit_in_kind_recipients + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 4, Tax year 2024 to 2025 [note 1], Recipients (thousands): company + car benefit by region of the recipient, with Northern Ireland, Scotland and Wales beside the English + regions and an ''Unknown'' row. ''The figures in this table are grossed up from the sample which + contains income information. The grossing methodology ensures that figures reflect the correct total + taxable value but the total number of recipients will not necessarily match the figure in Table + 1.'' HMRC estimates this table from the Survey of Personal Incomes cases matched to the P11D and + RTI records: it grosses them up with standard SPI grossing factors, then applies a further adjustment + factor so that the total taxable value equals the figure from the full data, and the same factor + scales the recipients (background quality report, section 3.5). ''The data in this table are not + fully complete. Some company cars are not included in the source data used to produce the statistics + and are therefore excluded from the tables. For more information please see the background documentation.'' + ''Numbers are rounded to the nearest 5 and amounts to the nearest 10''. Its ''All'' row prints the + same value as Table 1''s 2024 to 2025 cell, which is ported, so it is not ported again.' + unit: count + aggregation: sum + value_scale: 1000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table4.taxable_value.ty2024 + provenance_class: survey_aggregate + survey_instrument: Survey of Personal Incomes matched to employers' P11D and Real Time Information company + car records + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table4.taxable_value.ty2024.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table4.taxable_value.ty2024 + sheet_name: 4_car_region + period_type: tax_year + period: 2024 + period_coverage: + start_date: '2024-04-06' + end_date: '2025-04-05' + basis: tax + source_period_label: Tax year 2024 to 2025 [note 1] + notes: 'From April 2016 employers could payroll company cars instead of reporting them on a P11D. + From April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. + HMRC expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). HMRC marks 2024 to 2025 provisional (note 1): its figures come from an initial extract + of the Expenses and Benefits data and may be revised.' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: geography + shared_filters: + company_car_benefit_type: car + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + rows: + - value_id: E12000001 + label: North East + ordinal: 0 + row_number: 7 + expected_row_header_column: A + expected_row_header: North East + geography_id: E12000001 + geography_level: region + geography_name: North East + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: E12000002 + label: North West + ordinal: 1 + row_number: 8 + expected_row_header_column: A + expected_row_header: North West + geography_id: E12000002 + geography_level: region + geography_name: North West + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: E12000003 + label: Yorkshire and The Humber + ordinal: 2 + row_number: 9 + expected_row_header_column: A + expected_row_header: Yorkshire and The Humber + geography_id: E12000003 + geography_level: region + geography_name: Yorkshire and The Humber + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: E12000004 + label: East Midlands + ordinal: 3 + row_number: 10 + expected_row_header_column: A + expected_row_header: East Midlands + geography_id: E12000004 + geography_level: region + geography_name: East Midlands + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: E12000005 + label: West Midlands + ordinal: 4 + row_number: 11 + expected_row_header_column: A + expected_row_header: West Midlands + geography_id: E12000005 + geography_level: region + geography_name: West Midlands + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: E12000006 + label: East of England + ordinal: 5 + row_number: 12 + expected_row_header_column: A + expected_row_header: East of England + geography_id: E12000006 + geography_level: region + geography_name: East of England + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: E12000007 + label: London + ordinal: 6 + row_number: 13 + expected_row_header_column: A + expected_row_header: London + geography_id: E12000007 + geography_level: region + geography_name: London + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: E12000008 + label: South East + ordinal: 7 + row_number: 14 + expected_row_header_column: A + expected_row_header: South East + geography_id: E12000008 + geography_level: region + geography_name: South East + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: E12000009 + label: South West + ordinal: 8 + row_number: 15 + expected_row_header_column: A + expected_row_header: South West + geography_id: E12000009 + geography_level: region + geography_name: South West + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: N92000002 + label: Northern Ireland + ordinal: 9 + row_number: 16 + expected_row_header_column: A + expected_row_header: Northern Ireland + geography_id: N92000002 + geography_level: country + geography_name: Northern Ireland + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: S92000003 + label: Scotland + ordinal: 10 + row_number: 17 + expected_row_header_column: A + expected_row_header: Scotland + geography_id: S92000003 + geography_level: country + geography_name: Scotland + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: W92000004 + label: Wales + ordinal: 11 + row_number: 18 + expected_row_header_column: A + expected_row_header: Wales + geography_id: W92000004 + geography_level: country + geography_name: Wales + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: recipient_region_unknown + label: Unknown + ordinal: 12 + row_number: 19 + expected_row_header_column: A + expected_row_header: Unknown + geography_id: hmrc:recipient_region_unknown + geography_level: statistical_scope + geography_name: Unknown + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + measures: + - measure_id: taxable_value + label: Taxable value + ordinal: 0 + column: C + source_column_id: taxable_value + expected_column_header_row: 6 + expected_column_header: Taxable value (£millions) + concept: hmrc.benefit_in_kind_taxable_value + source_concept: hmrc.benefit_in_kind_taxable_value + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 4, Tax year 2024 to 2025 [note 1], Taxable value (£millions): company + car benefit by region of the recipient, with Northern Ireland, Scotland and Wales beside the English + regions and an ''Unknown'' row. ''The figures in this table are grossed up from the sample which + contains income information. The grossing methodology ensures that figures reflect the correct total + taxable value but the total number of recipients will not necessarily match the figure in Table + 1.'' HMRC estimates this table from the Survey of Personal Incomes cases matched to the P11D and + RTI records: it grosses them up with standard SPI grossing factors, then applies a further adjustment + factor so that the total taxable value equals the figure from the full data, and the same factor + scales the recipients (background quality report, section 3.5). ''The data in this table are not + fully complete. Some company cars are not included in the source data used to produce the statistics + and are therefore excluded from the tables. For more information please see the background documentation.'' + ''Numbers are rounded to the nearest 5 and amounts to the nearest 10''. Its ''All'' row prints the + same value as Table 1''s 2024 to 2025 cell, which is ported, so it is not ported again.' + unit: gbp + aggregation: sum + value_scale: 1000000 + expected_cell_type: number +- record_set_id: hmrc.benefits_in_kind_july_2026.table4.average_taxable_value.ty2024 + provenance_class: survey_aggregate + survey_instrument: Survey of Personal Incomes matched to employers' P11D and Real Time Information company + car records + assertion: observation + record_set_spec_id: hmrc.benefits_in_kind_july_2026.table4.average_taxable_value.ty2024.v1 + source_record_id_prefix: hmrc.benefits_in_kind_july_2026.table4.average_taxable_value.ty2024 + sheet_name: 4_car_region + period_type: tax_year + period: 2024 + period_coverage: + start_date: '2024-04-06' + end_date: '2025-04-05' + basis: tax + source_period_label: Tax year 2024 to 2025 [note 1] + notes: 'From April 2016 employers could payroll company cars instead of reporting them on a P11D. + From April 2018 payrolled cars must be reported through RTI, but HMRC finds compliance incomplete. + HMRC expects company car recipients to be under-reported in every year since April 2016 (commentary, + section 8). HMRC marks 2024 to 2025 provisional (note 1): its figures come from an initial extract + of the Expenses and Benefits data and may be revised.' + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: benefit_in_kind_recipient + domain: company_car_benefits + groupby_dimension: geography + shared_filters: + company_car_benefit_type: car + shared_constraints: + - variable: company_car_benefit_type + operator: == + value: car + label: Company car benefit type + rows: + - value_id: E12000001 + label: North East + ordinal: 0 + row_number: 7 + expected_row_header_column: A + expected_row_header: North East + geography_id: E12000001 + geography_level: region + geography_name: North East + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: E12000002 + label: North West + ordinal: 1 + row_number: 8 + expected_row_header_column: A + expected_row_header: North West + geography_id: E12000002 + geography_level: region + geography_name: North West + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: E12000003 + label: Yorkshire and The Humber + ordinal: 2 + row_number: 9 + expected_row_header_column: A + expected_row_header: Yorkshire and The Humber + geography_id: E12000003 + geography_level: region + geography_name: Yorkshire and The Humber + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: E12000004 + label: East Midlands + ordinal: 3 + row_number: 10 + expected_row_header_column: A + expected_row_header: East Midlands + geography_id: E12000004 + geography_level: region + geography_name: East Midlands + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: E12000005 + label: West Midlands + ordinal: 4 + row_number: 11 + expected_row_header_column: A + expected_row_header: West Midlands + geography_id: E12000005 + geography_level: region + geography_name: West Midlands + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: E12000006 + label: East of England + ordinal: 5 + row_number: 12 + expected_row_header_column: A + expected_row_header: East of England + geography_id: E12000006 + geography_level: region + geography_name: East of England + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: E12000007 + label: London + ordinal: 6 + row_number: 13 + expected_row_header_column: A + expected_row_header: London + geography_id: E12000007 + geography_level: region + geography_name: London + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: E12000008 + label: South East + ordinal: 7 + row_number: 14 + expected_row_header_column: A + expected_row_header: South East + geography_id: E12000008 + geography_level: region + geography_name: South East + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: E12000009 + label: South West + ordinal: 8 + row_number: 15 + expected_row_header_column: A + expected_row_header: South West + geography_id: E12000009 + geography_level: region + geography_name: South West + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: N92000002 + label: Northern Ireland + ordinal: 9 + row_number: 16 + expected_row_header_column: A + expected_row_header: Northern Ireland + geography_id: N92000002 + geography_level: country + geography_name: Northern Ireland + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: S92000003 + label: Scotland + ordinal: 10 + row_number: 17 + expected_row_header_column: A + expected_row_header: Scotland + geography_id: S92000003 + geography_level: country + geography_name: Scotland + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: W92000004 + label: Wales + ordinal: 11 + row_number: 18 + expected_row_header_column: A + expected_row_header: Wales + geography_id: W92000004 + geography_level: country + geography_name: Wales + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + - value_id: recipient_region_unknown + label: Unknown + ordinal: 12 + row_number: 19 + expected_row_header_column: A + expected_row_header: Unknown + geography_id: hmrc:recipient_region_unknown + geography_level: statistical_scope + geography_name: Unknown + geography_vintage: current + table_record_kind: detail + guard_cells: + - column: A + row: 1 + expected_value: 'Table 4: Regional breakdown of recipients of company cars' + label: Table title + - column: A + row: 2 + expected_value: Tax year 2024 to 2025 [note 1] + label: Tax year + - column: A + row: 5 + expected_value: Numbers are rounded to the nearest 5 and amounts to the nearest 10 + label: Rounding + measures: + - measure_id: average_taxable_value + label: Average taxable value + ordinal: 0 + column: D + source_column_id: average_taxable_value + expected_column_header_row: 6 + expected_column_header: Average value (£) + concept: hmrc.benefit_in_kind_mean_taxable_value + source_concept: hmrc.benefit_in_kind_mean_taxable_value + concept_relation: source_label + concept_authority: hmrc + concept_evidence_url: https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026 + concept_evidence_notes: 'Table 4, Tax year 2024 to 2025 [note 1], Average value (£): company car benefit + by region of the recipient, with Northern Ireland, Scotland and Wales beside the English regions + and an ''Unknown'' row. ''The figures in this table are grossed up from the sample which contains + income information. The grossing methodology ensures that figures reflect the correct total taxable + value but the total number of recipients will not necessarily match the figure in Table 1.'' HMRC + estimates this table from the Survey of Personal Incomes cases matched to the P11D and RTI records: + it grosses them up with standard SPI grossing factors, then applies a further adjustment factor + so that the total taxable value equals the figure from the full data, and the same factor scales + the recipients (background quality report, section 3.5). ''The data in this table are not fully + complete. Some company cars are not included in the source data used to produce the statistics and + are therefore excluded from the tables. For more information please see the background documentation.'' + ''Numbers are rounded to the nearest 5 and amounts to the nearest 10''. HMRC''s average taxable + value per recipient, in GBP, rounded as the sheet states. The printed averages do not all equal + the quotient of the printed, rounded taxable value and recipients, so they are ported as published, + not derived. Its ''All'' row is not ported: it would share the key of Table 1''s 2024 to 2025 average, + and prints a different value, so HMRC''s grossed recipients for this table differ from Table 1''s + before rounding.' + unit: gbp + aggregation: mean + value_scale: 1 + expected_cell_type: number diff --git a/tests/test_chronicle_bundle.py b/tests/test_chronicle_bundle.py index 8205e3a2..8a57cd62 100644 --- a/tests/test_chronicle_bundle.py +++ b/tests/test_chronicle_bundle.py @@ -487,14 +487,18 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): # 2024-25 (1). October's VED line moves to the March concept fact for # fact. No new geography, period or entity key, and no duplicate key: of # two vintages' numbers Chronicle keeps the later (chronicle#397). - "fact_count": 1662831, + # PolicyEngine/uk-autumn-budget-dashboard-2026#316's HMRC benefits in kind + # statistics add 544 person facts. + "fact_count": 1663375, # The same change adds 82,064 geography keys: 46,363 Scottish 2022 # output areas (UV404), 35,673 LSOA-level keys from the DESNZ LSOA # workbooks (Scotland's data zones already exist), the 26 Northern # Ireland districts of DESNZ's 2009-2014 rows, DESNZ's Northern Ireland # unallocated row and HMRC's England and Northern Ireland scope. # PolicyEngine/microcosm#1415 adds HMRC's overseas and unknown scope. - "geography_count": 102617, + # PolicyEngine/uk-autumn-budget-dashboard-2026#316 adds HMRC's unknown + # region of company car benefit recipients (Table 4). + "geography_count": 102618, # And 12 period keys: HBAI's FYE 1995 and FYE 1996 (fiscal_year 1994, # 1995) and gas_year 2015 to 2024, the period type chronicle#356 adds. # chronicle#381 adds 12 more: HMRC's betting and gaming receipts from @@ -540,7 +544,9 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): # 30 June Consumer Trends package with the 30 September one. GSGB 2025 # (PolicyEngine/microcosm#1381) adds one. PolicyEngine/microcosm#1415 # adds three, and chronicle#393 the five OBR October 2026 EFO packages. - "source_package_count": 441, + # PolicyEngine/uk-autumn-budget-dashboard-2026#316 adds HMRC's benefits in + # kind statistics. + "source_package_count": 442, # 1 semantic-duplicate warning, plus the publisher wording Chronicle # keeps as published: values two packages word differently, groupby # rows that drift inside one package (chronicle#265, #266), and the @@ -586,14 +592,14 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): if row_count == 1: assert row["aggregate_fact_key"].startswith("ledger.aggregate_fact.v2:") assert row["semantic_fact_key"].startswith("ledger.semantic_fact.v2:") - assert row_count == 1662831 + assert row_count == 1663375 assert provenance_classes <= { "administrative", "census", "model_output", "survey_aggregate", } - assert source_packages["source_package_count"] == 441 + assert source_packages["source_package_count"] == 442 assert source_packages["skipped_source_count"] == 24 assert sorted(item["source"] for item in source_packages["skipped_sources"]) == [ "census-acs-s0101-congressional-district-age-2024", @@ -621,7 +627,7 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): "jct-obbba-revenue-estimates-2025", "jct-tax-expenditures-2024", ] - assert coverage["fact_count"] == 1662831 + assert coverage["fact_count"] == 1663375 assert coverage["counts"]["by_source"] == { "bea": 446, "bfp_economic_outlook": 5, @@ -645,7 +651,7 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): "gambling_commission": 2459, "hhs_acf_liheap": 2, "hhs_acf_tanf": 110, - "hmrc": 36672, + "hmrc": 37216, "ici": 12, "ird": 4362, "irs_soi": 43963, @@ -687,7 +693,14 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): "welshgov": 9570, } table_counts = coverage["counts"]["by_source_table"] - assert len(table_counts) == 383 + assert len(table_counts) == 384 + assert ( + table_counts[ + "hmrc:Benefits in kind statistics: July 2026, Tables 1 to 4: company car " + "benefit and company car fuel benefit" + ] + == 544 + ) assert ( table_counts[ "ostbelgien_kindergeld:Kindergeld in Ostbelgien, Aktualisierung " @@ -2237,6 +2250,27 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): "fiscal_year:2031": 658, }.items(): expected_period_counts[key] = expected_period_counts.get(key, 0) + count + # PolicyEngine/uk-autumn-budget-dashboard-2026#316: HMRC benefits in kind + # statistics, Tables 1, 2A, 2C and 2E for 2011-12 to 2024-25 and Tables 3A, 3B and + # 4 for 2024-25. + for year, count in { + 2011: 27, + 2012: 27, + 2013: 28, + 2014: 29, + 2015: 29, + 2016: 30, + 2017: 30, + 2018: 30, + 2019: 31, + 2020: 38, + 2021: 38, + 2022: 38, + 2023: 38, + 2024: 131, + }.items(): + key = f"tax_year:{year}" + expected_period_counts[key] = expected_period_counts.get(key, 0) + count assert coverage["counts"]["by_period"] == expected_period_counts # country:NZ: 330 WFF (#209) + 5 national population (#211) + 27 Treasury # (#321) + 3,522 IRD I1 (#318) + 510 IRD I2 (#210) + 103 MSD (#319) @@ -2297,8 +2331,10 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): # adds 159 (PolicyEngine/microcosm#1418). chronicle#393's OBR October 2026 # EFO packages add 4,219: all but the DWP and Northern Ireland lines of # expenditure table 5.9. chronicle#395 adds 40: ONS's vehicle duty (16) and - # CPI gas (23) series, and the March EFO's 2024-25 VED outturn (1). - assert coverage["counts"]["by_geography"]["country:K02000001"] == 40918 + # CPI gas (23) series, and the March EFO's 2024-25 VED outturn (1). HMRC's + # benefits in kind statistics add 505 (all but Table 4's regions; + # PolicyEngine/uk-autumn-budget-dashboard-2026#316). + assert coverage["counts"]["by_geography"]["country:K02000001"] == 41423 # chronicle#343 adds the 63 OBR surcharge-costing facts for England, and # chronicle#358 ONS's 606 single-year residence-type rows for England. GSGB # 2025's England participation rows add 40. ISA Tables 9.9 and 9.12's @@ -2315,8 +2351,9 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): # and the October 2026 EFO's table 5.9 the same four lines (28, chronicle#393). assert coverage["counts"]["by_geography"]["country:K04000001"] == 1204 assert coverage["counts"]["by_geography"]["statistical_scope:ofgem:london"] == 216 - # PolicyEngine/microcosm#1415 adds HMRC's overseas and unknown scope. - assert len(coverage["counts"]["by_geography"]) == 102617 + # PolicyEngine/microcosm#1415 adds HMRC's overseas and unknown scope, and + # PolicyEngine/uk-autumn-budget-dashboard-2026#316 its unknown recipient region. + assert len(coverage["counts"]["by_geography"]) == 102618 for region in ( "auckland", "bay-of-plenty", @@ -2353,7 +2390,8 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): # households +227 (LPS, ONS NI domestic rates, CDDZ and the CPI series), # people +481 (BUS01 for Wales, the Childcare Offer, the March VED line and # Lone Pensioner Allowance), dwellings +360 (Disabled Person's Allowance) and - # firms +8 (EKED). + # firms +8 (EKED). HMRC's benefits in kind statistics add 544 people + # (PolicyEngine/uk-autumn-budget-dashboard-2026#316). assert coverage["counts"]["by_entity"] == { "benefit_unit": 33645, "dwelling": 274727, @@ -2363,7 +2401,7 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): "household": 676547, "institutional_sector": 8919, "pension_plan": 2, - "person": 598782, + "person": 599326, "return": 14952, "social_protection_scheme": 36, "tax_unit": 45268, diff --git a/tests/test_source_hmrc_benefits_in_kind_july_2026.py b/tests/test_source_hmrc_benefits_in_kind_july_2026.py new file mode 100644 index 00000000..b41343f4 --- /dev/null +++ b/tests/test_source_hmrc_benefits_in_kind_july_2026.py @@ -0,0 +1,602 @@ +"""HMRC benefits in kind statistics, July 2026 (PolicyEngine/uk-autumn-budget-dashboard-2026#316). + +Checks the package build_package.py writes from Tables 1, 2A, 2C, 2E, 3A, 3B and 4 of +HMRC's Tables 1 to 4 workbook. Values are re-read from the workbook with pandas, +located by the publisher's labels rather than by the package's coordinates. +""" + +from __future__ import annotations + +import hashlib +import re +import runpy +from collections import Counter +from dataclasses import replace +from pathlib import Path + +import pandas as pd +import pytest +import yaml + +from chronicle.bundle import UK_BUNDLE_SOURCES +from chronicle.consumer_contract import ( + build_semantic_fact_key, + validate_consumer_fact_contract, +) +from chronicle.core import validate_facts +from chronicle.source_package import ( + SOURCE_PACKAGE_ALIASES, + load_source_package, + validate_source_package, +) + +ROOT = Path(__file__).resolve().parents[1] +PACKAGE = ROOT / "packages/hmrc/benefits_in_kind_july_2026" +DATA = ROOT / "db/data/hmrc/benefits_in_kind_july_2026" +ODS = DATA / "2026_Tables_1_to_4.ods" +PACKAGE_ID = "hmrc-benefits-in-kind-july-2026" +PREFIX = "hmrc.benefits_in_kind_july_2026" +YEARS = range(2011, 2025) +MARKERS = {"<0.5", "<2.5", "[note 3]"} + + +@pytest.fixture(scope="module") +def facts(): + package = load_source_package(PACKAGE) + return {fact.source_record_id: fact for fact in package.build_facts(2026)} + + +@pytest.fixture(scope="module") +def sheets(): + return pd.read_excel(ODS, sheet_name=None, header=None, engine="odf") + + +def _value(facts: dict, record_id: str) -> float: + return facts[f"{PREFIX}.{record_id}"].value + + +def _row(sheet: pd.DataFrame, label: str) -> int: + labels = sheet.iloc[:, 0].astype(str).str.strip() + (row,) = labels.index[labels == label] + return row + + +def _year_columns(sheet: pd.DataFrame, header_label: str) -> dict[int, int]: + """Tax year -> column, read from the row whose first cell is ``header_label``.""" + header = sheet.iloc[_row(sheet, header_label)] + columns = {} + for column, label in enumerate(header): + match = re.match(r"(\d{4}) to (\d{4})", str(label)) + if match: + assert int(match.group(2)) == int(match.group(1)) + 1 + columns[int(match.group(1))] = column + assert sorted(columns) == list(YEARS) + return columns + + +def test_package_validates_registers_and_carries_no_anchors(facts): + report = validate_source_package(PACKAGE, year=2026) + assert report.valid, report.to_dict() + assert not report.warnings + assert report.counts["record_set_count"] == 121 + assert report.counts["source_record_count"] == 544 + assert SOURCE_PACKAGE_ALIASES[PACKAGE_ID] == PACKAGE.relative_to(ROOT / "packages") + assert PACKAGE_ID in UK_BUNDLE_SOURCES + text = (PACKAGE / "source_package.yaml").read_text(encoding="utf-8") + assert not any( + isinstance(token, (yaml.AnchorToken, yaml.AliasToken)) + for token in yaml.scan(text) + ) + assert validate_facts(list(facts.values())).valid + keys = Counter(build_semantic_fact_key(fact) for fact in facts.values()) + assert max(keys.values()) == 1 + + +def test_generator_reproduces_the_committed_package(): + generator = runpy.run_path(str(PACKAGE / "build_package.py")) + assert generator["package"]() == (PACKAGE / "source_package.yaml").read_text( + encoding="utf-8" + ) + + +def _manifest_entry() -> tuple[dict, dict]: + manifest = yaml.safe_load((DATA / "manifest.yaml").read_text(encoding="utf-8")) + return manifest, manifest["files"][2026] + + +def _r2_uri(manifest: dict, entry: dict) -> str: + return ( + f"r2://ledger-raw/raw/uk/hmrc/{manifest['package_id']}/2026/" + f"{entry['sha256']}/{entry['filename']}" + ) + + +def test_manifest_pins_bytes_licence_and_the_r2_key(): + manifest, entry = _manifest_entry() + assert manifest["package_id"] == PACKAGE_ID + assert manifest["license"] == "Open Government Licence v3.0" + assert manifest["license_verified_at"] == "2026-10-30" + assert entry["source_url"].startswith("https://assets.publishing.service.gov.uk/") + content = ODS.read_bytes() + assert hashlib.sha256(content).hexdigest() == entry["sha256"] + assert len(content) == entry["size_bytes"] + # `chronicle publish-raw` uploads the bytes and writes storage.r2; until it has + # run there is no storage block at all, never a partial or guessed one. + if "storage" in entry: + assert entry["storage"]["r2"]["uri"] == _r2_uri(manifest, entry) + else: + assert set(entry) == { + "filename", + "source_url", + "sha256", + "size_bytes", + "fetched_at", + } + + +def test_consumer_contract_waits_only_on_the_r2_location(facts): + built = list(facts.values()) + report = validate_consumer_fact_contract(built) + manifest, entry = _manifest_entry() + if "storage" in entry: + assert report.valid + return + assert {(issue.code, issue.field) for issue in report.errors} == { + ("missing_contract_provenance", "source.raw_r2_uri") + } + uri = _r2_uri(manifest, entry) + located = [ + replace(fact, source=replace(fact.source, raw_r2_uri=uri)) for fact in built + ] + assert validate_consumer_fact_contract(located).valid + + +def test_provenance_concepts_and_counts_by_table(facts): + by_table = Counter() + for record_id, fact in facts.items(): + table = record_id.split(".")[2] + by_table[ + ( + table, + fact.provenance_class, + fact.measure.concept, + fact.aggregation.method, + ) + ] += 1 + # Tables 3A, 3B and 4 are grossed from the SPI-matched sample; the rest come + # from the P11D and RTI records, or (liabilities) HMRC's model on them. + if table in ("table3a", "table3b", "table4"): + assert fact.survey_instrument == ( + "Survey of Personal Incomes matched to employers' P11D and Real Time " + "Information company car records" + ) + else: + assert fact.survey_instrument is None + assert fact.assertion == "observation" + assert fact.entity.name == "person" + assert fact.entity.role == "benefit_in_kind_recipient" + assert fact.domain == "company_car_benefits" + assert fact.period.type == "tax_year" + recipients = ("hmrc.benefit_in_kind_recipients", "sum") + value = ("hmrc.benefit_in_kind_taxable_value", "sum") + mean = ("hmrc.benefit_in_kind_mean_taxable_value", "mean") + survey = "survey_aggregate" + assert by_table == { + ("table1", "administrative", *recipients): 42, + ("table1", "administrative", *value): 42, + ("table1", "administrative", *mean): 28, + ( + "table1", + "model_output", + "hmrc.benefit_in_kind_income_tax_liability", + "sum", + ): 42, + ( + "table1", + "model_output", + "hmrc.benefit_in_kind_class_1a_nic_liability", + "sum", + ): 42, + ("table2a", "administrative", *recipients): 207, + ("table2c", "administrative", *recipients): 34, + ( + "table2e", + "administrative", + "hmrc.company_car_mean_co2_emissions", + "mean", + ): 14, + ("table3a", survey, *recipients): 11, + ("table3a", survey, *value): 11, + ("table3a", survey, *mean): 11, + ("table3b", survey, *recipients): 5, + ("table3b", survey, *value): 8, + ("table3b", survey, *mean): 8, + ("table4", survey, *recipients): 13, + ("table4", survey, *value): 13, + ("table4", survey, *mean): 13, + } + assert Counter(fact.period.value for fact in facts.values()) == { + 2011: 27, + 2012: 27, + 2013: 28, + 2014: 29, + 2015: 29, + 2016: 30, + 2017: 30, + 2018: 30, + 2019: 31, + 2020: 38, + 2021: 38, + 2022: 38, + 2023: 38, + 2024: 131, + } + + +TABLE_1_ROWS = { + "recipients": ( + 1000, + "Car benefit recipients (thousands)", + "Fuel benefit recipients (thousands)", + "Car and fuel benefit recipients (thousands) [note 2]", + ), + "taxable_value": ( + 1000000, + "Car benefit total taxable value (£millions)", + "Fuel benefit total taxable value (£millions)", + "Car and fuel benefit total taxable value (£millions)", + ), + "income_tax_liability": ( + 1000000, + "Car benefit total Income Tax liability (£millions)", + "Fuel benefit total Income Tax liability (£millions)", + "Car and car fuel benefit total Income Tax liability (£millions)", + ), + "class_1a_nic_liability": ( + 1000000, + "Car benefit total NIC liability (£millions)", + "Fuel benefit total NIC liability (£millions)", + "Car and fuel benefit total NIC liability (£millions)", + ), +} + + +def test_table_1_matches_the_workbook_by_label(facts, sheets): + sheet = sheets["1_car_and_car_fuel_benefit"] + columns = _year_columns(sheet, "Tax Year") + checked = 0 + for measure, (scale, *labels) in TABLE_1_ROWS.items(): + for benefit, label in zip(("car", "fuel", "all"), labels): + row = _row(sheet, label) + for year, column in columns.items(): + record_id = f"table1.{measure}.ty{year}.{benefit}.{measure}" + assert _value(facts, record_id) == sheet.iloc[row, column] * scale + checked += 1 + assert checked == 4 * 3 * 14 + # 2024-25: 920 thousand car benefit recipients and GBP 3,070 million. + assert _value(facts, "table1.recipients.ty2024.car.recipients") == 920000 + assert _value(facts, "table1.taxable_value.ty2024.car.taxable_value") == 3070000000 + # The average rows are ported as printed, in GBP, car and fuel only. + for benefit, label in ( + ("car", "Car benefit average taxable value (£)"), + ("fuel", "Fuel benefit average taxable value (£)"), + ): + row = _row(sheet, label) + for year, column in columns.items(): + record_id = ( + f"table1.average_taxable_value.ty{year}.{benefit}.average_taxable_value" + ) + fact = facts[f"{PREFIX}.{record_id}"] + assert fact.value == sheet.iloc[row, column] + assert fact.aggregation.method == "mean" + assert fact.measure.unit == "gbp" + assert not any( + record_id.startswith(f"{PREFIX}.table1.average_taxable_value.") + and record_id.split(".")[-2] == "all" + for record_id in facts + ) + # HMRC averages before rounding, so the quotient of the rounded cells (GBP 3,337) + # is not the printed GBP 3,330. + assert ( + _value(facts, "table1.average_taxable_value.ty2024.car.average_taxable_value") + == 3330 + ) + assert round(3070000000 / 920000) == 3337 + + +def _band_id(label: str) -> str: + """'Zero' -> co2_0, '165- 169' -> co2_165_to_169, '170 g/km and over' -> + co2_170_plus, read from the publisher's label.""" + if label == "Zero": + return "co2_0" + numbers = re.findall(r"\d+", label) + if label.endswith("and over"): + return f"co2_{numbers[0]}_plus" + return f"co2_{numbers[0]}_to_{numbers[1]}" + + +def _band_bounds(fact) -> tuple[float, float]: + low, high = 0.0, float("inf") + for item in fact.constraints: + if item.variable != "company_car_co2_emissions": + continue + assert item.unit == "g_co2_per_km" + if item.operator == "==": + low = high = item.value + elif item.operator in (">", ">="): + low = item.value + else: + assert item.operator == "<" + high = item.value + return low, high + + +def test_table_2a_matches_the_workbook_and_its_bands_tile(facts, sheets): + sheet = sheets["2A_CO2_recipients"] + columns = _year_columns(sheet, "CO2 emission band") + first, total_row = _row(sheet, "Zero"), _row(sheet, "Total") + for year, column in columns.items(): + prefix = f"{PREFIX}.table2a.recipients.ty{year}." + ported = { + record_id.removeprefix(prefix): fact + for record_id, fact in facts.items() + if record_id.startswith(prefix) + } + cells = { + str(sheet.iloc[row, 0]).strip(): sheet.iloc[row, column] + for row in range(first, total_row) + if pd.notna(sheet.iloc[row, column]) + } + numbers = {label: v for label, v in cells.items() if v not in MARKERS} + # Each printed number is a fact, found by the band its label names. + assert {_band_id(label): value * 1000 for label, value in numbers.items()} == { + fact.layout.groupby_value_id: fact.value for fact in ported.values() + } + for fact in ported.values(): + assert fact.measure.unit == "count" + assert fact.filters["company_car_benefit_type"] == "car" + assert fact.value != 0 + # A year prints one scheme: 13 bands to 2019-20 and 20 from 2020-21, marked + # cells included, and the bands it ports never overlap and end open. + assert len(cells) == (20 if year >= 2020 else 13) + bands = sorted(_band_bounds(fact) for fact in ported.values()) + assert all(a[1] <= b[0] for a, b in zip(bands, bands[1:])), (year, bands) + assert bands[-1][1] == float("inf") + # The Total row restates Table 1, and the bands sum to it within rounding. + sheet_total = sheet.iloc[total_row, column] + assert sheet_total * 1000 == _value( + facts, f"table1.recipients.ty{year}.car.recipients" + ) + assert abs(sum(numbers.values()) - sheet_total) <= 10, year + assert _value(facts, "table2a.recipients.ty2024.co2_0.recipients") == 467000 + assert _value(facts, "table2a.recipients.ty2024.co2_170_plus.recipients") == 10000 + assert _value(facts, "table2a.recipients.ty2019.co2_51_to_75.recipients") == 4000 + for missing in ( + "table2a.recipients.ty2014.co2_0.recipients", # '[note 3]' + "table2a.recipients.ty2013.co2_1_to_50.recipients", # '<0.5' + "table2a.recipients.ty2015.co2_51_to_75.recipients", # '<0.5' + "table2a.recipients.ty2024.co2_51_to_75.recipients", # not this year's band + "table2a.recipients.ty2019.co2_51_to_54.recipients", # not this year's band + ): + assert f"{PREFIX}.{missing}" not in facts, missing + + +def test_table_2c_matches_the_workbook(facts, sheets): + sheet = sheets["2C_fuel_type_recipients"] + columns = _year_columns(sheet, "Type of fuel") + rows = { + "diesel_including_hybrids": _row(sheet, "Diesel (including hybrids)"), + "petrol_including_hybrids": _row(sheet, "Petrol (including hybrids)"), + "fully_electric": _row(sheet, "Fully Electric"), + } + total = _row(sheet, "Total") + checked = 0 + for year, column in columns.items(): + numbers = 0 + for fuel, row in rows.items(): + cell = sheet.iloc[row, column] + record_id = f"{PREFIX}.table2c.recipients.ty{year}.{fuel}.recipients" + if cell in MARKERS: + assert record_id not in facts + continue + assert facts[record_id].value == cell * 1000 + assert facts[record_id].filters["company_car_fuel_type"] == fuel + numbers += cell + checked += 1 + # Rounded to the nearest 5 thousand, the rows sit within 10 thousand of the + # Total row, which restates Table 1 and is ported from Table 1. + assert abs(numbers - sheet.iloc[total, column]) <= 10, year + assert checked == 34 + assert ( + _value(facts, "table2c.recipients.ty2024.fully_electric.recipients") == 465000 + ) + assert ( + _value(facts, "table2c.recipients.ty2024.diesel_including_hybrids.recipients") + == 60000 + ) + + +def test_table_2e_matches_the_workbook(facts, sheets): + sheet = sheets["2E_average_CO2"] + columns = _year_columns(sheet, "Tax Year") + row = _row(sheet, "Average CO2 emissions (g/km)") + for year, column in columns.items(): + record_id = f"table2e.average_co2_emissions.ty{year}.car.average_co2_emissions" + fact = facts[f"{PREFIX}.{record_id}"] + assert fact.value == sheet.iloc[row, column] + assert fact.measure.unit == "g_co2_per_km" + assert fact.measure.concept == "hmrc.company_car_mean_co2_emissions" + assert fact.aggregation.method == "mean" + assert fact.filters["company_car_benefit_type"] == "car" + # The commentary's 41 g/km for 2024-25, electric cars included. + assert ( + _value(facts, "table2e.average_co2_emissions.ty2024.car.average_co2_emissions") + == 41 + ) + assert ( + _value(facts, "table2e.average_co2_emissions.ty2011.car.average_co2_emissions") + == 140 + ) + + +@pytest.mark.parametrize( + ("sheet_name", "table", "benefit", "first_label", "rows", "recipients_marked"), + [ + ("3A_car_recipients_income", "3a", "car", "£0 to £8,499", 11, set()), + ( + "3B_fuel_recipients_income", + "3b", + "fuel", + "£0 to £29,999", + 8, + {"income_0_to_29999", "income_30000_to_39999", "income_150000_to_199999"}, + ), + ("4_car_region", "4", "car", "North East", 13, set()), + ], +) +def test_tables_3_and_4_match_the_workbook_by_label( + facts, sheets, sheet_name, table, benefit, first_label, rows, recipients_marked +): + sheet = sheets[sheet_name] + first, all_row = _row(sheet, first_label), _row(sheet, "All") + assert all_row - first == rows + header = sheet.iloc[first - 1].astype(str).tolist() + recipients_column = header.index("Recipients (thousands)") + value_column = header.index("Taxable value (£millions)") + average_column = header.index("Average value (£)") + for measure, column, scale in ( + ("recipients", recipients_column, 1000), + ("taxable_value", value_column, 1000000), + ("average_taxable_value", average_column, 1), + ): + prefix = f"{PREFIX}.table{table}.{measure}.ty2024." + ported = { + fact.layout.groupby_value_label: fact + for record_id, fact in facts.items() + if record_id.startswith(prefix) + } + expected = { + str(sheet.iloc[row, 0]).strip(): sheet.iloc[row, column] + for row in range(first, all_row) + if sheet.iloc[row, column] not in MARKERS + } + assert {label: fact.value for label, fact in ported.items()} == { + label: cell * scale for label, cell in expected.items() + } + for fact in ported.values(): + assert fact.filters["company_car_benefit_type"] == benefit + assert fact.period.value == 2024 + assert fact.provenance_class == "survey_aggregate" + recipients_ids = { + fact.layout.groupby_value_id + for fact in facts.values() + if fact.source_record_id.startswith(f"{PREFIX}.table{table}.recipients") + } + for other in ("taxable_value", "average_taxable_value"): + marked = { + fact.layout.groupby_value_id + for fact in facts.values() + if fact.source_record_id.startswith(f"{PREFIX}.table{table}.{other}.") + } - recipients_ids + assert marked == recipients_marked + # The 'All' row's recipients and taxable value print the same as Table 1's 2024-25 + # cells, which carry them; its average matches Table 1's in Tables 3A and 3B only. + record = f"table1.recipients.ty2024.{benefit}.recipients" + assert sheet.iloc[all_row, recipients_column] * 1000 == _value(facts, record) + record = f"table1.taxable_value.ty2024.{benefit}.taxable_value" + assert sheet.iloc[all_row, value_column] * 1000000 == _value(facts, record) + record = f"table1.average_taxable_value.ty2024.{benefit}.average_taxable_value" + assert (sheet.iloc[all_row, average_column] == _value(facts, record)) == ( + table != "4" + ) + assert not any( + record_id.startswith(f"{PREFIX}.table{table}.") + and fact.layout.groupby_value_id in ("all", "K02000001") + for record_id, fact in facts.items() + ) + + +def test_income_bands_and_regions_carry_their_universe(facts): + lowest = facts[f"{PREFIX}.table3a.recipients.ty2024.income_0_to_8499.recipients"] + bounds = {(c.variable, c.operator, c.value) for c in lowest.constraints} + assert ("total_income", "<", 8500) in bounds + top = facts[ + f"{PREFIX}.table3b.taxable_value.ty2024.income_200000_plus.taxable_value" + ] + bounds = {(c.variable, c.operator, c.value) for c in top.constraints} + assert ("total_income", ">=", 200000) in bounds + assert not any(c.operator == "<" for c in top.constraints) + regions = { + fact.geography.id: (fact.geography.level, fact.geography.name) + for record_id, fact in facts.items() + if record_id.startswith(f"{PREFIX}.table4.recipients.") + } + assert regions["E12000008"] == ("region", "South East") + assert regions["S92000003"] == ("country", "Scotland") + assert regions["hmrc:recipient_region_unknown"] == ("statistical_scope", "Unknown") + assert len(regions) == 13 + assert _value(facts, "table4.recipients.ty2024.E12000008.recipients") == 140000 + + +def test_notes_carry_rounding_markers_and_the_publisher_caveats(facts): + for record_id, fact in facts.items(): + year = fact.period.value + coverage = fact.period_coverage.notes + notes = fact.measure.concept_evidence_notes + assert ("provisional (note 1)" in coverage) == (year == 2024), record_id + assert ("under-reported in every year since April 2016" in coverage) == ( + year >= 2016 + ), record_id + assert ("zero-rate charge" in coverage) == (year <= 2014), record_id + assert "rounded" in notes or "no rounding rule" in notes, record_id + if ".table3" in record_id or ".table4." in record_id: + assert "will not necessarily match the figure in Table 1" in notes + assert "standard SPI grossing factors" in notes + assert "Its 'All' row" in notes + assert ( + fact.period_coverage.source_period_label + == "Tax year 2024 to 2025 [note 1]" + ) + if "average" in record_id.split(".")[3]: + assert ( + "ported as published, not derived" in notes or ".table2e." in record_id + ) + notes_2011 = facts[f"{PREFIX}.table2a.recipients.ty2011.co2_76_to_94.recipients"] + text = notes_2011.measure.concept_evidence_notes + assert "'[note 3]'" in text and "'<0.5'" in text + assert "for 'Zero'" in text and "'1 - 50' and '51 - 75'" in text + clean = facts[f"{PREFIX}.table2a.recipients.ty2024.co2_0.recipients"] + assert "HMRC prints" not in clean.measure.concept_evidence_notes + marked = facts[ + f"{PREFIX}.table3b.taxable_value.ty2024.income_0_to_29999.taxable_value" + ] + assert "'<2.5'" in marked.measure.concept_evidence_notes + assert ( + len(marked.source_cell_keys) + == len( + facts[ + f"{PREFIX}.table3b.taxable_value.ty2024.income_40000_to_49999.taxable_value" + ].source_cell_keys + ) + + 1 + ) + marked_average = facts[ + f"{PREFIX}.table3b.average_taxable_value.ty2024.income_0_to_29999.average_taxable_value" + ] + assert "'<2.5'" in marked_average.measure.concept_evidence_notes + assert marked_average.value == 2390 + nic = facts[ + f"{PREFIX}.table1.class_1a_nic_liability.ty2024.car.class_1a_nic_liability" + ] + assert "Class 1A" in nic.measure.concept_evidence_notes + assert "projected forward one year" in nic.period_coverage.notes + assert ( + "projected forward" + not in facts[ + f"{PREFIX}.table1.recipients.ty2024.car.recipients" + ].period_coverage.notes + ) + table_4 = facts[ + f"{PREFIX}.table4.average_taxable_value.ty2024.E12000001.average_taxable_value" + ] + assert "prints a different value" in table_4.measure.concept_evidence_notes From 394c99f541a7225ddd1c3ff1cc550b743042657d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Fri, 30 Oct 2026 17:14:51 +0000 Subject: [PATCH 2/4] Keep one OBR EFO number per line and year PolicyEngine/chronicle#397: where two vintages publish a number for the same line and year, Chronicle keeps the later one. The March 2026 receipts, expenditure, economy and aggregates packages drop the 426 record sets whose line and year the October 2026 packages also publish (238, 141, 30 and 17). They keep the 74 October lacks: each line's 2024-25 outturn (calendar 2024 for the economy), and the 2025-26 forecasts of the lines October starts in 2026-27. build_uk_excise_packages.py and build_uk_1095_port_packages.py leave out the years the October receipts package publishes, and the hand-written parts lose the same record sets; the 74 facts kept are unchanged. The high-value council tax surcharge has no 2024-25 value, so build_obr_efo_october_2026.py keeps its March record set as the template for its October line, and the October packages stay byte-identical. The same rule covers vehicle excise duties (chronicle#395), so the excise script's outturn-only special case for them goes; March keeps VED's 2024-25 outturn. Re-pin the merged bundle (-426 facts; semantic duplicate keys 2,687 -> 2,324), and update the tests, package headers and docs that described the March years. Co-Authored-By: Claude Opus 5.5 --- changelog.d/397.fixed.md | 1 + docs/data-sources/uk-excise-facts.md | 4 + .../uk-feed-326-339-356-357-358.md | 5 +- docs/data-sources/uk-obr-efo-october-2026.md | 30 +- docs/pe-uk-source-checklist.md | 29 +- .../source_package.yaml | 788 +- .../source_package.yaml | 1458 +- .../source_package.yaml | 7333 +------ .../source_package.yaml | 15955 ++-------------- scripts/build_obr_efo_october_2026.py | 68 +- scripts/build_uk_1095_port_packages.py | 22 + scripts/build_uk_excise_packages.py | 35 +- tests/test_chronicle_bundle.py | 61 +- ...chronicle_obr_council_tax_decomposition.py | 73 +- tests/test_chronicle_source_package.py | 42 +- tests/test_issue_357_microcosm_1095_ports.py | 24 +- tests/test_issue_381_uk_excise_facts.py | 92 +- tests/test_scale_value.py | 12 +- tests/test_source_obr_efo_october_2026.py | 59 + 19 files changed, 2277 insertions(+), 23814 deletions(-) create mode 100644 changelog.d/397.fixed.md diff --git a/changelog.d/397.fixed.md b/changelog.d/397.fixed.md new file mode 100644 index 00000000..1accc75f --- /dev/null +++ b/changelog.d/397.fixed.md @@ -0,0 +1 @@ +Keep one number per OBR EFO line and year (chronicle#397): the March 2026 receipts, expenditure, economy and aggregates packages drop the 426 facts whose line and year the October 2026 packages also publish, and keep the 75 October lacks: each line's 2024-25 outturn (calendar 2024 for the economy), and the 2025-26 forecasts of the lines October starts in 2026-27 (sheet 3.10's betting and gaming duties and the aggregates' current receipts, total managed expenditure and net borrowing). Every March line keeps its line id and concept, the October packages are unchanged, and the bundle's 363 semantic duplicate keys between the vintages are gone. diff --git a/docs/data-sources/uk-excise-facts.md b/docs/data-sources/uk-excise-facts.md index 2cfc43ec..579717da 100644 --- a/docs/data-sources/uk-excise-facts.md +++ b/docs/data-sources/uk-excise-facts.md @@ -29,6 +29,10 @@ Each fact's `source_record_id` is `{record_set_id}.{row value}.{measure_id}`. The archived `efo_receipts.xlsx` (sha256 `f65b6cb7…`); no new download. Record sets are `obr.efo_2026_03.receipts..fy`, one concept per line (`obr.`), in the package's existing shape. Unlike the earlier lines, these carry `period_coverage`. +Since [chronicle#397](https://github.com/PolicyEngine/chronicle/issues/397) the package +keeps only the years the October 2026 EFO does not print: 2024-25 for these lines, and +2025-26 for sheet 3.10's. `obr-efo-receipts-october-2026` carries the later years under +the same line ids. - **Sheet 3.8** (cash basis, as its title and note state), rows 27 to 30, 36 and 48: tobacco, spirits, wine, and beer and cider duties, betting and gaming duties and vaping diff --git a/docs/data-sources/uk-feed-326-339-356-357-358.md b/docs/data-sources/uk-feed-326-339-356-357-358.md index dc6f5ed0..18ade885 100644 --- a/docs/data-sources/uk-feed-326-339-356-357-358.md +++ b/docs/data-sources/uk-feed-326-339-356-357-358.md @@ -83,7 +83,10 @@ sector", by property type and rate. policyengine-uk#2322 (a pull request) projec corporate statistic by holding HMRC's 2024-25 other-buyer share within each property type and applying it to 3.7's residential and non-residential lines. So Chronicle now carries sheet 3.7's SDLT lines in `obr-efo-receipts-march-2026`, 2024-25 to 2030-31: residential, -its main rates, HRAD and non-UK resident surcharge, and non-residential. Total SDLT (3.7 row +its main rates, HRAD and non-UK resident surcharge, and non-residential. Since +chronicle#397 the March package keeps their 2024-25 outturn, and the October 2026 EFO +package (`obr-efo-receipts-october-2026`, table 4.7) carries 2025-26 on under the same +line ids. Total SDLT (3.7 row 6) is not repeated: it is sheet 3.8's `obr.sdlt`, which equals residential plus non-residential. Carrying the share forward is Microcosm's declared rule. diff --git a/docs/data-sources/uk-obr-efo-october-2026.md b/docs/data-sources/uk-obr-efo-october-2026.md index 472b82a9..71664eb9 100644 --- a/docs/data-sources/uk-obr-efo-october-2026.md +++ b/docs/data-sources/uk-obr-efo-october-2026.md @@ -29,12 +29,22 @@ The manifests carry each file's canonical R2 key; `chronicle publish-raw` upload ## Conventions -- **The vintage.** Record-set ids start `obr.efo_2026_10.`. The March 2026 packages stay in - the bundle under `obr.efo_2026_03.`, so a consumer picks a vintage by package. +- **The vintage.** Record-set ids start `obr.efo_2026_10.`. Where both vintages publish a + number for the same line and year, Chronicle keeps October's + ([chronicle#397](https://github.com/PolicyEngine/chronicle/issues/397)). The March 2026 + packages, under `obr.efo_2026_03.`, keep only the 75 line-years October lacks: + - every line's 2024-25 outturn (calendar 2024 for the economy lines); + - the 2025-26 forecasts of the lines October starts in 2026-27: sheet 3.10's betting + and gaming duties and the seven duties it breaks them into (October's table 4.10), + and the aggregates' public sector current receipts, total managed expenditure and net + borrowing. - **March lines.** Every line of the four March packages keeps its line id, display label and concept. Its October table is found by title, since the chapters moved by one: receipts tables 3.x are now 4.x and expenditure tables 4.x are now 5.x. Its row is found - by label. Each record set carries its October table and row. + by label. Each record set carries its October table and row. The high-value council tax + surcharge has no 2024-25 value, so it left the March package; the build keeps its March + record set (`LINES_LEFT_IN_OCTOBER_ONLY`), and its October line keeps the March line id + and concept. - **Outturn and forecast.** Each year column's assertion follows the band above it. 'Outturn' (and 'Estimate', 'Estimated Outurn') gives `observation`, and 'Forecast' gives `source_projection`; a table with no band is all forecast. 2025-26 is outturn in October @@ -146,8 +156,12 @@ twelfths of 2024-25 and nine of 2025-26) can't be built from the October package 2024-25 part has to come from the March package's 2024-25 outturn (`obr.efo_2026_03...fy2024`, an `observation` there) or from ONS. -Both vintages forecast the March lines for 2026-27 to 2030-31 (receipts and expenditure) -and 2026 to 2029 (economy and aggregates), so the bundle reports their 363 shared semantic -keys as duplicates; a target binds one vintage. Aligning fiscal years with the calendar-2025 -window, and choosing between the two Northern Ireland domestic rates placements, are the -consumer's decisions. +**One number per line and year** (chronicle#397). The March packages no longer carry the +years October publishes, so the bundle has no shared semantic keys between the vintages +(363 before) and a consumer never has two numbers to choose between: 2025-26 comes from +October, as outturn, except for the lines October starts in 2026-27, whose 2025-26 +forecast stays in March. A feed re-pinned past chronicle#397 loses March's 2025-26 to +2030-31 rows, so re-pin to it with or after the engine lock that moves to this vintage +(PolicyEngine/policyengine-uk#2717, PolicyEngine/microcosm#1095). Aligning fiscal years +with the calendar-2025 window, and choosing between the two Northern Ireland domestic rates +placements, are the consumer's decisions. diff --git a/docs/pe-uk-source-checklist.md b/docs/pe-uk-source-checklist.md index 1ce6e6ee..3287f8ad 100644 --- a/docs/pe-uk-source-checklist.md +++ b/docs/pe-uk-source-checklist.md @@ -62,7 +62,7 @@ cannot be obtained. Nothing in uk-data is absent from this table. | uk-data family (module) | targets | status | Chronicle package(s) | PR | source reuse / notes | |---|---|---|---|---|---| | Region×age population ([`ons_demographics.py`](https://github.com/PolicyEngine/policyengine-uk-data/blob/ebf733c/policyengine_uk_data/targets/sources/ons_demographics.py)) | 142 `ons/{region}_age_{band}` | **ported** | `ons-mye-2023-uk-countries`, `ons-mye-2023-england-regions`, `ons-mye-2024-uk`, `ons-uk-population-projections-2024` | [#137](https://github.com/PolicyEngine/chronicle/pull/137) | **Replaced.** uk-data reads a committed `demographics.csv` with no artifact lineage (the SNPP has no stable machine-readable URL). Chronicle packages the publisher MYE workbooks ([mid-2023 UK](https://www.ons.gov.uk/peoplepopulationandcommunity/populationandmigration/populationestimates/datasets/populationestimatesforukenglandandwalesscotlandandnorthernireland), [mid-2023 E&W regions](https://www.ons.gov.uk/peoplepopulationandcommunity/populationandmigration/populationestimates/datasets/estimatesofthepopulationforenglandandwales), mid-2024 UK) and the [2024-based NPP principal](https://www.ons.gov.uk/peoplepopulationandcommunity/populationandmigration/populationprojections/datasets/z1zippedpopulationprojectionsdatafilesuk) at single year of age; the fixture's 10-year bands (proven exhaustive, `_age_80_89` = 80+) are a populace-side mapping. | -| OBR EFO receipts + expenditure ([`obr.py`](https://github.com/PolicyEngine/policyengine-uk-data/blob/ebf733c/policyengine_uk_data/targets/sources/obr.py)) | ~28 realized `obr/*` | **ported** | `obr-efo-receipts-march-2026`, `obr-efo-expenditure-march-2026` (213 facts, FY2024–30; the expenditure package carries the whole Table 4.1 council tax block, including the GB receipts total, the accruals adjustment and the high-value surcharge rows) | [#139](https://github.com/PolicyEngine/chronicle/pull/139) | **Same bytes.** uk-data commits the March-2026 EFO workbooks under `storage/obr_efo/` (obr.uk 403s CI); the Chronicle artifacts are sha256-identical to them (`f65b6cb7…`, `700bfd70…`), double-fetched from [obr.uk](https://obr.uk/efo/economic-and-fiscal-outlook-march-2026/) on a residential connection. | +| OBR EFO receipts + expenditure ([`obr.py`](https://github.com/PolicyEngine/policyengine-uk-data/blob/ebf733c/policyengine_uk_data/targets/sources/obr.py)) | ~28 realized `obr/*` | **ported** | `obr-efo-receipts-march-2026`, `obr-efo-expenditure-march-2026` (FY2024–30 until [chronicle#397](https://github.com/PolicyEngine/chronicle/issues/397), which leaves them FY2024-25, and FY2025-26 for sheet 3.10's lines; the years after are in `obr-efo-receipts-october-2026` and `obr-efo-expenditure-october-2026`, which carry the whole council tax block, including the GB receipts total, the accruals adjustment and the high-value surcharge rows) | [#139](https://github.com/PolicyEngine/chronicle/pull/139) | **Same bytes.** uk-data commits the March-2026 EFO workbooks under `storage/obr_efo/` (obr.uk 403s CI); the Chronicle artifacts are sha256-identical to them (`f65b6cb7…`, `700bfd70…`), double-fetched from [obr.uk](https://obr.uk/efo/economic-and-fiscal-outlook-march-2026/) on a residential connection. | | ONS savings interest ([`ons_savings.py`](https://github.com/PolicyEngine/policyengine-uk-data/blob/ebf733c/policyengine_uk_data/targets/sources/ons_savings.py)) | 1 `ons/savings_interest_income` | **ported** | `ons-savings-interest-income` (8 facts, 2018–2025) | [#139](https://github.com/PolicyEngine/chronicle/pull/139) | **Same series, pinned snapshot.** Both read the [HAXV/UKEA series](https://www.ons.gov.uk/economy/grossdomesticproductgdp/timeseries/haxv/ukea); uk-data downloads at runtime and flat-fills the last actual through 2029 (**excluded, computed**); Chronicle pins the 2026-06-30 CSV release bytes. | | Household types ([`ons_households.py`](https://github.com/PolicyEngine/policyengine-uk-data/blob/ebf733c/policyengine_uk_data/targets/sources/ons_households.py)) | household-type counts | **ported** | `ons-families-households-2025` (816 facts: Table 7 households by type, Table 5 household size, and, from [#235](https://github.com/PolicyEngine/chronicle/issues/235), Tables 1 and 3 families by family type and presence of children / number of dependent children with the published CI± half-widths and CV-category guards, UK, 2018–2025); `ons-households-by-type-country-2025` (1 fact, Scotland 2025 couple households with 3+ dependent children) | [#139](https://github.com/PolicyEngine/chronicle/pull/139), [#196](https://github.com/PolicyEngine/chronicle/issues/196) | **Same UK artifact plus country worksheet add-on.** The UK row uses `familiesandhouseholdsuk2025.xlsx` from [Families and households](https://www.ons.gov.uk/peoplepopulationandcommunity/birthsdeathsandmarriages/families/datasets/familiesandhouseholdsfamiliesandhouseholds). The #196 add-on pins [Households by type of household and family, regions and GB constituent countries](https://www.ons.gov.uk/peoplepopulationandcommunity/birthsdeathsandmarriages/families/datasets/householdsbytypeofhouseholdandfamilyregionsofenglandandgbconstituentcountries) and ports Scotland worksheet cell `B21`: 57 thousand couple households with 3+ dependent children in 2025 (`survey_aggregate`, LFS). | | Salary-sacrifice relief ([`hmrc_salary_sacrifice.py`](https://github.com/PolicyEngine/policyengine-uk-data/blob/ebf733c/policyengine_uk_data/targets/sources/hmrc_salary_sacrifice.py)) | 3 `hmrc/salary_sacrifice_*`; #196 gross contribution base | **ported; contribution base has no publisher measure** | `hmrc-salary-sacrifice-relief-2024-25` (85 facts, TY2024-25), `hmrc-pension-contribution-relief-2023-24` (85 facts, TY2023-24) | [#139](https://github.com/PolicyEngine/chronicle/pull/139), [#196](https://github.com/PolicyEngine/chronicle/issues/196), [#302](https://github.com/PolicyEngine/chronicle/issues/302) | **Updated — uk-data's asset is dead; its archived copy is ported.** uk-data pins `media/687a294e…/Tables_6_1_and_6_2.csv`, which now returns `{"status":"gone"}` (its runtime download silently drops the targets). Chronicle packages the current asset from [Private pension statistics](https://www.gov.uk/government/statistics/personal-and-stakeholder-pensions-statistics) (updated 2026-07-30), every Table 6.1/6.2 row since [#302](https://github.com/PolicyEngine/chronicle/issues/302). uk-data's asset is the July 2025 edition (tax year 2023-24); its [UK Government Web Archive capture](https://webarchive.nationalarchives.gov.uk/ukgwa/20250731165355/https://assets.publishing.service.gov.uk/media/687a294e312ee8a5f0806b6d/Tables_6_1_and_6_2.csv) is `hmrc-pension-contribution-relief-2023-24`, so the rows uk-data reads are Chronicle facts at the publisher's 2023-24 (uk-data keys them at 2024). uk-data's ×1.03 growth uprating and #196's £24.72bn salary-sacrifice contribution base are **excluded (computed / no publisher measure)**; the current HMRC table prints relief values, not gross contributions. | @@ -341,8 +341,11 @@ which `build_package.py` in the same directory writes. ## Beyond parity — OBR EFO October 2026 (chronicle#393) The October 2026 Economic and fiscal outlook, published with the Budget on 28 October 2026, -as a vintage beside the March 2026 packages: five packages and 4,317 facts. Field -contracts and caveats are in +as a vintage beside the March 2026 packages: five packages and 4,317 facts. Where both +vintages publish a number for the same line and year, Chronicle keeps October's: since +chronicle#397 the March packages keep only the 75 line-years October lacks (each line's +2024-25 outturn, and 2025-26 for the lines October starts in 2026-27). Field contracts and +caveats are in [`docs/data-sources/uk-obr-efo-october-2026.md`](data-sources/uk-obr-efo-october-2026.md). - **Receipts** (`obr-efo-receipts-october-2026`, 1,551 facts): the March package's 42 lines @@ -397,17 +400,17 @@ select. | ETL series | Chronicle package concept | new package | gap | |---|---|---|---| -| `db/etl_obr.py` `gdp` (2024-2029) | `obr.nominal_gdp_nsa` (calendar-year nominal GDP, GBP) | `obr-efo-economy-march-2026` | None for 2024-2029. Source table 1.4 publishes calendar-year nominal GDP in GBP billion; Chronicle stores the published level with `value_scale`. | -| `db/etl_obr.py` `total_receipts` (2024-2029) | `obr.public_sector_current_receipts` (fiscal-year public sector current receipts, GBP) | `obr-efo-aggregates-march-2026` | FY2024-25 remains a gap in the staged aggregates workbook: sheet 6.2 starts the public-sector current-receipts row at FY2025-26. FY2025-26 through FY2029-30 are ported. | -| `db/etl_obr.py` `total_managed_expenditure` (2024-2029) | `obr.total_managed_expenditure` (fiscal-year TME, GBP) | `obr-efo-aggregates-march-2026` | FY2024-25 remains a gap in the staged aggregates workbook: sheet 6.1 starts the TME row at FY2025-26. FY2025-26 through FY2029-30 are ported. | -| `db/etl_obr.py` `public_sector_net_borrowing` (2024-2029) | `obr.public_sector_net_borrowing` (fiscal-year net borrowing, GBP) | `obr-efo-aggregates-march-2026` | FY2024-25 remains a gap in the staged aggregates workbook: sheet 6.5 starts the net-borrowing row at FY2025-26. FY2025-26 through FY2029-30 are ported. | -| `db/etl_obr.py` `public_sector_net_debt` (2024-2029) | `obr.public_sector_net_debt_percent_gdp` (fiscal-year PSND, percent of GDP) | `obr-efo-aggregates-march-2026` | The staged aggregates workbook publishes PSND directly as percent of GDP in sheet 6.13, not as a GBP amount. The old ETL's GBP amount remains a gap because converting percent of GDP to GBP would be Chronicle-computed. | +| `db/etl_obr.py` `gdp` (2024-2029) | `obr.nominal_gdp_nsa` (calendar-year nominal GDP, GBP) | `obr-efo-economy-march-2026` (2024), `obr-efo-economy-october-2026` (2025-2031) | None for 2024-2029. Source table 1.4 publishes calendar-year nominal GDP in GBP billion; Chronicle stores the published level with `value_scale`. Since chronicle#397 the March package keeps 2024 and October carries the later years. | +| `db/etl_obr.py` `total_receipts` (2024-2029) | `obr.public_sector_current_receipts` (fiscal-year public sector current receipts, GBP) | `obr-efo-aggregates-march-2026` (FY2025-26), `obr-efo-aggregates-october-2026` (FY2026-27 on) | FY2024-25 remains a gap in the staged aggregates workbook: sheet 6.2 starts the public-sector current-receipts row at FY2025-26. FY2025-26 through FY2029-30 are ported, FY2026-27 on from October since chronicle#397. | +| `db/etl_obr.py` `total_managed_expenditure` (2024-2029) | `obr.total_managed_expenditure` (fiscal-year TME, GBP) | `obr-efo-aggregates-march-2026` (FY2025-26), `obr-efo-aggregates-october-2026` (FY2026-27 on) | FY2024-25 remains a gap in the staged aggregates workbook: sheet 6.1 starts the TME row at FY2025-26. FY2025-26 through FY2029-30 are ported, FY2026-27 on from October since chronicle#397. | +| `db/etl_obr.py` `public_sector_net_borrowing` (2024-2029) | `obr.public_sector_net_borrowing` (fiscal-year net borrowing, GBP) | `obr-efo-aggregates-march-2026` (FY2025-26), `obr-efo-aggregates-october-2026` (FY2026-27 on) | FY2024-25 remains a gap in the staged aggregates workbook: sheet 6.5 starts the net-borrowing row at FY2025-26. FY2025-26 through FY2029-30 are ported, FY2026-27 on from October since chronicle#397. | +| `db/etl_obr.py` `public_sector_net_debt` (2024-2029) | `obr.public_sector_net_debt_percent_gdp` (fiscal-year PSND, percent of GDP) | `obr-efo-aggregates-march-2026` (FY2024-25), `obr-efo-aggregates-october-2026` (FY2025-26 on) | The staged aggregates workbook publishes PSND directly as percent of GDP in sheet 6.13, not as a GBP amount. The old ETL's GBP amount remains a gap because converting percent of GDP to GBP would be Chronicle-computed. | | `db/etl_obr.py` `real_gdp_growth` (2024-2029) | — | — | Gap: the staged economy workbook publishes real GDP levels in sheet 1.1; annual real GDP growth would be derived from those levels and is therefore not a Chronicle fact. | -| `db/etl_obr.py` `unemployment_rate` (2024-2029) | `obr.ilo_unemployment_rate_16_plus` | `obr-efo-economy-march-2026` | None for 2024-2029. Source table 1.6 publishes calendar-year ILO unemployment rate, 16+, percent. | -| `db/etl_obr.py` `cpi_inflation` (2024-2029) | `obr.cpi_inflation` | `obr-efo-economy-march-2026` | None for 2024-2029. Source table 1.7 publishes CPI year-on-year growth. | -| `db/etl_obr.py` `rpi_inflation` (2024-2029) | `obr.rpi_inflation` | `obr-efo-economy-march-2026` | None for 2024-2029. Source table 1.7 publishes RPI year-on-year growth. | -| `db/etl_obr.py` `bank_rate` (2024-2029) | `obr.bank_rate` | `obr-efo-economy-march-2026` | None for 2024-2029. Source table 1.9 publishes the Bank Rate conditioning assumption. | -| `db/etl_obr.py` `employment` (2024-2029) | `obr.employment_16_plus` | `obr-efo-economy-march-2026` | None for 2024-2029. Source table 1.6 publishes calendar-year employment, 16+, in millions; Chronicle stores the published level with `value_scale`. | +| `db/etl_obr.py` `unemployment_rate` (2024-2029) | `obr.ilo_unemployment_rate_16_plus` | `obr-efo-economy-march-2026` (2024), `obr-efo-economy-october-2026` (2025-2031) | None for 2024-2029 (the later years from October since chronicle#397). Source table 1.6 publishes calendar-year ILO unemployment rate, 16+, percent. | +| `db/etl_obr.py` `cpi_inflation` (2024-2029) | `obr.cpi_inflation` | `obr-efo-economy-march-2026` (2024), `obr-efo-economy-october-2026` (2025-2031) | None for 2024-2029 (the later years from October since chronicle#397). Source table 1.7 publishes CPI year-on-year growth. | +| `db/etl_obr.py` `rpi_inflation` (2024-2029) | `obr.rpi_inflation` | `obr-efo-economy-march-2026` (2024), `obr-efo-economy-october-2026` (2025-2031) | None for 2024-2029 (the later years from October since chronicle#397). Source table 1.7 publishes RPI year-on-year growth. | +| `db/etl_obr.py` `bank_rate` (2024-2029) | `obr.bank_rate` | `obr-efo-economy-march-2026` (2024), `obr-efo-economy-october-2026` (2025-2031) | None for 2024-2029 (the later years from October since chronicle#397). Source table 1.9 publishes the Bank Rate conditioning assumption. | +| `db/etl_obr.py` `employment` (2024-2029) | `obr.employment_16_plus` | `obr-efo-economy-march-2026` (2024), `obr-efo-economy-october-2026` (2025-2031) | None for 2024-2029 (the later years from October since chronicle#397). Source table 1.6 publishes calendar-year employment, 16+, in millions; Chronicle stores the published level with `value_scale`. | | `db/etl_ons.py` `population_total` (2024-2034) | `ons.mid_year_population_estimate` for 2024; `ons.projected_population_principal` for 2024-based projections | existing `ons-mye-2024-uk`; existing `ons-uk-population-projections-2024` | None for 2024-2034 at fact level. The packages publish single-age/sex rows; broad totals are consumer rollups, not separate Chronicle-computed facts. | | `db/etl_ons.py` `population_age_0_15` (2024-2034) | `ons.mid_year_population_estimate` for 2024; `ons.projected_population_principal` for 2024-based projections | existing `ons-mye-2024-uk`; existing `ons-uk-population-projections-2024` | None for 2024-2034 at fact level. The broad band is a consumer rollup from source-published single-age rows. | | `db/etl_ons.py` `population_age_16_64` (2024-2034) | `ons.mid_year_population_estimate` for 2024; `ons.projected_population_principal` for 2024-based projections | existing `ons-mye-2024-uk`; existing `ons-uk-population-projections-2024` | None for 2024-2034 at fact level. The broad band is a consumer rollup from source-published single-age rows. | diff --git a/packages/obr/efo_aggregates_march_2026/source_package.yaml b/packages/obr/efo_aggregates_march_2026/source_package.yaml index bb63eb09..306f752d 100644 --- a/packages/obr/efo_aggregates_march_2026/source_package.yaml +++ b/packages/obr/efo_aggregates_march_2026/source_package.yaml @@ -1,3 +1,15 @@ +# OBR EFO March 2026 detailed forecast tables: aggregates, one record set per +# fiscal year and line (not {year} templating), with the opening year as the period +# (FY2025-26 -> 2025). +# +# Years (chronicle#397): where two vintages publish a number for the same line and +# year, Chronicle keeps the later one. The October 2026 EFO +# (obr-efo-aggregates-october-2026) prints public sector net debt from 2025-26 and +# public sector current receipts, total managed expenditure and net borrowing from +# 2026-27, so this package keeps net debt's 2024-25 outturn and the other three +# lines' 2025-26 forecast, the first year sheets 6.1, 6.2 and 6.5 print. Every line +# keeps its line id and concept, and scripts/build_obr_efo_october_2026.py reads its +# lines from here. schema_version: ledger.source_package.v1 package_id: obr-efo-aggregates-march-2026 label: 'OBR EFO March 2026 fiscal supplementary tables: aggregates' @@ -58,529 +70,13 @@ record_sets: expected_column_header_row: 5 expected_column_header: 2025-26 assertion: source_projection -- record_set_id: obr.efo_2026_03.aggregates.public_sector_current_receipts.fy2026 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.aggregates.public_sector_current_receipts.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.aggregates.public_sector_current_receipts.fy2026 - sheet_name: '6.2' - period_type: fiscal_year - period: 2026 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: public_sector - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: public_sector_current_receipts - label: 'Current Receipts ' - ordinal: 0 - row_number: 78 - expected_row_header_column: B - expected_row_header: 'Current Receipts ' - table_record_kind: total - measures: - - measure_id: public_sector_current_receipts - label: Current Receipts , FY2026-27 - ordinal: 0 - column: E - source_column_id: public_sector_current_receipts - concept: obr.public_sector_current_receipts - source_concept: obr.efo_aggregates.public_sector_current_receipts - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-aggregates/ - concept_evidence_notes: OBR EFO March 2026 fiscal supplementary tables, sheet 6.2, Public - Sector Current Receipts row, GBP billion. - unit: gbp - aggregation: sum - expected_cell_type: number - value_scale: 1000000000 - expected_column_header_row: 5 - expected_column_header: 2026-27 - assertion: source_projection -- record_set_id: obr.efo_2026_03.aggregates.public_sector_current_receipts.fy2027 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.aggregates.public_sector_current_receipts.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.aggregates.public_sector_current_receipts.fy2027 - sheet_name: '6.2' - period_type: fiscal_year - period: 2027 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: public_sector - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: public_sector_current_receipts - label: 'Current Receipts ' - ordinal: 0 - row_number: 78 - expected_row_header_column: B - expected_row_header: 'Current Receipts ' - table_record_kind: total - measures: - - measure_id: public_sector_current_receipts - label: Current Receipts , FY2027-28 - ordinal: 0 - column: F - source_column_id: public_sector_current_receipts - concept: obr.public_sector_current_receipts - source_concept: obr.efo_aggregates.public_sector_current_receipts - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-aggregates/ - concept_evidence_notes: OBR EFO March 2026 fiscal supplementary tables, sheet 6.2, Public - Sector Current Receipts row, GBP billion. - unit: gbp - aggregation: sum - expected_cell_type: number - value_scale: 1000000000 - expected_column_header_row: 5 - expected_column_header: 2027-28 - assertion: source_projection -- record_set_id: obr.efo_2026_03.aggregates.public_sector_current_receipts.fy2028 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.aggregates.public_sector_current_receipts.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.aggregates.public_sector_current_receipts.fy2028 - sheet_name: '6.2' - period_type: fiscal_year - period: 2028 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: public_sector - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: public_sector_current_receipts - label: 'Current Receipts ' - ordinal: 0 - row_number: 78 - expected_row_header_column: B - expected_row_header: 'Current Receipts ' - table_record_kind: total - measures: - - measure_id: public_sector_current_receipts - label: Current Receipts , FY2028-29 - ordinal: 0 - column: G - source_column_id: public_sector_current_receipts - concept: obr.public_sector_current_receipts - source_concept: obr.efo_aggregates.public_sector_current_receipts - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-aggregates/ - concept_evidence_notes: OBR EFO March 2026 fiscal supplementary tables, sheet 6.2, Public - Sector Current Receipts row, GBP billion. - unit: gbp - aggregation: sum - expected_cell_type: number - value_scale: 1000000000 - expected_column_header_row: 5 - expected_column_header: 2028-29 - assertion: source_projection -- record_set_id: obr.efo_2026_03.aggregates.public_sector_current_receipts.fy2029 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.aggregates.public_sector_current_receipts.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.aggregates.public_sector_current_receipts.fy2029 - sheet_name: '6.2' - period_type: fiscal_year - period: 2029 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: public_sector - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: public_sector_current_receipts - label: 'Current Receipts ' - ordinal: 0 - row_number: 78 - expected_row_header_column: B - expected_row_header: 'Current Receipts ' - table_record_kind: total - measures: - - measure_id: public_sector_current_receipts - label: Current Receipts , FY2029-30 - ordinal: 0 - column: H - source_column_id: public_sector_current_receipts - concept: obr.public_sector_current_receipts - source_concept: obr.efo_aggregates.public_sector_current_receipts - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-aggregates/ - concept_evidence_notes: OBR EFO March 2026 fiscal supplementary tables, sheet 6.2, Public - Sector Current Receipts row, GBP billion. - unit: gbp - aggregation: sum - expected_cell_type: number - value_scale: 1000000000 - expected_column_header_row: 5 - expected_column_header: 2029-30 - assertion: source_projection -- record_set_id: obr.efo_2026_03.aggregates.total_managed_expenditure.fy2025 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.aggregates.total_managed_expenditure.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.aggregates.total_managed_expenditure.fy2025 - sheet_name: '6.1' - period_type: fiscal_year - period: 2025 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: public_sector - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: total_managed_expenditure - label: Total Managed Expenditure1 - ordinal: 0 - row_number: 101 - expected_row_header_column: B - expected_row_header: Total Managed Expenditure1 - table_record_kind: total - measures: - - measure_id: total_managed_expenditure - label: Total Managed Expenditure1, FY2025-26 - ordinal: 0 - column: D - source_column_id: total_managed_expenditure - concept: obr.total_managed_expenditure - source_concept: obr.efo_aggregates.total_managed_expenditure - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-aggregates/ - concept_evidence_notes: OBR EFO March 2026 fiscal supplementary tables, sheet 6.1, Total - Managed Expenditure row, GBP billion. - unit: gbp - aggregation: sum - expected_cell_type: number - value_scale: 1000000000 - expected_column_header_row: 5 - expected_column_header: 2025-26 - assertion: source_projection -- record_set_id: obr.efo_2026_03.aggregates.total_managed_expenditure.fy2026 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.aggregates.total_managed_expenditure.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.aggregates.total_managed_expenditure.fy2026 - sheet_name: '6.1' - period_type: fiscal_year - period: 2026 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: public_sector - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: total_managed_expenditure - label: Total Managed Expenditure1 - ordinal: 0 - row_number: 101 - expected_row_header_column: B - expected_row_header: Total Managed Expenditure1 - table_record_kind: total - measures: - - measure_id: total_managed_expenditure - label: Total Managed Expenditure1, FY2026-27 - ordinal: 0 - column: E - source_column_id: total_managed_expenditure - concept: obr.total_managed_expenditure - source_concept: obr.efo_aggregates.total_managed_expenditure - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-aggregates/ - concept_evidence_notes: OBR EFO March 2026 fiscal supplementary tables, sheet 6.1, Total - Managed Expenditure row, GBP billion. - unit: gbp - aggregation: sum - expected_cell_type: number - value_scale: 1000000000 - expected_column_header_row: 5 - expected_column_header: 2026-27 - assertion: source_projection -- record_set_id: obr.efo_2026_03.aggregates.total_managed_expenditure.fy2027 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.aggregates.total_managed_expenditure.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.aggregates.total_managed_expenditure.fy2027 - sheet_name: '6.1' - period_type: fiscal_year - period: 2027 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: public_sector - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: total_managed_expenditure - label: Total Managed Expenditure1 - ordinal: 0 - row_number: 101 - expected_row_header_column: B - expected_row_header: Total Managed Expenditure1 - table_record_kind: total - measures: - - measure_id: total_managed_expenditure - label: Total Managed Expenditure1, FY2027-28 - ordinal: 0 - column: F - source_column_id: total_managed_expenditure - concept: obr.total_managed_expenditure - source_concept: obr.efo_aggregates.total_managed_expenditure - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-aggregates/ - concept_evidence_notes: OBR EFO March 2026 fiscal supplementary tables, sheet 6.1, Total - Managed Expenditure row, GBP billion. - unit: gbp - aggregation: sum - expected_cell_type: number - value_scale: 1000000000 - expected_column_header_row: 5 - expected_column_header: 2027-28 - assertion: source_projection -- record_set_id: obr.efo_2026_03.aggregates.total_managed_expenditure.fy2028 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.aggregates.total_managed_expenditure.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.aggregates.total_managed_expenditure.fy2028 - sheet_name: '6.1' - period_type: fiscal_year - period: 2028 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: public_sector - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: total_managed_expenditure - label: Total Managed Expenditure1 - ordinal: 0 - row_number: 101 - expected_row_header_column: B - expected_row_header: Total Managed Expenditure1 - table_record_kind: total - measures: - - measure_id: total_managed_expenditure - label: Total Managed Expenditure1, FY2028-29 - ordinal: 0 - column: G - source_column_id: total_managed_expenditure - concept: obr.total_managed_expenditure - source_concept: obr.efo_aggregates.total_managed_expenditure - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-aggregates/ - concept_evidence_notes: OBR EFO March 2026 fiscal supplementary tables, sheet 6.1, Total - Managed Expenditure row, GBP billion. - unit: gbp - aggregation: sum - expected_cell_type: number - value_scale: 1000000000 - expected_column_header_row: 5 - expected_column_header: 2028-29 - assertion: source_projection -- record_set_id: obr.efo_2026_03.aggregates.total_managed_expenditure.fy2029 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.aggregates.total_managed_expenditure.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.aggregates.total_managed_expenditure.fy2029 - sheet_name: '6.1' - period_type: fiscal_year - period: 2029 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: public_sector - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: total_managed_expenditure - label: Total Managed Expenditure1 - ordinal: 0 - row_number: 101 - expected_row_header_column: B - expected_row_header: Total Managed Expenditure1 - table_record_kind: total - measures: - - measure_id: total_managed_expenditure - label: Total Managed Expenditure1, FY2029-30 - ordinal: 0 - column: H - source_column_id: total_managed_expenditure - concept: obr.total_managed_expenditure - source_concept: obr.efo_aggregates.total_managed_expenditure - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-aggregates/ - concept_evidence_notes: OBR EFO March 2026 fiscal supplementary tables, sheet 6.1, Total - Managed Expenditure row, GBP billion. - unit: gbp - aggregation: sum - expected_cell_type: number - value_scale: 1000000000 - expected_column_header_row: 5 - expected_column_header: 2029-30 - assertion: source_projection -- record_set_id: obr.efo_2026_03.aggregates.public_sector_net_borrowing.fy2025 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.aggregates.public_sector_net_borrowing.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.aggregates.public_sector_net_borrowing.fy2025 - sheet_name: '6.5' - period_type: fiscal_year - period: 2025 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: public_sector - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: public_sector_net_borrowing - label: Net borrowing - ordinal: 0 - row_number: 15 - expected_row_header_column: B - expected_row_header: Net borrowing - table_record_kind: total - measures: - - measure_id: public_sector_net_borrowing - label: Net borrowing, FY2025-26 - ordinal: 0 - column: C - source_column_id: public_sector_net_borrowing - concept: obr.public_sector_net_borrowing - source_concept: obr.efo_aggregates.public_sector_net_borrowing - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-aggregates/ - concept_evidence_notes: OBR EFO March 2026 fiscal supplementary tables, sheet 6.5, Net - borrowing row, GBP billion. - unit: gbp - aggregation: sum - expected_cell_type: number - value_scale: 1000000000 - expected_column_header_row: 5 - expected_column_header: 2025-26 - assertion: source_projection -- record_set_id: obr.efo_2026_03.aggregates.public_sector_net_borrowing.fy2026 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.aggregates.public_sector_net_borrowing.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.aggregates.public_sector_net_borrowing.fy2026 - sheet_name: '6.5' - period_type: fiscal_year - period: 2026 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: public_sector - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: public_sector_net_borrowing - label: Net borrowing - ordinal: 0 - row_number: 15 - expected_row_header_column: B - expected_row_header: Net borrowing - table_record_kind: total - measures: - - measure_id: public_sector_net_borrowing - label: Net borrowing, FY2026-27 - ordinal: 0 - column: D - source_column_id: public_sector_net_borrowing - concept: obr.public_sector_net_borrowing - source_concept: obr.efo_aggregates.public_sector_net_borrowing - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-aggregates/ - concept_evidence_notes: OBR EFO March 2026 fiscal supplementary tables, sheet 6.5, Net - borrowing row, GBP billion. - unit: gbp - aggregation: sum - expected_cell_type: number - value_scale: 1000000000 - expected_column_header_row: 5 - expected_column_header: 2026-27 - assertion: source_projection -- record_set_id: obr.efo_2026_03.aggregates.public_sector_net_borrowing.fy2027 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.aggregates.public_sector_net_borrowing.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.aggregates.public_sector_net_borrowing.fy2027 - sheet_name: '6.5' - period_type: fiscal_year - period: 2027 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: public_sector - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: public_sector_net_borrowing - label: Net borrowing - ordinal: 0 - row_number: 15 - expected_row_header_column: B - expected_row_header: Net borrowing - table_record_kind: total - measures: - - measure_id: public_sector_net_borrowing - label: Net borrowing, FY2027-28 - ordinal: 0 - column: E - source_column_id: public_sector_net_borrowing - concept: obr.public_sector_net_borrowing - source_concept: obr.efo_aggregates.public_sector_net_borrowing - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-aggregates/ - concept_evidence_notes: OBR EFO March 2026 fiscal supplementary tables, sheet 6.5, Net - borrowing row, GBP billion. - unit: gbp - aggregation: sum - expected_cell_type: number - value_scale: 1000000000 - expected_column_header_row: 5 - expected_column_header: 2027-28 - assertion: source_projection -- record_set_id: obr.efo_2026_03.aggregates.public_sector_net_borrowing.fy2028 +- record_set_id: obr.efo_2026_03.aggregates.total_managed_expenditure.fy2025 provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.aggregates.public_sector_net_borrowing.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.aggregates.public_sector_net_borrowing.fy2028 - sheet_name: '6.5' + record_set_spec_id: obr.efo_2026_03.aggregates.total_managed_expenditure.fy2025.v1 + source_record_id_prefix: obr.efo_2026_03.aggregates.total_managed_expenditure.fy2025 + sheet_name: '6.1' period_type: fiscal_year - period: 2028 + period: 2025 geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -590,40 +86,40 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: public_sector_net_borrowing - label: Net borrowing + - value_id: total_managed_expenditure + label: Total Managed Expenditure1 ordinal: 0 - row_number: 15 + row_number: 101 expected_row_header_column: B - expected_row_header: Net borrowing + expected_row_header: Total Managed Expenditure1 table_record_kind: total measures: - - measure_id: public_sector_net_borrowing - label: Net borrowing, FY2028-29 + - measure_id: total_managed_expenditure + label: Total Managed Expenditure1, FY2025-26 ordinal: 0 - column: F - source_column_id: public_sector_net_borrowing - concept: obr.public_sector_net_borrowing - source_concept: obr.efo_aggregates.public_sector_net_borrowing + column: D + source_column_id: total_managed_expenditure + concept: obr.total_managed_expenditure + source_concept: obr.efo_aggregates.total_managed_expenditure concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-aggregates/ - concept_evidence_notes: OBR EFO March 2026 fiscal supplementary tables, sheet 6.5, Net - borrowing row, GBP billion. + concept_evidence_notes: OBR EFO March 2026 fiscal supplementary tables, sheet 6.1, Total + Managed Expenditure row, GBP billion. unit: gbp aggregation: sum expected_cell_type: number value_scale: 1000000000 expected_column_header_row: 5 - expected_column_header: 2028-29 + expected_column_header: 2025-26 assertion: source_projection -- record_set_id: obr.efo_2026_03.aggregates.public_sector_net_borrowing.fy2029 +- record_set_id: obr.efo_2026_03.aggregates.public_sector_net_borrowing.fy2025 provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.aggregates.public_sector_net_borrowing.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.aggregates.public_sector_net_borrowing.fy2029 + record_set_spec_id: obr.efo_2026_03.aggregates.public_sector_net_borrowing.fy2025.v1 + source_record_id_prefix: obr.efo_2026_03.aggregates.public_sector_net_borrowing.fy2025 sheet_name: '6.5' period_type: fiscal_year - period: 2029 + period: 2025 geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -642,9 +138,9 @@ record_sets: table_record_kind: total measures: - measure_id: public_sector_net_borrowing - label: Net borrowing, FY2029-30 + label: Net borrowing, FY2025-26 ordinal: 0 - column: G + column: C source_column_id: public_sector_net_borrowing concept: obr.public_sector_net_borrowing source_concept: obr.efo_aggregates.public_sector_net_borrowing @@ -658,7 +154,7 @@ record_sets: expected_cell_type: number value_scale: 1000000000 expected_column_header_row: 5 - expected_column_header: 2029-30 + expected_column_header: 2025-26 assertion: source_projection - record_set_id: obr.efo_2026_03.aggregates.public_sector_net_debt_percent_gdp.fy2024 provenance_class: model_output @@ -702,213 +198,3 @@ record_sets: expected_column_header_row: 5 expected_column_header: 2024-25 assertion: observation -- record_set_id: obr.efo_2026_03.aggregates.public_sector_net_debt_percent_gdp.fy2025 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.aggregates.public_sector_net_debt_percent_gdp.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.aggregates.public_sector_net_debt_percent_gdp.fy2025 - sheet_name: '6.13' - period_type: fiscal_year - period: 2025 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: public_sector - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: public_sector_net_debt_percent_gdp - label: Public sector net debt (PSND), per cent of GDP - ordinal: 0 - row_number: 31 - expected_row_header_column: B - expected_row_header: "Public sector net debt\n (PSND)(d+g)" - table_record_kind: total - measures: - - measure_id: public_sector_net_debt_percent_gdp - label: Public sector net debt (PSND), FY2025-26 - ordinal: 0 - column: D - source_column_id: public_sector_net_debt_percent_gdp - concept: obr.public_sector_net_debt_percent_gdp - source_concept: obr.efo_aggregates.public_sector_net_debt - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-aggregates/ - concept_evidence_notes: OBR EFO March 2026 fiscal supplementary tables, sheet 6.13, Public - sector net debt (PSND) row, per cent of GDP. - unit: percent_of_gdp - aggregation: sum - expected_cell_type: number - expected_column_header_row: 5 - expected_column_header: 2025-26 - assertion: source_projection -- record_set_id: obr.efo_2026_03.aggregates.public_sector_net_debt_percent_gdp.fy2026 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.aggregates.public_sector_net_debt_percent_gdp.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.aggregates.public_sector_net_debt_percent_gdp.fy2026 - sheet_name: '6.13' - period_type: fiscal_year - period: 2026 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: public_sector - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: public_sector_net_debt_percent_gdp - label: Public sector net debt (PSND), per cent of GDP - ordinal: 0 - row_number: 31 - expected_row_header_column: B - expected_row_header: "Public sector net debt\n (PSND)(d+g)" - table_record_kind: total - measures: - - measure_id: public_sector_net_debt_percent_gdp - label: Public sector net debt (PSND), FY2026-27 - ordinal: 0 - column: E - source_column_id: public_sector_net_debt_percent_gdp - concept: obr.public_sector_net_debt_percent_gdp - source_concept: obr.efo_aggregates.public_sector_net_debt - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-aggregates/ - concept_evidence_notes: OBR EFO March 2026 fiscal supplementary tables, sheet 6.13, Public - sector net debt (PSND) row, per cent of GDP. - unit: percent_of_gdp - aggregation: sum - expected_cell_type: number - expected_column_header_row: 5 - expected_column_header: 2026-27 - assertion: source_projection -- record_set_id: obr.efo_2026_03.aggregates.public_sector_net_debt_percent_gdp.fy2027 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.aggregates.public_sector_net_debt_percent_gdp.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.aggregates.public_sector_net_debt_percent_gdp.fy2027 - sheet_name: '6.13' - period_type: fiscal_year - period: 2027 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: public_sector - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: public_sector_net_debt_percent_gdp - label: Public sector net debt (PSND), per cent of GDP - ordinal: 0 - row_number: 31 - expected_row_header_column: B - expected_row_header: "Public sector net debt\n (PSND)(d+g)" - table_record_kind: total - measures: - - measure_id: public_sector_net_debt_percent_gdp - label: Public sector net debt (PSND), FY2027-28 - ordinal: 0 - column: F - source_column_id: public_sector_net_debt_percent_gdp - concept: obr.public_sector_net_debt_percent_gdp - source_concept: obr.efo_aggregates.public_sector_net_debt - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-aggregates/ - concept_evidence_notes: OBR EFO March 2026 fiscal supplementary tables, sheet 6.13, Public - sector net debt (PSND) row, per cent of GDP. - unit: percent_of_gdp - aggregation: sum - expected_cell_type: number - expected_column_header_row: 5 - expected_column_header: 2027-28 - assertion: source_projection -- record_set_id: obr.efo_2026_03.aggregates.public_sector_net_debt_percent_gdp.fy2028 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.aggregates.public_sector_net_debt_percent_gdp.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.aggregates.public_sector_net_debt_percent_gdp.fy2028 - sheet_name: '6.13' - period_type: fiscal_year - period: 2028 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: public_sector - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: public_sector_net_debt_percent_gdp - label: Public sector net debt (PSND), per cent of GDP - ordinal: 0 - row_number: 31 - expected_row_header_column: B - expected_row_header: "Public sector net debt\n (PSND)(d+g)" - table_record_kind: total - measures: - - measure_id: public_sector_net_debt_percent_gdp - label: Public sector net debt (PSND), FY2028-29 - ordinal: 0 - column: G - source_column_id: public_sector_net_debt_percent_gdp - concept: obr.public_sector_net_debt_percent_gdp - source_concept: obr.efo_aggregates.public_sector_net_debt - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-aggregates/ - concept_evidence_notes: OBR EFO March 2026 fiscal supplementary tables, sheet 6.13, Public - sector net debt (PSND) row, per cent of GDP. - unit: percent_of_gdp - aggregation: sum - expected_cell_type: number - expected_column_header_row: 5 - expected_column_header: 2028-29 - assertion: source_projection -- record_set_id: obr.efo_2026_03.aggregates.public_sector_net_debt_percent_gdp.fy2029 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.aggregates.public_sector_net_debt_percent_gdp.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.aggregates.public_sector_net_debt_percent_gdp.fy2029 - sheet_name: '6.13' - period_type: fiscal_year - period: 2029 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: public_sector - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: public_sector_net_debt_percent_gdp - label: Public sector net debt (PSND), per cent of GDP - ordinal: 0 - row_number: 31 - expected_row_header_column: B - expected_row_header: "Public sector net debt\n (PSND)(d+g)" - table_record_kind: total - measures: - - measure_id: public_sector_net_debt_percent_gdp - label: Public sector net debt (PSND), FY2029-30 - ordinal: 0 - column: H - source_column_id: public_sector_net_debt_percent_gdp - concept: obr.public_sector_net_debt_percent_gdp - source_concept: obr.efo_aggregates.public_sector_net_debt - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-aggregates/ - concept_evidence_notes: OBR EFO March 2026 fiscal supplementary tables, sheet 6.13, Public - sector net debt (PSND) row, per cent of GDP. - unit: percent_of_gdp - aggregation: sum - expected_cell_type: number - expected_column_header_row: 5 - expected_column_header: 2029-30 - assertion: source_projection diff --git a/packages/obr/efo_economy_march_2026/source_package.yaml b/packages/obr/efo_economy_march_2026/source_package.yaml index 67177faf..88517d72 100644 --- a/packages/obr/efo_economy_march_2026/source_package.yaml +++ b/packages/obr/efo_economy_march_2026/source_package.yaml @@ -1,3 +1,12 @@ +# OBR EFO March 2026 detailed forecast tables: economy, one record set per +# calendar year and line (not {year} templating). Calendar 2024 is outturn +# (assertion observation). +# +# Years (chronicle#397): where two vintages publish a number for the same line and +# year, Chronicle keeps the later one. The October 2026 EFO +# (obr-efo-economy-october-2026) prints every line here for calendar 2025 to 2031, so +# this package keeps only calendar 2024. Every line keeps its line id and concept, +# and scripts/build_obr_efo_october_2026.py reads its lines from here. schema_version: ledger.source_package.v1 package_id: obr-efo-economy-march-2026 label: 'OBR EFO March 2026 detailed forecast tables: economy' @@ -61,1255 +70,11 @@ record_sets: expected_cell_type: number value_scale: 1000000000 assertion: observation -- record_set_id: obr.efo_2026_03.economy.nominal_gdp_nsa.cy2025 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.nominal_gdp_nsa.cy2025.v1 - source_record_id_prefix: obr.efo_2026_03.economy.nominal_gdp_nsa.cy2025 - sheet_name: '1.4' - period_type: calendar_year - period: 2025 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: forecaster - domain: economic_outlook - groupby_dimension: obr.efo_line - rows: - - value_id: nominal_gdp_nsa - label: Nominal GDP NSA, billions - ordinal: 0 - row_number: 114 - expected_row_header_column: B - expected_row_header: 2025 - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: "1.4 Nominal GDP (\xA3 billion, non-seasonally adjusted)" - label: table title - measures: - - measure_id: nominal_gdp_nsa - label: Nominal GDP NSA, billions, 2025 - ordinal: 0 - column: C - source_column_id: nominal_gdp_nsa - concept: obr.nominal_gdp_nsa - source_concept: obr.efo_economy.nominal_gdp_nsa - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-economy/ - concept_evidence_notes: "OBR EFO March 2026 detailed forecast tables, sheet 1.4 ('Nominal\ - \ GDP (\xA3 billion, non-seasonally adjusted)'), calendar-year row; GBP billion." - unit: gbp - aggregation: sum - expected_cell_type: number - value_scale: 1000000000 - assertion: source_projection -- record_set_id: obr.efo_2026_03.economy.nominal_gdp_nsa.cy2026 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.nominal_gdp_nsa.cy2026.v1 - source_record_id_prefix: obr.efo_2026_03.economy.nominal_gdp_nsa.cy2026 - sheet_name: '1.4' - period_type: calendar_year - period: 2026 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: forecaster - domain: economic_outlook - groupby_dimension: obr.efo_line - rows: - - value_id: nominal_gdp_nsa - label: Nominal GDP NSA, billions - ordinal: 0 - row_number: 115 - expected_row_header_column: B - expected_row_header: 2026 - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: "1.4 Nominal GDP (\xA3 billion, non-seasonally adjusted)" - label: table title - measures: - - measure_id: nominal_gdp_nsa - label: Nominal GDP NSA, billions, 2026 - ordinal: 0 - column: C - source_column_id: nominal_gdp_nsa - concept: obr.nominal_gdp_nsa - source_concept: obr.efo_economy.nominal_gdp_nsa - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-economy/ - concept_evidence_notes: "OBR EFO March 2026 detailed forecast tables, sheet 1.4 ('Nominal\ - \ GDP (\xA3 billion, non-seasonally adjusted)'), calendar-year row; GBP billion." - unit: gbp - aggregation: sum - expected_cell_type: number - value_scale: 1000000000 - assertion: source_projection -- record_set_id: obr.efo_2026_03.economy.nominal_gdp_nsa.cy2027 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.nominal_gdp_nsa.cy2027.v1 - source_record_id_prefix: obr.efo_2026_03.economy.nominal_gdp_nsa.cy2027 - sheet_name: '1.4' - period_type: calendar_year - period: 2027 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: forecaster - domain: economic_outlook - groupby_dimension: obr.efo_line - rows: - - value_id: nominal_gdp_nsa - label: Nominal GDP NSA, billions - ordinal: 0 - row_number: 116 - expected_row_header_column: B - expected_row_header: 2027 - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: "1.4 Nominal GDP (\xA3 billion, non-seasonally adjusted)" - label: table title - measures: - - measure_id: nominal_gdp_nsa - label: Nominal GDP NSA, billions, 2027 - ordinal: 0 - column: C - source_column_id: nominal_gdp_nsa - concept: obr.nominal_gdp_nsa - source_concept: obr.efo_economy.nominal_gdp_nsa - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-economy/ - concept_evidence_notes: "OBR EFO March 2026 detailed forecast tables, sheet 1.4 ('Nominal\ - \ GDP (\xA3 billion, non-seasonally adjusted)'), calendar-year row; GBP billion." - unit: gbp - aggregation: sum - expected_cell_type: number - value_scale: 1000000000 - assertion: source_projection -- record_set_id: obr.efo_2026_03.economy.nominal_gdp_nsa.cy2028 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.nominal_gdp_nsa.cy2028.v1 - source_record_id_prefix: obr.efo_2026_03.economy.nominal_gdp_nsa.cy2028 - sheet_name: '1.4' - period_type: calendar_year - period: 2028 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: forecaster - domain: economic_outlook - groupby_dimension: obr.efo_line - rows: - - value_id: nominal_gdp_nsa - label: Nominal GDP NSA, billions - ordinal: 0 - row_number: 117 - expected_row_header_column: B - expected_row_header: 2028 - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: "1.4 Nominal GDP (\xA3 billion, non-seasonally adjusted)" - label: table title - measures: - - measure_id: nominal_gdp_nsa - label: Nominal GDP NSA, billions, 2028 - ordinal: 0 - column: C - source_column_id: nominal_gdp_nsa - concept: obr.nominal_gdp_nsa - source_concept: obr.efo_economy.nominal_gdp_nsa - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-economy/ - concept_evidence_notes: "OBR EFO March 2026 detailed forecast tables, sheet 1.4 ('Nominal\ - \ GDP (\xA3 billion, non-seasonally adjusted)'), calendar-year row; GBP billion." - unit: gbp - aggregation: sum - expected_cell_type: number - value_scale: 1000000000 - assertion: source_projection -- record_set_id: obr.efo_2026_03.economy.nominal_gdp_nsa.cy2029 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.nominal_gdp_nsa.cy2029.v1 - source_record_id_prefix: obr.efo_2026_03.economy.nominal_gdp_nsa.cy2029 - sheet_name: '1.4' - period_type: calendar_year - period: 2029 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: forecaster - domain: economic_outlook - groupby_dimension: obr.efo_line - rows: - - value_id: nominal_gdp_nsa - label: Nominal GDP NSA, billions - ordinal: 0 - row_number: 118 - expected_row_header_column: B - expected_row_header: 2029 - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: "1.4 Nominal GDP (\xA3 billion, non-seasonally adjusted)" - label: table title - measures: - - measure_id: nominal_gdp_nsa - label: Nominal GDP NSA, billions, 2029 - ordinal: 0 - column: C - source_column_id: nominal_gdp_nsa - concept: obr.nominal_gdp_nsa - source_concept: obr.efo_economy.nominal_gdp_nsa - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-economy/ - concept_evidence_notes: "OBR EFO March 2026 detailed forecast tables, sheet 1.4 ('Nominal\ - \ GDP (\xA3 billion, non-seasonally adjusted)'), calendar-year row; GBP billion." - unit: gbp - aggregation: sum - expected_cell_type: number - value_scale: 1000000000 - assertion: source_projection -- record_set_id: obr.efo_2026_03.economy.employment_16_plus.cy2024 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.employment_16_plus.cy2024.v1 - source_record_id_prefix: obr.efo_2026_03.economy.employment_16_plus.cy2024 - sheet_name: '1.6' - period_type: calendar_year - period: 2024 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: forecaster - domain: economic_outlook - groupby_dimension: obr.efo_line - rows: - - value_id: employment_16_plus - label: Employment (16+, millions) - ordinal: 0 - row_number: 113 - expected_row_header_column: B - expected_row_header: 2024 - table_record_kind: total - measures: - - measure_id: employment_16_plus - label: Employment (16+, millions), 2024 - ordinal: 0 - column: C - source_column_id: employment_16_plus - concept: obr.employment_16_plus - source_concept: obr.efo_economy.employment_16_plus - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-economy/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 1.6, calendar-year - row, column 'Employment (16+, millions)'. - unit: count - aggregation: sum - expected_cell_type: number - value_scale: 1000000 - expected_column_header_row: 3 - expected_column_header: Employment (16+, millions) - assertion: observation -- record_set_id: obr.efo_2026_03.economy.employment_16_plus.cy2025 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.employment_16_plus.cy2025.v1 - source_record_id_prefix: obr.efo_2026_03.economy.employment_16_plus.cy2025 - sheet_name: '1.6' - period_type: calendar_year - period: 2025 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: forecaster - domain: economic_outlook - groupby_dimension: obr.efo_line - rows: - - value_id: employment_16_plus - label: Employment (16+, millions) - ordinal: 0 - row_number: 114 - expected_row_header_column: B - expected_row_header: 2025 - table_record_kind: total - measures: - - measure_id: employment_16_plus - label: Employment (16+, millions), 2025 - ordinal: 0 - column: C - source_column_id: employment_16_plus - concept: obr.employment_16_plus - source_concept: obr.efo_economy.employment_16_plus - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-economy/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 1.6, calendar-year - row, column 'Employment (16+, millions)'. - unit: count - aggregation: sum - expected_cell_type: number - value_scale: 1000000 - expected_column_header_row: 3 - expected_column_header: Employment (16+, millions) - assertion: source_projection -- record_set_id: obr.efo_2026_03.economy.employment_16_plus.cy2026 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.employment_16_plus.cy2026.v1 - source_record_id_prefix: obr.efo_2026_03.economy.employment_16_plus.cy2026 - sheet_name: '1.6' - period_type: calendar_year - period: 2026 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: forecaster - domain: economic_outlook - groupby_dimension: obr.efo_line - rows: - - value_id: employment_16_plus - label: Employment (16+, millions) - ordinal: 0 - row_number: 115 - expected_row_header_column: B - expected_row_header: 2026 - table_record_kind: total - measures: - - measure_id: employment_16_plus - label: Employment (16+, millions), 2026 - ordinal: 0 - column: C - source_column_id: employment_16_plus - concept: obr.employment_16_plus - source_concept: obr.efo_economy.employment_16_plus - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-economy/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 1.6, calendar-year - row, column 'Employment (16+, millions)'. - unit: count - aggregation: sum - expected_cell_type: number - value_scale: 1000000 - expected_column_header_row: 3 - expected_column_header: Employment (16+, millions) - assertion: source_projection -- record_set_id: obr.efo_2026_03.economy.employment_16_plus.cy2027 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.employment_16_plus.cy2027.v1 - source_record_id_prefix: obr.efo_2026_03.economy.employment_16_plus.cy2027 - sheet_name: '1.6' - period_type: calendar_year - period: 2027 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: forecaster - domain: economic_outlook - groupby_dimension: obr.efo_line - rows: - - value_id: employment_16_plus - label: Employment (16+, millions) - ordinal: 0 - row_number: 116 - expected_row_header_column: B - expected_row_header: 2027 - table_record_kind: total - measures: - - measure_id: employment_16_plus - label: Employment (16+, millions), 2027 - ordinal: 0 - column: C - source_column_id: employment_16_plus - concept: obr.employment_16_plus - source_concept: obr.efo_economy.employment_16_plus - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-economy/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 1.6, calendar-year - row, column 'Employment (16+, millions)'. - unit: count - aggregation: sum - expected_cell_type: number - value_scale: 1000000 - expected_column_header_row: 3 - expected_column_header: Employment (16+, millions) - assertion: source_projection -- record_set_id: obr.efo_2026_03.economy.employment_16_plus.cy2028 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.employment_16_plus.cy2028.v1 - source_record_id_prefix: obr.efo_2026_03.economy.employment_16_plus.cy2028 - sheet_name: '1.6' - period_type: calendar_year - period: 2028 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: forecaster - domain: economic_outlook - groupby_dimension: obr.efo_line - rows: - - value_id: employment_16_plus - label: Employment (16+, millions) - ordinal: 0 - row_number: 117 - expected_row_header_column: B - expected_row_header: 2028 - table_record_kind: total - measures: - - measure_id: employment_16_plus - label: Employment (16+, millions), 2028 - ordinal: 0 - column: C - source_column_id: employment_16_plus - concept: obr.employment_16_plus - source_concept: obr.efo_economy.employment_16_plus - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-economy/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 1.6, calendar-year - row, column 'Employment (16+, millions)'. - unit: count - aggregation: sum - expected_cell_type: number - value_scale: 1000000 - expected_column_header_row: 3 - expected_column_header: Employment (16+, millions) - assertion: source_projection -- record_set_id: obr.efo_2026_03.economy.employment_16_plus.cy2029 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.employment_16_plus.cy2029.v1 - source_record_id_prefix: obr.efo_2026_03.economy.employment_16_plus.cy2029 - sheet_name: '1.6' - period_type: calendar_year - period: 2029 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: forecaster - domain: economic_outlook - groupby_dimension: obr.efo_line - rows: - - value_id: employment_16_plus - label: Employment (16+, millions) - ordinal: 0 - row_number: 118 - expected_row_header_column: B - expected_row_header: 2029 - table_record_kind: total - measures: - - measure_id: employment_16_plus - label: Employment (16+, millions), 2029 - ordinal: 0 - column: C - source_column_id: employment_16_plus - concept: obr.employment_16_plus - source_concept: obr.efo_economy.employment_16_plus - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-economy/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 1.6, calendar-year - row, column 'Employment (16+, millions)'. - unit: count - aggregation: sum - expected_cell_type: number - value_scale: 1000000 - expected_column_header_row: 3 - expected_column_header: Employment (16+, millions) - assertion: source_projection -- record_set_id: obr.efo_2026_03.economy.ilo_unemployment_rate_16_plus.cy2024 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.ilo_unemployment_rate_16_plus.cy2024.v1 - source_record_id_prefix: obr.efo_2026_03.economy.ilo_unemployment_rate_16_plus.cy2024 - sheet_name: '1.6' - period_type: calendar_year - period: 2024 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: forecaster - domain: economic_outlook - groupby_dimension: obr.efo_line - rows: - - value_id: ilo_unemployment_rate_16_plus - label: ILO unemployment rate (16+, per cent) - ordinal: 0 - row_number: 113 - expected_row_header_column: B - expected_row_header: 2024 - table_record_kind: total - measures: - - measure_id: ilo_unemployment_rate_16_plus - label: ILO unemployment rate (16+, per cent), 2024 - ordinal: 0 - column: G - source_column_id: ilo_unemployment_rate_16_plus - concept: obr.ilo_unemployment_rate_16_plus - source_concept: obr.efo_economy.ilo_unemployment_rate_16_plus - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-economy/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 1.6, calendar-year - row, column 'ILO unemployment rate (16+, per cent)'. - unit: percent - aggregation: sum - expected_cell_type: number - expected_column_header_row: 3 - expected_column_header: "ILO unemployment rate \n(16+, per cent)" - assertion: observation -- record_set_id: obr.efo_2026_03.economy.ilo_unemployment_rate_16_plus.cy2025 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.ilo_unemployment_rate_16_plus.cy2025.v1 - source_record_id_prefix: obr.efo_2026_03.economy.ilo_unemployment_rate_16_plus.cy2025 - sheet_name: '1.6' - period_type: calendar_year - period: 2025 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: forecaster - domain: economic_outlook - groupby_dimension: obr.efo_line - rows: - - value_id: ilo_unemployment_rate_16_plus - label: ILO unemployment rate (16+, per cent) - ordinal: 0 - row_number: 114 - expected_row_header_column: B - expected_row_header: 2025 - table_record_kind: total - measures: - - measure_id: ilo_unemployment_rate_16_plus - label: ILO unemployment rate (16+, per cent), 2025 - ordinal: 0 - column: G - source_column_id: ilo_unemployment_rate_16_plus - concept: obr.ilo_unemployment_rate_16_plus - source_concept: obr.efo_economy.ilo_unemployment_rate_16_plus - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-economy/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 1.6, calendar-year - row, column 'ILO unemployment rate (16+, per cent)'. - unit: percent - aggregation: sum - expected_cell_type: number - expected_column_header_row: 3 - expected_column_header: "ILO unemployment rate \n(16+, per cent)" - assertion: source_projection -- record_set_id: obr.efo_2026_03.economy.ilo_unemployment_rate_16_plus.cy2026 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.ilo_unemployment_rate_16_plus.cy2026.v1 - source_record_id_prefix: obr.efo_2026_03.economy.ilo_unemployment_rate_16_plus.cy2026 - sheet_name: '1.6' - period_type: calendar_year - period: 2026 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: forecaster - domain: economic_outlook - groupby_dimension: obr.efo_line - rows: - - value_id: ilo_unemployment_rate_16_plus - label: ILO unemployment rate (16+, per cent) - ordinal: 0 - row_number: 115 - expected_row_header_column: B - expected_row_header: 2026 - table_record_kind: total - measures: - - measure_id: ilo_unemployment_rate_16_plus - label: ILO unemployment rate (16+, per cent), 2026 - ordinal: 0 - column: G - source_column_id: ilo_unemployment_rate_16_plus - concept: obr.ilo_unemployment_rate_16_plus - source_concept: obr.efo_economy.ilo_unemployment_rate_16_plus - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-economy/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 1.6, calendar-year - row, column 'ILO unemployment rate (16+, per cent)'. - unit: percent - aggregation: sum - expected_cell_type: number - expected_column_header_row: 3 - expected_column_header: "ILO unemployment rate \n(16+, per cent)" - assertion: source_projection -- record_set_id: obr.efo_2026_03.economy.ilo_unemployment_rate_16_plus.cy2027 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.ilo_unemployment_rate_16_plus.cy2027.v1 - source_record_id_prefix: obr.efo_2026_03.economy.ilo_unemployment_rate_16_plus.cy2027 - sheet_name: '1.6' - period_type: calendar_year - period: 2027 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: forecaster - domain: economic_outlook - groupby_dimension: obr.efo_line - rows: - - value_id: ilo_unemployment_rate_16_plus - label: ILO unemployment rate (16+, per cent) - ordinal: 0 - row_number: 116 - expected_row_header_column: B - expected_row_header: 2027 - table_record_kind: total - measures: - - measure_id: ilo_unemployment_rate_16_plus - label: ILO unemployment rate (16+, per cent), 2027 - ordinal: 0 - column: G - source_column_id: ilo_unemployment_rate_16_plus - concept: obr.ilo_unemployment_rate_16_plus - source_concept: obr.efo_economy.ilo_unemployment_rate_16_plus - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-economy/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 1.6, calendar-year - row, column 'ILO unemployment rate (16+, per cent)'. - unit: percent - aggregation: sum - expected_cell_type: number - expected_column_header_row: 3 - expected_column_header: "ILO unemployment rate \n(16+, per cent)" - assertion: source_projection -- record_set_id: obr.efo_2026_03.economy.ilo_unemployment_rate_16_plus.cy2028 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.ilo_unemployment_rate_16_plus.cy2028.v1 - source_record_id_prefix: obr.efo_2026_03.economy.ilo_unemployment_rate_16_plus.cy2028 - sheet_name: '1.6' - period_type: calendar_year - period: 2028 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: forecaster - domain: economic_outlook - groupby_dimension: obr.efo_line - rows: - - value_id: ilo_unemployment_rate_16_plus - label: ILO unemployment rate (16+, per cent) - ordinal: 0 - row_number: 117 - expected_row_header_column: B - expected_row_header: 2028 - table_record_kind: total - measures: - - measure_id: ilo_unemployment_rate_16_plus - label: ILO unemployment rate (16+, per cent), 2028 - ordinal: 0 - column: G - source_column_id: ilo_unemployment_rate_16_plus - concept: obr.ilo_unemployment_rate_16_plus - source_concept: obr.efo_economy.ilo_unemployment_rate_16_plus - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-economy/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 1.6, calendar-year - row, column 'ILO unemployment rate (16+, per cent)'. - unit: percent - aggregation: sum - expected_cell_type: number - expected_column_header_row: 3 - expected_column_header: "ILO unemployment rate \n(16+, per cent)" - assertion: source_projection -- record_set_id: obr.efo_2026_03.economy.ilo_unemployment_rate_16_plus.cy2029 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.ilo_unemployment_rate_16_plus.cy2029.v1 - source_record_id_prefix: obr.efo_2026_03.economy.ilo_unemployment_rate_16_plus.cy2029 - sheet_name: '1.6' - period_type: calendar_year - period: 2029 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: forecaster - domain: economic_outlook - groupby_dimension: obr.efo_line - rows: - - value_id: ilo_unemployment_rate_16_plus - label: ILO unemployment rate (16+, per cent) - ordinal: 0 - row_number: 118 - expected_row_header_column: B - expected_row_header: 2029 - table_record_kind: total - measures: - - measure_id: ilo_unemployment_rate_16_plus - label: ILO unemployment rate (16+, per cent), 2029 - ordinal: 0 - column: G - source_column_id: ilo_unemployment_rate_16_plus - concept: obr.ilo_unemployment_rate_16_plus - source_concept: obr.efo_economy.ilo_unemployment_rate_16_plus - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-economy/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 1.6, calendar-year - row, column 'ILO unemployment rate (16+, per cent)'. - unit: percent - aggregation: sum - expected_cell_type: number - expected_column_header_row: 3 - expected_column_header: "ILO unemployment rate \n(16+, per cent)" - assertion: source_projection -- record_set_id: obr.efo_2026_03.economy.rpi_inflation.cy2024 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.rpi_inflation.cy2024.v1 - source_record_id_prefix: obr.efo_2026_03.economy.rpi_inflation.cy2024 - sheet_name: '1.7' - period_type: calendar_year - period: 2024 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: forecaster - domain: economic_outlook - groupby_dimension: obr.efo_line - rows: - - value_id: rpi_inflation - label: RPI year-on-year growth - ordinal: 0 - row_number: 114 - expected_row_header_column: B - expected_row_header: 2024 - table_record_kind: total - measures: - - measure_id: rpi_inflation - label: RPI year-on-year growth, 2024 - ordinal: 0 - column: C - source_column_id: rpi_inflation - concept: obr.rpi_inflation - source_concept: obr.efo_economy.rpi_inflation - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-economy/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 1.7, calendar-year - row, RPI year-on-year growth column. - unit: percent - aggregation: sum - expected_cell_type: number - expected_column_header_row: 4 - expected_column_header: RPI - assertion: observation -- record_set_id: obr.efo_2026_03.economy.rpi_inflation.cy2025 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.rpi_inflation.cy2025.v1 - source_record_id_prefix: obr.efo_2026_03.economy.rpi_inflation.cy2025 - sheet_name: '1.7' - period_type: calendar_year - period: 2025 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: forecaster - domain: economic_outlook - groupby_dimension: obr.efo_line - rows: - - value_id: rpi_inflation - label: RPI year-on-year growth - ordinal: 0 - row_number: 115 - expected_row_header_column: B - expected_row_header: 2025 - table_record_kind: total - measures: - - measure_id: rpi_inflation - label: RPI year-on-year growth, 2025 - ordinal: 0 - column: C - source_column_id: rpi_inflation - concept: obr.rpi_inflation - source_concept: obr.efo_economy.rpi_inflation - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-economy/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 1.7, calendar-year - row, RPI year-on-year growth column. - unit: percent - aggregation: sum - expected_cell_type: number - expected_column_header_row: 4 - expected_column_header: RPI - assertion: source_projection -- record_set_id: obr.efo_2026_03.economy.rpi_inflation.cy2026 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.rpi_inflation.cy2026.v1 - source_record_id_prefix: obr.efo_2026_03.economy.rpi_inflation.cy2026 - sheet_name: '1.7' - period_type: calendar_year - period: 2026 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: forecaster - domain: economic_outlook - groupby_dimension: obr.efo_line - rows: - - value_id: rpi_inflation - label: RPI year-on-year growth - ordinal: 0 - row_number: 116 - expected_row_header_column: B - expected_row_header: 2026 - table_record_kind: total - measures: - - measure_id: rpi_inflation - label: RPI year-on-year growth, 2026 - ordinal: 0 - column: C - source_column_id: rpi_inflation - concept: obr.rpi_inflation - source_concept: obr.efo_economy.rpi_inflation - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-economy/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 1.7, calendar-year - row, RPI year-on-year growth column. - unit: percent - aggregation: sum - expected_cell_type: number - expected_column_header_row: 4 - expected_column_header: RPI - assertion: source_projection -- record_set_id: obr.efo_2026_03.economy.rpi_inflation.cy2027 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.rpi_inflation.cy2027.v1 - source_record_id_prefix: obr.efo_2026_03.economy.rpi_inflation.cy2027 - sheet_name: '1.7' - period_type: calendar_year - period: 2027 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: forecaster - domain: economic_outlook - groupby_dimension: obr.efo_line - rows: - - value_id: rpi_inflation - label: RPI year-on-year growth - ordinal: 0 - row_number: 117 - expected_row_header_column: B - expected_row_header: 2027 - table_record_kind: total - measures: - - measure_id: rpi_inflation - label: RPI year-on-year growth, 2027 - ordinal: 0 - column: C - source_column_id: rpi_inflation - concept: obr.rpi_inflation - source_concept: obr.efo_economy.rpi_inflation - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-economy/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 1.7, calendar-year - row, RPI year-on-year growth column. - unit: percent - aggregation: sum - expected_cell_type: number - expected_column_header_row: 4 - expected_column_header: RPI - assertion: source_projection -- record_set_id: obr.efo_2026_03.economy.rpi_inflation.cy2028 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.rpi_inflation.cy2028.v1 - source_record_id_prefix: obr.efo_2026_03.economy.rpi_inflation.cy2028 - sheet_name: '1.7' - period_type: calendar_year - period: 2028 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: forecaster - domain: economic_outlook - groupby_dimension: obr.efo_line - rows: - - value_id: rpi_inflation - label: RPI year-on-year growth - ordinal: 0 - row_number: 118 - expected_row_header_column: B - expected_row_header: 2028 - table_record_kind: total - measures: - - measure_id: rpi_inflation - label: RPI year-on-year growth, 2028 - ordinal: 0 - column: C - source_column_id: rpi_inflation - concept: obr.rpi_inflation - source_concept: obr.efo_economy.rpi_inflation - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-economy/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 1.7, calendar-year - row, RPI year-on-year growth column. - unit: percent - aggregation: sum - expected_cell_type: number - expected_column_header_row: 4 - expected_column_header: RPI - assertion: source_projection -- record_set_id: obr.efo_2026_03.economy.rpi_inflation.cy2029 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.rpi_inflation.cy2029.v1 - source_record_id_prefix: obr.efo_2026_03.economy.rpi_inflation.cy2029 - sheet_name: '1.7' - period_type: calendar_year - period: 2029 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: forecaster - domain: economic_outlook - groupby_dimension: obr.efo_line - rows: - - value_id: rpi_inflation - label: RPI year-on-year growth - ordinal: 0 - row_number: 119 - expected_row_header_column: B - expected_row_header: 2029 - table_record_kind: total - measures: - - measure_id: rpi_inflation - label: RPI year-on-year growth, 2029 - ordinal: 0 - column: C - source_column_id: rpi_inflation - concept: obr.rpi_inflation - source_concept: obr.efo_economy.rpi_inflation - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-economy/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 1.7, calendar-year - row, RPI year-on-year growth column. - unit: percent - aggregation: sum - expected_cell_type: number - expected_column_header_row: 4 - expected_column_header: RPI - assertion: source_projection -- record_set_id: obr.efo_2026_03.economy.cpi_inflation.cy2024 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.cpi_inflation.cy2024.v1 - source_record_id_prefix: obr.efo_2026_03.economy.cpi_inflation.cy2024 - sheet_name: '1.7' - period_type: calendar_year - period: 2024 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: forecaster - domain: economic_outlook - groupby_dimension: obr.efo_line - rows: - - value_id: cpi_inflation - label: CPI year-on-year growth - ordinal: 0 - row_number: 114 - expected_row_header_column: B - expected_row_header: 2024 - table_record_kind: total - measures: - - measure_id: cpi_inflation - label: CPI year-on-year growth, 2024 - ordinal: 0 - column: E - source_column_id: cpi_inflation - concept: obr.cpi_inflation - source_concept: obr.efo_economy.cpi_inflation - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-economy/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 1.7, calendar-year - row, CPI year-on-year growth column. - unit: percent - aggregation: sum - expected_cell_type: number - expected_column_header_row: 4 - expected_column_header: CPI - assertion: observation -- record_set_id: obr.efo_2026_03.economy.cpi_inflation.cy2025 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.cpi_inflation.cy2025.v1 - source_record_id_prefix: obr.efo_2026_03.economy.cpi_inflation.cy2025 - sheet_name: '1.7' - period_type: calendar_year - period: 2025 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: forecaster - domain: economic_outlook - groupby_dimension: obr.efo_line - rows: - - value_id: cpi_inflation - label: CPI year-on-year growth - ordinal: 0 - row_number: 115 - expected_row_header_column: B - expected_row_header: 2025 - table_record_kind: total - measures: - - measure_id: cpi_inflation - label: CPI year-on-year growth, 2025 - ordinal: 0 - column: E - source_column_id: cpi_inflation - concept: obr.cpi_inflation - source_concept: obr.efo_economy.cpi_inflation - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-economy/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 1.7, calendar-year - row, CPI year-on-year growth column. - unit: percent - aggregation: sum - expected_cell_type: number - expected_column_header_row: 4 - expected_column_header: CPI - assertion: source_projection -- record_set_id: obr.efo_2026_03.economy.cpi_inflation.cy2026 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.cpi_inflation.cy2026.v1 - source_record_id_prefix: obr.efo_2026_03.economy.cpi_inflation.cy2026 - sheet_name: '1.7' - period_type: calendar_year - period: 2026 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: forecaster - domain: economic_outlook - groupby_dimension: obr.efo_line - rows: - - value_id: cpi_inflation - label: CPI year-on-year growth - ordinal: 0 - row_number: 116 - expected_row_header_column: B - expected_row_header: 2026 - table_record_kind: total - measures: - - measure_id: cpi_inflation - label: CPI year-on-year growth, 2026 - ordinal: 0 - column: E - source_column_id: cpi_inflation - concept: obr.cpi_inflation - source_concept: obr.efo_economy.cpi_inflation - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-economy/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 1.7, calendar-year - row, CPI year-on-year growth column. - unit: percent - aggregation: sum - expected_cell_type: number - expected_column_header_row: 4 - expected_column_header: CPI - assertion: source_projection -- record_set_id: obr.efo_2026_03.economy.cpi_inflation.cy2027 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.cpi_inflation.cy2027.v1 - source_record_id_prefix: obr.efo_2026_03.economy.cpi_inflation.cy2027 - sheet_name: '1.7' - period_type: calendar_year - period: 2027 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: forecaster - domain: economic_outlook - groupby_dimension: obr.efo_line - rows: - - value_id: cpi_inflation - label: CPI year-on-year growth - ordinal: 0 - row_number: 117 - expected_row_header_column: B - expected_row_header: 2027 - table_record_kind: total - measures: - - measure_id: cpi_inflation - label: CPI year-on-year growth, 2027 - ordinal: 0 - column: E - source_column_id: cpi_inflation - concept: obr.cpi_inflation - source_concept: obr.efo_economy.cpi_inflation - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-economy/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 1.7, calendar-year - row, CPI year-on-year growth column. - unit: percent - aggregation: sum - expected_cell_type: number - expected_column_header_row: 4 - expected_column_header: CPI - assertion: source_projection -- record_set_id: obr.efo_2026_03.economy.cpi_inflation.cy2028 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.cpi_inflation.cy2028.v1 - source_record_id_prefix: obr.efo_2026_03.economy.cpi_inflation.cy2028 - sheet_name: '1.7' - period_type: calendar_year - period: 2028 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: forecaster - domain: economic_outlook - groupby_dimension: obr.efo_line - rows: - - value_id: cpi_inflation - label: CPI year-on-year growth - ordinal: 0 - row_number: 118 - expected_row_header_column: B - expected_row_header: 2028 - table_record_kind: total - measures: - - measure_id: cpi_inflation - label: CPI year-on-year growth, 2028 - ordinal: 0 - column: E - source_column_id: cpi_inflation - concept: obr.cpi_inflation - source_concept: obr.efo_economy.cpi_inflation - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-economy/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 1.7, calendar-year - row, CPI year-on-year growth column. - unit: percent - aggregation: sum - expected_cell_type: number - expected_column_header_row: 4 - expected_column_header: CPI - assertion: source_projection -- record_set_id: obr.efo_2026_03.economy.cpi_inflation.cy2029 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.cpi_inflation.cy2029.v1 - source_record_id_prefix: obr.efo_2026_03.economy.cpi_inflation.cy2029 - sheet_name: '1.7' - period_type: calendar_year - period: 2029 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: forecaster - domain: economic_outlook - groupby_dimension: obr.efo_line - rows: - - value_id: cpi_inflation - label: CPI year-on-year growth - ordinal: 0 - row_number: 119 - expected_row_header_column: B - expected_row_header: 2029 - table_record_kind: total - measures: - - measure_id: cpi_inflation - label: CPI year-on-year growth, 2029 - ordinal: 0 - column: E - source_column_id: cpi_inflation - concept: obr.cpi_inflation - source_concept: obr.efo_economy.cpi_inflation - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-economy/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 1.7, calendar-year - row, CPI year-on-year growth column. - unit: percent - aggregation: sum - expected_cell_type: number - expected_column_header_row: 4 - expected_column_header: CPI - assertion: source_projection -- record_set_id: obr.efo_2026_03.economy.bank_rate.cy2024 +- record_set_id: obr.efo_2026_03.economy.employment_16_plus.cy2024 provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.bank_rate.cy2024.v1 - source_record_id_prefix: obr.efo_2026_03.economy.bank_rate.cy2024 - sheet_name: '1.9' + record_set_spec_id: obr.efo_2026_03.economy.employment_16_plus.cy2024.v1 + source_record_id_prefix: obr.efo_2026_03.economy.employment_16_plus.cy2024 + sheet_name: '1.6' period_type: calendar_year period: 2024 geography_id: K02000001 @@ -1321,81 +86,40 @@ record_sets: domain: economic_outlook groupby_dimension: obr.efo_line rows: - - value_id: bank_rate - label: Bank Rate + - value_id: employment_16_plus + label: Employment (16+, millions) ordinal: 0 row_number: 113 expected_row_header_column: B expected_row_header: 2024 table_record_kind: total measures: - - measure_id: bank_rate - label: Bank Rate, 2024 + - measure_id: employment_16_plus + label: Employment (16+, millions), 2024 ordinal: 0 column: C - source_column_id: bank_rate - concept: obr.bank_rate - source_concept: obr.efo_economy.bank_rate + source_column_id: employment_16_plus + concept: obr.employment_16_plus + source_concept: obr.efo_economy.employment_16_plus concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-economy/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 1.9, calendar-year - row, Bank Rate conditioning assumption. - unit: percent + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 1.6, calendar-year + row, column 'Employment (16+, millions)'. + unit: count aggregation: sum expected_cell_type: number + value_scale: 1000000 expected_column_header_row: 3 - expected_column_header: Bank Rate + expected_column_header: Employment (16+, millions) assertion: observation -- record_set_id: obr.efo_2026_03.economy.bank_rate.cy2025 - provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.bank_rate.cy2025.v1 - source_record_id_prefix: obr.efo_2026_03.economy.bank_rate.cy2025 - sheet_name: '1.9' - period_type: calendar_year - period: 2025 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: government - entity_role: forecaster - domain: economic_outlook - groupby_dimension: obr.efo_line - rows: - - value_id: bank_rate - label: Bank Rate - ordinal: 0 - row_number: 114 - expected_row_header_column: B - expected_row_header: 2025 - table_record_kind: total - measures: - - measure_id: bank_rate - label: Bank Rate, 2025 - ordinal: 0 - column: C - source_column_id: bank_rate - concept: obr.bank_rate - source_concept: obr.efo_economy.bank_rate - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-economy/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 1.9, calendar-year - row, Bank Rate conditioning assumption. - unit: percent - aggregation: sum - expected_cell_type: number - expected_column_header_row: 3 - expected_column_header: Bank Rate - assertion: source_projection -- record_set_id: obr.efo_2026_03.economy.bank_rate.cy2026 +- record_set_id: obr.efo_2026_03.economy.ilo_unemployment_rate_16_plus.cy2024 provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.bank_rate.cy2026.v1 - source_record_id_prefix: obr.efo_2026_03.economy.bank_rate.cy2026 - sheet_name: '1.9' + record_set_spec_id: obr.efo_2026_03.economy.ilo_unemployment_rate_16_plus.cy2024.v1 + source_record_id_prefix: obr.efo_2026_03.economy.ilo_unemployment_rate_16_plus.cy2024 + sheet_name: '1.6' period_type: calendar_year - period: 2026 + period: 2024 geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -1405,39 +129,39 @@ record_sets: domain: economic_outlook groupby_dimension: obr.efo_line rows: - - value_id: bank_rate - label: Bank Rate + - value_id: ilo_unemployment_rate_16_plus + label: ILO unemployment rate (16+, per cent) ordinal: 0 - row_number: 115 + row_number: 113 expected_row_header_column: B - expected_row_header: 2026 + expected_row_header: 2024 table_record_kind: total measures: - - measure_id: bank_rate - label: Bank Rate, 2026 + - measure_id: ilo_unemployment_rate_16_plus + label: ILO unemployment rate (16+, per cent), 2024 ordinal: 0 - column: C - source_column_id: bank_rate - concept: obr.bank_rate - source_concept: obr.efo_economy.bank_rate + column: G + source_column_id: ilo_unemployment_rate_16_plus + concept: obr.ilo_unemployment_rate_16_plus + source_concept: obr.efo_economy.ilo_unemployment_rate_16_plus concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-economy/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 1.9, calendar-year - row, Bank Rate conditioning assumption. + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 1.6, calendar-year + row, column 'ILO unemployment rate (16+, per cent)'. unit: percent aggregation: sum expected_cell_type: number expected_column_header_row: 3 - expected_column_header: Bank Rate - assertion: source_projection -- record_set_id: obr.efo_2026_03.economy.bank_rate.cy2027 + expected_column_header: "ILO unemployment rate \n(16+, per cent)" + assertion: observation +- record_set_id: obr.efo_2026_03.economy.rpi_inflation.cy2024 provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.bank_rate.cy2027.v1 - source_record_id_prefix: obr.efo_2026_03.economy.bank_rate.cy2027 - sheet_name: '1.9' + record_set_spec_id: obr.efo_2026_03.economy.rpi_inflation.cy2024.v1 + source_record_id_prefix: obr.efo_2026_03.economy.rpi_inflation.cy2024 + sheet_name: '1.7' period_type: calendar_year - period: 2027 + period: 2024 geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -1447,39 +171,39 @@ record_sets: domain: economic_outlook groupby_dimension: obr.efo_line rows: - - value_id: bank_rate - label: Bank Rate + - value_id: rpi_inflation + label: RPI year-on-year growth ordinal: 0 - row_number: 116 + row_number: 114 expected_row_header_column: B - expected_row_header: 2027 + expected_row_header: 2024 table_record_kind: total measures: - - measure_id: bank_rate - label: Bank Rate, 2027 + - measure_id: rpi_inflation + label: RPI year-on-year growth, 2024 ordinal: 0 column: C - source_column_id: bank_rate - concept: obr.bank_rate - source_concept: obr.efo_economy.bank_rate + source_column_id: rpi_inflation + concept: obr.rpi_inflation + source_concept: obr.efo_economy.rpi_inflation concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-economy/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 1.9, calendar-year - row, Bank Rate conditioning assumption. + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 1.7, calendar-year + row, RPI year-on-year growth column. unit: percent aggregation: sum expected_cell_type: number - expected_column_header_row: 3 - expected_column_header: Bank Rate - assertion: source_projection -- record_set_id: obr.efo_2026_03.economy.bank_rate.cy2028 + expected_column_header_row: 4 + expected_column_header: RPI + assertion: observation +- record_set_id: obr.efo_2026_03.economy.cpi_inflation.cy2024 provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.bank_rate.cy2028.v1 - source_record_id_prefix: obr.efo_2026_03.economy.bank_rate.cy2028 - sheet_name: '1.9' + record_set_spec_id: obr.efo_2026_03.economy.cpi_inflation.cy2024.v1 + source_record_id_prefix: obr.efo_2026_03.economy.cpi_inflation.cy2024 + sheet_name: '1.7' period_type: calendar_year - period: 2028 + period: 2024 geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -1489,39 +213,39 @@ record_sets: domain: economic_outlook groupby_dimension: obr.efo_line rows: - - value_id: bank_rate - label: Bank Rate + - value_id: cpi_inflation + label: CPI year-on-year growth ordinal: 0 - row_number: 117 + row_number: 114 expected_row_header_column: B - expected_row_header: 2028 + expected_row_header: 2024 table_record_kind: total measures: - - measure_id: bank_rate - label: Bank Rate, 2028 + - measure_id: cpi_inflation + label: CPI year-on-year growth, 2024 ordinal: 0 - column: C - source_column_id: bank_rate - concept: obr.bank_rate - source_concept: obr.efo_economy.bank_rate + column: E + source_column_id: cpi_inflation + concept: obr.cpi_inflation + source_concept: obr.efo_economy.cpi_inflation concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-economy/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 1.9, calendar-year - row, Bank Rate conditioning assumption. + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 1.7, calendar-year + row, CPI year-on-year growth column. unit: percent aggregation: sum expected_cell_type: number - expected_column_header_row: 3 - expected_column_header: Bank Rate - assertion: source_projection -- record_set_id: obr.efo_2026_03.economy.bank_rate.cy2029 + expected_column_header_row: 4 + expected_column_header: CPI + assertion: observation +- record_set_id: obr.efo_2026_03.economy.bank_rate.cy2024 provenance_class: model_output - record_set_spec_id: obr.efo_2026_03.economy.bank_rate.cy2029.v1 - source_record_id_prefix: obr.efo_2026_03.economy.bank_rate.cy2029 + record_set_spec_id: obr.efo_2026_03.economy.bank_rate.cy2024.v1 + source_record_id_prefix: obr.efo_2026_03.economy.bank_rate.cy2024 sheet_name: '1.9' period_type: calendar_year - period: 2029 + period: 2024 geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -1534,13 +258,13 @@ record_sets: - value_id: bank_rate label: Bank Rate ordinal: 0 - row_number: 118 + row_number: 113 expected_row_header_column: B - expected_row_header: 2029 + expected_row_header: 2024 table_record_kind: total measures: - measure_id: bank_rate - label: Bank Rate, 2029 + label: Bank Rate, 2024 ordinal: 0 column: C source_column_id: bank_rate @@ -1556,4 +280,4 @@ record_sets: expected_cell_type: number expected_column_header_row: 3 expected_column_header: Bank Rate - assertion: source_projection + assertion: observation diff --git a/packages/obr/efo_expenditure_march_2026/source_package.yaml b/packages/obr/efo_expenditure_march_2026/source_package.yaml index c7bff0e2..6a587b84 100644 --- a/packages/obr/efo_expenditure_march_2026/source_package.yaml +++ b/packages/obr/efo_expenditure_march_2026/source_package.yaml @@ -1,21 +1,28 @@ # OBR EFO March 2026. Values are GBP billion in the workbook (value_scale 1e9). # Fiscal-year periods store the opening year (FY2024-25 -> 2024), matching the -# hmrc fy2024_25 precedent. Explicit per-year record sets (not {year} -# templating) so the full 2024-2030 forecast surface lands in every build; -# see PolicyEngine/ledger#135 on bundle year handling. Row labels are exact -# FY2024-25 columns are labelled 'Outturn' in the workbooks, so the fy2024 -# record sets carry assertion observation; fy2025-fy2030 remain -# source_projection. Row labels are exact +# hmrc fy2024_25 precedent, with one explicit record set per year (not {year} +# templating; see PolicyEngine/ledger#135 on bundle year handling). FY2024-25 +# columns are labelled 'Outturn' in the workbooks, so the fy2024 record sets carry +# assertion observation; later years are source_projection. Row labels are exact # cell text including OBR footnote markers (e.g. 'Incapacity benefits2'). -# Table 4.1's council tax block is carried in full: the England, Scotland and -# Wales receipts rows, 'Total council tax receipts' (row 15, their sum), 'NI -# domestic rates', the 'Council tax accruals adjustment' (row 17), the -# 'High-value Council tax surcharge' (row 18, forecast from 2028-29 only; the -# earlier cells are blank and emit no facts) and 'Total net council tax -# receipts' (row 19, which equals rows 15 + 16 + 17 + 18). Consumers that bind -# a household council tax liability choose between the nation rows or row 15 -# (cash receipts, GB) and row 19 (which adds NI domestic rates and the -# accruals adjustment); the percentage-change rows are not ported. +# +# Years (chronicle#397): where two vintages publish a number for the same line and +# year, Chronicle keeps the later one. The October 2026 EFO +# (obr-efo-expenditure-october-2026) prints every line here from 2025-26 to 2031-32, +# so this package keeps only each line's 2024-25 outturn. Every line keeps its line id +# and concept, and scripts/build_obr_efo_october_2026.py reads its lines from here. +# The high-value council tax surcharge, forecast from 2028-29, has no 2024-25 value, +# so it is in the October package only; the October build keeps its March record set +# as the template for that line. +# +# Table 4.1's council tax block: the England, Scotland and Wales receipts rows, +# 'Total council tax receipts' (row 15, their sum), 'NI domestic rates', the +# 'Council tax accruals adjustment' (row 17) and 'Total net council tax receipts' +# (row 19, which equals rows 15 + 16 + 17 + 18). Row 18, the 'High-value Council +# tax surcharge', is blank in 2024-25 (it is forecast from 2028-29) and emits no +# fact. Consumers that bind a household council tax liability choose between the +# nation rows or row 15 (cash receipts, GB) and row 19 (which adds NI domestic +# rates and the accruals adjustment); the percentage-change rows are not ported. # # Table 4.9's geography (chronicle#357 item 4). The table prints none. Its # "DWP social security" lines are DWP's forecast: DWP's benefit expenditure and @@ -101,14 +108,14 @@ record_sets: aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_england.fy2025 +- record_set_id: obr.efo_2026_03.expenditure.council_tax_scotland.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_england.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_england.fy2025 + assertion: observation + record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_scotland.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_scotland.fy2024 sheet_name: '4.1' period_type: fiscal_year - period: 2025 + period: 2024 geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -118,40 +125,40 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: council_tax_england - label: England council tax receipts + - value_id: council_tax_scotland + label: Scotland council tax receipts ordinal: 0 - row_number: 6 + row_number: 9 expected_row_header_column: B - expected_row_header: England council tax receipts + expected_row_header: Scotland council tax receipts table_record_kind: total measures: - measure_id: amount - label: England council tax receipts, FY2025-26 + label: Scotland council tax receipts, FY2024-25 ordinal: 0 - column: D + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.council_tax_england - source_concept: obr.council_tax_england + expected_column_header: 2024-25 + concept: obr.council_tax_scotland + source_concept: obr.council_tax_scotland concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 6 - ('England council tax receipts'), GBP billion. + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 9 + ('Scotland council tax receipts'), GBP billion. unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_england.fy2026 +- record_set_id: obr.efo_2026_03.expenditure.council_tax_wales.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_england.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_england.fy2026 + assertion: observation + record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_wales.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_wales.fy2024 sheet_name: '4.1' period_type: fiscal_year - period: 2026 + period: 2024 geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -161,40 +168,40 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: council_tax_england - label: England council tax receipts + - value_id: council_tax_wales + label: Wales council tax receipts ordinal: 0 - row_number: 6 + row_number: 12 expected_row_header_column: B - expected_row_header: England council tax receipts + expected_row_header: Wales council tax receipts table_record_kind: total measures: - measure_id: amount - label: England council tax receipts, FY2026-27 + label: Wales council tax receipts, FY2024-25 ordinal: 0 - column: E + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.council_tax_england - source_concept: obr.council_tax_england + expected_column_header: 2024-25 + concept: obr.council_tax_wales + source_concept: obr.council_tax_wales concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 6 - ('England council tax receipts'), GBP billion. + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 12 + ('Wales council tax receipts'), GBP billion. unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_england.fy2027 +- record_set_id: obr.efo_2026_03.expenditure.domestic_rates.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_england.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_england.fy2027 + assertion: observation + record_set_spec_id: obr.efo_2026_03.expenditure.domestic_rates.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.expenditure.domestic_rates.fy2024 sheet_name: '4.1' period_type: fiscal_year - period: 2027 + period: 2024 geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -204,40 +211,40 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: council_tax_england - label: England council tax receipts + - value_id: domestic_rates + label: NI domestic rates ordinal: 0 - row_number: 6 + row_number: 16 expected_row_header_column: B - expected_row_header: England council tax receipts + expected_row_header: NI domestic rates table_record_kind: total measures: - measure_id: amount - label: England council tax receipts, FY2027-28 + label: NI domestic rates, FY2024-25 ordinal: 0 - column: F + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.council_tax_england - source_concept: obr.council_tax_england + expected_column_header: 2024-25 + concept: obr.domestic_rates + source_concept: obr.domestic_rates concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 6 - ('England council tax receipts'), GBP billion. + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 16 + ('NI domestic rates'), GBP billion. unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_england.fy2028 +- record_set_id: obr.efo_2026_03.expenditure.council_tax_total.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_england.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_england.fy2028 + assertion: observation + record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_total.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_total.fy2024 sheet_name: '4.1' period_type: fiscal_year - period: 2028 + period: 2024 geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -247,6883 +254,462 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: council_tax_england - label: England council tax receipts + - value_id: council_tax_total + label: Total net council tax receipts1 ordinal: 0 - row_number: 6 + row_number: 19 expected_row_header_column: B - expected_row_header: England council tax receipts + expected_row_header: Total net council tax receipts1 table_record_kind: total measures: - measure_id: amount - label: England council tax receipts, FY2028-29 + label: Total net council tax receipts1, FY2024-25 ordinal: 0 - column: G + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.council_tax_england - source_concept: obr.council_tax_england + expected_column_header: 2024-25 + concept: obr.council_tax_total + source_concept: obr.council_tax_total concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 6 - ('England council tax receipts'), GBP billion. + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 19 + ('Total net council tax receipts1'), GBP billion. unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_england.fy2029 +- record_set_id: obr.efo_2026_03.expenditure.housing_benefit.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_england.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_england.fy2029 - sheet_name: '4.1' + assertion: observation + record_set_spec_id: obr.efo_2026_03.expenditure.housing_benefit.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.expenditure.housing_benefit.fy2024 + sheet_name: '4.9' period_type: fiscal_year - period: 2029 - geography_id: K02000001 + period: 2024 + geography_id: K03000001 geography_level: country - geography_name: United Kingdom + geography_name: Great Britain geography_vintage: current entity: person entity_role: resident_population domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: council_tax_england - label: England council tax receipts + - value_id: housing_benefit + label: Housing benefit (not on JSA)1 ordinal: 0 - row_number: 6 + row_number: 9 expected_row_header_column: B - expected_row_header: England council tax receipts + expected_row_header: Housing benefit (not on JSA)1 table_record_kind: total measures: - measure_id: amount - label: England council tax receipts, FY2029-30 + label: Housing benefit (not on JSA)1, FY2024-25 ordinal: 0 - column: H + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.council_tax_england - source_concept: obr.council_tax_england + expected_column_header: 2024-25 + concept: obr.housing_benefit + source_concept: obr.housing_benefit concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 6 - ('England council tax receipts'), GBP billion. + concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 9 + (''Housing benefit (not on JSA)1''), GBP billion. Geography: a DWP line, which DWP''s + benefit expenditure and caseload tables (Spring 2026, Notes 1 and 3; package + dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people + resident overseas receiving United Kingdom benefits; Northern Ireland''s social + security is on rows of its own.' unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_england.fy2030 +- record_set_id: obr.efo_2026_03.expenditure.dla_and_pip.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_england.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_england.fy2030 - sheet_name: '4.1' + assertion: observation + record_set_spec_id: obr.efo_2026_03.expenditure.dla_and_pip.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.expenditure.dla_and_pip.fy2024 + sheet_name: '4.9' period_type: fiscal_year - period: 2030 - geography_id: K02000001 + period: 2024 + geography_id: K04000001 geography_level: country - geography_name: United Kingdom + geography_name: England and Wales geography_vintage: current entity: person entity_role: resident_population domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: council_tax_england - label: England council tax receipts + - value_id: dla_and_pip + label: Disability living allowance and personal independence payments ordinal: 0 - row_number: 6 + row_number: 10 expected_row_header_column: B - expected_row_header: England council tax receipts + expected_row_header: Disability living allowance and personal independence payments table_record_kind: total measures: - measure_id: amount - label: England council tax receipts, FY2030-31 + label: Disability living allowance and personal independence payments, FY2024-25 ordinal: 0 - column: I + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.council_tax_england - source_concept: obr.council_tax_england + expected_column_header: 2024-25 + concept: obr.dla_and_pip + source_concept: obr.dla_and_pip concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 6 - ('England council tax receipts'), GBP billion. + concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 10 + (''Disability living allowance and personal independence payments''), GBP billion. + Geography: England and Wales, with people resident overseas. DWP''s tables (Spring + 2026, Notes 3 and 4) leave Scottish Disability Living Allowance and Personal + Independence Payment cases out from 1 April 2020, when executive competence moved to + the Scottish Government.' unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_scotland.fy2024 +- record_set_id: obr.efo_2026_03.expenditure.incapacity_benefits.fy2024 provenance_class: model_output assertion: observation - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_scotland.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_scotland.fy2024 - sheet_name: '4.1' + record_set_spec_id: obr.efo_2026_03.expenditure.incapacity_benefits.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.expenditure.incapacity_benefits.fy2024 + sheet_name: '4.9' period_type: fiscal_year period: 2024 - geography_id: K02000001 + geography_id: K03000001 geography_level: country - geography_name: United Kingdom + geography_name: Great Britain geography_vintage: current entity: person entity_role: resident_population domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: council_tax_scotland - label: Scotland council tax receipts + - value_id: incapacity_benefits + label: Incapacity benefits2 ordinal: 0 - row_number: 9 + row_number: 11 expected_row_header_column: B - expected_row_header: Scotland council tax receipts + expected_row_header: Incapacity benefits2 table_record_kind: total measures: - measure_id: amount - label: Scotland council tax receipts, FY2024-25 + label: Incapacity benefits2, FY2024-25 ordinal: 0 column: C source_column_id: amount expected_column_header_row: 5 expected_column_header: 2024-25 - concept: obr.council_tax_scotland - source_concept: obr.council_tax_scotland + concept: obr.incapacity_benefits + source_concept: obr.incapacity_benefits concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 9 - ('Scotland council tax receipts'), GBP billion. + concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 11 + (''Incapacity benefits2''), GBP billion. Geography: a DWP line, which DWP''s benefit + expenditure and caseload tables (Spring 2026, Notes 1 and 3; package + dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people + resident overseas receiving United Kingdom benefits; Northern Ireland''s social + security is on rows of its own. The line includes Severe Disablement Allowance, which + DWP gives for England and Wales only from 1 April 2020 (Notes 4); like DWP''s own + incapacity totals, it keeps Great Britain.' unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_scotland.fy2025 +- record_set_id: obr.efo_2026_03.expenditure.attendance_allowance.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_scotland.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_scotland.fy2025 - sheet_name: '4.1' + assertion: observation + record_set_spec_id: obr.efo_2026_03.expenditure.attendance_allowance.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.expenditure.attendance_allowance.fy2024 + sheet_name: '4.9' period_type: fiscal_year - period: 2025 - geography_id: K02000001 + period: 2024 + geography_id: K04000001 geography_level: country - geography_name: United Kingdom + geography_name: England and Wales geography_vintage: current entity: person entity_role: resident_population domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: council_tax_scotland - label: Scotland council tax receipts + - value_id: attendance_allowance + label: Attendance allowance ordinal: 0 - row_number: 9 + row_number: 12 expected_row_header_column: B - expected_row_header: Scotland council tax receipts + expected_row_header: Attendance allowance table_record_kind: total measures: - measure_id: amount - label: Scotland council tax receipts, FY2025-26 + label: Attendance allowance, FY2024-25 ordinal: 0 - column: D + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.council_tax_scotland - source_concept: obr.council_tax_scotland + expected_column_header: 2024-25 + concept: obr.attendance_allowance + source_concept: obr.attendance_allowance concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 9 - ('Scotland council tax receipts'), GBP billion. + concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 12 + (''Attendance allowance''), GBP billion. Geography: England and Wales, with people + resident overseas. DWP''s tables (Spring 2026, Notes 3 and 4) leave Scottish + Attendance Allowance cases out from 1 April 2020, when executive competence moved to + the Scottish Government.' unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_scotland.fy2026 +- record_set_id: obr.efo_2026_03.expenditure.pension_credit.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_scotland.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_scotland.fy2026 - sheet_name: '4.1' + assertion: observation + record_set_spec_id: obr.efo_2026_03.expenditure.pension_credit.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.expenditure.pension_credit.fy2024 + sheet_name: '4.9' period_type: fiscal_year - period: 2026 - geography_id: K02000001 + period: 2024 + geography_id: K03000001 geography_level: country - geography_name: United Kingdom + geography_name: Great Britain geography_vintage: current entity: person entity_role: resident_population domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: council_tax_scotland - label: Scotland council tax receipts + - value_id: pension_credit + label: Pension credit ordinal: 0 - row_number: 9 + row_number: 13 expected_row_header_column: B - expected_row_header: Scotland council tax receipts + expected_row_header: Pension credit table_record_kind: total measures: - measure_id: amount - label: Scotland council tax receipts, FY2026-27 + label: Pension credit, FY2024-25 ordinal: 0 - column: E + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.council_tax_scotland - source_concept: obr.council_tax_scotland - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 9 - ('Scotland council tax receipts'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_scotland.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_scotland.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_scotland.fy2027 - sheet_name: '4.1' - period_type: fiscal_year - period: 2027 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: council_tax_scotland - label: Scotland council tax receipts - ordinal: 0 - row_number: 9 - expected_row_header_column: B - expected_row_header: Scotland council tax receipts - table_record_kind: total - measures: - - measure_id: amount - label: Scotland council tax receipts, FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.council_tax_scotland - source_concept: obr.council_tax_scotland - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 9 - ('Scotland council tax receipts'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_scotland.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_scotland.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_scotland.fy2028 - sheet_name: '4.1' - period_type: fiscal_year - period: 2028 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: council_tax_scotland - label: Scotland council tax receipts - ordinal: 0 - row_number: 9 - expected_row_header_column: B - expected_row_header: Scotland council tax receipts - table_record_kind: total - measures: - - measure_id: amount - label: Scotland council tax receipts, FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.council_tax_scotland - source_concept: obr.council_tax_scotland - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 9 - ('Scotland council tax receipts'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_scotland.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_scotland.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_scotland.fy2029 - sheet_name: '4.1' - period_type: fiscal_year - period: 2029 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: council_tax_scotland - label: Scotland council tax receipts - ordinal: 0 - row_number: 9 - expected_row_header_column: B - expected_row_header: Scotland council tax receipts - table_record_kind: total - measures: - - measure_id: amount - label: Scotland council tax receipts, FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.council_tax_scotland - source_concept: obr.council_tax_scotland - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 9 - ('Scotland council tax receipts'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_scotland.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_scotland.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_scotland.fy2030 - sheet_name: '4.1' - period_type: fiscal_year - period: 2030 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: council_tax_scotland - label: Scotland council tax receipts - ordinal: 0 - row_number: 9 - expected_row_header_column: B - expected_row_header: Scotland council tax receipts - table_record_kind: total - measures: - - measure_id: amount - label: Scotland council tax receipts, FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.council_tax_scotland - source_concept: obr.council_tax_scotland - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 9 - ('Scotland council tax receipts'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_wales.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_wales.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_wales.fy2024 - sheet_name: '4.1' - period_type: fiscal_year - period: 2024 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: council_tax_wales - label: Wales council tax receipts - ordinal: 0 - row_number: 12 - expected_row_header_column: B - expected_row_header: Wales council tax receipts - table_record_kind: total - measures: - - measure_id: amount - label: Wales council tax receipts, FY2024-25 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.council_tax_wales - source_concept: obr.council_tax_wales - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 12 - ('Wales council tax receipts'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_wales.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_wales.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_wales.fy2025 - sheet_name: '4.1' - period_type: fiscal_year - period: 2025 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: council_tax_wales - label: Wales council tax receipts - ordinal: 0 - row_number: 12 - expected_row_header_column: B - expected_row_header: Wales council tax receipts - table_record_kind: total - measures: - - measure_id: amount - label: Wales council tax receipts, FY2025-26 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.council_tax_wales - source_concept: obr.council_tax_wales - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 12 - ('Wales council tax receipts'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_wales.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_wales.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_wales.fy2026 - sheet_name: '4.1' - period_type: fiscal_year - period: 2026 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: council_tax_wales - label: Wales council tax receipts - ordinal: 0 - row_number: 12 - expected_row_header_column: B - expected_row_header: Wales council tax receipts - table_record_kind: total - measures: - - measure_id: amount - label: Wales council tax receipts, FY2026-27 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.council_tax_wales - source_concept: obr.council_tax_wales - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 12 - ('Wales council tax receipts'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_wales.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_wales.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_wales.fy2027 - sheet_name: '4.1' - period_type: fiscal_year - period: 2027 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: council_tax_wales - label: Wales council tax receipts - ordinal: 0 - row_number: 12 - expected_row_header_column: B - expected_row_header: Wales council tax receipts - table_record_kind: total - measures: - - measure_id: amount - label: Wales council tax receipts, FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.council_tax_wales - source_concept: obr.council_tax_wales - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 12 - ('Wales council tax receipts'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_wales.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_wales.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_wales.fy2028 - sheet_name: '4.1' - period_type: fiscal_year - period: 2028 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: council_tax_wales - label: Wales council tax receipts - ordinal: 0 - row_number: 12 - expected_row_header_column: B - expected_row_header: Wales council tax receipts - table_record_kind: total - measures: - - measure_id: amount - label: Wales council tax receipts, FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.council_tax_wales - source_concept: obr.council_tax_wales - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 12 - ('Wales council tax receipts'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_wales.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_wales.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_wales.fy2029 - sheet_name: '4.1' - period_type: fiscal_year - period: 2029 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: council_tax_wales - label: Wales council tax receipts - ordinal: 0 - row_number: 12 - expected_row_header_column: B - expected_row_header: Wales council tax receipts - table_record_kind: total - measures: - - measure_id: amount - label: Wales council tax receipts, FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.council_tax_wales - source_concept: obr.council_tax_wales - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 12 - ('Wales council tax receipts'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_wales.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_wales.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_wales.fy2030 - sheet_name: '4.1' - period_type: fiscal_year - period: 2030 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: council_tax_wales - label: Wales council tax receipts - ordinal: 0 - row_number: 12 - expected_row_header_column: B - expected_row_header: Wales council tax receipts - table_record_kind: total - measures: - - measure_id: amount - label: Wales council tax receipts, FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.council_tax_wales - source_concept: obr.council_tax_wales - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 12 - ('Wales council tax receipts'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.domestic_rates.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.expenditure.domestic_rates.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.domestic_rates.fy2024 - sheet_name: '4.1' - period_type: fiscal_year - period: 2024 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: domestic_rates - label: NI domestic rates - ordinal: 0 - row_number: 16 - expected_row_header_column: B - expected_row_header: NI domestic rates - table_record_kind: total - measures: - - measure_id: amount - label: NI domestic rates, FY2024-25 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.domestic_rates - source_concept: obr.domestic_rates - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 16 - ('NI domestic rates'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.domestic_rates.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.domestic_rates.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.domestic_rates.fy2025 - sheet_name: '4.1' - period_type: fiscal_year - period: 2025 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: domestic_rates - label: NI domestic rates - ordinal: 0 - row_number: 16 - expected_row_header_column: B - expected_row_header: NI domestic rates - table_record_kind: total - measures: - - measure_id: amount - label: NI domestic rates, FY2025-26 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.domestic_rates - source_concept: obr.domestic_rates - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 16 - ('NI domestic rates'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.domestic_rates.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.domestic_rates.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.domestic_rates.fy2026 - sheet_name: '4.1' - period_type: fiscal_year - period: 2026 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: domestic_rates - label: NI domestic rates - ordinal: 0 - row_number: 16 - expected_row_header_column: B - expected_row_header: NI domestic rates - table_record_kind: total - measures: - - measure_id: amount - label: NI domestic rates, FY2026-27 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.domestic_rates - source_concept: obr.domestic_rates - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 16 - ('NI domestic rates'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.domestic_rates.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.domestic_rates.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.domestic_rates.fy2027 - sheet_name: '4.1' - period_type: fiscal_year - period: 2027 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: domestic_rates - label: NI domestic rates - ordinal: 0 - row_number: 16 - expected_row_header_column: B - expected_row_header: NI domestic rates - table_record_kind: total - measures: - - measure_id: amount - label: NI domestic rates, FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.domestic_rates - source_concept: obr.domestic_rates - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 16 - ('NI domestic rates'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.domestic_rates.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.domestic_rates.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.domestic_rates.fy2028 - sheet_name: '4.1' - period_type: fiscal_year - period: 2028 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: domestic_rates - label: NI domestic rates - ordinal: 0 - row_number: 16 - expected_row_header_column: B - expected_row_header: NI domestic rates - table_record_kind: total - measures: - - measure_id: amount - label: NI domestic rates, FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.domestic_rates - source_concept: obr.domestic_rates - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 16 - ('NI domestic rates'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.domestic_rates.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.domestic_rates.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.domestic_rates.fy2029 - sheet_name: '4.1' - period_type: fiscal_year - period: 2029 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: domestic_rates - label: NI domestic rates - ordinal: 0 - row_number: 16 - expected_row_header_column: B - expected_row_header: NI domestic rates - table_record_kind: total - measures: - - measure_id: amount - label: NI domestic rates, FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.domestic_rates - source_concept: obr.domestic_rates - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 16 - ('NI domestic rates'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.domestic_rates.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.domestic_rates.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.domestic_rates.fy2030 - sheet_name: '4.1' - period_type: fiscal_year - period: 2030 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: domestic_rates - label: NI domestic rates - ordinal: 0 - row_number: 16 - expected_row_header_column: B - expected_row_header: NI domestic rates - table_record_kind: total - measures: - - measure_id: amount - label: NI domestic rates, FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.domestic_rates - source_concept: obr.domestic_rates - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 16 - ('NI domestic rates'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_total.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_total.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_total.fy2024 - sheet_name: '4.1' - period_type: fiscal_year - period: 2024 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: council_tax_total - label: Total net council tax receipts1 - ordinal: 0 - row_number: 19 - expected_row_header_column: B - expected_row_header: Total net council tax receipts1 - table_record_kind: total - measures: - - measure_id: amount - label: Total net council tax receipts1, FY2024-25 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.council_tax_total - source_concept: obr.council_tax_total - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 19 - ('Total net council tax receipts1'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_total.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_total.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_total.fy2025 - sheet_name: '4.1' - period_type: fiscal_year - period: 2025 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: council_tax_total - label: Total net council tax receipts1 - ordinal: 0 - row_number: 19 - expected_row_header_column: B - expected_row_header: Total net council tax receipts1 - table_record_kind: total - measures: - - measure_id: amount - label: Total net council tax receipts1, FY2025-26 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.council_tax_total - source_concept: obr.council_tax_total - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 19 - ('Total net council tax receipts1'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_total.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_total.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_total.fy2026 - sheet_name: '4.1' - period_type: fiscal_year - period: 2026 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: council_tax_total - label: Total net council tax receipts1 - ordinal: 0 - row_number: 19 - expected_row_header_column: B - expected_row_header: Total net council tax receipts1 - table_record_kind: total - measures: - - measure_id: amount - label: Total net council tax receipts1, FY2026-27 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.council_tax_total - source_concept: obr.council_tax_total - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 19 - ('Total net council tax receipts1'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_total.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_total.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_total.fy2027 - sheet_name: '4.1' - period_type: fiscal_year - period: 2027 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: council_tax_total - label: Total net council tax receipts1 - ordinal: 0 - row_number: 19 - expected_row_header_column: B - expected_row_header: Total net council tax receipts1 - table_record_kind: total - measures: - - measure_id: amount - label: Total net council tax receipts1, FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.council_tax_total - source_concept: obr.council_tax_total - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 19 - ('Total net council tax receipts1'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_total.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_total.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_total.fy2028 - sheet_name: '4.1' - period_type: fiscal_year - period: 2028 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: council_tax_total - label: Total net council tax receipts1 - ordinal: 0 - row_number: 19 - expected_row_header_column: B - expected_row_header: Total net council tax receipts1 - table_record_kind: total - measures: - - measure_id: amount - label: Total net council tax receipts1, FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.council_tax_total - source_concept: obr.council_tax_total - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 19 - ('Total net council tax receipts1'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_total.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_total.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_total.fy2029 - sheet_name: '4.1' - period_type: fiscal_year - period: 2029 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: council_tax_total - label: Total net council tax receipts1 - ordinal: 0 - row_number: 19 - expected_row_header_column: B - expected_row_header: Total net council tax receipts1 - table_record_kind: total - measures: - - measure_id: amount - label: Total net council tax receipts1, FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.council_tax_total - source_concept: obr.council_tax_total - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 19 - ('Total net council tax receipts1'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_total.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_total.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_total.fy2030 - sheet_name: '4.1' - period_type: fiscal_year - period: 2030 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: council_tax_total - label: Total net council tax receipts1 - ordinal: 0 - row_number: 19 - expected_row_header_column: B - expected_row_header: Total net council tax receipts1 - table_record_kind: total - measures: - - measure_id: amount - label: Total net council tax receipts1, FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.council_tax_total - source_concept: obr.council_tax_total - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 19 - ('Total net council tax receipts1'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.housing_benefit.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.expenditure.housing_benefit.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.housing_benefit.fy2024 - sheet_name: '4.9' - period_type: fiscal_year - period: 2024 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: housing_benefit - label: Housing benefit (not on JSA)1 - ordinal: 0 - row_number: 9 - expected_row_header_column: B - expected_row_header: Housing benefit (not on JSA)1 - table_record_kind: total - measures: - - measure_id: amount - label: Housing benefit (not on JSA)1, FY2024-25 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.housing_benefit - source_concept: obr.housing_benefit - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 9 - (''Housing benefit (not on JSA)1''), GBP billion. Geography: a DWP line, which DWP''s - benefit expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.housing_benefit.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.housing_benefit.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.housing_benefit.fy2025 - sheet_name: '4.9' - period_type: fiscal_year - period: 2025 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: housing_benefit - label: Housing benefit (not on JSA)1 - ordinal: 0 - row_number: 9 - expected_row_header_column: B - expected_row_header: Housing benefit (not on JSA)1 - table_record_kind: total - measures: - - measure_id: amount - label: Housing benefit (not on JSA)1, FY2025-26 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.housing_benefit - source_concept: obr.housing_benefit - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 9 - (''Housing benefit (not on JSA)1''), GBP billion. Geography: a DWP line, which DWP''s - benefit expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.housing_benefit.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.housing_benefit.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.housing_benefit.fy2026 - sheet_name: '4.9' - period_type: fiscal_year - period: 2026 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: housing_benefit - label: Housing benefit (not on JSA)1 - ordinal: 0 - row_number: 9 - expected_row_header_column: B - expected_row_header: Housing benefit (not on JSA)1 - table_record_kind: total - measures: - - measure_id: amount - label: Housing benefit (not on JSA)1, FY2026-27 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.housing_benefit - source_concept: obr.housing_benefit - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 9 - (''Housing benefit (not on JSA)1''), GBP billion. Geography: a DWP line, which DWP''s - benefit expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.housing_benefit.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.housing_benefit.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.housing_benefit.fy2027 - sheet_name: '4.9' - period_type: fiscal_year - period: 2027 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: housing_benefit - label: Housing benefit (not on JSA)1 - ordinal: 0 - row_number: 9 - expected_row_header_column: B - expected_row_header: Housing benefit (not on JSA)1 - table_record_kind: total - measures: - - measure_id: amount - label: Housing benefit (not on JSA)1, FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.housing_benefit - source_concept: obr.housing_benefit - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 9 - (''Housing benefit (not on JSA)1''), GBP billion. Geography: a DWP line, which DWP''s - benefit expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.housing_benefit.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.housing_benefit.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.housing_benefit.fy2028 - sheet_name: '4.9' - period_type: fiscal_year - period: 2028 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: housing_benefit - label: Housing benefit (not on JSA)1 - ordinal: 0 - row_number: 9 - expected_row_header_column: B - expected_row_header: Housing benefit (not on JSA)1 - table_record_kind: total - measures: - - measure_id: amount - label: Housing benefit (not on JSA)1, FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.housing_benefit - source_concept: obr.housing_benefit - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 9 - (''Housing benefit (not on JSA)1''), GBP billion. Geography: a DWP line, which DWP''s - benefit expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.housing_benefit.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.housing_benefit.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.housing_benefit.fy2029 - sheet_name: '4.9' - period_type: fiscal_year - period: 2029 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: housing_benefit - label: Housing benefit (not on JSA)1 - ordinal: 0 - row_number: 9 - expected_row_header_column: B - expected_row_header: Housing benefit (not on JSA)1 - table_record_kind: total - measures: - - measure_id: amount - label: Housing benefit (not on JSA)1, FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.housing_benefit - source_concept: obr.housing_benefit - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 9 - (''Housing benefit (not on JSA)1''), GBP billion. Geography: a DWP line, which DWP''s - benefit expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.housing_benefit.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.housing_benefit.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.housing_benefit.fy2030 - sheet_name: '4.9' - period_type: fiscal_year - period: 2030 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: housing_benefit - label: Housing benefit (not on JSA)1 - ordinal: 0 - row_number: 9 - expected_row_header_column: B - expected_row_header: Housing benefit (not on JSA)1 - table_record_kind: total - measures: - - measure_id: amount - label: Housing benefit (not on JSA)1, FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.housing_benefit - source_concept: obr.housing_benefit - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 9 - (''Housing benefit (not on JSA)1''), GBP billion. Geography: a DWP line, which DWP''s - benefit expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.dla_and_pip.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.expenditure.dla_and_pip.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.dla_and_pip.fy2024 - sheet_name: '4.9' - period_type: fiscal_year - period: 2024 - geography_id: K04000001 - geography_level: country - geography_name: England and Wales - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: dla_and_pip - label: Disability living allowance and personal independence payments - ordinal: 0 - row_number: 10 - expected_row_header_column: B - expected_row_header: Disability living allowance and personal independence payments - table_record_kind: total - measures: - - measure_id: amount - label: Disability living allowance and personal independence payments, FY2024-25 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.dla_and_pip - source_concept: obr.dla_and_pip - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 10 - (''Disability living allowance and personal independence payments''), GBP billion. - Geography: England and Wales, with people resident overseas. DWP''s tables (Spring - 2026, Notes 3 and 4) leave Scottish Disability Living Allowance and Personal - Independence Payment cases out from 1 April 2020, when executive competence moved to - the Scottish Government.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.dla_and_pip.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.dla_and_pip.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.dla_and_pip.fy2025 - sheet_name: '4.9' - period_type: fiscal_year - period: 2025 - geography_id: K04000001 - geography_level: country - geography_name: England and Wales - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: dla_and_pip - label: Disability living allowance and personal independence payments - ordinal: 0 - row_number: 10 - expected_row_header_column: B - expected_row_header: Disability living allowance and personal independence payments - table_record_kind: total - measures: - - measure_id: amount - label: Disability living allowance and personal independence payments, FY2025-26 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.dla_and_pip - source_concept: obr.dla_and_pip - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 10 - (''Disability living allowance and personal independence payments''), GBP billion. - Geography: England and Wales, with people resident overseas. DWP''s tables (Spring - 2026, Notes 3 and 4) leave Scottish Disability Living Allowance and Personal - Independence Payment cases out from 1 April 2020, when executive competence moved to - the Scottish Government.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.dla_and_pip.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.dla_and_pip.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.dla_and_pip.fy2026 - sheet_name: '4.9' - period_type: fiscal_year - period: 2026 - geography_id: K04000001 - geography_level: country - geography_name: England and Wales - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: dla_and_pip - label: Disability living allowance and personal independence payments - ordinal: 0 - row_number: 10 - expected_row_header_column: B - expected_row_header: Disability living allowance and personal independence payments - table_record_kind: total - measures: - - measure_id: amount - label: Disability living allowance and personal independence payments, FY2026-27 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.dla_and_pip - source_concept: obr.dla_and_pip - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 10 - (''Disability living allowance and personal independence payments''), GBP billion. - Geography: England and Wales, with people resident overseas. DWP''s tables (Spring - 2026, Notes 3 and 4) leave Scottish Disability Living Allowance and Personal - Independence Payment cases out from 1 April 2020, when executive competence moved to - the Scottish Government.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.dla_and_pip.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.dla_and_pip.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.dla_and_pip.fy2027 - sheet_name: '4.9' - period_type: fiscal_year - period: 2027 - geography_id: K04000001 - geography_level: country - geography_name: England and Wales - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: dla_and_pip - label: Disability living allowance and personal independence payments - ordinal: 0 - row_number: 10 - expected_row_header_column: B - expected_row_header: Disability living allowance and personal independence payments - table_record_kind: total - measures: - - measure_id: amount - label: Disability living allowance and personal independence payments, FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.dla_and_pip - source_concept: obr.dla_and_pip - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 10 - (''Disability living allowance and personal independence payments''), GBP billion. - Geography: England and Wales, with people resident overseas. DWP''s tables (Spring - 2026, Notes 3 and 4) leave Scottish Disability Living Allowance and Personal - Independence Payment cases out from 1 April 2020, when executive competence moved to - the Scottish Government.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.dla_and_pip.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.dla_and_pip.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.dla_and_pip.fy2028 - sheet_name: '4.9' - period_type: fiscal_year - period: 2028 - geography_id: K04000001 - geography_level: country - geography_name: England and Wales - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: dla_and_pip - label: Disability living allowance and personal independence payments - ordinal: 0 - row_number: 10 - expected_row_header_column: B - expected_row_header: Disability living allowance and personal independence payments - table_record_kind: total - measures: - - measure_id: amount - label: Disability living allowance and personal independence payments, FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.dla_and_pip - source_concept: obr.dla_and_pip - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 10 - (''Disability living allowance and personal independence payments''), GBP billion. - Geography: England and Wales, with people resident overseas. DWP''s tables (Spring - 2026, Notes 3 and 4) leave Scottish Disability Living Allowance and Personal - Independence Payment cases out from 1 April 2020, when executive competence moved to - the Scottish Government.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.dla_and_pip.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.dla_and_pip.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.dla_and_pip.fy2029 - sheet_name: '4.9' - period_type: fiscal_year - period: 2029 - geography_id: K04000001 - geography_level: country - geography_name: England and Wales - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: dla_and_pip - label: Disability living allowance and personal independence payments - ordinal: 0 - row_number: 10 - expected_row_header_column: B - expected_row_header: Disability living allowance and personal independence payments - table_record_kind: total - measures: - - measure_id: amount - label: Disability living allowance and personal independence payments, FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.dla_and_pip - source_concept: obr.dla_and_pip - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 10 - (''Disability living allowance and personal independence payments''), GBP billion. - Geography: England and Wales, with people resident overseas. DWP''s tables (Spring - 2026, Notes 3 and 4) leave Scottish Disability Living Allowance and Personal - Independence Payment cases out from 1 April 2020, when executive competence moved to - the Scottish Government.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.dla_and_pip.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.dla_and_pip.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.dla_and_pip.fy2030 - sheet_name: '4.9' - period_type: fiscal_year - period: 2030 - geography_id: K04000001 - geography_level: country - geography_name: England and Wales - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: dla_and_pip - label: Disability living allowance and personal independence payments - ordinal: 0 - row_number: 10 - expected_row_header_column: B - expected_row_header: Disability living allowance and personal independence payments - table_record_kind: total - measures: - - measure_id: amount - label: Disability living allowance and personal independence payments, FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.dla_and_pip - source_concept: obr.dla_and_pip - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 10 - (''Disability living allowance and personal independence payments''), GBP billion. - Geography: England and Wales, with people resident overseas. DWP''s tables (Spring - 2026, Notes 3 and 4) leave Scottish Disability Living Allowance and Personal - Independence Payment cases out from 1 April 2020, when executive competence moved to - the Scottish Government.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.incapacity_benefits.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.expenditure.incapacity_benefits.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.incapacity_benefits.fy2024 - sheet_name: '4.9' - period_type: fiscal_year - period: 2024 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: incapacity_benefits - label: Incapacity benefits2 - ordinal: 0 - row_number: 11 - expected_row_header_column: B - expected_row_header: Incapacity benefits2 - table_record_kind: total - measures: - - measure_id: amount - label: Incapacity benefits2, FY2024-25 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.incapacity_benefits - source_concept: obr.incapacity_benefits - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 11 - (''Incapacity benefits2''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own. The line includes Severe Disablement Allowance, which - DWP gives for England and Wales only from 1 April 2020 (Notes 4); like DWP''s own - incapacity totals, it keeps Great Britain.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.incapacity_benefits.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.incapacity_benefits.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.incapacity_benefits.fy2025 - sheet_name: '4.9' - period_type: fiscal_year - period: 2025 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: incapacity_benefits - label: Incapacity benefits2 - ordinal: 0 - row_number: 11 - expected_row_header_column: B - expected_row_header: Incapacity benefits2 - table_record_kind: total - measures: - - measure_id: amount - label: Incapacity benefits2, FY2025-26 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.incapacity_benefits - source_concept: obr.incapacity_benefits - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 11 - (''Incapacity benefits2''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own. The line includes Severe Disablement Allowance, which - DWP gives for England and Wales only from 1 April 2020 (Notes 4); like DWP''s own - incapacity totals, it keeps Great Britain.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.incapacity_benefits.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.incapacity_benefits.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.incapacity_benefits.fy2026 - sheet_name: '4.9' - period_type: fiscal_year - period: 2026 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: incapacity_benefits - label: Incapacity benefits2 - ordinal: 0 - row_number: 11 - expected_row_header_column: B - expected_row_header: Incapacity benefits2 - table_record_kind: total - measures: - - measure_id: amount - label: Incapacity benefits2, FY2026-27 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.incapacity_benefits - source_concept: obr.incapacity_benefits - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 11 - (''Incapacity benefits2''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own. The line includes Severe Disablement Allowance, which - DWP gives for England and Wales only from 1 April 2020 (Notes 4); like DWP''s own - incapacity totals, it keeps Great Britain.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.incapacity_benefits.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.incapacity_benefits.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.incapacity_benefits.fy2027 - sheet_name: '4.9' - period_type: fiscal_year - period: 2027 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: incapacity_benefits - label: Incapacity benefits2 - ordinal: 0 - row_number: 11 - expected_row_header_column: B - expected_row_header: Incapacity benefits2 - table_record_kind: total - measures: - - measure_id: amount - label: Incapacity benefits2, FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.incapacity_benefits - source_concept: obr.incapacity_benefits - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 11 - (''Incapacity benefits2''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own. The line includes Severe Disablement Allowance, which - DWP gives for England and Wales only from 1 April 2020 (Notes 4); like DWP''s own - incapacity totals, it keeps Great Britain.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.incapacity_benefits.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.incapacity_benefits.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.incapacity_benefits.fy2028 - sheet_name: '4.9' - period_type: fiscal_year - period: 2028 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: incapacity_benefits - label: Incapacity benefits2 - ordinal: 0 - row_number: 11 - expected_row_header_column: B - expected_row_header: Incapacity benefits2 - table_record_kind: total - measures: - - measure_id: amount - label: Incapacity benefits2, FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.incapacity_benefits - source_concept: obr.incapacity_benefits - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 11 - (''Incapacity benefits2''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own. The line includes Severe Disablement Allowance, which - DWP gives for England and Wales only from 1 April 2020 (Notes 4); like DWP''s own - incapacity totals, it keeps Great Britain.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.incapacity_benefits.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.incapacity_benefits.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.incapacity_benefits.fy2029 - sheet_name: '4.9' - period_type: fiscal_year - period: 2029 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: incapacity_benefits - label: Incapacity benefits2 - ordinal: 0 - row_number: 11 - expected_row_header_column: B - expected_row_header: Incapacity benefits2 - table_record_kind: total - measures: - - measure_id: amount - label: Incapacity benefits2, FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.incapacity_benefits - source_concept: obr.incapacity_benefits - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 11 - (''Incapacity benefits2''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own. The line includes Severe Disablement Allowance, which - DWP gives for England and Wales only from 1 April 2020 (Notes 4); like DWP''s own - incapacity totals, it keeps Great Britain.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.incapacity_benefits.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.incapacity_benefits.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.incapacity_benefits.fy2030 - sheet_name: '4.9' - period_type: fiscal_year - period: 2030 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: incapacity_benefits - label: Incapacity benefits2 - ordinal: 0 - row_number: 11 - expected_row_header_column: B - expected_row_header: Incapacity benefits2 - table_record_kind: total - measures: - - measure_id: amount - label: Incapacity benefits2, FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.incapacity_benefits - source_concept: obr.incapacity_benefits - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 11 - (''Incapacity benefits2''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own. The line includes Severe Disablement Allowance, which - DWP gives for England and Wales only from 1 April 2020 (Notes 4); like DWP''s own - incapacity totals, it keeps Great Britain.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.attendance_allowance.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.expenditure.attendance_allowance.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.attendance_allowance.fy2024 - sheet_name: '4.9' - period_type: fiscal_year - period: 2024 - geography_id: K04000001 - geography_level: country - geography_name: England and Wales - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: attendance_allowance - label: Attendance allowance - ordinal: 0 - row_number: 12 - expected_row_header_column: B - expected_row_header: Attendance allowance - table_record_kind: total - measures: - - measure_id: amount - label: Attendance allowance, FY2024-25 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.attendance_allowance - source_concept: obr.attendance_allowance - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 12 - (''Attendance allowance''), GBP billion. Geography: England and Wales, with people - resident overseas. DWP''s tables (Spring 2026, Notes 3 and 4) leave Scottish - Attendance Allowance cases out from 1 April 2020, when executive competence moved to - the Scottish Government.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.attendance_allowance.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.attendance_allowance.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.attendance_allowance.fy2025 - sheet_name: '4.9' - period_type: fiscal_year - period: 2025 - geography_id: K04000001 - geography_level: country - geography_name: England and Wales - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: attendance_allowance - label: Attendance allowance - ordinal: 0 - row_number: 12 - expected_row_header_column: B - expected_row_header: Attendance allowance - table_record_kind: total - measures: - - measure_id: amount - label: Attendance allowance, FY2025-26 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.attendance_allowance - source_concept: obr.attendance_allowance - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 12 - (''Attendance allowance''), GBP billion. Geography: England and Wales, with people - resident overseas. DWP''s tables (Spring 2026, Notes 3 and 4) leave Scottish - Attendance Allowance cases out from 1 April 2020, when executive competence moved to - the Scottish Government.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.attendance_allowance.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.attendance_allowance.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.attendance_allowance.fy2026 - sheet_name: '4.9' - period_type: fiscal_year - period: 2026 - geography_id: K04000001 - geography_level: country - geography_name: England and Wales - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: attendance_allowance - label: Attendance allowance - ordinal: 0 - row_number: 12 - expected_row_header_column: B - expected_row_header: Attendance allowance - table_record_kind: total - measures: - - measure_id: amount - label: Attendance allowance, FY2026-27 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.attendance_allowance - source_concept: obr.attendance_allowance - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 12 - (''Attendance allowance''), GBP billion. Geography: England and Wales, with people - resident overseas. DWP''s tables (Spring 2026, Notes 3 and 4) leave Scottish - Attendance Allowance cases out from 1 April 2020, when executive competence moved to - the Scottish Government.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.attendance_allowance.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.attendance_allowance.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.attendance_allowance.fy2027 - sheet_name: '4.9' - period_type: fiscal_year - period: 2027 - geography_id: K04000001 - geography_level: country - geography_name: England and Wales - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: attendance_allowance - label: Attendance allowance - ordinal: 0 - row_number: 12 - expected_row_header_column: B - expected_row_header: Attendance allowance - table_record_kind: total - measures: - - measure_id: amount - label: Attendance allowance, FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.attendance_allowance - source_concept: obr.attendance_allowance - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 12 - (''Attendance allowance''), GBP billion. Geography: England and Wales, with people - resident overseas. DWP''s tables (Spring 2026, Notes 3 and 4) leave Scottish - Attendance Allowance cases out from 1 April 2020, when executive competence moved to - the Scottish Government.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.attendance_allowance.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.attendance_allowance.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.attendance_allowance.fy2028 - sheet_name: '4.9' - period_type: fiscal_year - period: 2028 - geography_id: K04000001 - geography_level: country - geography_name: England and Wales - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: attendance_allowance - label: Attendance allowance - ordinal: 0 - row_number: 12 - expected_row_header_column: B - expected_row_header: Attendance allowance - table_record_kind: total - measures: - - measure_id: amount - label: Attendance allowance, FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.attendance_allowance - source_concept: obr.attendance_allowance - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 12 - (''Attendance allowance''), GBP billion. Geography: England and Wales, with people - resident overseas. DWP''s tables (Spring 2026, Notes 3 and 4) leave Scottish - Attendance Allowance cases out from 1 April 2020, when executive competence moved to - the Scottish Government.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.attendance_allowance.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.attendance_allowance.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.attendance_allowance.fy2029 - sheet_name: '4.9' - period_type: fiscal_year - period: 2029 - geography_id: K04000001 - geography_level: country - geography_name: England and Wales - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: attendance_allowance - label: Attendance allowance - ordinal: 0 - row_number: 12 - expected_row_header_column: B - expected_row_header: Attendance allowance - table_record_kind: total - measures: - - measure_id: amount - label: Attendance allowance, FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.attendance_allowance - source_concept: obr.attendance_allowance - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 12 - (''Attendance allowance''), GBP billion. Geography: England and Wales, with people - resident overseas. DWP''s tables (Spring 2026, Notes 3 and 4) leave Scottish - Attendance Allowance cases out from 1 April 2020, when executive competence moved to - the Scottish Government.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.attendance_allowance.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.attendance_allowance.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.attendance_allowance.fy2030 - sheet_name: '4.9' - period_type: fiscal_year - period: 2030 - geography_id: K04000001 - geography_level: country - geography_name: England and Wales - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: attendance_allowance - label: Attendance allowance - ordinal: 0 - row_number: 12 - expected_row_header_column: B - expected_row_header: Attendance allowance - table_record_kind: total - measures: - - measure_id: amount - label: Attendance allowance, FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.attendance_allowance - source_concept: obr.attendance_allowance - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 12 - (''Attendance allowance''), GBP billion. Geography: England and Wales, with people - resident overseas. DWP''s tables (Spring 2026, Notes 3 and 4) leave Scottish - Attendance Allowance cases out from 1 April 2020, when executive competence moved to - the Scottish Government.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.pension_credit.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.expenditure.pension_credit.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.pension_credit.fy2024 - sheet_name: '4.9' - period_type: fiscal_year - period: 2024 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: pension_credit - label: Pension credit - ordinal: 0 - row_number: 13 - expected_row_header_column: B - expected_row_header: Pension credit - table_record_kind: total - measures: - - measure_id: amount - label: Pension credit, FY2024-25 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.pension_credit - source_concept: obr.pension_credit - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 13 - (''Pension credit''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.pension_credit.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.pension_credit.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.pension_credit.fy2025 - sheet_name: '4.9' - period_type: fiscal_year - period: 2025 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: pension_credit - label: Pension credit - ordinal: 0 - row_number: 13 - expected_row_header_column: B - expected_row_header: Pension credit - table_record_kind: total - measures: - - measure_id: amount - label: Pension credit, FY2025-26 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.pension_credit - source_concept: obr.pension_credit - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 13 - (''Pension credit''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.pension_credit.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.pension_credit.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.pension_credit.fy2026 - sheet_name: '4.9' - period_type: fiscal_year - period: 2026 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: pension_credit - label: Pension credit - ordinal: 0 - row_number: 13 - expected_row_header_column: B - expected_row_header: Pension credit - table_record_kind: total - measures: - - measure_id: amount - label: Pension credit, FY2026-27 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.pension_credit - source_concept: obr.pension_credit - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 13 - (''Pension credit''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.pension_credit.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.pension_credit.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.pension_credit.fy2027 - sheet_name: '4.9' - period_type: fiscal_year - period: 2027 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: pension_credit - label: Pension credit - ordinal: 0 - row_number: 13 - expected_row_header_column: B - expected_row_header: Pension credit - table_record_kind: total - measures: - - measure_id: amount - label: Pension credit, FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.pension_credit - source_concept: obr.pension_credit - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 13 - (''Pension credit''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.pension_credit.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.pension_credit.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.pension_credit.fy2028 - sheet_name: '4.9' - period_type: fiscal_year - period: 2028 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: pension_credit - label: Pension credit - ordinal: 0 - row_number: 13 - expected_row_header_column: B - expected_row_header: Pension credit - table_record_kind: total - measures: - - measure_id: amount - label: Pension credit, FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.pension_credit - source_concept: obr.pension_credit - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 13 - (''Pension credit''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.pension_credit.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.pension_credit.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.pension_credit.fy2029 - sheet_name: '4.9' - period_type: fiscal_year - period: 2029 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: pension_credit - label: Pension credit - ordinal: 0 - row_number: 13 - expected_row_header_column: B - expected_row_header: Pension credit - table_record_kind: total - measures: - - measure_id: amount - label: Pension credit, FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.pension_credit - source_concept: obr.pension_credit - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 13 - (''Pension credit''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.pension_credit.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.pension_credit.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.pension_credit.fy2030 - sheet_name: '4.9' - period_type: fiscal_year - period: 2030 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: pension_credit - label: Pension credit - ordinal: 0 - row_number: 13 - expected_row_header_column: B - expected_row_header: Pension credit - table_record_kind: total - measures: - - measure_id: amount - label: Pension credit, FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.pension_credit - source_concept: obr.pension_credit - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 13 - (''Pension credit''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.carers_allowance.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.expenditure.carers_allowance.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.carers_allowance.fy2024 - sheet_name: '4.9' - period_type: fiscal_year - period: 2024 - geography_id: K04000001 - geography_level: country - geography_name: England and Wales - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: carers_allowance - label: Carer's allowance - ordinal: 0 - row_number: 14 - expected_row_header_column: B - expected_row_header: Carer's allowance - table_record_kind: total - measures: - - measure_id: amount - label: Carer's allowance, FY2024-25 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.carers_allowance - source_concept: obr.carers_allowance - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 14 - (''Carer''s allowance''), GBP billion. Geography: England and Wales, with people - resident overseas. DWP''s tables (Spring 2026, Notes 3 and 4) leave Scottish Carer''s - Allowance cases out from 3 September 2018, when executive competence moved to the - Scottish Government.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.carers_allowance.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.carers_allowance.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.carers_allowance.fy2025 - sheet_name: '4.9' - period_type: fiscal_year - period: 2025 - geography_id: K04000001 - geography_level: country - geography_name: England and Wales - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: carers_allowance - label: Carer's allowance - ordinal: 0 - row_number: 14 - expected_row_header_column: B - expected_row_header: Carer's allowance - table_record_kind: total - measures: - - measure_id: amount - label: Carer's allowance, FY2025-26 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.carers_allowance - source_concept: obr.carers_allowance - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 14 - (''Carer''s allowance''), GBP billion. Geography: England and Wales, with people - resident overseas. DWP''s tables (Spring 2026, Notes 3 and 4) leave Scottish Carer''s - Allowance cases out from 3 September 2018, when executive competence moved to the - Scottish Government.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.carers_allowance.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.carers_allowance.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.carers_allowance.fy2026 - sheet_name: '4.9' - period_type: fiscal_year - period: 2026 - geography_id: K04000001 - geography_level: country - geography_name: England and Wales - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: carers_allowance - label: Carer's allowance - ordinal: 0 - row_number: 14 - expected_row_header_column: B - expected_row_header: Carer's allowance - table_record_kind: total - measures: - - measure_id: amount - label: Carer's allowance, FY2026-27 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.carers_allowance - source_concept: obr.carers_allowance - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 14 - (''Carer''s allowance''), GBP billion. Geography: England and Wales, with people - resident overseas. DWP''s tables (Spring 2026, Notes 3 and 4) leave Scottish Carer''s - Allowance cases out from 3 September 2018, when executive competence moved to the - Scottish Government.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.carers_allowance.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.carers_allowance.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.carers_allowance.fy2027 - sheet_name: '4.9' - period_type: fiscal_year - period: 2027 - geography_id: K04000001 - geography_level: country - geography_name: England and Wales - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: carers_allowance - label: Carer's allowance - ordinal: 0 - row_number: 14 - expected_row_header_column: B - expected_row_header: Carer's allowance - table_record_kind: total - measures: - - measure_id: amount - label: Carer's allowance, FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.carers_allowance - source_concept: obr.carers_allowance - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 14 - (''Carer''s allowance''), GBP billion. Geography: England and Wales, with people - resident overseas. DWP''s tables (Spring 2026, Notes 3 and 4) leave Scottish Carer''s - Allowance cases out from 3 September 2018, when executive competence moved to the - Scottish Government.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.carers_allowance.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.carers_allowance.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.carers_allowance.fy2028 - sheet_name: '4.9' - period_type: fiscal_year - period: 2028 - geography_id: K04000001 - geography_level: country - geography_name: England and Wales - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: carers_allowance - label: Carer's allowance - ordinal: 0 - row_number: 14 - expected_row_header_column: B - expected_row_header: Carer's allowance - table_record_kind: total - measures: - - measure_id: amount - label: Carer's allowance, FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.carers_allowance - source_concept: obr.carers_allowance - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 14 - (''Carer''s allowance''), GBP billion. Geography: England and Wales, with people - resident overseas. DWP''s tables (Spring 2026, Notes 3 and 4) leave Scottish Carer''s - Allowance cases out from 3 September 2018, when executive competence moved to the - Scottish Government.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.carers_allowance.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.carers_allowance.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.carers_allowance.fy2029 - sheet_name: '4.9' - period_type: fiscal_year - period: 2029 - geography_id: K04000001 - geography_level: country - geography_name: England and Wales - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: carers_allowance - label: Carer's allowance - ordinal: 0 - row_number: 14 - expected_row_header_column: B - expected_row_header: Carer's allowance - table_record_kind: total - measures: - - measure_id: amount - label: Carer's allowance, FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.carers_allowance - source_concept: obr.carers_allowance - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 14 - (''Carer''s allowance''), GBP billion. Geography: England and Wales, with people - resident overseas. DWP''s tables (Spring 2026, Notes 3 and 4) leave Scottish Carer''s - Allowance cases out from 3 September 2018, when executive competence moved to the - Scottish Government.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.carers_allowance.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.carers_allowance.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.carers_allowance.fy2030 - sheet_name: '4.9' - period_type: fiscal_year - period: 2030 - geography_id: K04000001 - geography_level: country - geography_name: England and Wales - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: carers_allowance - label: Carer's allowance - ordinal: 0 - row_number: 14 - expected_row_header_column: B - expected_row_header: Carer's allowance - table_record_kind: total - measures: - - measure_id: amount - label: Carer's allowance, FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.carers_allowance - source_concept: obr.carers_allowance - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 14 - (''Carer''s allowance''), GBP billion. Geography: England and Wales, with people - resident overseas. DWP''s tables (Spring 2026, Notes 3 and 4) leave Scottish Carer''s - Allowance cases out from 3 September 2018, when executive competence moved to the - Scottish Government.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.statutory_maternity_pay.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.expenditure.statutory_maternity_pay.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.statutory_maternity_pay.fy2024 - sheet_name: '4.9' - period_type: fiscal_year - period: 2024 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: statutory_maternity_pay - label: Statutory maternity pay - ordinal: 0 - row_number: 15 - expected_row_header_column: B - expected_row_header: Statutory maternity pay - table_record_kind: total - measures: - - measure_id: amount - label: Statutory maternity pay, FY2024-25 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.statutory_maternity_pay - source_concept: obr.statutory_maternity_pay - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 15 - (''Statutory maternity pay''), GBP billion. Geography: a DWP line, which DWP''s - benefit expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.statutory_maternity_pay.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.statutory_maternity_pay.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.statutory_maternity_pay.fy2025 - sheet_name: '4.9' - period_type: fiscal_year - period: 2025 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: statutory_maternity_pay - label: Statutory maternity pay - ordinal: 0 - row_number: 15 - expected_row_header_column: B - expected_row_header: Statutory maternity pay - table_record_kind: total - measures: - - measure_id: amount - label: Statutory maternity pay, FY2025-26 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.statutory_maternity_pay - source_concept: obr.statutory_maternity_pay - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 15 - (''Statutory maternity pay''), GBP billion. Geography: a DWP line, which DWP''s - benefit expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.statutory_maternity_pay.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.statutory_maternity_pay.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.statutory_maternity_pay.fy2026 - sheet_name: '4.9' - period_type: fiscal_year - period: 2026 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: statutory_maternity_pay - label: Statutory maternity pay - ordinal: 0 - row_number: 15 - expected_row_header_column: B - expected_row_header: Statutory maternity pay - table_record_kind: total - measures: - - measure_id: amount - label: Statutory maternity pay, FY2026-27 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.statutory_maternity_pay - source_concept: obr.statutory_maternity_pay - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 15 - (''Statutory maternity pay''), GBP billion. Geography: a DWP line, which DWP''s - benefit expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.statutory_maternity_pay.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.statutory_maternity_pay.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.statutory_maternity_pay.fy2027 - sheet_name: '4.9' - period_type: fiscal_year - period: 2027 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: statutory_maternity_pay - label: Statutory maternity pay - ordinal: 0 - row_number: 15 - expected_row_header_column: B - expected_row_header: Statutory maternity pay - table_record_kind: total - measures: - - measure_id: amount - label: Statutory maternity pay, FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.statutory_maternity_pay - source_concept: obr.statutory_maternity_pay - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 15 - (''Statutory maternity pay''), GBP billion. Geography: a DWP line, which DWP''s - benefit expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.statutory_maternity_pay.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.statutory_maternity_pay.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.statutory_maternity_pay.fy2028 - sheet_name: '4.9' - period_type: fiscal_year - period: 2028 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: statutory_maternity_pay - label: Statutory maternity pay - ordinal: 0 - row_number: 15 - expected_row_header_column: B - expected_row_header: Statutory maternity pay - table_record_kind: total - measures: - - measure_id: amount - label: Statutory maternity pay, FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.statutory_maternity_pay - source_concept: obr.statutory_maternity_pay - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 15 - (''Statutory maternity pay''), GBP billion. Geography: a DWP line, which DWP''s - benefit expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.statutory_maternity_pay.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.statutory_maternity_pay.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.statutory_maternity_pay.fy2029 - sheet_name: '4.9' - period_type: fiscal_year - period: 2029 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: statutory_maternity_pay - label: Statutory maternity pay - ordinal: 0 - row_number: 15 - expected_row_header_column: B - expected_row_header: Statutory maternity pay - table_record_kind: total - measures: - - measure_id: amount - label: Statutory maternity pay, FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.statutory_maternity_pay - source_concept: obr.statutory_maternity_pay - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 15 - (''Statutory maternity pay''), GBP billion. Geography: a DWP line, which DWP''s - benefit expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.statutory_maternity_pay.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.statutory_maternity_pay.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.statutory_maternity_pay.fy2030 - sheet_name: '4.9' - period_type: fiscal_year - period: 2030 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: statutory_maternity_pay - label: Statutory maternity pay - ordinal: 0 - row_number: 15 - expected_row_header_column: B - expected_row_header: Statutory maternity pay - table_record_kind: total - measures: - - measure_id: amount - label: Statutory maternity pay, FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.statutory_maternity_pay - source_concept: obr.statutory_maternity_pay - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 15 - (''Statutory maternity pay''), GBP billion. Geography: a DWP line, which DWP''s - benefit expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.winter_fuel_payment.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.expenditure.winter_fuel_payment.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.winter_fuel_payment.fy2024 - sheet_name: '4.9' - period_type: fiscal_year - period: 2024 - geography_id: K04000001 - geography_level: country - geography_name: England and Wales - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: winter_fuel_payment - label: Winter fuel payment - ordinal: 0 - row_number: 17 - expected_row_header_column: B - expected_row_header: Winter fuel payment - table_record_kind: total - measures: - - measure_id: amount - label: Winter fuel payment, FY2024-25 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.winter_fuel_payment - source_concept: obr.winter_fuel_payment - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 17 - (''Winter fuel payment''), GBP billion. Geography: England and Wales, with people - resident overseas. DWP''s tables (Spring 2026, Notes 3 and 4) leave Scottish Winter - Fuel Payment cases out from April 2024, when the payment was devolved; 2024-25 is the - table''s first year.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.winter_fuel_payment.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.winter_fuel_payment.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.winter_fuel_payment.fy2025 - sheet_name: '4.9' - period_type: fiscal_year - period: 2025 - geography_id: K04000001 - geography_level: country - geography_name: England and Wales - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: winter_fuel_payment - label: Winter fuel payment - ordinal: 0 - row_number: 17 - expected_row_header_column: B - expected_row_header: Winter fuel payment - table_record_kind: total - measures: - - measure_id: amount - label: Winter fuel payment, FY2025-26 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.winter_fuel_payment - source_concept: obr.winter_fuel_payment - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 17 - (''Winter fuel payment''), GBP billion. Geography: England and Wales, with people - resident overseas. DWP''s tables (Spring 2026, Notes 3 and 4) leave Scottish Winter - Fuel Payment cases out from April 2024, when the payment was devolved; 2024-25 is the - table''s first year.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.winter_fuel_payment.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.winter_fuel_payment.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.winter_fuel_payment.fy2026 - sheet_name: '4.9' - period_type: fiscal_year - period: 2026 - geography_id: K04000001 - geography_level: country - geography_name: England and Wales - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: winter_fuel_payment - label: Winter fuel payment - ordinal: 0 - row_number: 17 - expected_row_header_column: B - expected_row_header: Winter fuel payment - table_record_kind: total - measures: - - measure_id: amount - label: Winter fuel payment, FY2026-27 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.winter_fuel_payment - source_concept: obr.winter_fuel_payment - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 17 - (''Winter fuel payment''), GBP billion. Geography: England and Wales, with people - resident overseas. DWP''s tables (Spring 2026, Notes 3 and 4) leave Scottish Winter - Fuel Payment cases out from April 2024, when the payment was devolved; 2024-25 is the - table''s first year.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.winter_fuel_payment.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.winter_fuel_payment.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.winter_fuel_payment.fy2027 - sheet_name: '4.9' - period_type: fiscal_year - period: 2027 - geography_id: K04000001 - geography_level: country - geography_name: England and Wales - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: winter_fuel_payment - label: Winter fuel payment - ordinal: 0 - row_number: 17 - expected_row_header_column: B - expected_row_header: Winter fuel payment - table_record_kind: total - measures: - - measure_id: amount - label: Winter fuel payment, FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.winter_fuel_payment - source_concept: obr.winter_fuel_payment - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 17 - (''Winter fuel payment''), GBP billion. Geography: England and Wales, with people - resident overseas. DWP''s tables (Spring 2026, Notes 3 and 4) leave Scottish Winter - Fuel Payment cases out from April 2024, when the payment was devolved; 2024-25 is the - table''s first year.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.winter_fuel_payment.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.winter_fuel_payment.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.winter_fuel_payment.fy2028 - sheet_name: '4.9' - period_type: fiscal_year - period: 2028 - geography_id: K04000001 - geography_level: country - geography_name: England and Wales - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: winter_fuel_payment - label: Winter fuel payment - ordinal: 0 - row_number: 17 - expected_row_header_column: B - expected_row_header: Winter fuel payment - table_record_kind: total - measures: - - measure_id: amount - label: Winter fuel payment, FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.winter_fuel_payment - source_concept: obr.winter_fuel_payment - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 17 - (''Winter fuel payment''), GBP billion. Geography: England and Wales, with people - resident overseas. DWP''s tables (Spring 2026, Notes 3 and 4) leave Scottish Winter - Fuel Payment cases out from April 2024, when the payment was devolved; 2024-25 is the - table''s first year.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.winter_fuel_payment.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.winter_fuel_payment.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.winter_fuel_payment.fy2029 - sheet_name: '4.9' - period_type: fiscal_year - period: 2029 - geography_id: K04000001 - geography_level: country - geography_name: England and Wales - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: winter_fuel_payment - label: Winter fuel payment - ordinal: 0 - row_number: 17 - expected_row_header_column: B - expected_row_header: Winter fuel payment - table_record_kind: total - measures: - - measure_id: amount - label: Winter fuel payment, FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.winter_fuel_payment - source_concept: obr.winter_fuel_payment - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 17 - (''Winter fuel payment''), GBP billion. Geography: England and Wales, with people - resident overseas. DWP''s tables (Spring 2026, Notes 3 and 4) leave Scottish Winter - Fuel Payment cases out from April 2024, when the payment was devolved; 2024-25 is the - table''s first year.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.winter_fuel_payment.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.winter_fuel_payment.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.winter_fuel_payment.fy2030 - sheet_name: '4.9' - period_type: fiscal_year - period: 2030 - geography_id: K04000001 - geography_level: country - geography_name: England and Wales - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: winter_fuel_payment - label: Winter fuel payment - ordinal: 0 - row_number: 17 - expected_row_header_column: B - expected_row_header: Winter fuel payment - table_record_kind: total - measures: - - measure_id: amount - label: Winter fuel payment, FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.winter_fuel_payment - source_concept: obr.winter_fuel_payment - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 17 - (''Winter fuel payment''), GBP billion. Geography: England and Wales, with people - resident overseas. DWP''s tables (Spring 2026, Notes 3 and 4) leave Scottish Winter - Fuel Payment cases out from April 2024, when the payment was devolved; 2024-25 is the - table''s first year.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.universal_credit_in_cap.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.expenditure.universal_credit_in_cap.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.universal_credit_in_cap.fy2024 - sheet_name: '4.9' - period_type: fiscal_year - period: 2024 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: universal_credit_in_cap - label: Universal credit - ordinal: 0 - row_number: 18 - expected_row_header_column: B - expected_row_header: Universal credit - table_record_kind: total - measures: - - measure_id: amount - label: Universal credit, FY2024-25 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.universal_credit_in_cap - source_concept: obr.universal_credit_in_cap - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 18 - (''Universal credit''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.universal_credit_in_cap.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.universal_credit_in_cap.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.universal_credit_in_cap.fy2025 - sheet_name: '4.9' - period_type: fiscal_year - period: 2025 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: universal_credit_in_cap - label: Universal credit - ordinal: 0 - row_number: 18 - expected_row_header_column: B - expected_row_header: Universal credit - table_record_kind: total - measures: - - measure_id: amount - label: Universal credit, FY2025-26 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.universal_credit_in_cap - source_concept: obr.universal_credit_in_cap - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 18 - (''Universal credit''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.universal_credit_in_cap.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.universal_credit_in_cap.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.universal_credit_in_cap.fy2026 - sheet_name: '4.9' - period_type: fiscal_year - period: 2026 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: universal_credit_in_cap - label: Universal credit - ordinal: 0 - row_number: 18 - expected_row_header_column: B - expected_row_header: Universal credit - table_record_kind: total - measures: - - measure_id: amount - label: Universal credit, FY2026-27 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.universal_credit_in_cap - source_concept: obr.universal_credit_in_cap - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 18 - (''Universal credit''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.universal_credit_in_cap.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.universal_credit_in_cap.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.universal_credit_in_cap.fy2027 - sheet_name: '4.9' - period_type: fiscal_year - period: 2027 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: universal_credit_in_cap - label: Universal credit - ordinal: 0 - row_number: 18 - expected_row_header_column: B - expected_row_header: Universal credit - table_record_kind: total - measures: - - measure_id: amount - label: Universal credit, FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.universal_credit_in_cap - source_concept: obr.universal_credit_in_cap - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 18 - (''Universal credit''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.universal_credit_in_cap.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.universal_credit_in_cap.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.universal_credit_in_cap.fy2028 - sheet_name: '4.9' - period_type: fiscal_year - period: 2028 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: universal_credit_in_cap - label: Universal credit - ordinal: 0 - row_number: 18 - expected_row_header_column: B - expected_row_header: Universal credit - table_record_kind: total - measures: - - measure_id: amount - label: Universal credit, FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.universal_credit_in_cap - source_concept: obr.universal_credit_in_cap - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 18 - (''Universal credit''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.universal_credit_in_cap.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.universal_credit_in_cap.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.universal_credit_in_cap.fy2029 - sheet_name: '4.9' - period_type: fiscal_year - period: 2029 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: universal_credit_in_cap - label: Universal credit - ordinal: 0 - row_number: 18 - expected_row_header_column: B - expected_row_header: Universal credit - table_record_kind: total - measures: - - measure_id: amount - label: Universal credit, FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.universal_credit_in_cap - source_concept: obr.universal_credit_in_cap - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 18 - (''Universal credit''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.universal_credit_in_cap.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.universal_credit_in_cap.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.universal_credit_in_cap.fy2030 - sheet_name: '4.9' - period_type: fiscal_year - period: 2030 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: universal_credit_in_cap - label: Universal credit - ordinal: 0 - row_number: 18 - expected_row_header_column: B - expected_row_header: Universal credit - table_record_kind: total - measures: - - measure_id: amount - label: Universal credit, FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.universal_credit_in_cap - source_concept: obr.universal_credit_in_cap - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 18 - (''Universal credit''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.child_benefit.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.expenditure.child_benefit.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.child_benefit.fy2024 - sheet_name: '4.9' - period_type: fiscal_year - period: 2024 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: child_benefit - label: Child benefit - ordinal: 0 - row_number: 32 - expected_row_header_column: B - expected_row_header: Child benefit - table_record_kind: total - measures: - - measure_id: amount - label: Child benefit, FY2024-25 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.child_benefit - source_concept: obr.child_benefit - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 32 - ('Child benefit'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.child_benefit.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.child_benefit.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.child_benefit.fy2025 - sheet_name: '4.9' - period_type: fiscal_year - period: 2025 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: child_benefit - label: Child benefit - ordinal: 0 - row_number: 32 - expected_row_header_column: B - expected_row_header: Child benefit - table_record_kind: total - measures: - - measure_id: amount - label: Child benefit, FY2025-26 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.child_benefit - source_concept: obr.child_benefit - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 32 - ('Child benefit'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.child_benefit.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.child_benefit.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.child_benefit.fy2026 - sheet_name: '4.9' - period_type: fiscal_year - period: 2026 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: child_benefit - label: Child benefit - ordinal: 0 - row_number: 32 - expected_row_header_column: B - expected_row_header: Child benefit - table_record_kind: total - measures: - - measure_id: amount - label: Child benefit, FY2026-27 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.child_benefit - source_concept: obr.child_benefit - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 32 - ('Child benefit'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.child_benefit.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.child_benefit.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.child_benefit.fy2027 - sheet_name: '4.9' - period_type: fiscal_year - period: 2027 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: child_benefit - label: Child benefit - ordinal: 0 - row_number: 32 - expected_row_header_column: B - expected_row_header: Child benefit - table_record_kind: total - measures: - - measure_id: amount - label: Child benefit, FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.child_benefit - source_concept: obr.child_benefit - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 32 - ('Child benefit'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.child_benefit.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.child_benefit.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.child_benefit.fy2028 - sheet_name: '4.9' - period_type: fiscal_year - period: 2028 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: child_benefit - label: Child benefit - ordinal: 0 - row_number: 32 - expected_row_header_column: B - expected_row_header: Child benefit - table_record_kind: total - measures: - - measure_id: amount - label: Child benefit, FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.child_benefit - source_concept: obr.child_benefit - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 32 - ('Child benefit'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.child_benefit.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.child_benefit.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.child_benefit.fy2029 - sheet_name: '4.9' - period_type: fiscal_year - period: 2029 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: child_benefit - label: Child benefit - ordinal: 0 - row_number: 32 - expected_row_header_column: B - expected_row_header: Child benefit - table_record_kind: total - measures: - - measure_id: amount - label: Child benefit, FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.child_benefit - source_concept: obr.child_benefit - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 32 - ('Child benefit'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.child_benefit.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.child_benefit.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.child_benefit.fy2030 - sheet_name: '4.9' - period_type: fiscal_year - period: 2030 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: child_benefit - label: Child benefit - ordinal: 0 - row_number: 32 - expected_row_header_column: B - expected_row_header: Child benefit - table_record_kind: total - measures: - - measure_id: amount - label: Child benefit, FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.child_benefit - source_concept: obr.child_benefit - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 32 - ('Child benefit'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.state_pension.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.expenditure.state_pension.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.state_pension.fy2024 - sheet_name: '4.9' - period_type: fiscal_year - period: 2024 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: state_pension - label: State pension - ordinal: 0 - row_number: 40 - expected_row_header_column: B - expected_row_header: State pension - table_record_kind: total - measures: - - measure_id: amount - label: State pension, FY2024-25 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.state_pension - source_concept: obr.state_pension - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 40 - (''State pension''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.state_pension.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.state_pension.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.state_pension.fy2025 - sheet_name: '4.9' - period_type: fiscal_year - period: 2025 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: state_pension - label: State pension - ordinal: 0 - row_number: 40 - expected_row_header_column: B - expected_row_header: State pension - table_record_kind: total - measures: - - measure_id: amount - label: State pension, FY2025-26 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.state_pension - source_concept: obr.state_pension - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 40 - (''State pension''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.state_pension.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.state_pension.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.state_pension.fy2026 - sheet_name: '4.9' - period_type: fiscal_year - period: 2026 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: state_pension - label: State pension - ordinal: 0 - row_number: 40 - expected_row_header_column: B - expected_row_header: State pension - table_record_kind: total - measures: - - measure_id: amount - label: State pension, FY2026-27 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.state_pension - source_concept: obr.state_pension - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 40 - (''State pension''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.state_pension.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.state_pension.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.state_pension.fy2027 - sheet_name: '4.9' - period_type: fiscal_year - period: 2027 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: state_pension - label: State pension - ordinal: 0 - row_number: 40 - expected_row_header_column: B - expected_row_header: State pension - table_record_kind: total - measures: - - measure_id: amount - label: State pension, FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.state_pension - source_concept: obr.state_pension - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 40 - (''State pension''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.state_pension.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.state_pension.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.state_pension.fy2028 - sheet_name: '4.9' - period_type: fiscal_year - period: 2028 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: state_pension - label: State pension - ordinal: 0 - row_number: 40 - expected_row_header_column: B - expected_row_header: State pension - table_record_kind: total - measures: - - measure_id: amount - label: State pension, FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.state_pension - source_concept: obr.state_pension - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 40 - (''State pension''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.state_pension.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.state_pension.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.state_pension.fy2029 - sheet_name: '4.9' - period_type: fiscal_year - period: 2029 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: state_pension - label: State pension - ordinal: 0 - row_number: 40 - expected_row_header_column: B - expected_row_header: State pension - table_record_kind: total - measures: - - measure_id: amount - label: State pension, FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.state_pension - source_concept: obr.state_pension - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 40 - (''State pension''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.state_pension.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.state_pension.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.state_pension.fy2030 - sheet_name: '4.9' - period_type: fiscal_year - period: 2030 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: state_pension - label: State pension - ordinal: 0 - row_number: 40 - expected_row_header_column: B - expected_row_header: State pension - table_record_kind: total - measures: - - measure_id: amount - label: State pension, FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.state_pension - source_concept: obr.state_pension - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 40 - (''State pension''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.jobseekers_allowance.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.expenditure.jobseekers_allowance.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.jobseekers_allowance.fy2024 - sheet_name: '4.9' - period_type: fiscal_year - period: 2024 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: jobseekers_allowance - label: Jobseeker's allowance - ordinal: 0 - row_number: 41 - expected_row_header_column: B - expected_row_header: Jobseeker's allowance - table_record_kind: total - measures: - - measure_id: amount - label: Jobseeker's allowance, FY2024-25 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.jobseekers_allowance - source_concept: obr.jobseekers_allowance - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 41 - (''Jobseeker''s allowance''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.jobseekers_allowance.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.jobseekers_allowance.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.jobseekers_allowance.fy2025 - sheet_name: '4.9' - period_type: fiscal_year - period: 2025 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: jobseekers_allowance - label: Jobseeker's allowance - ordinal: 0 - row_number: 41 - expected_row_header_column: B - expected_row_header: Jobseeker's allowance - table_record_kind: total - measures: - - measure_id: amount - label: Jobseeker's allowance, FY2025-26 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.jobseekers_allowance - source_concept: obr.jobseekers_allowance - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 41 - (''Jobseeker''s allowance''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.jobseekers_allowance.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.jobseekers_allowance.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.jobseekers_allowance.fy2026 - sheet_name: '4.9' - period_type: fiscal_year - period: 2026 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: jobseekers_allowance - label: Jobseeker's allowance - ordinal: 0 - row_number: 41 - expected_row_header_column: B - expected_row_header: Jobseeker's allowance - table_record_kind: total - measures: - - measure_id: amount - label: Jobseeker's allowance, FY2026-27 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.jobseekers_allowance - source_concept: obr.jobseekers_allowance - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 41 - (''Jobseeker''s allowance''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.jobseekers_allowance.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.jobseekers_allowance.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.jobseekers_allowance.fy2027 - sheet_name: '4.9' - period_type: fiscal_year - period: 2027 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: jobseekers_allowance - label: Jobseeker's allowance - ordinal: 0 - row_number: 41 - expected_row_header_column: B - expected_row_header: Jobseeker's allowance - table_record_kind: total - measures: - - measure_id: amount - label: Jobseeker's allowance, FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.jobseekers_allowance - source_concept: obr.jobseekers_allowance - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 41 - (''Jobseeker''s allowance''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.jobseekers_allowance.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.jobseekers_allowance.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.jobseekers_allowance.fy2028 - sheet_name: '4.9' - period_type: fiscal_year - period: 2028 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: jobseekers_allowance - label: Jobseeker's allowance - ordinal: 0 - row_number: 41 - expected_row_header_column: B - expected_row_header: Jobseeker's allowance - table_record_kind: total - measures: - - measure_id: amount - label: Jobseeker's allowance, FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.jobseekers_allowance - source_concept: obr.jobseekers_allowance - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 41 - (''Jobseeker''s allowance''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.jobseekers_allowance.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.jobseekers_allowance.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.jobseekers_allowance.fy2029 - sheet_name: '4.9' - period_type: fiscal_year - period: 2029 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: jobseekers_allowance - label: Jobseeker's allowance - ordinal: 0 - row_number: 41 - expected_row_header_column: B - expected_row_header: Jobseeker's allowance - table_record_kind: total - measures: - - measure_id: amount - label: Jobseeker's allowance, FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.jobseekers_allowance - source_concept: obr.jobseekers_allowance - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 41 - (''Jobseeker''s allowance''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.jobseekers_allowance.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.jobseekers_allowance.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.jobseekers_allowance.fy2030 - sheet_name: '4.9' - period_type: fiscal_year - period: 2030 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: jobseekers_allowance - label: Jobseeker's allowance - ordinal: 0 - row_number: 41 - expected_row_header_column: B - expected_row_header: Jobseeker's allowance - table_record_kind: total - measures: - - measure_id: amount - label: Jobseeker's allowance, FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.jobseekers_allowance - source_concept: obr.jobseekers_allowance - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 41 - (''Jobseeker''s allowance''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.universal_credit_outside_cap.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.expenditure.universal_credit_outside_cap.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.universal_credit_outside_cap.fy2024 - sheet_name: '4.9' - period_type: fiscal_year - period: 2024 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: universal_credit_outside_cap - label: Universal credit - ordinal: 0 - row_number: 43 - expected_row_header_column: B - expected_row_header: Universal credit - table_record_kind: total - measures: - - measure_id: amount - label: Universal credit, FY2024-25 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.universal_credit_outside_cap - source_concept: obr.universal_credit_outside_cap - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 43 - (''Universal credit''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.universal_credit_outside_cap.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.universal_credit_outside_cap.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.universal_credit_outside_cap.fy2025 - sheet_name: '4.9' - period_type: fiscal_year - period: 2025 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: universal_credit_outside_cap - label: Universal credit - ordinal: 0 - row_number: 43 - expected_row_header_column: B - expected_row_header: Universal credit - table_record_kind: total - measures: - - measure_id: amount - label: Universal credit, FY2025-26 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.universal_credit_outside_cap - source_concept: obr.universal_credit_outside_cap - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 43 - (''Universal credit''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.universal_credit_outside_cap.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.universal_credit_outside_cap.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.universal_credit_outside_cap.fy2026 - sheet_name: '4.9' - period_type: fiscal_year - period: 2026 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: universal_credit_outside_cap - label: Universal credit - ordinal: 0 - row_number: 43 - expected_row_header_column: B - expected_row_header: Universal credit - table_record_kind: total - measures: - - measure_id: amount - label: Universal credit, FY2026-27 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.universal_credit_outside_cap - source_concept: obr.universal_credit_outside_cap - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 43 - (''Universal credit''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.universal_credit_outside_cap.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.universal_credit_outside_cap.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.universal_credit_outside_cap.fy2027 - sheet_name: '4.9' - period_type: fiscal_year - period: 2027 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: universal_credit_outside_cap - label: Universal credit - ordinal: 0 - row_number: 43 - expected_row_header_column: B - expected_row_header: Universal credit - table_record_kind: total - measures: - - measure_id: amount - label: Universal credit, FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.universal_credit_outside_cap - source_concept: obr.universal_credit_outside_cap - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 43 - (''Universal credit''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.universal_credit_outside_cap.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.universal_credit_outside_cap.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.universal_credit_outside_cap.fy2028 - sheet_name: '4.9' - period_type: fiscal_year - period: 2028 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: universal_credit_outside_cap - label: Universal credit - ordinal: 0 - row_number: 43 - expected_row_header_column: B - expected_row_header: Universal credit - table_record_kind: total - measures: - - measure_id: amount - label: Universal credit, FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.universal_credit_outside_cap - source_concept: obr.universal_credit_outside_cap - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 43 - (''Universal credit''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.universal_credit_outside_cap.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.universal_credit_outside_cap.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.universal_credit_outside_cap.fy2029 - sheet_name: '4.9' - period_type: fiscal_year - period: 2029 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: universal_credit_outside_cap - label: Universal credit - ordinal: 0 - row_number: 43 - expected_row_header_column: B - expected_row_header: Universal credit - table_record_kind: total - measures: - - measure_id: amount - label: Universal credit, FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.universal_credit_outside_cap - source_concept: obr.universal_credit_outside_cap - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 43 - (''Universal credit''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.universal_credit_outside_cap.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.universal_credit_outside_cap.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.universal_credit_outside_cap.fy2030 - sheet_name: '4.9' - period_type: fiscal_year - period: 2030 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: universal_credit_outside_cap - label: Universal credit - ordinal: 0 - row_number: 43 - expected_row_header_column: B - expected_row_header: Universal credit - table_record_kind: total - measures: - - measure_id: amount - label: Universal credit, FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.universal_credit_outside_cap - source_concept: obr.universal_credit_outside_cap - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 43 - (''Universal credit''), GBP billion. Geography: a DWP line, which DWP''s benefit - expenditure and caseload tables (Spring 2026, Notes 1 and 3; package - dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people - resident overseas receiving United Kingdom benefits; Northern Ireland''s social - security is on rows of its own.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.ni_social_security_in_welfare_cap.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.expenditure.ni_social_security_in_welfare_cap.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.ni_social_security_in_welfare_cap.fy2024 - sheet_name: '4.9' - period_type: fiscal_year - period: 2024 - geography_id: N92000002 - geography_level: country - geography_name: Northern Ireland - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: ni_social_security_in_welfare_cap - label: NI social security in welfare cap - ordinal: 0 - row_number: 34 - expected_row_header_column: B - expected_row_header: NI social security in welfare cap - table_record_kind: total - measures: - - measure_id: amount - label: NI social security in welfare cap, FY2024-25 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.ni_social_security_in_welfare_cap - source_concept: obr.ni_social_security_in_welfare_cap - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 34 - (''NI social security in welfare cap''), GBP billion. Geography: Northern Ireland. The - Northern Ireland Executive is responsible for social security expenditure on residents - of Northern Ireland (DWP benefit expenditure and caseload tables, Spring 2026, Notes - 3); the table gives it on its own rows beside the DWP lines.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.ni_social_security_in_welfare_cap.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.ni_social_security_in_welfare_cap.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.ni_social_security_in_welfare_cap.fy2025 - sheet_name: '4.9' - period_type: fiscal_year - period: 2025 - geography_id: N92000002 - geography_level: country - geography_name: Northern Ireland - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: ni_social_security_in_welfare_cap - label: NI social security in welfare cap - ordinal: 0 - row_number: 34 - expected_row_header_column: B - expected_row_header: NI social security in welfare cap - table_record_kind: total - measures: - - measure_id: amount - label: NI social security in welfare cap, FY2025-26 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.ni_social_security_in_welfare_cap - source_concept: obr.ni_social_security_in_welfare_cap - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 34 - (''NI social security in welfare cap''), GBP billion. Geography: Northern Ireland. The - Northern Ireland Executive is responsible for social security expenditure on residents - of Northern Ireland (DWP benefit expenditure and caseload tables, Spring 2026, Notes - 3); the table gives it on its own rows beside the DWP lines.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.ni_social_security_in_welfare_cap.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.ni_social_security_in_welfare_cap.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.ni_social_security_in_welfare_cap.fy2026 - sheet_name: '4.9' - period_type: fiscal_year - period: 2026 - geography_id: N92000002 - geography_level: country - geography_name: Northern Ireland - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: ni_social_security_in_welfare_cap - label: NI social security in welfare cap - ordinal: 0 - row_number: 34 - expected_row_header_column: B - expected_row_header: NI social security in welfare cap - table_record_kind: total - measures: - - measure_id: amount - label: NI social security in welfare cap, FY2026-27 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.ni_social_security_in_welfare_cap - source_concept: obr.ni_social_security_in_welfare_cap - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 34 - (''NI social security in welfare cap''), GBP billion. Geography: Northern Ireland. The - Northern Ireland Executive is responsible for social security expenditure on residents - of Northern Ireland (DWP benefit expenditure and caseload tables, Spring 2026, Notes - 3); the table gives it on its own rows beside the DWP lines.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.ni_social_security_in_welfare_cap.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.ni_social_security_in_welfare_cap.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.ni_social_security_in_welfare_cap.fy2027 - sheet_name: '4.9' - period_type: fiscal_year - period: 2027 - geography_id: N92000002 - geography_level: country - geography_name: Northern Ireland - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: ni_social_security_in_welfare_cap - label: NI social security in welfare cap - ordinal: 0 - row_number: 34 - expected_row_header_column: B - expected_row_header: NI social security in welfare cap - table_record_kind: total - measures: - - measure_id: amount - label: NI social security in welfare cap, FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.ni_social_security_in_welfare_cap - source_concept: obr.ni_social_security_in_welfare_cap - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 34 - (''NI social security in welfare cap''), GBP billion. Geography: Northern Ireland. The - Northern Ireland Executive is responsible for social security expenditure on residents - of Northern Ireland (DWP benefit expenditure and caseload tables, Spring 2026, Notes - 3); the table gives it on its own rows beside the DWP lines.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.ni_social_security_in_welfare_cap.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.ni_social_security_in_welfare_cap.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.ni_social_security_in_welfare_cap.fy2028 - sheet_name: '4.9' - period_type: fiscal_year - period: 2028 - geography_id: N92000002 - geography_level: country - geography_name: Northern Ireland - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: ni_social_security_in_welfare_cap - label: NI social security in welfare cap - ordinal: 0 - row_number: 34 - expected_row_header_column: B - expected_row_header: NI social security in welfare cap - table_record_kind: total - measures: - - measure_id: amount - label: NI social security in welfare cap, FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.ni_social_security_in_welfare_cap - source_concept: obr.ni_social_security_in_welfare_cap - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 34 - (''NI social security in welfare cap''), GBP billion. Geography: Northern Ireland. The - Northern Ireland Executive is responsible for social security expenditure on residents - of Northern Ireland (DWP benefit expenditure and caseload tables, Spring 2026, Notes - 3); the table gives it on its own rows beside the DWP lines.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.ni_social_security_in_welfare_cap.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.ni_social_security_in_welfare_cap.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.ni_social_security_in_welfare_cap.fy2029 - sheet_name: '4.9' - period_type: fiscal_year - period: 2029 - geography_id: N92000002 - geography_level: country - geography_name: Northern Ireland - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: ni_social_security_in_welfare_cap - label: NI social security in welfare cap - ordinal: 0 - row_number: 34 - expected_row_header_column: B - expected_row_header: NI social security in welfare cap - table_record_kind: total - measures: - - measure_id: amount - label: NI social security in welfare cap, FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.ni_social_security_in_welfare_cap - source_concept: obr.ni_social_security_in_welfare_cap - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 34 - (''NI social security in welfare cap''), GBP billion. Geography: Northern Ireland. The - Northern Ireland Executive is responsible for social security expenditure on residents - of Northern Ireland (DWP benefit expenditure and caseload tables, Spring 2026, Notes - 3); the table gives it on its own rows beside the DWP lines.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.ni_social_security_in_welfare_cap.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.ni_social_security_in_welfare_cap.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.ni_social_security_in_welfare_cap.fy2030 - sheet_name: '4.9' - period_type: fiscal_year - period: 2030 - geography_id: N92000002 - geography_level: country - geography_name: Northern Ireland - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: ni_social_security_in_welfare_cap - label: NI social security in welfare cap - ordinal: 0 - row_number: 34 - expected_row_header_column: B - expected_row_header: NI social security in welfare cap - table_record_kind: total - measures: - - measure_id: amount - label: NI social security in welfare cap, FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.ni_social_security_in_welfare_cap - source_concept: obr.ni_social_security_in_welfare_cap - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 34 - (''NI social security in welfare cap''), GBP billion. Geography: Northern Ireland. The - Northern Ireland Executive is responsible for social security expenditure on residents - of Northern Ireland (DWP benefit expenditure and caseload tables, Spring 2026, Notes - 3); the table gives it on its own rows beside the DWP lines.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.ni_social_security_outside_welfare_cap.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.expenditure.ni_social_security_outside_welfare_cap.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.ni_social_security_outside_welfare_cap.fy2024 - sheet_name: '4.9' - period_type: fiscal_year - period: 2024 - geography_id: N92000002 - geography_level: country - geography_name: Northern Ireland - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: ni_social_security_outside_welfare_cap - label: NI social security outside welfare cap - ordinal: 0 - row_number: 45 - expected_row_header_column: B - expected_row_header: NI social security outside welfare cap - table_record_kind: total - measures: - - measure_id: amount - label: NI social security outside welfare cap, FY2024-25 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.ni_social_security_outside_welfare_cap - source_concept: obr.ni_social_security_outside_welfare_cap - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 45 - (''NI social security outside welfare cap''), GBP billion. Geography: Northern - Ireland. The Northern Ireland Executive is responsible for social security expenditure - on residents of Northern Ireland (DWP benefit expenditure and caseload tables, Spring - 2026, Notes 3); the table gives it on its own rows beside the DWP lines.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.ni_social_security_outside_welfare_cap.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.ni_social_security_outside_welfare_cap.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.ni_social_security_outside_welfare_cap.fy2025 - sheet_name: '4.9' - period_type: fiscal_year - period: 2025 - geography_id: N92000002 - geography_level: country - geography_name: Northern Ireland - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: ni_social_security_outside_welfare_cap - label: NI social security outside welfare cap - ordinal: 0 - row_number: 45 - expected_row_header_column: B - expected_row_header: NI social security outside welfare cap - table_record_kind: total - measures: - - measure_id: amount - label: NI social security outside welfare cap, FY2025-26 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.ni_social_security_outside_welfare_cap - source_concept: obr.ni_social_security_outside_welfare_cap - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 45 - (''NI social security outside welfare cap''), GBP billion. Geography: Northern - Ireland. The Northern Ireland Executive is responsible for social security expenditure - on residents of Northern Ireland (DWP benefit expenditure and caseload tables, Spring - 2026, Notes 3); the table gives it on its own rows beside the DWP lines.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.ni_social_security_outside_welfare_cap.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.ni_social_security_outside_welfare_cap.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.ni_social_security_outside_welfare_cap.fy2026 - sheet_name: '4.9' - period_type: fiscal_year - period: 2026 - geography_id: N92000002 - geography_level: country - geography_name: Northern Ireland - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: ni_social_security_outside_welfare_cap - label: NI social security outside welfare cap - ordinal: 0 - row_number: 45 - expected_row_header_column: B - expected_row_header: NI social security outside welfare cap - table_record_kind: total - measures: - - measure_id: amount - label: NI social security outside welfare cap, FY2026-27 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.ni_social_security_outside_welfare_cap - source_concept: obr.ni_social_security_outside_welfare_cap - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 45 - (''NI social security outside welfare cap''), GBP billion. Geography: Northern - Ireland. The Northern Ireland Executive is responsible for social security expenditure - on residents of Northern Ireland (DWP benefit expenditure and caseload tables, Spring - 2026, Notes 3); the table gives it on its own rows beside the DWP lines.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.ni_social_security_outside_welfare_cap.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.ni_social_security_outside_welfare_cap.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.ni_social_security_outside_welfare_cap.fy2027 - sheet_name: '4.9' - period_type: fiscal_year - period: 2027 - geography_id: N92000002 - geography_level: country - geography_name: Northern Ireland - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: ni_social_security_outside_welfare_cap - label: NI social security outside welfare cap - ordinal: 0 - row_number: 45 - expected_row_header_column: B - expected_row_header: NI social security outside welfare cap - table_record_kind: total - measures: - - measure_id: amount - label: NI social security outside welfare cap, FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.ni_social_security_outside_welfare_cap - source_concept: obr.ni_social_security_outside_welfare_cap - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 45 - (''NI social security outside welfare cap''), GBP billion. Geography: Northern - Ireland. The Northern Ireland Executive is responsible for social security expenditure - on residents of Northern Ireland (DWP benefit expenditure and caseload tables, Spring - 2026, Notes 3); the table gives it on its own rows beside the DWP lines.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.ni_social_security_outside_welfare_cap.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.ni_social_security_outside_welfare_cap.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.ni_social_security_outside_welfare_cap.fy2028 - sheet_name: '4.9' - period_type: fiscal_year - period: 2028 - geography_id: N92000002 - geography_level: country - geography_name: Northern Ireland - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: ni_social_security_outside_welfare_cap - label: NI social security outside welfare cap - ordinal: 0 - row_number: 45 - expected_row_header_column: B - expected_row_header: NI social security outside welfare cap - table_record_kind: total - measures: - - measure_id: amount - label: NI social security outside welfare cap, FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.ni_social_security_outside_welfare_cap - source_concept: obr.ni_social_security_outside_welfare_cap - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 45 - (''NI social security outside welfare cap''), GBP billion. Geography: Northern - Ireland. The Northern Ireland Executive is responsible for social security expenditure - on residents of Northern Ireland (DWP benefit expenditure and caseload tables, Spring - 2026, Notes 3); the table gives it on its own rows beside the DWP lines.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.ni_social_security_outside_welfare_cap.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.ni_social_security_outside_welfare_cap.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.ni_social_security_outside_welfare_cap.fy2029 - sheet_name: '4.9' - period_type: fiscal_year - period: 2029 - geography_id: N92000002 - geography_level: country - geography_name: Northern Ireland - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: ni_social_security_outside_welfare_cap - label: NI social security outside welfare cap - ordinal: 0 - row_number: 45 - expected_row_header_column: B - expected_row_header: NI social security outside welfare cap - table_record_kind: total - measures: - - measure_id: amount - label: NI social security outside welfare cap, FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.ni_social_security_outside_welfare_cap - source_concept: obr.ni_social_security_outside_welfare_cap - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 45 - (''NI social security outside welfare cap''), GBP billion. Geography: Northern - Ireland. The Northern Ireland Executive is responsible for social security expenditure - on residents of Northern Ireland (DWP benefit expenditure and caseload tables, Spring - 2026, Notes 3); the table gives it on its own rows beside the DWP lines.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.ni_social_security_outside_welfare_cap.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.ni_social_security_outside_welfare_cap.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.ni_social_security_outside_welfare_cap.fy2030 - sheet_name: '4.9' - period_type: fiscal_year - period: 2030 - geography_id: N92000002 - geography_level: country - geography_name: Northern Ireland - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: ni_social_security_outside_welfare_cap - label: NI social security outside welfare cap - ordinal: 0 - row_number: 45 - expected_row_header_column: B - expected_row_header: NI social security outside welfare cap - table_record_kind: total - measures: - - measure_id: amount - label: NI social security outside welfare cap, FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.ni_social_security_outside_welfare_cap - source_concept: obr.ni_social_security_outside_welfare_cap - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 45 - (''NI social security outside welfare cap''), GBP billion. Geography: Northern - Ireland. The Northern Ireland Executive is responsible for social security expenditure - on residents of Northern Ireland (DWP benefit expenditure and caseload tables, Spring - 2026, Notes 3); the table gives it on its own rows beside the DWP lines.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.tv_licence_fee.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.expenditure.tv_licence_fee.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.tv_licence_fee.fy2024 - sheet_name: '4.19' - period_type: fiscal_year - period: 2024 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: tv_licence_fee - label: BBC licence fee receipts - ordinal: 0 - row_number: 6 - expected_row_header_column: B - expected_row_header: BBC licence fee receipts - table_record_kind: total - measures: - - measure_id: amount - label: BBC licence fee receipts, FY2024-25 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.tv_licence_fee - source_concept: obr.tv_licence_fee - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.19, row 6 - ('BBC licence fee receipts'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.tv_licence_fee.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.tv_licence_fee.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.tv_licence_fee.fy2025 - sheet_name: '4.19' - period_type: fiscal_year - period: 2025 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: tv_licence_fee - label: BBC licence fee receipts - ordinal: 0 - row_number: 6 - expected_row_header_column: B - expected_row_header: BBC licence fee receipts - table_record_kind: total - measures: - - measure_id: amount - label: BBC licence fee receipts, FY2025-26 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.tv_licence_fee - source_concept: obr.tv_licence_fee - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.19, row 6 - ('BBC licence fee receipts'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.tv_licence_fee.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.tv_licence_fee.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.tv_licence_fee.fy2026 - sheet_name: '4.19' - period_type: fiscal_year - period: 2026 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: tv_licence_fee - label: BBC licence fee receipts - ordinal: 0 - row_number: 6 - expected_row_header_column: B - expected_row_header: BBC licence fee receipts - table_record_kind: total - measures: - - measure_id: amount - label: BBC licence fee receipts, FY2026-27 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.tv_licence_fee - source_concept: obr.tv_licence_fee - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.19, row 6 - ('BBC licence fee receipts'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.tv_licence_fee.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.tv_licence_fee.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.tv_licence_fee.fy2027 - sheet_name: '4.19' - period_type: fiscal_year - period: 2027 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: tv_licence_fee - label: BBC licence fee receipts - ordinal: 0 - row_number: 6 - expected_row_header_column: B - expected_row_header: BBC licence fee receipts - table_record_kind: total - measures: - - measure_id: amount - label: BBC licence fee receipts, FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.tv_licence_fee - source_concept: obr.tv_licence_fee - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.19, row 6 - ('BBC licence fee receipts'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.tv_licence_fee.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.tv_licence_fee.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.tv_licence_fee.fy2028 - sheet_name: '4.19' - period_type: fiscal_year - period: 2028 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: tv_licence_fee - label: BBC licence fee receipts - ordinal: 0 - row_number: 6 - expected_row_header_column: B - expected_row_header: BBC licence fee receipts - table_record_kind: total - measures: - - measure_id: amount - label: BBC licence fee receipts, FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.tv_licence_fee - source_concept: obr.tv_licence_fee - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.19, row 6 - ('BBC licence fee receipts'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.tv_licence_fee.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.tv_licence_fee.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.tv_licence_fee.fy2029 - sheet_name: '4.19' - period_type: fiscal_year - period: 2029 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: tv_licence_fee - label: BBC licence fee receipts - ordinal: 0 - row_number: 6 - expected_row_header_column: B - expected_row_header: BBC licence fee receipts - table_record_kind: total - measures: - - measure_id: amount - label: BBC licence fee receipts, FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.tv_licence_fee - source_concept: obr.tv_licence_fee - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.19, row 6 - ('BBC licence fee receipts'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.tv_licence_fee.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.tv_licence_fee.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.tv_licence_fee.fy2030 - sheet_name: '4.19' - period_type: fiscal_year - period: 2030 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: tv_licence_fee - label: BBC licence fee receipts - ordinal: 0 - row_number: 6 - expected_row_header_column: B - expected_row_header: BBC licence fee receipts - table_record_kind: total - measures: - - measure_id: amount - label: BBC licence fee receipts, FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.tv_licence_fee - source_concept: obr.tv_licence_fee - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.19, row 6 - ('BBC licence fee receipts'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_receipts_england_scotland_wales.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_receipts_england_scotland_wales.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_receipts_england_scotland_wales.fy2024 - sheet_name: '4.1' - period_type: fiscal_year - period: 2024 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: council_tax_receipts_england_scotland_wales - label: Total council tax receipts - ordinal: 0 - row_number: 15 - expected_row_header_column: B - expected_row_header: Total council tax receipts - table_record_kind: total - measures: - - measure_id: amount - label: Total council tax receipts, FY2024-25 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.council_tax_receipts_england_scotland_wales - source_concept: obr.council_tax_receipts_england_scotland_wales - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 15 - (''Total council tax receipts''): the sum of the England, Scotland and Wales council - tax receipts rows, before NI domestic rates, the council tax accruals adjustment and - the high-value council tax surcharge that make up row 19 (''Total net council tax receipts''), - GBP billion.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_receipts_england_scotland_wales.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_receipts_england_scotland_wales.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_receipts_england_scotland_wales.fy2025 - sheet_name: '4.1' - period_type: fiscal_year - period: 2025 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: council_tax_receipts_england_scotland_wales - label: Total council tax receipts - ordinal: 0 - row_number: 15 - expected_row_header_column: B - expected_row_header: Total council tax receipts - table_record_kind: total - measures: - - measure_id: amount - label: Total council tax receipts, FY2025-26 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.council_tax_receipts_england_scotland_wales - source_concept: obr.council_tax_receipts_england_scotland_wales - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 15 - (''Total council tax receipts''): the sum of the England, Scotland and Wales council - tax receipts rows, before NI domestic rates, the council tax accruals adjustment and - the high-value council tax surcharge that make up row 19 (''Total net council tax receipts''), - GBP billion.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_receipts_england_scotland_wales.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_receipts_england_scotland_wales.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_receipts_england_scotland_wales.fy2026 - sheet_name: '4.1' - period_type: fiscal_year - period: 2026 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: council_tax_receipts_england_scotland_wales - label: Total council tax receipts - ordinal: 0 - row_number: 15 - expected_row_header_column: B - expected_row_header: Total council tax receipts - table_record_kind: total - measures: - - measure_id: amount - label: Total council tax receipts, FY2026-27 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.council_tax_receipts_england_scotland_wales - source_concept: obr.council_tax_receipts_england_scotland_wales - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 15 - (''Total council tax receipts''): the sum of the England, Scotland and Wales council - tax receipts rows, before NI domestic rates, the council tax accruals adjustment and - the high-value council tax surcharge that make up row 19 (''Total net council tax receipts''), - GBP billion.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_receipts_england_scotland_wales.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_receipts_england_scotland_wales.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_receipts_england_scotland_wales.fy2027 - sheet_name: '4.1' - period_type: fiscal_year - period: 2027 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: council_tax_receipts_england_scotland_wales - label: Total council tax receipts - ordinal: 0 - row_number: 15 - expected_row_header_column: B - expected_row_header: Total council tax receipts - table_record_kind: total - measures: - - measure_id: amount - label: Total council tax receipts, FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.council_tax_receipts_england_scotland_wales - source_concept: obr.council_tax_receipts_england_scotland_wales + expected_column_header: 2024-25 + concept: obr.pension_credit + source_concept: obr.pension_credit concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 15 - (''Total council tax receipts''): the sum of the England, Scotland and Wales council - tax receipts rows, before NI domestic rates, the council tax accruals adjustment and - the high-value council tax surcharge that make up row 19 (''Total net council tax receipts''), - GBP billion.' + concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 13 + (''Pension credit''), GBP billion. Geography: a DWP line, which DWP''s benefit + expenditure and caseload tables (Spring 2026, Notes 1 and 3; package + dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people + resident overseas receiving United Kingdom benefits; Northern Ireland''s social + security is on rows of its own.' unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_receipts_england_scotland_wales.fy2028 +- record_set_id: obr.efo_2026_03.expenditure.carers_allowance.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_receipts_england_scotland_wales.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_receipts_england_scotland_wales.fy2028 - sheet_name: '4.1' + assertion: observation + record_set_spec_id: obr.efo_2026_03.expenditure.carers_allowance.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.expenditure.carers_allowance.fy2024 + sheet_name: '4.9' period_type: fiscal_year - period: 2028 - geography_id: K02000001 + period: 2024 + geography_id: K04000001 geography_level: country - geography_name: United Kingdom + geography_name: England and Wales geography_vintage: current entity: person entity_role: resident_population domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: council_tax_receipts_england_scotland_wales - label: Total council tax receipts + - value_id: carers_allowance + label: Carer's allowance ordinal: 0 - row_number: 15 + row_number: 14 expected_row_header_column: B - expected_row_header: Total council tax receipts + expected_row_header: Carer's allowance table_record_kind: total measures: - measure_id: amount - label: Total council tax receipts, FY2028-29 + label: Carer's allowance, FY2024-25 ordinal: 0 - column: G + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.council_tax_receipts_england_scotland_wales - source_concept: obr.council_tax_receipts_england_scotland_wales + expected_column_header: 2024-25 + concept: obr.carers_allowance + source_concept: obr.carers_allowance concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 15 - (''Total council tax receipts''): the sum of the England, Scotland and Wales council - tax receipts rows, before NI domestic rates, the council tax accruals adjustment and - the high-value council tax surcharge that make up row 19 (''Total net council tax receipts''), - GBP billion.' + concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 14 + (''Carer''s allowance''), GBP billion. Geography: England and Wales, with people + resident overseas. DWP''s tables (Spring 2026, Notes 3 and 4) leave Scottish Carer''s + Allowance cases out from 3 September 2018, when executive competence moved to the + Scottish Government.' unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_receipts_england_scotland_wales.fy2029 +- record_set_id: obr.efo_2026_03.expenditure.statutory_maternity_pay.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_receipts_england_scotland_wales.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_receipts_england_scotland_wales.fy2029 - sheet_name: '4.1' + assertion: observation + record_set_spec_id: obr.efo_2026_03.expenditure.statutory_maternity_pay.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.expenditure.statutory_maternity_pay.fy2024 + sheet_name: '4.9' period_type: fiscal_year - period: 2029 - geography_id: K02000001 + period: 2024 + geography_id: K03000001 geography_level: country - geography_name: United Kingdom + geography_name: Great Britain geography_vintage: current entity: person entity_role: resident_population domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: council_tax_receipts_england_scotland_wales - label: Total council tax receipts + - value_id: statutory_maternity_pay + label: Statutory maternity pay ordinal: 0 row_number: 15 expected_row_header_column: B - expected_row_header: Total council tax receipts + expected_row_header: Statutory maternity pay table_record_kind: total measures: - measure_id: amount - label: Total council tax receipts, FY2029-30 + label: Statutory maternity pay, FY2024-25 ordinal: 0 - column: H + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.council_tax_receipts_england_scotland_wales - source_concept: obr.council_tax_receipts_england_scotland_wales + expected_column_header: 2024-25 + concept: obr.statutory_maternity_pay + source_concept: obr.statutory_maternity_pay concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 15 - (''Total council tax receipts''): the sum of the England, Scotland and Wales council - tax receipts rows, before NI domestic rates, the council tax accruals adjustment and - the high-value council tax surcharge that make up row 19 (''Total net council tax receipts''), - GBP billion.' + concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 15 + (''Statutory maternity pay''), GBP billion. Geography: a DWP line, which DWP''s + benefit expenditure and caseload tables (Spring 2026, Notes 1 and 3; package + dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people + resident overseas receiving United Kingdom benefits; Northern Ireland''s social + security is on rows of its own.' unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_receipts_england_scotland_wales.fy2030 +- record_set_id: obr.efo_2026_03.expenditure.winter_fuel_payment.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_receipts_england_scotland_wales.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_receipts_england_scotland_wales.fy2030 - sheet_name: '4.1' + assertion: observation + record_set_spec_id: obr.efo_2026_03.expenditure.winter_fuel_payment.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.expenditure.winter_fuel_payment.fy2024 + sheet_name: '4.9' period_type: fiscal_year - period: 2030 - geography_id: K02000001 + period: 2024 + geography_id: K04000001 geography_level: country - geography_name: United Kingdom + geography_name: England and Wales geography_vintage: current entity: person entity_role: resident_population domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: council_tax_receipts_england_scotland_wales - label: Total council tax receipts + - value_id: winter_fuel_payment + label: Winter fuel payment ordinal: 0 - row_number: 15 + row_number: 17 expected_row_header_column: B - expected_row_header: Total council tax receipts + expected_row_header: Winter fuel payment table_record_kind: total measures: - measure_id: amount - label: Total council tax receipts, FY2030-31 + label: Winter fuel payment, FY2024-25 ordinal: 0 - column: I + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.council_tax_receipts_england_scotland_wales - source_concept: obr.council_tax_receipts_england_scotland_wales + expected_column_header: 2024-25 + concept: obr.winter_fuel_payment + source_concept: obr.winter_fuel_payment concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 15 - (''Total council tax receipts''): the sum of the England, Scotland and Wales council - tax receipts rows, before NI domestic rates, the council tax accruals adjustment and - the high-value council tax surcharge that make up row 19 (''Total net council tax receipts''), - GBP billion.' + concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 17 + (''Winter fuel payment''), GBP billion. Geography: England and Wales, with people + resident overseas. DWP''s tables (Spring 2026, Notes 3 and 4) leave Scottish Winter + Fuel Payment cases out from April 2024, when the payment was devolved; 2024-25 is the + table''s first year.' unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_accruals_adjustment.fy2024 +- record_set_id: obr.efo_2026_03.expenditure.universal_credit_in_cap.fy2024 provenance_class: model_output assertion: observation - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_accruals_adjustment.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_accruals_adjustment.fy2024 - sheet_name: '4.1' + record_set_spec_id: obr.efo_2026_03.expenditure.universal_credit_in_cap.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.expenditure.universal_credit_in_cap.fy2024 + sheet_name: '4.9' period_type: fiscal_year period: 2024 - geography_id: K02000001 + geography_id: K03000001 geography_level: country - geography_name: United Kingdom + geography_name: Great Britain geography_vintage: current entity: person entity_role: resident_population domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: council_tax_accruals_adjustment - label: Council tax accruals adjustment + - value_id: universal_credit_in_cap + label: Universal credit ordinal: 0 - row_number: 17 + row_number: 18 expected_row_header_column: B - expected_row_header: Council tax accruals adjustment + expected_row_header: Universal credit table_record_kind: total measures: - measure_id: amount - label: Council tax accruals adjustment, FY2024-25 + label: Universal credit, FY2024-25 ordinal: 0 column: C source_column_id: amount expected_column_header_row: 5 expected_column_header: 2024-25 - concept: obr.council_tax_accruals_adjustment - source_concept: obr.council_tax_accruals_adjustment + concept: obr.universal_credit_in_cap + source_concept: obr.universal_credit_in_cap concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 17 - (''Council tax accruals adjustment''): the accruals adjustment the OBR adds to cash - council tax receipts in row 19 (''Total net council tax receipts''), GBP billion.' + concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 18 + (''Universal credit''), GBP billion. Geography: a DWP line, which DWP''s benefit + expenditure and caseload tables (Spring 2026, Notes 1 and 3; package + dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people + resident overseas receiving United Kingdom benefits; Northern Ireland''s social + security is on rows of its own.' unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_accruals_adjustment.fy2025 +- record_set_id: obr.efo_2026_03.expenditure.child_benefit.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_accruals_adjustment.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_accruals_adjustment.fy2025 - sheet_name: '4.1' + assertion: observation + record_set_spec_id: obr.efo_2026_03.expenditure.child_benefit.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.expenditure.child_benefit.fy2024 + sheet_name: '4.9' period_type: fiscal_year - period: 2025 + period: 2024 geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -7133,261 +719,273 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: council_tax_accruals_adjustment - label: Council tax accruals adjustment + - value_id: child_benefit + label: Child benefit ordinal: 0 - row_number: 17 + row_number: 32 expected_row_header_column: B - expected_row_header: Council tax accruals adjustment + expected_row_header: Child benefit table_record_kind: total measures: - measure_id: amount - label: Council tax accruals adjustment, FY2025-26 + label: Child benefit, FY2024-25 ordinal: 0 - column: D + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.council_tax_accruals_adjustment - source_concept: obr.council_tax_accruals_adjustment + expected_column_header: 2024-25 + concept: obr.child_benefit + source_concept: obr.child_benefit concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 17 - (''Council tax accruals adjustment''): the accruals adjustment the OBR adds to cash - council tax receipts in row 19 (''Total net council tax receipts''), GBP billion.' + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 32 + ('Child benefit'), GBP billion. unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_accruals_adjustment.fy2026 +- record_set_id: obr.efo_2026_03.expenditure.state_pension.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_accruals_adjustment.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_accruals_adjustment.fy2026 - sheet_name: '4.1' + assertion: observation + record_set_spec_id: obr.efo_2026_03.expenditure.state_pension.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.expenditure.state_pension.fy2024 + sheet_name: '4.9' period_type: fiscal_year - period: 2026 - geography_id: K02000001 + period: 2024 + geography_id: K03000001 geography_level: country - geography_name: United Kingdom + geography_name: Great Britain geography_vintage: current entity: person entity_role: resident_population domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: council_tax_accruals_adjustment - label: Council tax accruals adjustment + - value_id: state_pension + label: State pension ordinal: 0 - row_number: 17 + row_number: 40 expected_row_header_column: B - expected_row_header: Council tax accruals adjustment + expected_row_header: State pension table_record_kind: total measures: - measure_id: amount - label: Council tax accruals adjustment, FY2026-27 + label: State pension, FY2024-25 ordinal: 0 - column: E + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.council_tax_accruals_adjustment - source_concept: obr.council_tax_accruals_adjustment + expected_column_header: 2024-25 + concept: obr.state_pension + source_concept: obr.state_pension concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 17 - (''Council tax accruals adjustment''): the accruals adjustment the OBR adds to cash - council tax receipts in row 19 (''Total net council tax receipts''), GBP billion.' + concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 40 + (''State pension''), GBP billion. Geography: a DWP line, which DWP''s benefit + expenditure and caseload tables (Spring 2026, Notes 1 and 3; package + dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people + resident overseas receiving United Kingdom benefits; Northern Ireland''s social + security is on rows of its own.' unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_accruals_adjustment.fy2027 +- record_set_id: obr.efo_2026_03.expenditure.jobseekers_allowance.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_accruals_adjustment.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_accruals_adjustment.fy2027 - sheet_name: '4.1' + assertion: observation + record_set_spec_id: obr.efo_2026_03.expenditure.jobseekers_allowance.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.expenditure.jobseekers_allowance.fy2024 + sheet_name: '4.9' period_type: fiscal_year - period: 2027 - geography_id: K02000001 + period: 2024 + geography_id: K03000001 geography_level: country - geography_name: United Kingdom + geography_name: Great Britain geography_vintage: current entity: person entity_role: resident_population domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: council_tax_accruals_adjustment - label: Council tax accruals adjustment + - value_id: jobseekers_allowance + label: Jobseeker's allowance ordinal: 0 - row_number: 17 + row_number: 41 expected_row_header_column: B - expected_row_header: Council tax accruals adjustment + expected_row_header: Jobseeker's allowance table_record_kind: total measures: - measure_id: amount - label: Council tax accruals adjustment, FY2027-28 + label: Jobseeker's allowance, FY2024-25 ordinal: 0 - column: F + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.council_tax_accruals_adjustment - source_concept: obr.council_tax_accruals_adjustment + expected_column_header: 2024-25 + concept: obr.jobseekers_allowance + source_concept: obr.jobseekers_allowance concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 17 - (''Council tax accruals adjustment''): the accruals adjustment the OBR adds to cash - council tax receipts in row 19 (''Total net council tax receipts''), GBP billion.' + concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 41 + (''Jobseeker''s allowance''), GBP billion. Geography: a DWP line, which DWP''s benefit + expenditure and caseload tables (Spring 2026, Notes 1 and 3; package + dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people + resident overseas receiving United Kingdom benefits; Northern Ireland''s social + security is on rows of its own.' unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_accruals_adjustment.fy2028 +- record_set_id: obr.efo_2026_03.expenditure.universal_credit_outside_cap.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_accruals_adjustment.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_accruals_adjustment.fy2028 - sheet_name: '4.1' + assertion: observation + record_set_spec_id: obr.efo_2026_03.expenditure.universal_credit_outside_cap.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.expenditure.universal_credit_outside_cap.fy2024 + sheet_name: '4.9' period_type: fiscal_year - period: 2028 - geography_id: K02000001 + period: 2024 + geography_id: K03000001 geography_level: country - geography_name: United Kingdom + geography_name: Great Britain geography_vintage: current entity: person entity_role: resident_population domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: council_tax_accruals_adjustment - label: Council tax accruals adjustment + - value_id: universal_credit_outside_cap + label: Universal credit ordinal: 0 - row_number: 17 + row_number: 43 expected_row_header_column: B - expected_row_header: Council tax accruals adjustment + expected_row_header: Universal credit table_record_kind: total measures: - measure_id: amount - label: Council tax accruals adjustment, FY2028-29 + label: Universal credit, FY2024-25 ordinal: 0 - column: G + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.council_tax_accruals_adjustment - source_concept: obr.council_tax_accruals_adjustment + expected_column_header: 2024-25 + concept: obr.universal_credit_outside_cap + source_concept: obr.universal_credit_outside_cap concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 17 - (''Council tax accruals adjustment''): the accruals adjustment the OBR adds to cash - council tax receipts in row 19 (''Total net council tax receipts''), GBP billion.' + concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 43 + (''Universal credit''), GBP billion. Geography: a DWP line, which DWP''s benefit + expenditure and caseload tables (Spring 2026, Notes 1 and 3; package + dwp-benefit-expenditure-caseload-spring-2026) give as Great Britain, or people + resident overseas receiving United Kingdom benefits; Northern Ireland''s social + security is on rows of its own.' unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_accruals_adjustment.fy2029 +- record_set_id: obr.efo_2026_03.expenditure.ni_social_security_in_welfare_cap.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_accruals_adjustment.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_accruals_adjustment.fy2029 - sheet_name: '4.1' + assertion: observation + record_set_spec_id: obr.efo_2026_03.expenditure.ni_social_security_in_welfare_cap.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.expenditure.ni_social_security_in_welfare_cap.fy2024 + sheet_name: '4.9' period_type: fiscal_year - period: 2029 - geography_id: K02000001 + period: 2024 + geography_id: N92000002 geography_level: country - geography_name: United Kingdom + geography_name: Northern Ireland geography_vintage: current entity: person entity_role: resident_population domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: council_tax_accruals_adjustment - label: Council tax accruals adjustment + - value_id: ni_social_security_in_welfare_cap + label: NI social security in welfare cap ordinal: 0 - row_number: 17 + row_number: 34 expected_row_header_column: B - expected_row_header: Council tax accruals adjustment + expected_row_header: NI social security in welfare cap table_record_kind: total measures: - measure_id: amount - label: Council tax accruals adjustment, FY2029-30 + label: NI social security in welfare cap, FY2024-25 ordinal: 0 - column: H + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.council_tax_accruals_adjustment - source_concept: obr.council_tax_accruals_adjustment + expected_column_header: 2024-25 + concept: obr.ni_social_security_in_welfare_cap + source_concept: obr.ni_social_security_in_welfare_cap concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 17 - (''Council tax accruals adjustment''): the accruals adjustment the OBR adds to cash - council tax receipts in row 19 (''Total net council tax receipts''), GBP billion.' + concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 34 + (''NI social security in welfare cap''), GBP billion. Geography: Northern Ireland. The + Northern Ireland Executive is responsible for social security expenditure on residents + of Northern Ireland (DWP benefit expenditure and caseload tables, Spring 2026, Notes + 3); the table gives it on its own rows beside the DWP lines.' unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_accruals_adjustment.fy2030 +- record_set_id: obr.efo_2026_03.expenditure.ni_social_security_outside_welfare_cap.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_accruals_adjustment.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_accruals_adjustment.fy2030 - sheet_name: '4.1' + assertion: observation + record_set_spec_id: obr.efo_2026_03.expenditure.ni_social_security_outside_welfare_cap.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.expenditure.ni_social_security_outside_welfare_cap.fy2024 + sheet_name: '4.9' period_type: fiscal_year - period: 2030 - geography_id: K02000001 + period: 2024 + geography_id: N92000002 geography_level: country - geography_name: United Kingdom + geography_name: Northern Ireland geography_vintage: current entity: person entity_role: resident_population domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: council_tax_accruals_adjustment - label: Council tax accruals adjustment + - value_id: ni_social_security_outside_welfare_cap + label: NI social security outside welfare cap ordinal: 0 - row_number: 17 + row_number: 45 expected_row_header_column: B - expected_row_header: Council tax accruals adjustment + expected_row_header: NI social security outside welfare cap table_record_kind: total measures: - measure_id: amount - label: Council tax accruals adjustment, FY2030-31 + label: NI social security outside welfare cap, FY2024-25 ordinal: 0 - column: I + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.council_tax_accruals_adjustment - source_concept: obr.council_tax_accruals_adjustment + expected_column_header: 2024-25 + concept: obr.ni_social_security_outside_welfare_cap + source_concept: obr.ni_social_security_outside_welfare_cap concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 17 - (''Council tax accruals adjustment''): the accruals adjustment the OBR adds to cash - council tax receipts in row 19 (''Total net council tax receipts''), GBP billion.' + concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.9, row 45 + (''NI social security outside welfare cap''), GBP billion. Geography: Northern + Ireland. The Northern Ireland Executive is responsible for social security expenditure + on residents of Northern Ireland (DWP benefit expenditure and caseload tables, Spring + 2026, Notes 3); the table gives it on its own rows beside the DWP lines.' unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_high_value_surcharge.fy2028 +- record_set_id: obr.efo_2026_03.expenditure.tv_licence_fee.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_high_value_surcharge.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_high_value_surcharge.fy2028 - sheet_name: '4.1' + assertion: observation + record_set_spec_id: obr.efo_2026_03.expenditure.tv_licence_fee.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.expenditure.tv_licence_fee.fy2024 + sheet_name: '4.19' period_type: fiscal_year - period: 2028 + period: 2024 geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -7397,41 +995,40 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: council_tax_high_value_surcharge - label: High-value Council tax surcharge + - value_id: tv_licence_fee + label: BBC licence fee receipts ordinal: 0 - row_number: 18 + row_number: 6 expected_row_header_column: B - expected_row_header: High-value Council tax surcharge + expected_row_header: BBC licence fee receipts table_record_kind: total measures: - measure_id: amount - label: High-value Council tax surcharge, FY2028-29 + label: BBC licence fee receipts, FY2024-25 ordinal: 0 - column: G + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.council_tax_high_value_surcharge - source_concept: obr.council_tax_high_value_surcharge + expected_column_header: 2024-25 + concept: obr.tv_licence_fee + source_concept: obr.tv_licence_fee concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 18 - (''High-value Council tax surcharge''): the surcharge on high-value properties forecast - from 2028-29, a component of row 19 (''Total net council tax receipts''), GBP billion.' + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 4.19, row 6 + ('BBC licence fee receipts'), GBP billion. unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_high_value_surcharge.fy2029 +- record_set_id: obr.efo_2026_03.expenditure.council_tax_receipts_england_scotland_wales.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_high_value_surcharge.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_high_value_surcharge.fy2029 + assertion: observation + record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_receipts_england_scotland_wales.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_receipts_england_scotland_wales.fy2024 sheet_name: '4.1' period_type: fiscal_year - period: 2029 + period: 2024 geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -7441,41 +1038,43 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: council_tax_high_value_surcharge - label: High-value Council tax surcharge + - value_id: council_tax_receipts_england_scotland_wales + label: Total council tax receipts ordinal: 0 - row_number: 18 + row_number: 15 expected_row_header_column: B - expected_row_header: High-value Council tax surcharge + expected_row_header: Total council tax receipts table_record_kind: total measures: - measure_id: amount - label: High-value Council tax surcharge, FY2029-30 + label: Total council tax receipts, FY2024-25 ordinal: 0 - column: H + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.council_tax_high_value_surcharge - source_concept: obr.council_tax_high_value_surcharge + expected_column_header: 2024-25 + concept: obr.council_tax_receipts_england_scotland_wales + source_concept: obr.council_tax_receipts_england_scotland_wales concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 18 - (''High-value Council tax surcharge''): the surcharge on high-value properties forecast - from 2028-29, a component of row 19 (''Total net council tax receipts''), GBP billion.' + concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 15 + (''Total council tax receipts''): the sum of the England, Scotland and Wales council + tax receipts rows, before NI domestic rates, the council tax accruals adjustment and + the high-value council tax surcharge that make up row 19 (''Total net council tax receipts''), + GBP billion.' unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.expenditure.council_tax_high_value_surcharge.fy2030 +- record_set_id: obr.efo_2026_03.expenditure.council_tax_accruals_adjustment.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_high_value_surcharge.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_high_value_surcharge.fy2030 + assertion: observation + record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_accruals_adjustment.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_accruals_adjustment.fy2024 sheet_name: '4.1' period_type: fiscal_year - period: 2030 + period: 2024 geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -7485,29 +1084,29 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: council_tax_high_value_surcharge - label: High-value Council tax surcharge + - value_id: council_tax_accruals_adjustment + label: Council tax accruals adjustment ordinal: 0 - row_number: 18 + row_number: 17 expected_row_header_column: B - expected_row_header: High-value Council tax surcharge + expected_row_header: Council tax accruals adjustment table_record_kind: total measures: - measure_id: amount - label: High-value Council tax surcharge, FY2030-31 + label: Council tax accruals adjustment, FY2024-25 ordinal: 0 - column: I + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.council_tax_high_value_surcharge - source_concept: obr.council_tax_high_value_surcharge + expected_column_header: 2024-25 + concept: obr.council_tax_accruals_adjustment + source_concept: obr.council_tax_accruals_adjustment concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 18 - (''High-value Council tax surcharge''): the surcharge on high-value properties forecast - from 2028-29, a component of row 19 (''Total net council tax receipts''), GBP billion.' + concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 17 + (''Council tax accruals adjustment''): the accruals adjustment the OBR adds to cash + council tax receipts in row 19 (''Total net council tax receipts''), GBP billion.' unit: gbp aggregation: sum value_scale: 1000000000 diff --git a/packages/obr/efo_receipts_march_2026/source_package.yaml b/packages/obr/efo_receipts_march_2026/source_package.yaml index 8df80b2d..70f82904 100644 --- a/packages/obr/efo_receipts_march_2026/source_package.yaml +++ b/packages/obr/efo_receipts_march_2026/source_package.yaml @@ -1,13 +1,21 @@ # OBR EFO March 2026. Values are GBP billion in the workbook (value_scale 1e9). # Fiscal-year periods store the opening year (FY2024-25 -> 2024), matching the -# hmrc fy2024_25 precedent. Explicit per-year record sets (not {year} -# templating) so the full 2024-2030 forecast surface lands in every build; -# see PolicyEngine/ledger#135 on bundle year handling. Row labels are exact -# FY2024-25 columns are labelled 'Outturn' in the workbooks, so the fy2024 -# record sets carry assertion observation; fy2025-fy2030 remain -# source_projection. Row labels are exact +# hmrc fy2024_25 precedent, with one explicit record set per year (not {year} +# templating; see PolicyEngine/ledger#135 on bundle year handling). FY2024-25 +# columns are labelled 'Outturn' in the workbooks, so the fy2024 record sets carry +# assertion observation; later years are source_projection. Row labels are exact # cell text including OBR footnote markers (e.g. 'Incapacity benefits2'). # +# Years (chronicle#397): where two vintages publish a number for the same line and +# year, Chronicle keeps the later one. The October 2026 EFO +# (obr-efo-receipts-october-2026) prints this package's lines from 2025-26 to 2031-32, +# and sheet 3.10's from 2026-27, so this package keeps only what October lacks: each +# line's 2024-25 outturn and, for sheet 3.10's betting and gaming duties and the seven +# duties it breaks them into, the 2025-26 forecast. Every line keeps its line id and +# concept, and scripts/build_obr_efo_october_2026.py reads its lines from here; +# scripts/build_uk_excise_packages.py and scripts/build_uk_1095_port_packages.py leave +# out the years the October package publishes. +# # Sheet 3.7 (chronicle#357 item 2), appended by scripts/build_uk_1095_port_packages.py # at the end of the file: 'Property transactions taxes: Receipts by sector', the EFO's # only breakdown of SDLT, by property type and rate. The EFO publishes no split by type @@ -105,14 +113,14 @@ record_sets: aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.income_tax.fy2025 +- record_set_id: obr.efo_2026_03.receipts.ni_employee.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.income_tax.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.income_tax.fy2025 + assertion: observation + record_set_spec_id: obr.efo_2026_03.receipts.ni_employee.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.ni_employee.fy2024 sheet_name: '3.4' period_type: fiscal_year - period: 2025 + period: 2024 geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -122,40 +130,40 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: income_tax - label: Income tax (gross of tax credits) + - value_id: ni_employee + label: Class 1 Employee NICs ordinal: 0 - row_number: 6 + row_number: 17 expected_row_header_column: B - expected_row_header: Income tax (gross of tax credits) + expected_row_header: Class 1 Employee NICs table_record_kind: total measures: - measure_id: amount - label: Income tax (gross of tax credits), FY2025-26 + label: Class 1 Employee NICs, FY2024-25 ordinal: 0 - column: D + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.income_tax - source_concept: obr.income_tax + expected_column_header: 2024-25 + concept: obr.ni_employee + source_concept: obr.ni_employee concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.4, row 6 - ('Income tax (gross of tax credits)'), GBP billion. + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.4, row 17 + ('Class 1 Employee NICs'), GBP billion. unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.income_tax.fy2026 +- record_set_id: obr.efo_2026_03.receipts.ni_employer.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.income_tax.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.income_tax.fy2026 + assertion: observation + record_set_spec_id: obr.efo_2026_03.receipts.ni_employer.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.ni_employer.fy2024 sheet_name: '3.4' period_type: fiscal_year - period: 2026 + period: 2024 geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -165,40 +173,40 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: income_tax - label: Income tax (gross of tax credits) + - value_id: ni_employer + label: Class 1 Employer NICs ordinal: 0 - row_number: 6 + row_number: 18 expected_row_header_column: B - expected_row_header: Income tax (gross of tax credits) + expected_row_header: Class 1 Employer NICs table_record_kind: total measures: - measure_id: amount - label: Income tax (gross of tax credits), FY2026-27 + label: Class 1 Employer NICs, FY2024-25 ordinal: 0 - column: E + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.income_tax - source_concept: obr.income_tax + expected_column_header: 2024-25 + concept: obr.ni_employer + source_concept: obr.ni_employer concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.4, row 6 - ('Income tax (gross of tax credits)'), GBP billion. + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.4, row 18 + ('Class 1 Employer NICs'), GBP billion. unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.income_tax.fy2027 +- record_set_id: obr.efo_2026_03.receipts.ni_self_employed.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.income_tax.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.income_tax.fy2027 + assertion: observation + record_set_spec_id: obr.efo_2026_03.receipts.ni_self_employed.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.ni_self_employed.fy2024 sheet_name: '3.4' period_type: fiscal_year - period: 2027 + period: 2024 geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -208,40 +216,40 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: income_tax - label: Income tax (gross of tax credits) + - value_id: ni_self_employed + label: Class 4 and Class 2 Self employed NICs ordinal: 0 - row_number: 6 + row_number: 19 expected_row_header_column: B - expected_row_header: Income tax (gross of tax credits) + expected_row_header: Class 4 and Class 2 Self employed NICs table_record_kind: total measures: - measure_id: amount - label: Income tax (gross of tax credits), FY2027-28 + label: Class 4 and Class 2 Self employed NICs, FY2024-25 ordinal: 0 - column: F + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.income_tax - source_concept: obr.income_tax + expected_column_header: 2024-25 + concept: obr.ni_self_employed + source_concept: obr.ni_self_employed concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.4, row 6 - ('Income tax (gross of tax credits)'), GBP billion. + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.4, row 19 + ('Class 4 and Class 2 Self employed NICs'), GBP billion. unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.income_tax.fy2028 +- record_set_id: obr.efo_2026_03.receipts.ni_total.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.income_tax.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.income_tax.fy2028 - sheet_name: '3.4' + assertion: observation + record_set_spec_id: obr.efo_2026_03.receipts.ni_total.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.ni_total.fy2024 + sheet_name: '3.8' period_type: fiscal_year - period: 2028 + period: 2024 geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -251,40 +259,40 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: income_tax - label: Income tax (gross of tax credits) + - value_id: ni_total + label: National insurance contributions ordinal: 0 - row_number: 6 + row_number: 12 expected_row_header_column: B - expected_row_header: Income tax (gross of tax credits) + expected_row_header: National insurance contributions table_record_kind: total measures: - measure_id: amount - label: Income tax (gross of tax credits), FY2028-29 + label: National insurance contributions, FY2024-25 ordinal: 0 - column: G + column: D source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.income_tax - source_concept: obr.income_tax + expected_column_header: 2024-25 + concept: obr.ni_total + source_concept: obr.ni_total concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.4, row 6 - ('Income tax (gross of tax credits)'), GBP billion. + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 12 + ('National insurance contributions'), GBP billion. unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.income_tax.fy2029 +- record_set_id: obr.efo_2026_03.receipts.vat.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.income_tax.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.income_tax.fy2029 - sheet_name: '3.4' + assertion: observation + record_set_spec_id: obr.efo_2026_03.receipts.vat.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.vat.fy2024 + sheet_name: '3.8' period_type: fiscal_year - period: 2029 + period: 2024 geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -294,40 +302,40 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: income_tax - label: Income tax (gross of tax credits) + - value_id: vat + label: Value added tax ordinal: 0 - row_number: 6 + row_number: 13 expected_row_header_column: B - expected_row_header: Income tax (gross of tax credits) + expected_row_header: Value added tax table_record_kind: total measures: - measure_id: amount - label: Income tax (gross of tax credits), FY2029-30 + label: Value added tax, FY2024-25 ordinal: 0 - column: H + column: D source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.income_tax - source_concept: obr.income_tax + expected_column_header: 2024-25 + concept: obr.vat + source_concept: obr.vat concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.4, row 6 - ('Income tax (gross of tax credits)'), GBP billion. + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 13 + ('Value added tax'), GBP billion. unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.income_tax.fy2030 +- record_set_id: obr.efo_2026_03.receipts.fuel_duties.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.income_tax.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.income_tax.fy2030 - sheet_name: '3.4' + assertion: observation + record_set_spec_id: obr.efo_2026_03.receipts.fuel_duties.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.fuel_duties.fy2024 + sheet_name: '3.8' period_type: fiscal_year - period: 2030 + period: 2024 geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -337,38 +345,38 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: income_tax - label: Income tax (gross of tax credits) + - value_id: fuel_duties + label: Fuel duties ordinal: 0 - row_number: 6 + row_number: 21 expected_row_header_column: B - expected_row_header: Income tax (gross of tax credits) + expected_row_header: Fuel duties table_record_kind: total measures: - measure_id: amount - label: Income tax (gross of tax credits), FY2030-31 + label: Fuel duties, FY2024-25 ordinal: 0 - column: I + column: D source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.income_tax - source_concept: obr.income_tax + expected_column_header: 2024-25 + concept: obr.fuel_duties + source_concept: obr.fuel_duties concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.4, row 6 - ('Income tax (gross of tax credits)'), GBP billion. + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 21 + ('Fuel duties'), GBP billion. unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.ni_employee.fy2024 +- record_set_id: obr.efo_2026_03.receipts.capital_gains_tax.fy2024 provenance_class: model_output assertion: observation - record_set_spec_id: obr.efo_2026_03.receipts.ni_employee.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.ni_employee.fy2024 - sheet_name: '3.4' + record_set_spec_id: obr.efo_2026_03.receipts.capital_gains_tax.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.capital_gains_tax.fy2024 + sheet_name: '3.8' period_type: fiscal_year period: 2024 geography_id: K02000001 @@ -380,40 +388,40 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: ni_employee - label: Class 1 Employee NICs + - value_id: capital_gains_tax + label: Capital gains tax ordinal: 0 - row_number: 17 + row_number: 22 expected_row_header_column: B - expected_row_header: Class 1 Employee NICs + expected_row_header: Capital gains tax table_record_kind: total measures: - measure_id: amount - label: Class 1 Employee NICs, FY2024-25 + label: Capital gains tax, FY2024-25 ordinal: 0 - column: C + column: D source_column_id: amount expected_column_header_row: 5 expected_column_header: 2024-25 - concept: obr.ni_employee - source_concept: obr.ni_employee + concept: obr.capital_gains_tax + source_concept: obr.capital_gains_tax concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.4, row 17 - ('Class 1 Employee NICs'), GBP billion. + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 22 + ('Capital gains tax'), GBP billion. unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.ni_employee.fy2025 +- record_set_id: obr.efo_2026_03.receipts.sdlt.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.ni_employee.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.ni_employee.fy2025 - sheet_name: '3.4' + assertion: observation + record_set_spec_id: obr.efo_2026_03.receipts.sdlt.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.sdlt.fy2024 + sheet_name: '3.8' period_type: fiscal_year - period: 2025 + period: 2024 geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -423,40 +431,47 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: ni_employee - label: Class 1 Employee NICs + - value_id: sdlt + label: Stamp duty land tax ordinal: 0 - row_number: 17 + row_number: 24 expected_row_header_column: B - expected_row_header: Class 1 Employee NICs + expected_row_header: Stamp duty land tax table_record_kind: total measures: - measure_id: amount - label: Class 1 Employee NICs, FY2025-26 + label: Stamp duty land tax, FY2024-25 ordinal: 0 column: D source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.ni_employee - source_concept: obr.ni_employee + expected_column_header: 2024-25 + concept: obr.sdlt + source_concept: obr.sdlt concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.4, row 17 - ('Class 1 Employee NICs'), GBP billion. + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 24 + ('Stamp duty land tax'), GBP billion. unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.ni_employee.fy2026 +# chronicle#381: excise lines of sheets 3.8, 3.10, 3.11, 3.12 and 3.2, generated by scripts/build_uk_excise_packages.py +- record_set_id: obr.efo_2026_03.receipts.tobacco_duties.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.ni_employee.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.ni_employee.fy2026 - sheet_name: '3.4' + assertion: observation + record_set_spec_id: obr.efo_2026_03.receipts.tobacco_duties.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.tobacco_duties.fy2024 + sheet_name: '3.8' period_type: fiscal_year - period: 2026 + period: 2024 + period_coverage: + start_date: '2024-04-01' + end_date: '2025-03-31' + basis: fiscal + source_period_label: 2024-25 + accounting_basis: cash geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -466,40 +481,63 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: ni_employee - label: Class 1 Employee NICs + - value_id: tobacco_duties + label: Tobacco duties ordinal: 0 - row_number: 17 + row_number: 27 expected_row_header_column: B - expected_row_header: Class 1 Employee NICs + expected_row_header: Tobacco duties table_record_kind: total + guard_cells: + - column: B + row: 2 + expected_value: 3.8 Current receipts (on a cash basis) + label: sheet title + - column: B + row: 66 + expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis + rather than an accrued basis.' + label: basis note measures: - measure_id: amount - label: Class 1 Employee NICs, FY2026-27 + label: Tobacco duties, FY2024-25 ordinal: 0 - column: E + column: D source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.ni_employee - source_concept: obr.ni_employee + expected_column_header: 2024-25 + concept: obr.tobacco_duties + source_concept: obr.tobacco_duties concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.4, row 17 - ('Class 1 Employee NICs'), GBP billion. + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts + (on a cash basis)'), row 27 ('Tobacco duties'), GBP billion. Cash basis (sheet title and note). unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.ni_employee.fy2027 + shared_filters: + accounting_basis: cash + shared_constraints: + - variable: accounting_basis + operator: == + value: cash + label: Accounting basis +- record_set_id: obr.efo_2026_03.receipts.spirits_duties.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.ni_employee.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.ni_employee.fy2027 - sheet_name: '3.4' + assertion: observation + record_set_spec_id: obr.efo_2026_03.receipts.spirits_duties.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.spirits_duties.fy2024 + sheet_name: '3.8' period_type: fiscal_year - period: 2027 + period: 2024 + period_coverage: + start_date: '2024-04-01' + end_date: '2025-03-31' + basis: fiscal + source_period_label: 2024-25 + accounting_basis: cash geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -509,40 +547,63 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: ni_employee - label: Class 1 Employee NICs + - value_id: spirits_duties + label: Spirits duties ordinal: 0 - row_number: 17 + row_number: 28 expected_row_header_column: B - expected_row_header: Class 1 Employee NICs + expected_row_header: Spirits duties table_record_kind: total + guard_cells: + - column: B + row: 2 + expected_value: 3.8 Current receipts (on a cash basis) + label: sheet title + - column: B + row: 66 + expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis + rather than an accrued basis.' + label: basis note measures: - measure_id: amount - label: Class 1 Employee NICs, FY2027-28 + label: Spirits duties, FY2024-25 ordinal: 0 - column: F + column: D source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.ni_employee - source_concept: obr.ni_employee + expected_column_header: 2024-25 + concept: obr.spirits_duties + source_concept: obr.spirits_duties concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.4, row 17 - ('Class 1 Employee NICs'), GBP billion. + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts + (on a cash basis)'), row 28 ('Spirits duties'), GBP billion. Cash basis (sheet title and note). unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.ni_employee.fy2028 + shared_filters: + accounting_basis: cash + shared_constraints: + - variable: accounting_basis + operator: == + value: cash + label: Accounting basis +- record_set_id: obr.efo_2026_03.receipts.wine_duties.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.ni_employee.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.ni_employee.fy2028 - sheet_name: '3.4' + assertion: observation + record_set_spec_id: obr.efo_2026_03.receipts.wine_duties.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.wine_duties.fy2024 + sheet_name: '3.8' period_type: fiscal_year - period: 2028 + period: 2024 + period_coverage: + start_date: '2024-04-01' + end_date: '2025-03-31' + basis: fiscal + source_period_label: 2024-25 + accounting_basis: cash geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -552,40 +613,63 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: ni_employee - label: Class 1 Employee NICs + - value_id: wine_duties + label: Wine duties ordinal: 0 - row_number: 17 + row_number: 29 expected_row_header_column: B - expected_row_header: Class 1 Employee NICs + expected_row_header: Wine duties table_record_kind: total + guard_cells: + - column: B + row: 2 + expected_value: 3.8 Current receipts (on a cash basis) + label: sheet title + - column: B + row: 66 + expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis + rather than an accrued basis.' + label: basis note measures: - measure_id: amount - label: Class 1 Employee NICs, FY2028-29 + label: Wine duties, FY2024-25 ordinal: 0 - column: G + column: D source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.ni_employee - source_concept: obr.ni_employee + expected_column_header: 2024-25 + concept: obr.wine_duties + source_concept: obr.wine_duties concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.4, row 17 - ('Class 1 Employee NICs'), GBP billion. + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts + (on a cash basis)'), row 29 ('Wine duties'), GBP billion. Cash basis (sheet title and note). unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.ni_employee.fy2029 + shared_filters: + accounting_basis: cash + shared_constraints: + - variable: accounting_basis + operator: == + value: cash + label: Accounting basis +- record_set_id: obr.efo_2026_03.receipts.beer_and_cider_duties.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.ni_employee.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.ni_employee.fy2029 - sheet_name: '3.4' + assertion: observation + record_set_spec_id: obr.efo_2026_03.receipts.beer_and_cider_duties.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.beer_and_cider_duties.fy2024 + sheet_name: '3.8' period_type: fiscal_year - period: 2029 + period: 2024 + period_coverage: + start_date: '2024-04-01' + end_date: '2025-03-31' + basis: fiscal + source_period_label: 2024-25 + accounting_basis: cash geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -595,40 +679,64 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: ni_employee - label: Class 1 Employee NICs + - value_id: beer_and_cider_duties + label: Beer and cider duties ordinal: 0 - row_number: 17 + row_number: 30 expected_row_header_column: B - expected_row_header: Class 1 Employee NICs + expected_row_header: Beer and cider duties table_record_kind: total + guard_cells: + - column: B + row: 2 + expected_value: 3.8 Current receipts (on a cash basis) + label: sheet title + - column: B + row: 66 + expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis + rather than an accrued basis.' + label: basis note measures: - measure_id: amount - label: Class 1 Employee NICs, FY2029-30 + label: Beer and cider duties, FY2024-25 ordinal: 0 - column: H + column: D source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.ni_employee - source_concept: obr.ni_employee + expected_column_header: 2024-25 + concept: obr.beer_and_cider_duties + source_concept: obr.beer_and_cider_duties concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.4, row 17 - ('Class 1 Employee NICs'), GBP billion. + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts + (on a cash basis)'), row 30 ('Beer and cider duties'), GBP billion. Cash basis (sheet title and + note). unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.ni_employee.fy2030 + shared_filters: + accounting_basis: cash + shared_constraints: + - variable: accounting_basis + operator: == + value: cash + label: Accounting basis +- record_set_id: obr.efo_2026_03.receipts.betting_and_gaming_duties.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.ni_employee.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.ni_employee.fy2030 - sheet_name: '3.4' + assertion: observation + record_set_spec_id: obr.efo_2026_03.receipts.betting_and_gaming_duties.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.betting_and_gaming_duties.fy2024 + sheet_name: '3.8' period_type: fiscal_year - period: 2030 + period: 2024 + period_coverage: + start_date: '2024-04-01' + end_date: '2025-03-31' + basis: fiscal + source_period_label: 2024-25 + accounting_basis: cash geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -638,40 +746,64 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: ni_employee - label: Class 1 Employee NICs + - value_id: betting_and_gaming_duties + label: Betting and gaming duties ordinal: 0 - row_number: 17 + row_number: 36 expected_row_header_column: B - expected_row_header: Class 1 Employee NICs + expected_row_header: Betting and gaming duties table_record_kind: total + guard_cells: + - column: B + row: 2 + expected_value: 3.8 Current receipts (on a cash basis) + label: sheet title + - column: B + row: 66 + expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis + rather than an accrued basis.' + label: basis note measures: - measure_id: amount - label: Class 1 Employee NICs, FY2030-31 + label: Betting and gaming duties, FY2024-25 ordinal: 0 - column: I + column: D source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.ni_employee - source_concept: obr.ni_employee + expected_column_header: 2024-25 + concept: obr.betting_and_gaming_duties + source_concept: obr.betting_and_gaming_duties concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.4, row 17 - ('Class 1 Employee NICs'), GBP billion. + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts + (on a cash basis)'), row 36 ('Betting and gaming duties'), GBP billion. Cash basis (sheet title + and note). unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.ni_employer.fy2024 + shared_filters: + accounting_basis: cash + shared_constraints: + - variable: accounting_basis + operator: == + value: cash + label: Accounting basis +- record_set_id: obr.efo_2026_03.receipts.vaping_tax.fy2024 provenance_class: model_output assertion: observation - record_set_spec_id: obr.efo_2026_03.receipts.ni_employer.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.ni_employer.fy2024 - sheet_name: '3.4' + record_set_spec_id: obr.efo_2026_03.receipts.vaping_tax.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.vaping_tax.fy2024 + sheet_name: '3.8' period_type: fiscal_year period: 2024 + period_coverage: + start_date: '2024-04-01' + end_date: '2025-03-31' + basis: fiscal + source_period_label: 2024-25 + accounting_basis: cash geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -681,40 +813,64 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: ni_employer - label: Class 1 Employer NICs + - value_id: vaping_tax + label: Vaping tax ordinal: 0 - row_number: 18 + row_number: 48 expected_row_header_column: B - expected_row_header: Class 1 Employer NICs + expected_row_header: Vaping tax table_record_kind: total + guard_cells: + - column: B + row: 2 + expected_value: 3.8 Current receipts (on a cash basis) + label: sheet title + - column: B + row: 66 + expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis + rather than an accrued basis.' + label: basis note measures: - measure_id: amount - label: Class 1 Employer NICs, FY2024-25 + label: Vaping tax, FY2024-25 ordinal: 0 - column: C + column: D source_column_id: amount expected_column_header_row: 5 expected_column_header: 2024-25 - concept: obr.ni_employer - source_concept: obr.ni_employer + concept: obr.vaping_tax + source_concept: obr.vaping_tax concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.4, row 18 - ('Class 1 Employer NICs'), GBP billion. - unit: gbp + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts + (on a cash basis)'), row 48 ('Vaping tax'), GBP billion. Cash basis (sheet title and note). The + tax is zero in the years before it starts, as published. + unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.ni_employer.fy2025 + shared_filters: + accounting_basis: cash + shared_constraints: + - variable: accounting_basis + operator: == + value: cash + label: Accounting basis +- record_set_id: obr.efo_2026_03.receipts.vehicle_excise_duties.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.ni_employer.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.ni_employer.fy2025 - sheet_name: '3.4' + assertion: observation + record_set_spec_id: obr.efo_2026_03.receipts.vehicle_excise_duties.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.vehicle_excise_duties.fy2024 + sheet_name: '3.8' period_type: fiscal_year - period: 2025 + period: 2024 + period_coverage: + start_date: '2024-04-01' + end_date: '2025-03-31' + basis: fiscal + source_period_label: 2024-25 + accounting_basis: cash geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -724,40 +880,64 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: ni_employer - label: Class 1 Employer NICs + - value_id: vehicle_excise_duties + label: Vehicle excise duties ordinal: 0 - row_number: 18 + row_number: 52 expected_row_header_column: B - expected_row_header: Class 1 Employer NICs + expected_row_header: Vehicle excise duties table_record_kind: total + guard_cells: + - column: B + row: 2 + expected_value: 3.8 Current receipts (on a cash basis) + label: sheet title + - column: B + row: 66 + expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis + rather than an accrued basis.' + label: basis note measures: - measure_id: amount - label: Class 1 Employer NICs, FY2025-26 + label: Vehicle excise duties, FY2024-25 ordinal: 0 column: D source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.ni_employer - source_concept: obr.ni_employer + expected_column_header: 2024-25 + concept: obr.vehicle_excise_duties + source_concept: obr.vehicle_excise_duties concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.4, row 18 - ('Class 1 Employer NICs'), GBP billion. + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts + (on a cash basis)'), row 52 ('Vehicle excise duties'), GBP billion. Cash basis (sheet title and + note). unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.ni_employer.fy2026 + shared_filters: + accounting_basis: cash + shared_constraints: + - variable: accounting_basis + operator: == + value: cash + label: Accounting basis +- record_set_id: obr.efo_2026_03.receipts.betting_and_gaming_duties_accrued.fy2025 provenance_class: model_output assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.ni_employer.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.ni_employer.fy2026 - sheet_name: '3.4' + record_set_spec_id: obr.efo_2026_03.receipts.betting_and_gaming_duties_accrued.fy2025.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.betting_and_gaming_duties_accrued.fy2025 + sheet_name: '3.10' period_type: fiscal_year - period: 2026 + period: 2025 + period_coverage: + start_date: '2025-04-01' + end_date: '2026-03-31' + basis: fiscal + source_period_label: 2025-26 + accounting_basis: accrual geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -767,40 +947,60 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: ni_employer - label: Class 1 Employer NICs + - value_id: betting_and_gaming_duties_accrued + label: Betting and gaming duties (accrued) ordinal: 0 - row_number: 18 + row_number: 6 expected_row_header_column: B - expected_row_header: Class 1 Employer NICs + expected_row_header: Betting and gaming duties table_record_kind: total + guard_cells: + - column: B + row: 2 + expected_value: 3.10 Betting and gaming duties forecast breakdown + label: sheet title measures: - measure_id: amount - label: Class 1 Employer NICs, FY2026-27 + label: Betting and gaming duties (accrued), FY2025-26 ordinal: 0 - column: E + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.ni_employer - source_concept: obr.ni_employer + expected_column_header: 2025-26 + concept: obr.betting_and_gaming_duties + source_concept: obr.betting_and_gaming_duties concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.4, row 18 - ('Class 1 Employer NICs'), GBP billion. + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming + duties forecast breakdown'), row 6 ('Betting and gaming duties'), GBP billion. Sheet 3.10 states + no basis; this row equals sheet 3.1's accrued 'Betting and gaming taxes' row (row 7) in every year, + not sheet 3.8's cash row 36, so it is stamped accrual. unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.ni_employer.fy2027 + shared_filters: + accounting_basis: accrual + shared_constraints: + - variable: accounting_basis + operator: == + value: accrual + label: Accounting basis +- record_set_id: obr.efo_2026_03.receipts.remote_gaming_duty.fy2025 provenance_class: model_output assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.ni_employer.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.ni_employer.fy2027 - sheet_name: '3.4' + record_set_spec_id: obr.efo_2026_03.receipts.remote_gaming_duty.fy2025.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.remote_gaming_duty.fy2025 + sheet_name: '3.10' period_type: fiscal_year - period: 2027 + period: 2025 + period_coverage: + start_date: '2025-04-01' + end_date: '2026-03-31' + basis: fiscal + source_period_label: 2025-26 + accounting_basis: accrual geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -810,40 +1010,60 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: ni_employer - label: Class 1 Employer NICs + - value_id: remote_gaming_duty + label: Remote gaming duty ordinal: 0 - row_number: 18 + row_number: 8 expected_row_header_column: B - expected_row_header: Class 1 Employer NICs + expected_row_header: Remote gaming duty table_record_kind: total + guard_cells: + - column: B + row: 2 + expected_value: 3.10 Betting and gaming duties forecast breakdown + label: sheet title measures: - measure_id: amount - label: Class 1 Employer NICs, FY2027-28 + label: Remote gaming duty, FY2025-26 ordinal: 0 - column: F + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.ni_employer - source_concept: obr.ni_employer + expected_column_header: 2025-26 + concept: obr.remote_gaming_duty + source_concept: obr.remote_gaming_duty concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.4, row 18 - ('Class 1 Employer NICs'), GBP billion. + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming + duties forecast breakdown'), row 8 ('Remote gaming duty'), GBP billion. An 'of which' of row 6; + the seven duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting + and gaming taxes' row (row 7) in every year, so the line is stamped accrual. unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.ni_employer.fy2028 + shared_filters: + accounting_basis: accrual + shared_constraints: + - variable: accounting_basis + operator: == + value: accrual + label: Accounting basis +- record_set_id: obr.efo_2026_03.receipts.lottery_duty.fy2025 provenance_class: model_output assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.ni_employer.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.ni_employer.fy2028 - sheet_name: '3.4' + record_set_spec_id: obr.efo_2026_03.receipts.lottery_duty.fy2025.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.lottery_duty.fy2025 + sheet_name: '3.10' period_type: fiscal_year - period: 2028 + period: 2025 + period_coverage: + start_date: '2025-04-01' + end_date: '2026-03-31' + basis: fiscal + source_period_label: 2025-26 + accounting_basis: accrual geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -853,40 +1073,60 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: ni_employer - label: Class 1 Employer NICs + - value_id: lottery_duty + label: Lottery duty ordinal: 0 - row_number: 18 + row_number: 9 expected_row_header_column: B - expected_row_header: Class 1 Employer NICs + expected_row_header: Lottery duty table_record_kind: total + guard_cells: + - column: B + row: 2 + expected_value: 3.10 Betting and gaming duties forecast breakdown + label: sheet title measures: - measure_id: amount - label: Class 1 Employer NICs, FY2028-29 + label: Lottery duty, FY2025-26 ordinal: 0 - column: G + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.ni_employer - source_concept: obr.ni_employer + expected_column_header: 2025-26 + concept: obr.lottery_duty + source_concept: obr.lottery_duty concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.4, row 18 - ('Class 1 Employer NICs'), GBP billion. + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming + duties forecast breakdown'), row 9 ('Lottery duty'), GBP billion. An 'of which' of row 6; the seven + duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting and gaming + taxes' row (row 7) in every year, so the line is stamped accrual. unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.ni_employer.fy2029 + shared_filters: + accounting_basis: accrual + shared_constraints: + - variable: accounting_basis + operator: == + value: accrual + label: Accounting basis +- record_set_id: obr.efo_2026_03.receipts.general_betting_duty.fy2025 provenance_class: model_output assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.ni_employer.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.ni_employer.fy2029 - sheet_name: '3.4' + record_set_spec_id: obr.efo_2026_03.receipts.general_betting_duty.fy2025.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.general_betting_duty.fy2025 + sheet_name: '3.10' period_type: fiscal_year - period: 2029 + period: 2025 + period_coverage: + start_date: '2025-04-01' + end_date: '2026-03-31' + basis: fiscal + source_period_label: 2025-26 + accounting_basis: accrual geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -896,40 +1136,60 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: ni_employer - label: Class 1 Employer NICs + - value_id: general_betting_duty + label: General betting duty ordinal: 0 - row_number: 18 + row_number: 10 expected_row_header_column: B - expected_row_header: Class 1 Employer NICs + expected_row_header: General betting duty table_record_kind: total + guard_cells: + - column: B + row: 2 + expected_value: 3.10 Betting and gaming duties forecast breakdown + label: sheet title measures: - measure_id: amount - label: Class 1 Employer NICs, FY2029-30 + label: General betting duty, FY2025-26 ordinal: 0 - column: H + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.ni_employer - source_concept: obr.ni_employer + expected_column_header: 2025-26 + concept: obr.general_betting_duty + source_concept: obr.general_betting_duty concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.4, row 18 - ('Class 1 Employer NICs'), GBP billion. + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming + duties forecast breakdown'), row 10 ('General betting duty'), GBP billion. An 'of which' of row + 6; the seven duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting + and gaming taxes' row (row 7) in every year, so the line is stamped accrual. unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.ni_employer.fy2030 + shared_filters: + accounting_basis: accrual + shared_constraints: + - variable: accounting_basis + operator: == + value: accrual + label: Accounting basis +- record_set_id: obr.efo_2026_03.receipts.machine_games_duty.fy2025 provenance_class: model_output assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.ni_employer.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.ni_employer.fy2030 - sheet_name: '3.4' + record_set_spec_id: obr.efo_2026_03.receipts.machine_games_duty.fy2025.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.machine_games_duty.fy2025 + sheet_name: '3.10' period_type: fiscal_year - period: 2030 + period: 2025 + period_coverage: + start_date: '2025-04-01' + end_date: '2026-03-31' + basis: fiscal + source_period_label: 2025-26 + accounting_basis: accrual geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -939,40 +1199,60 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: ni_employer - label: Class 1 Employer NICs + - value_id: machine_games_duty + label: Machine games duty ordinal: 0 - row_number: 18 + row_number: 11 expected_row_header_column: B - expected_row_header: Class 1 Employer NICs + expected_row_header: Machine games duty table_record_kind: total + guard_cells: + - column: B + row: 2 + expected_value: 3.10 Betting and gaming duties forecast breakdown + label: sheet title measures: - measure_id: amount - label: Class 1 Employer NICs, FY2030-31 + label: Machine games duty, FY2025-26 ordinal: 0 - column: I + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.ni_employer - source_concept: obr.ni_employer + expected_column_header: 2025-26 + concept: obr.machine_games_duty + source_concept: obr.machine_games_duty concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.4, row 18 - ('Class 1 Employer NICs'), GBP billion. + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming + duties forecast breakdown'), row 11 ('Machine games duty'), GBP billion. An 'of which' of row 6; + the seven duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting + and gaming taxes' row (row 7) in every year, so the line is stamped accrual. unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.ni_self_employed.fy2024 + shared_filters: + accounting_basis: accrual + shared_constraints: + - variable: accounting_basis + operator: == + value: accrual + label: Accounting basis +- record_set_id: obr.efo_2026_03.receipts.gaming_duty.fy2025 provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.receipts.ni_self_employed.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.ni_self_employed.fy2024 - sheet_name: '3.4' + assertion: source_projection + record_set_spec_id: obr.efo_2026_03.receipts.gaming_duty.fy2025.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.gaming_duty.fy2025 + sheet_name: '3.10' period_type: fiscal_year - period: 2024 + period: 2025 + period_coverage: + start_date: '2025-04-01' + end_date: '2026-03-31' + basis: fiscal + source_period_label: 2025-26 + accounting_basis: accrual geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -982,40 +1262,60 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: ni_self_employed - label: Class 4 and Class 2 Self employed NICs + - value_id: gaming_duty + label: Gaming duty ordinal: 0 - row_number: 19 + row_number: 12 expected_row_header_column: B - expected_row_header: Class 4 and Class 2 Self employed NICs + expected_row_header: Gaming duty table_record_kind: total + guard_cells: + - column: B + row: 2 + expected_value: 3.10 Betting and gaming duties forecast breakdown + label: sheet title measures: - measure_id: amount - label: Class 4 and Class 2 Self employed NICs, FY2024-25 + label: Gaming duty, FY2025-26 ordinal: 0 column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.ni_self_employed - source_concept: obr.ni_self_employed + expected_column_header: 2025-26 + concept: obr.gaming_duty + source_concept: obr.gaming_duty concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.4, row 19 - ('Class 4 and Class 2 Self employed NICs'), GBP billion. + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming + duties forecast breakdown'), row 12 ('Gaming duty'), GBP billion. An 'of which' of row 6; the seven + duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting and gaming + taxes' row (row 7) in every year, so the line is stamped accrual. unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.ni_self_employed.fy2025 + shared_filters: + accounting_basis: accrual + shared_constraints: + - variable: accounting_basis + operator: == + value: accrual + label: Accounting basis +- record_set_id: obr.efo_2026_03.receipts.bingo_duty.fy2025 provenance_class: model_output assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.ni_self_employed.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.ni_self_employed.fy2025 - sheet_name: '3.4' + record_set_spec_id: obr.efo_2026_03.receipts.bingo_duty.fy2025.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.bingo_duty.fy2025 + sheet_name: '3.10' period_type: fiscal_year period: 2025 + period_coverage: + start_date: '2025-04-01' + end_date: '2026-03-31' + basis: fiscal + source_period_label: 2025-26 + accounting_basis: accrual geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -1025,40 +1325,61 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: ni_self_employed - label: Class 4 and Class 2 Self employed NICs + - value_id: bingo_duty + label: Bingo duty ordinal: 0 - row_number: 19 + row_number: 13 expected_row_header_column: B - expected_row_header: Class 4 and Class 2 Self employed NICs + expected_row_header: Bingo duty table_record_kind: total + guard_cells: + - column: B + row: 2 + expected_value: 3.10 Betting and gaming duties forecast breakdown + label: sheet title measures: - measure_id: amount - label: Class 4 and Class 2 Self employed NICs, FY2025-26 + label: Bingo duty, FY2025-26 ordinal: 0 - column: D + column: C source_column_id: amount expected_column_header_row: 5 expected_column_header: 2025-26 - concept: obr.ni_self_employed - source_concept: obr.ni_self_employed + concept: obr.bingo_duty + source_concept: obr.bingo_duty concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.4, row 19 - ('Class 4 and Class 2 Self employed NICs'), GBP billion. + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming + duties forecast breakdown'), row 13 ('Bingo duty'), GBP billion. An 'of which' of row 6; the seven + duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting and gaming + taxes' row (row 7) in every year, so the line is stamped accrual. Bingo duty is abolished from 1 + April 2026; the sheet's near-zero later values are kept as published. unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.ni_self_employed.fy2026 + shared_filters: + accounting_basis: accrual + shared_constraints: + - variable: accounting_basis + operator: == + value: accrual + label: Accounting basis +- record_set_id: obr.efo_2026_03.receipts.pool_betting_duty.fy2025 provenance_class: model_output assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.ni_self_employed.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.ni_self_employed.fy2026 - sheet_name: '3.4' + record_set_spec_id: obr.efo_2026_03.receipts.pool_betting_duty.fy2025.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.pool_betting_duty.fy2025 + sheet_name: '3.10' period_type: fiscal_year - period: 2026 + period: 2025 + period_coverage: + start_date: '2025-04-01' + end_date: '2026-03-31' + basis: fiscal + source_period_label: 2025-26 + accounting_basis: accrual geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -1068,14278 +1389,498 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: ni_self_employed - label: Class 4 and Class 2 Self employed NICs + - value_id: pool_betting_duty + label: Pool betting duty ordinal: 0 - row_number: 19 + row_number: 14 expected_row_header_column: B - expected_row_header: Class 4 and Class 2 Self employed NICs + expected_row_header: Pool betting duty table_record_kind: total + guard_cells: + - column: B + row: 2 + expected_value: 3.10 Betting and gaming duties forecast breakdown + label: sheet title measures: - measure_id: amount - label: Class 4 and Class 2 Self employed NICs, FY2026-27 + label: Pool betting duty, FY2025-26 ordinal: 0 - column: E + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.ni_self_employed - source_concept: obr.ni_self_employed + expected_column_header: 2025-26 + concept: obr.pool_betting_duty + source_concept: obr.pool_betting_duty concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.4, row 19 - ('Class 4 and Class 2 Self employed NICs'), GBP billion. + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming + duties forecast breakdown'), row 14 ('Pool betting duty'), GBP billion. An 'of which' of row 6; + the seven duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting + and gaming taxes' row (row 7) in every year, so the line is stamped accrual. unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.ni_self_employed.fy2027 + shared_filters: + accounting_basis: accrual + shared_constraints: + - variable: accounting_basis + operator: == + value: accrual + label: Accounting basis +- record_set_id: obr.efo_2026_03.receipts.cigarette_clearances.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.ni_self_employed.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.ni_self_employed.fy2027 - sheet_name: '3.4' + assertion: observation + record_set_spec_id: obr.efo_2026_03.receipts.cigarette_clearances.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.cigarette_clearances.fy2024 + sheet_name: '3.11' period_type: fiscal_year - period: 2027 + period: 2024 + period_coverage: + start_date: '2024-04-01' + end_date: '2025-03-31' + basis: fiscal + source_period_label: 2024-25 geography_id: K02000001 geography_level: country geography_name: United Kingdom geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances + entity: institutional_sector + entity_role: tobacco_market + domain: tobacco_clearances groupby_dimension: obr.efo_line rows: - - value_id: ni_self_employed - label: Class 4 and Class 2 Self employed NICs + - value_id: cigarette_clearances + label: Cigarette clearances ordinal: 0 - row_number: 19 + row_number: 5 expected_row_header_column: B - expected_row_header: Class 4 and Class 2 Self employed NICs + expected_row_header: Cigarette clearances (million sticks) table_record_kind: total + guard_cells: + - column: B + row: 2 + expected_value: ' 3.11 Tobacco clearances' + label: sheet title measures: - measure_id: amount - label: Class 4 and Class 2 Self employed NICs, FY2027-28 + label: Cigarette clearances, FY2024-25 ordinal: 0 - column: F + column: C source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.ni_self_employed - source_concept: obr.ni_self_employed + expected_column_header_row: 4 + expected_column_header: 2024-25 + concept: obr.cigarette_clearances + source_concept: obr.cigarette_clearances concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.4, row 19 - ('Class 4 and Class 2 Self employed NICs'), GBP billion. - unit: gbp + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.11 ('Tobacco clearances'), + row 5 ('Cigarette clearances (million sticks)'), million sticks. Million sticks, as the row label + states. + unit: stick aggregation: sum - value_scale: 1000000000 + value_scale: 1000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.ni_self_employed.fy2028 + shared_filters: + published_unit: million_sticks + shared_constraints: + - variable: published_unit + operator: == + value: million_sticks + label: Published unit +- record_set_id: obr.efo_2026_03.receipts.non_cigarette_tobacco_clearances.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.ni_self_employed.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.ni_self_employed.fy2028 - sheet_name: '3.4' + assertion: observation + record_set_spec_id: obr.efo_2026_03.receipts.non_cigarette_tobacco_clearances.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.non_cigarette_tobacco_clearances.fy2024 + sheet_name: '3.11' period_type: fiscal_year - period: 2028 + period: 2024 + period_coverage: + start_date: '2024-04-01' + end_date: '2025-03-31' + basis: fiscal + source_period_label: 2024-25 geography_id: K02000001 geography_level: country geography_name: United Kingdom geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances + entity: institutional_sector + entity_role: tobacco_market + domain: tobacco_clearances groupby_dimension: obr.efo_line rows: - - value_id: ni_self_employed - label: Class 4 and Class 2 Self employed NICs + - value_id: non_cigarette_tobacco_clearances + label: Non-cigarette tobacco clearances ordinal: 0 - row_number: 19 + row_number: 6 expected_row_header_column: B - expected_row_header: Class 4 and Class 2 Self employed NICs - table_record_kind: total - measures: - - measure_id: amount - label: Class 4 and Class 2 Self employed NICs, FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.ni_self_employed - source_concept: obr.ni_self_employed - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.4, row 19 - ('Class 4 and Class 2 Self employed NICs'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.ni_self_employed.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.ni_self_employed.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.ni_self_employed.fy2029 - sheet_name: '3.4' - period_type: fiscal_year - period: 2029 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: ni_self_employed - label: Class 4 and Class 2 Self employed NICs - ordinal: 0 - row_number: 19 - expected_row_header_column: B - expected_row_header: Class 4 and Class 2 Self employed NICs - table_record_kind: total - measures: - - measure_id: amount - label: Class 4 and Class 2 Self employed NICs, FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.ni_self_employed - source_concept: obr.ni_self_employed - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.4, row 19 - ('Class 4 and Class 2 Self employed NICs'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.ni_self_employed.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.ni_self_employed.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.ni_self_employed.fy2030 - sheet_name: '3.4' - period_type: fiscal_year - period: 2030 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: ni_self_employed - label: Class 4 and Class 2 Self employed NICs - ordinal: 0 - row_number: 19 - expected_row_header_column: B - expected_row_header: Class 4 and Class 2 Self employed NICs - table_record_kind: total - measures: - - measure_id: amount - label: Class 4 and Class 2 Self employed NICs, FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.ni_self_employed - source_concept: obr.ni_self_employed - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.4, row 19 - ('Class 4 and Class 2 Self employed NICs'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.ni_total.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.receipts.ni_total.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.ni_total.fy2024 - sheet_name: '3.8' - period_type: fiscal_year - period: 2024 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: ni_total - label: National insurance contributions - ordinal: 0 - row_number: 12 - expected_row_header_column: B - expected_row_header: National insurance contributions - table_record_kind: total - measures: - - measure_id: amount - label: National insurance contributions, FY2024-25 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.ni_total - source_concept: obr.ni_total - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 12 - ('National insurance contributions'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.ni_total.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.ni_total.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.ni_total.fy2025 - sheet_name: '3.8' - period_type: fiscal_year - period: 2025 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: ni_total - label: National insurance contributions - ordinal: 0 - row_number: 12 - expected_row_header_column: B - expected_row_header: National insurance contributions - table_record_kind: total - measures: - - measure_id: amount - label: National insurance contributions, FY2025-26 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.ni_total - source_concept: obr.ni_total - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 12 - ('National insurance contributions'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.ni_total.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.ni_total.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.ni_total.fy2026 - sheet_name: '3.8' - period_type: fiscal_year - period: 2026 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: ni_total - label: National insurance contributions - ordinal: 0 - row_number: 12 - expected_row_header_column: B - expected_row_header: National insurance contributions - table_record_kind: total - measures: - - measure_id: amount - label: National insurance contributions, FY2026-27 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.ni_total - source_concept: obr.ni_total - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 12 - ('National insurance contributions'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.ni_total.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.ni_total.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.ni_total.fy2027 - sheet_name: '3.8' - period_type: fiscal_year - period: 2027 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: ni_total - label: National insurance contributions - ordinal: 0 - row_number: 12 - expected_row_header_column: B - expected_row_header: National insurance contributions - table_record_kind: total - measures: - - measure_id: amount - label: National insurance contributions, FY2027-28 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.ni_total - source_concept: obr.ni_total - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 12 - ('National insurance contributions'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.ni_total.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.ni_total.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.ni_total.fy2028 - sheet_name: '3.8' - period_type: fiscal_year - period: 2028 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: ni_total - label: National insurance contributions - ordinal: 0 - row_number: 12 - expected_row_header_column: B - expected_row_header: National insurance contributions - table_record_kind: total - measures: - - measure_id: amount - label: National insurance contributions, FY2028-29 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.ni_total - source_concept: obr.ni_total - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 12 - ('National insurance contributions'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.ni_total.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.ni_total.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.ni_total.fy2029 - sheet_name: '3.8' - period_type: fiscal_year - period: 2029 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: ni_total - label: National insurance contributions - ordinal: 0 - row_number: 12 - expected_row_header_column: B - expected_row_header: National insurance contributions - table_record_kind: total - measures: - - measure_id: amount - label: National insurance contributions, FY2029-30 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.ni_total - source_concept: obr.ni_total - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 12 - ('National insurance contributions'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.ni_total.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.ni_total.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.ni_total.fy2030 - sheet_name: '3.8' - period_type: fiscal_year - period: 2030 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: ni_total - label: National insurance contributions - ordinal: 0 - row_number: 12 - expected_row_header_column: B - expected_row_header: National insurance contributions - table_record_kind: total - measures: - - measure_id: amount - label: National insurance contributions, FY2030-31 - ordinal: 0 - column: J - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.ni_total - source_concept: obr.ni_total - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 12 - ('National insurance contributions'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.vat.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.receipts.vat.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.vat.fy2024 - sheet_name: '3.8' - period_type: fiscal_year - period: 2024 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: vat - label: Value added tax - ordinal: 0 - row_number: 13 - expected_row_header_column: B - expected_row_header: Value added tax - table_record_kind: total - measures: - - measure_id: amount - label: Value added tax, FY2024-25 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.vat - source_concept: obr.vat - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 13 - ('Value added tax'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.vat.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.vat.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.vat.fy2025 - sheet_name: '3.8' - period_type: fiscal_year - period: 2025 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: vat - label: Value added tax - ordinal: 0 - row_number: 13 - expected_row_header_column: B - expected_row_header: Value added tax - table_record_kind: total - measures: - - measure_id: amount - label: Value added tax, FY2025-26 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.vat - source_concept: obr.vat - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 13 - ('Value added tax'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.vat.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.vat.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.vat.fy2026 - sheet_name: '3.8' - period_type: fiscal_year - period: 2026 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: vat - label: Value added tax - ordinal: 0 - row_number: 13 - expected_row_header_column: B - expected_row_header: Value added tax - table_record_kind: total - measures: - - measure_id: amount - label: Value added tax, FY2026-27 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.vat - source_concept: obr.vat - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 13 - ('Value added tax'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.vat.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.vat.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.vat.fy2027 - sheet_name: '3.8' - period_type: fiscal_year - period: 2027 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: vat - label: Value added tax - ordinal: 0 - row_number: 13 - expected_row_header_column: B - expected_row_header: Value added tax - table_record_kind: total - measures: - - measure_id: amount - label: Value added tax, FY2027-28 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.vat - source_concept: obr.vat - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 13 - ('Value added tax'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.vat.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.vat.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.vat.fy2028 - sheet_name: '3.8' - period_type: fiscal_year - period: 2028 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: vat - label: Value added tax - ordinal: 0 - row_number: 13 - expected_row_header_column: B - expected_row_header: Value added tax - table_record_kind: total - measures: - - measure_id: amount - label: Value added tax, FY2028-29 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.vat - source_concept: obr.vat - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 13 - ('Value added tax'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.vat.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.vat.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.vat.fy2029 - sheet_name: '3.8' - period_type: fiscal_year - period: 2029 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: vat - label: Value added tax - ordinal: 0 - row_number: 13 - expected_row_header_column: B - expected_row_header: Value added tax - table_record_kind: total - measures: - - measure_id: amount - label: Value added tax, FY2029-30 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.vat - source_concept: obr.vat - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 13 - ('Value added tax'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.vat.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.vat.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.vat.fy2030 - sheet_name: '3.8' - period_type: fiscal_year - period: 2030 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: vat - label: Value added tax - ordinal: 0 - row_number: 13 - expected_row_header_column: B - expected_row_header: Value added tax - table_record_kind: total - measures: - - measure_id: amount - label: Value added tax, FY2030-31 - ordinal: 0 - column: J - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.vat - source_concept: obr.vat - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 13 - ('Value added tax'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.fuel_duties.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.receipts.fuel_duties.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.fuel_duties.fy2024 - sheet_name: '3.8' - period_type: fiscal_year - period: 2024 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: fuel_duties - label: Fuel duties - ordinal: 0 - row_number: 21 - expected_row_header_column: B - expected_row_header: Fuel duties - table_record_kind: total - measures: - - measure_id: amount - label: Fuel duties, FY2024-25 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.fuel_duties - source_concept: obr.fuel_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 21 - ('Fuel duties'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.fuel_duties.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.fuel_duties.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.fuel_duties.fy2025 - sheet_name: '3.8' - period_type: fiscal_year - period: 2025 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: fuel_duties - label: Fuel duties - ordinal: 0 - row_number: 21 - expected_row_header_column: B - expected_row_header: Fuel duties - table_record_kind: total - measures: - - measure_id: amount - label: Fuel duties, FY2025-26 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.fuel_duties - source_concept: obr.fuel_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 21 - ('Fuel duties'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.fuel_duties.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.fuel_duties.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.fuel_duties.fy2026 - sheet_name: '3.8' - period_type: fiscal_year - period: 2026 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: fuel_duties - label: Fuel duties - ordinal: 0 - row_number: 21 - expected_row_header_column: B - expected_row_header: Fuel duties - table_record_kind: total - measures: - - measure_id: amount - label: Fuel duties, FY2026-27 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.fuel_duties - source_concept: obr.fuel_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 21 - ('Fuel duties'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.fuel_duties.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.fuel_duties.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.fuel_duties.fy2027 - sheet_name: '3.8' - period_type: fiscal_year - period: 2027 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: fuel_duties - label: Fuel duties - ordinal: 0 - row_number: 21 - expected_row_header_column: B - expected_row_header: Fuel duties - table_record_kind: total - measures: - - measure_id: amount - label: Fuel duties, FY2027-28 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.fuel_duties - source_concept: obr.fuel_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 21 - ('Fuel duties'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.fuel_duties.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.fuel_duties.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.fuel_duties.fy2028 - sheet_name: '3.8' - period_type: fiscal_year - period: 2028 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: fuel_duties - label: Fuel duties - ordinal: 0 - row_number: 21 - expected_row_header_column: B - expected_row_header: Fuel duties - table_record_kind: total - measures: - - measure_id: amount - label: Fuel duties, FY2028-29 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.fuel_duties - source_concept: obr.fuel_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 21 - ('Fuel duties'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.fuel_duties.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.fuel_duties.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.fuel_duties.fy2029 - sheet_name: '3.8' - period_type: fiscal_year - period: 2029 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: fuel_duties - label: Fuel duties - ordinal: 0 - row_number: 21 - expected_row_header_column: B - expected_row_header: Fuel duties - table_record_kind: total - measures: - - measure_id: amount - label: Fuel duties, FY2029-30 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.fuel_duties - source_concept: obr.fuel_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 21 - ('Fuel duties'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.fuel_duties.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.fuel_duties.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.fuel_duties.fy2030 - sheet_name: '3.8' - period_type: fiscal_year - period: 2030 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: fuel_duties - label: Fuel duties - ordinal: 0 - row_number: 21 - expected_row_header_column: B - expected_row_header: Fuel duties - table_record_kind: total - measures: - - measure_id: amount - label: Fuel duties, FY2030-31 - ordinal: 0 - column: J - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.fuel_duties - source_concept: obr.fuel_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 21 - ('Fuel duties'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.capital_gains_tax.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.receipts.capital_gains_tax.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.capital_gains_tax.fy2024 - sheet_name: '3.8' - period_type: fiscal_year - period: 2024 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: capital_gains_tax - label: Capital gains tax - ordinal: 0 - row_number: 22 - expected_row_header_column: B - expected_row_header: Capital gains tax - table_record_kind: total - measures: - - measure_id: amount - label: Capital gains tax, FY2024-25 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.capital_gains_tax - source_concept: obr.capital_gains_tax - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 22 - ('Capital gains tax'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.capital_gains_tax.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.capital_gains_tax.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.capital_gains_tax.fy2025 - sheet_name: '3.8' - period_type: fiscal_year - period: 2025 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: capital_gains_tax - label: Capital gains tax - ordinal: 0 - row_number: 22 - expected_row_header_column: B - expected_row_header: Capital gains tax - table_record_kind: total - measures: - - measure_id: amount - label: Capital gains tax, FY2025-26 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.capital_gains_tax - source_concept: obr.capital_gains_tax - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 22 - ('Capital gains tax'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.capital_gains_tax.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.capital_gains_tax.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.capital_gains_tax.fy2026 - sheet_name: '3.8' - period_type: fiscal_year - period: 2026 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: capital_gains_tax - label: Capital gains tax - ordinal: 0 - row_number: 22 - expected_row_header_column: B - expected_row_header: Capital gains tax - table_record_kind: total - measures: - - measure_id: amount - label: Capital gains tax, FY2026-27 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.capital_gains_tax - source_concept: obr.capital_gains_tax - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 22 - ('Capital gains tax'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.capital_gains_tax.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.capital_gains_tax.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.capital_gains_tax.fy2027 - sheet_name: '3.8' - period_type: fiscal_year - period: 2027 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: capital_gains_tax - label: Capital gains tax - ordinal: 0 - row_number: 22 - expected_row_header_column: B - expected_row_header: Capital gains tax - table_record_kind: total - measures: - - measure_id: amount - label: Capital gains tax, FY2027-28 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.capital_gains_tax - source_concept: obr.capital_gains_tax - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 22 - ('Capital gains tax'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.capital_gains_tax.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.capital_gains_tax.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.capital_gains_tax.fy2028 - sheet_name: '3.8' - period_type: fiscal_year - period: 2028 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: capital_gains_tax - label: Capital gains tax - ordinal: 0 - row_number: 22 - expected_row_header_column: B - expected_row_header: Capital gains tax - table_record_kind: total - measures: - - measure_id: amount - label: Capital gains tax, FY2028-29 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.capital_gains_tax - source_concept: obr.capital_gains_tax - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 22 - ('Capital gains tax'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.capital_gains_tax.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.capital_gains_tax.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.capital_gains_tax.fy2029 - sheet_name: '3.8' - period_type: fiscal_year - period: 2029 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: capital_gains_tax - label: Capital gains tax - ordinal: 0 - row_number: 22 - expected_row_header_column: B - expected_row_header: Capital gains tax - table_record_kind: total - measures: - - measure_id: amount - label: Capital gains tax, FY2029-30 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.capital_gains_tax - source_concept: obr.capital_gains_tax - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 22 - ('Capital gains tax'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.capital_gains_tax.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.capital_gains_tax.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.capital_gains_tax.fy2030 - sheet_name: '3.8' - period_type: fiscal_year - period: 2030 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: capital_gains_tax - label: Capital gains tax - ordinal: 0 - row_number: 22 - expected_row_header_column: B - expected_row_header: Capital gains tax - table_record_kind: total - measures: - - measure_id: amount - label: Capital gains tax, FY2030-31 - ordinal: 0 - column: J - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.capital_gains_tax - source_concept: obr.capital_gains_tax - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 22 - ('Capital gains tax'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.receipts.sdlt.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt.fy2024 - sheet_name: '3.8' - period_type: fiscal_year - period: 2024 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: sdlt - label: Stamp duty land tax - ordinal: 0 - row_number: 24 - expected_row_header_column: B - expected_row_header: Stamp duty land tax - table_record_kind: total - measures: - - measure_id: amount - label: Stamp duty land tax, FY2024-25 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.sdlt - source_concept: obr.sdlt - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 24 - ('Stamp duty land tax'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt.fy2025 - sheet_name: '3.8' - period_type: fiscal_year - period: 2025 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: sdlt - label: Stamp duty land tax - ordinal: 0 - row_number: 24 - expected_row_header_column: B - expected_row_header: Stamp duty land tax - table_record_kind: total - measures: - - measure_id: amount - label: Stamp duty land tax, FY2025-26 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.sdlt - source_concept: obr.sdlt - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 24 - ('Stamp duty land tax'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt.fy2026 - sheet_name: '3.8' - period_type: fiscal_year - period: 2026 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: sdlt - label: Stamp duty land tax - ordinal: 0 - row_number: 24 - expected_row_header_column: B - expected_row_header: Stamp duty land tax - table_record_kind: total - measures: - - measure_id: amount - label: Stamp duty land tax, FY2026-27 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.sdlt - source_concept: obr.sdlt - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 24 - ('Stamp duty land tax'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt.fy2027 - sheet_name: '3.8' - period_type: fiscal_year - period: 2027 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: sdlt - label: Stamp duty land tax - ordinal: 0 - row_number: 24 - expected_row_header_column: B - expected_row_header: Stamp duty land tax - table_record_kind: total - measures: - - measure_id: amount - label: Stamp duty land tax, FY2027-28 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.sdlt - source_concept: obr.sdlt - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 24 - ('Stamp duty land tax'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt.fy2028 - sheet_name: '3.8' - period_type: fiscal_year - period: 2028 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: sdlt - label: Stamp duty land tax - ordinal: 0 - row_number: 24 - expected_row_header_column: B - expected_row_header: Stamp duty land tax - table_record_kind: total - measures: - - measure_id: amount - label: Stamp duty land tax, FY2028-29 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.sdlt - source_concept: obr.sdlt - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 24 - ('Stamp duty land tax'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt.fy2029 - sheet_name: '3.8' - period_type: fiscal_year - period: 2029 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: sdlt - label: Stamp duty land tax - ordinal: 0 - row_number: 24 - expected_row_header_column: B - expected_row_header: Stamp duty land tax - table_record_kind: total - measures: - - measure_id: amount - label: Stamp duty land tax, FY2029-30 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.sdlt - source_concept: obr.sdlt - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 24 - ('Stamp duty land tax'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt.fy2030 - sheet_name: '3.8' - period_type: fiscal_year - period: 2030 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: sdlt - label: Stamp duty land tax - ordinal: 0 - row_number: 24 - expected_row_header_column: B - expected_row_header: Stamp duty land tax - table_record_kind: total - measures: - - measure_id: amount - label: Stamp duty land tax, FY2030-31 - ordinal: 0 - column: J - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.sdlt - source_concept: obr.sdlt - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8, row 24 - ('Stamp duty land tax'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -# chronicle#381: excise lines of sheets 3.8, 3.10, 3.11, 3.12 and 3.2, generated by scripts/build_uk_excise_packages.py -- record_set_id: obr.efo_2026_03.receipts.tobacco_duties.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.receipts.tobacco_duties.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.tobacco_duties.fy2024 - sheet_name: '3.8' - period_type: fiscal_year - period: 2024 - period_coverage: - start_date: '2024-04-01' - end_date: '2025-03-31' - basis: fiscal - source_period_label: 2024-25 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: tobacco_duties - label: Tobacco duties - ordinal: 0 - row_number: 27 - expected_row_header_column: B - expected_row_header: Tobacco duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Tobacco duties, FY2024-25 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.tobacco_duties - source_concept: obr.tobacco_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 27 ('Tobacco duties'), GBP billion. Cash basis (sheet title and note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.tobacco_duties.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.tobacco_duties.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.tobacco_duties.fy2025 - sheet_name: '3.8' - period_type: fiscal_year - period: 2025 - period_coverage: - start_date: '2025-04-01' - end_date: '2026-03-31' - basis: fiscal - source_period_label: 2025-26 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: tobacco_duties - label: Tobacco duties - ordinal: 0 - row_number: 27 - expected_row_header_column: B - expected_row_header: Tobacco duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Tobacco duties, FY2025-26 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.tobacco_duties - source_concept: obr.tobacco_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 27 ('Tobacco duties'), GBP billion. Cash basis (sheet title and note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.tobacco_duties.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.tobacco_duties.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.tobacco_duties.fy2026 - sheet_name: '3.8' - period_type: fiscal_year - period: 2026 - period_coverage: - start_date: '2026-04-01' - end_date: '2027-03-31' - basis: fiscal - source_period_label: 2026-27 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: tobacco_duties - label: Tobacco duties - ordinal: 0 - row_number: 27 - expected_row_header_column: B - expected_row_header: Tobacco duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Tobacco duties, FY2026-27 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.tobacco_duties - source_concept: obr.tobacco_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 27 ('Tobacco duties'), GBP billion. Cash basis (sheet title and note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.tobacco_duties.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.tobacco_duties.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.tobacco_duties.fy2027 - sheet_name: '3.8' - period_type: fiscal_year - period: 2027 - period_coverage: - start_date: '2027-04-01' - end_date: '2028-03-31' - basis: fiscal - source_period_label: 2027-28 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: tobacco_duties - label: Tobacco duties - ordinal: 0 - row_number: 27 - expected_row_header_column: B - expected_row_header: Tobacco duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Tobacco duties, FY2027-28 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.tobacco_duties - source_concept: obr.tobacco_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 27 ('Tobacco duties'), GBP billion. Cash basis (sheet title and note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.tobacco_duties.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.tobacco_duties.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.tobacco_duties.fy2028 - sheet_name: '3.8' - period_type: fiscal_year - period: 2028 - period_coverage: - start_date: '2028-04-01' - end_date: '2029-03-31' - basis: fiscal - source_period_label: 2028-29 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: tobacco_duties - label: Tobacco duties - ordinal: 0 - row_number: 27 - expected_row_header_column: B - expected_row_header: Tobacco duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Tobacco duties, FY2028-29 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.tobacco_duties - source_concept: obr.tobacco_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 27 ('Tobacco duties'), GBP billion. Cash basis (sheet title and note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.tobacco_duties.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.tobacco_duties.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.tobacco_duties.fy2029 - sheet_name: '3.8' - period_type: fiscal_year - period: 2029 - period_coverage: - start_date: '2029-04-01' - end_date: '2030-03-31' - basis: fiscal - source_period_label: 2029-30 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: tobacco_duties - label: Tobacco duties - ordinal: 0 - row_number: 27 - expected_row_header_column: B - expected_row_header: Tobacco duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Tobacco duties, FY2029-30 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.tobacco_duties - source_concept: obr.tobacco_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 27 ('Tobacco duties'), GBP billion. Cash basis (sheet title and note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.tobacco_duties.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.tobacco_duties.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.tobacco_duties.fy2030 - sheet_name: '3.8' - period_type: fiscal_year - period: 2030 - period_coverage: - start_date: '2030-04-01' - end_date: '2031-03-31' - basis: fiscal - source_period_label: 2030-31 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: tobacco_duties - label: Tobacco duties - ordinal: 0 - row_number: 27 - expected_row_header_column: B - expected_row_header: Tobacco duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Tobacco duties, FY2030-31 - ordinal: 0 - column: J - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.tobacco_duties - source_concept: obr.tobacco_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 27 ('Tobacco duties'), GBP billion. Cash basis (sheet title and note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.spirits_duties.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.receipts.spirits_duties.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.spirits_duties.fy2024 - sheet_name: '3.8' - period_type: fiscal_year - period: 2024 - period_coverage: - start_date: '2024-04-01' - end_date: '2025-03-31' - basis: fiscal - source_period_label: 2024-25 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: spirits_duties - label: Spirits duties - ordinal: 0 - row_number: 28 - expected_row_header_column: B - expected_row_header: Spirits duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Spirits duties, FY2024-25 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.spirits_duties - source_concept: obr.spirits_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 28 ('Spirits duties'), GBP billion. Cash basis (sheet title and note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.spirits_duties.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.spirits_duties.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.spirits_duties.fy2025 - sheet_name: '3.8' - period_type: fiscal_year - period: 2025 - period_coverage: - start_date: '2025-04-01' - end_date: '2026-03-31' - basis: fiscal - source_period_label: 2025-26 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: spirits_duties - label: Spirits duties - ordinal: 0 - row_number: 28 - expected_row_header_column: B - expected_row_header: Spirits duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Spirits duties, FY2025-26 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.spirits_duties - source_concept: obr.spirits_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 28 ('Spirits duties'), GBP billion. Cash basis (sheet title and note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.spirits_duties.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.spirits_duties.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.spirits_duties.fy2026 - sheet_name: '3.8' - period_type: fiscal_year - period: 2026 - period_coverage: - start_date: '2026-04-01' - end_date: '2027-03-31' - basis: fiscal - source_period_label: 2026-27 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: spirits_duties - label: Spirits duties - ordinal: 0 - row_number: 28 - expected_row_header_column: B - expected_row_header: Spirits duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Spirits duties, FY2026-27 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.spirits_duties - source_concept: obr.spirits_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 28 ('Spirits duties'), GBP billion. Cash basis (sheet title and note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.spirits_duties.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.spirits_duties.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.spirits_duties.fy2027 - sheet_name: '3.8' - period_type: fiscal_year - period: 2027 - period_coverage: - start_date: '2027-04-01' - end_date: '2028-03-31' - basis: fiscal - source_period_label: 2027-28 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: spirits_duties - label: Spirits duties - ordinal: 0 - row_number: 28 - expected_row_header_column: B - expected_row_header: Spirits duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Spirits duties, FY2027-28 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.spirits_duties - source_concept: obr.spirits_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 28 ('Spirits duties'), GBP billion. Cash basis (sheet title and note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.spirits_duties.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.spirits_duties.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.spirits_duties.fy2028 - sheet_name: '3.8' - period_type: fiscal_year - period: 2028 - period_coverage: - start_date: '2028-04-01' - end_date: '2029-03-31' - basis: fiscal - source_period_label: 2028-29 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: spirits_duties - label: Spirits duties - ordinal: 0 - row_number: 28 - expected_row_header_column: B - expected_row_header: Spirits duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Spirits duties, FY2028-29 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.spirits_duties - source_concept: obr.spirits_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 28 ('Spirits duties'), GBP billion. Cash basis (sheet title and note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.spirits_duties.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.spirits_duties.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.spirits_duties.fy2029 - sheet_name: '3.8' - period_type: fiscal_year - period: 2029 - period_coverage: - start_date: '2029-04-01' - end_date: '2030-03-31' - basis: fiscal - source_period_label: 2029-30 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: spirits_duties - label: Spirits duties - ordinal: 0 - row_number: 28 - expected_row_header_column: B - expected_row_header: Spirits duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Spirits duties, FY2029-30 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.spirits_duties - source_concept: obr.spirits_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 28 ('Spirits duties'), GBP billion. Cash basis (sheet title and note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.spirits_duties.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.spirits_duties.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.spirits_duties.fy2030 - sheet_name: '3.8' - period_type: fiscal_year - period: 2030 - period_coverage: - start_date: '2030-04-01' - end_date: '2031-03-31' - basis: fiscal - source_period_label: 2030-31 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: spirits_duties - label: Spirits duties - ordinal: 0 - row_number: 28 - expected_row_header_column: B - expected_row_header: Spirits duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Spirits duties, FY2030-31 - ordinal: 0 - column: J - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.spirits_duties - source_concept: obr.spirits_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 28 ('Spirits duties'), GBP billion. Cash basis (sheet title and note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.wine_duties.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.receipts.wine_duties.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.wine_duties.fy2024 - sheet_name: '3.8' - period_type: fiscal_year - period: 2024 - period_coverage: - start_date: '2024-04-01' - end_date: '2025-03-31' - basis: fiscal - source_period_label: 2024-25 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: wine_duties - label: Wine duties - ordinal: 0 - row_number: 29 - expected_row_header_column: B - expected_row_header: Wine duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Wine duties, FY2024-25 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.wine_duties - source_concept: obr.wine_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 29 ('Wine duties'), GBP billion. Cash basis (sheet title and note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.wine_duties.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.wine_duties.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.wine_duties.fy2025 - sheet_name: '3.8' - period_type: fiscal_year - period: 2025 - period_coverage: - start_date: '2025-04-01' - end_date: '2026-03-31' - basis: fiscal - source_period_label: 2025-26 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: wine_duties - label: Wine duties - ordinal: 0 - row_number: 29 - expected_row_header_column: B - expected_row_header: Wine duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Wine duties, FY2025-26 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.wine_duties - source_concept: obr.wine_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 29 ('Wine duties'), GBP billion. Cash basis (sheet title and note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.wine_duties.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.wine_duties.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.wine_duties.fy2026 - sheet_name: '3.8' - period_type: fiscal_year - period: 2026 - period_coverage: - start_date: '2026-04-01' - end_date: '2027-03-31' - basis: fiscal - source_period_label: 2026-27 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: wine_duties - label: Wine duties - ordinal: 0 - row_number: 29 - expected_row_header_column: B - expected_row_header: Wine duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Wine duties, FY2026-27 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.wine_duties - source_concept: obr.wine_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 29 ('Wine duties'), GBP billion. Cash basis (sheet title and note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.wine_duties.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.wine_duties.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.wine_duties.fy2027 - sheet_name: '3.8' - period_type: fiscal_year - period: 2027 - period_coverage: - start_date: '2027-04-01' - end_date: '2028-03-31' - basis: fiscal - source_period_label: 2027-28 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: wine_duties - label: Wine duties - ordinal: 0 - row_number: 29 - expected_row_header_column: B - expected_row_header: Wine duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Wine duties, FY2027-28 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.wine_duties - source_concept: obr.wine_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 29 ('Wine duties'), GBP billion. Cash basis (sheet title and note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.wine_duties.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.wine_duties.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.wine_duties.fy2028 - sheet_name: '3.8' - period_type: fiscal_year - period: 2028 - period_coverage: - start_date: '2028-04-01' - end_date: '2029-03-31' - basis: fiscal - source_period_label: 2028-29 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: wine_duties - label: Wine duties - ordinal: 0 - row_number: 29 - expected_row_header_column: B - expected_row_header: Wine duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Wine duties, FY2028-29 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.wine_duties - source_concept: obr.wine_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 29 ('Wine duties'), GBP billion. Cash basis (sheet title and note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.wine_duties.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.wine_duties.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.wine_duties.fy2029 - sheet_name: '3.8' - period_type: fiscal_year - period: 2029 - period_coverage: - start_date: '2029-04-01' - end_date: '2030-03-31' - basis: fiscal - source_period_label: 2029-30 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: wine_duties - label: Wine duties - ordinal: 0 - row_number: 29 - expected_row_header_column: B - expected_row_header: Wine duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Wine duties, FY2029-30 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.wine_duties - source_concept: obr.wine_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 29 ('Wine duties'), GBP billion. Cash basis (sheet title and note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.wine_duties.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.wine_duties.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.wine_duties.fy2030 - sheet_name: '3.8' - period_type: fiscal_year - period: 2030 - period_coverage: - start_date: '2030-04-01' - end_date: '2031-03-31' - basis: fiscal - source_period_label: 2030-31 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: wine_duties - label: Wine duties - ordinal: 0 - row_number: 29 - expected_row_header_column: B - expected_row_header: Wine duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Wine duties, FY2030-31 - ordinal: 0 - column: J - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.wine_duties - source_concept: obr.wine_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 29 ('Wine duties'), GBP billion. Cash basis (sheet title and note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.beer_and_cider_duties.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.receipts.beer_and_cider_duties.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.beer_and_cider_duties.fy2024 - sheet_name: '3.8' - period_type: fiscal_year - period: 2024 - period_coverage: - start_date: '2024-04-01' - end_date: '2025-03-31' - basis: fiscal - source_period_label: 2024-25 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: beer_and_cider_duties - label: Beer and cider duties - ordinal: 0 - row_number: 30 - expected_row_header_column: B - expected_row_header: Beer and cider duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Beer and cider duties, FY2024-25 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.beer_and_cider_duties - source_concept: obr.beer_and_cider_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 30 ('Beer and cider duties'), GBP billion. Cash basis (sheet title and - note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.beer_and_cider_duties.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.beer_and_cider_duties.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.beer_and_cider_duties.fy2025 - sheet_name: '3.8' - period_type: fiscal_year - period: 2025 - period_coverage: - start_date: '2025-04-01' - end_date: '2026-03-31' - basis: fiscal - source_period_label: 2025-26 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: beer_and_cider_duties - label: Beer and cider duties - ordinal: 0 - row_number: 30 - expected_row_header_column: B - expected_row_header: Beer and cider duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Beer and cider duties, FY2025-26 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.beer_and_cider_duties - source_concept: obr.beer_and_cider_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 30 ('Beer and cider duties'), GBP billion. Cash basis (sheet title and - note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.beer_and_cider_duties.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.beer_and_cider_duties.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.beer_and_cider_duties.fy2026 - sheet_name: '3.8' - period_type: fiscal_year - period: 2026 - period_coverage: - start_date: '2026-04-01' - end_date: '2027-03-31' - basis: fiscal - source_period_label: 2026-27 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: beer_and_cider_duties - label: Beer and cider duties - ordinal: 0 - row_number: 30 - expected_row_header_column: B - expected_row_header: Beer and cider duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Beer and cider duties, FY2026-27 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.beer_and_cider_duties - source_concept: obr.beer_and_cider_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 30 ('Beer and cider duties'), GBP billion. Cash basis (sheet title and - note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.beer_and_cider_duties.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.beer_and_cider_duties.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.beer_and_cider_duties.fy2027 - sheet_name: '3.8' - period_type: fiscal_year - period: 2027 - period_coverage: - start_date: '2027-04-01' - end_date: '2028-03-31' - basis: fiscal - source_period_label: 2027-28 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: beer_and_cider_duties - label: Beer and cider duties - ordinal: 0 - row_number: 30 - expected_row_header_column: B - expected_row_header: Beer and cider duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Beer and cider duties, FY2027-28 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.beer_and_cider_duties - source_concept: obr.beer_and_cider_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 30 ('Beer and cider duties'), GBP billion. Cash basis (sheet title and - note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.beer_and_cider_duties.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.beer_and_cider_duties.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.beer_and_cider_duties.fy2028 - sheet_name: '3.8' - period_type: fiscal_year - period: 2028 - period_coverage: - start_date: '2028-04-01' - end_date: '2029-03-31' - basis: fiscal - source_period_label: 2028-29 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: beer_and_cider_duties - label: Beer and cider duties - ordinal: 0 - row_number: 30 - expected_row_header_column: B - expected_row_header: Beer and cider duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Beer and cider duties, FY2028-29 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.beer_and_cider_duties - source_concept: obr.beer_and_cider_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 30 ('Beer and cider duties'), GBP billion. Cash basis (sheet title and - note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.beer_and_cider_duties.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.beer_and_cider_duties.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.beer_and_cider_duties.fy2029 - sheet_name: '3.8' - period_type: fiscal_year - period: 2029 - period_coverage: - start_date: '2029-04-01' - end_date: '2030-03-31' - basis: fiscal - source_period_label: 2029-30 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: beer_and_cider_duties - label: Beer and cider duties - ordinal: 0 - row_number: 30 - expected_row_header_column: B - expected_row_header: Beer and cider duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Beer and cider duties, FY2029-30 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.beer_and_cider_duties - source_concept: obr.beer_and_cider_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 30 ('Beer and cider duties'), GBP billion. Cash basis (sheet title and - note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.beer_and_cider_duties.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.beer_and_cider_duties.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.beer_and_cider_duties.fy2030 - sheet_name: '3.8' - period_type: fiscal_year - period: 2030 - period_coverage: - start_date: '2030-04-01' - end_date: '2031-03-31' - basis: fiscal - source_period_label: 2030-31 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: beer_and_cider_duties - label: Beer and cider duties - ordinal: 0 - row_number: 30 - expected_row_header_column: B - expected_row_header: Beer and cider duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Beer and cider duties, FY2030-31 - ordinal: 0 - column: J - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.beer_and_cider_duties - source_concept: obr.beer_and_cider_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 30 ('Beer and cider duties'), GBP billion. Cash basis (sheet title and - note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.betting_and_gaming_duties.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.receipts.betting_and_gaming_duties.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.betting_and_gaming_duties.fy2024 - sheet_name: '3.8' - period_type: fiscal_year - period: 2024 - period_coverage: - start_date: '2024-04-01' - end_date: '2025-03-31' - basis: fiscal - source_period_label: 2024-25 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: betting_and_gaming_duties - label: Betting and gaming duties - ordinal: 0 - row_number: 36 - expected_row_header_column: B - expected_row_header: Betting and gaming duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Betting and gaming duties, FY2024-25 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.betting_and_gaming_duties - source_concept: obr.betting_and_gaming_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 36 ('Betting and gaming duties'), GBP billion. Cash basis (sheet title - and note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.betting_and_gaming_duties.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.betting_and_gaming_duties.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.betting_and_gaming_duties.fy2025 - sheet_name: '3.8' - period_type: fiscal_year - period: 2025 - period_coverage: - start_date: '2025-04-01' - end_date: '2026-03-31' - basis: fiscal - source_period_label: 2025-26 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: betting_and_gaming_duties - label: Betting and gaming duties - ordinal: 0 - row_number: 36 - expected_row_header_column: B - expected_row_header: Betting and gaming duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Betting and gaming duties, FY2025-26 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.betting_and_gaming_duties - source_concept: obr.betting_and_gaming_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 36 ('Betting and gaming duties'), GBP billion. Cash basis (sheet title - and note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.betting_and_gaming_duties.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.betting_and_gaming_duties.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.betting_and_gaming_duties.fy2026 - sheet_name: '3.8' - period_type: fiscal_year - period: 2026 - period_coverage: - start_date: '2026-04-01' - end_date: '2027-03-31' - basis: fiscal - source_period_label: 2026-27 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: betting_and_gaming_duties - label: Betting and gaming duties - ordinal: 0 - row_number: 36 - expected_row_header_column: B - expected_row_header: Betting and gaming duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Betting and gaming duties, FY2026-27 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.betting_and_gaming_duties - source_concept: obr.betting_and_gaming_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 36 ('Betting and gaming duties'), GBP billion. Cash basis (sheet title - and note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.betting_and_gaming_duties.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.betting_and_gaming_duties.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.betting_and_gaming_duties.fy2027 - sheet_name: '3.8' - period_type: fiscal_year - period: 2027 - period_coverage: - start_date: '2027-04-01' - end_date: '2028-03-31' - basis: fiscal - source_period_label: 2027-28 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: betting_and_gaming_duties - label: Betting and gaming duties - ordinal: 0 - row_number: 36 - expected_row_header_column: B - expected_row_header: Betting and gaming duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Betting and gaming duties, FY2027-28 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.betting_and_gaming_duties - source_concept: obr.betting_and_gaming_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 36 ('Betting and gaming duties'), GBP billion. Cash basis (sheet title - and note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.betting_and_gaming_duties.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.betting_and_gaming_duties.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.betting_and_gaming_duties.fy2028 - sheet_name: '3.8' - period_type: fiscal_year - period: 2028 - period_coverage: - start_date: '2028-04-01' - end_date: '2029-03-31' - basis: fiscal - source_period_label: 2028-29 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: betting_and_gaming_duties - label: Betting and gaming duties - ordinal: 0 - row_number: 36 - expected_row_header_column: B - expected_row_header: Betting and gaming duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Betting and gaming duties, FY2028-29 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.betting_and_gaming_duties - source_concept: obr.betting_and_gaming_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 36 ('Betting and gaming duties'), GBP billion. Cash basis (sheet title - and note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.betting_and_gaming_duties.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.betting_and_gaming_duties.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.betting_and_gaming_duties.fy2029 - sheet_name: '3.8' - period_type: fiscal_year - period: 2029 - period_coverage: - start_date: '2029-04-01' - end_date: '2030-03-31' - basis: fiscal - source_period_label: 2029-30 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: betting_and_gaming_duties - label: Betting and gaming duties - ordinal: 0 - row_number: 36 - expected_row_header_column: B - expected_row_header: Betting and gaming duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Betting and gaming duties, FY2029-30 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.betting_and_gaming_duties - source_concept: obr.betting_and_gaming_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 36 ('Betting and gaming duties'), GBP billion. Cash basis (sheet title - and note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.betting_and_gaming_duties.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.betting_and_gaming_duties.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.betting_and_gaming_duties.fy2030 - sheet_name: '3.8' - period_type: fiscal_year - period: 2030 - period_coverage: - start_date: '2030-04-01' - end_date: '2031-03-31' - basis: fiscal - source_period_label: 2030-31 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: betting_and_gaming_duties - label: Betting and gaming duties - ordinal: 0 - row_number: 36 - expected_row_header_column: B - expected_row_header: Betting and gaming duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Betting and gaming duties, FY2030-31 - ordinal: 0 - column: J - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.betting_and_gaming_duties - source_concept: obr.betting_and_gaming_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 36 ('Betting and gaming duties'), GBP billion. Cash basis (sheet title - and note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.vaping_tax.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.receipts.vaping_tax.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.vaping_tax.fy2024 - sheet_name: '3.8' - period_type: fiscal_year - period: 2024 - period_coverage: - start_date: '2024-04-01' - end_date: '2025-03-31' - basis: fiscal - source_period_label: 2024-25 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: vaping_tax - label: Vaping tax - ordinal: 0 - row_number: 48 - expected_row_header_column: B - expected_row_header: Vaping tax - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Vaping tax, FY2024-25 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.vaping_tax - source_concept: obr.vaping_tax - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 48 ('Vaping tax'), GBP billion. Cash basis (sheet title and note). The - tax is zero in the years before it starts, as published. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.vaping_tax.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.vaping_tax.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.vaping_tax.fy2025 - sheet_name: '3.8' - period_type: fiscal_year - period: 2025 - period_coverage: - start_date: '2025-04-01' - end_date: '2026-03-31' - basis: fiscal - source_period_label: 2025-26 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: vaping_tax - label: Vaping tax - ordinal: 0 - row_number: 48 - expected_row_header_column: B - expected_row_header: Vaping tax - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Vaping tax, FY2025-26 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.vaping_tax - source_concept: obr.vaping_tax - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 48 ('Vaping tax'), GBP billion. Cash basis (sheet title and note). The - tax is zero in the years before it starts, as published. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.vaping_tax.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.vaping_tax.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.vaping_tax.fy2026 - sheet_name: '3.8' - period_type: fiscal_year - period: 2026 - period_coverage: - start_date: '2026-04-01' - end_date: '2027-03-31' - basis: fiscal - source_period_label: 2026-27 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: vaping_tax - label: Vaping tax - ordinal: 0 - row_number: 48 - expected_row_header_column: B - expected_row_header: Vaping tax - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Vaping tax, FY2026-27 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.vaping_tax - source_concept: obr.vaping_tax - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 48 ('Vaping tax'), GBP billion. Cash basis (sheet title and note). The - tax is zero in the years before it starts, as published. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.vaping_tax.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.vaping_tax.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.vaping_tax.fy2027 - sheet_name: '3.8' - period_type: fiscal_year - period: 2027 - period_coverage: - start_date: '2027-04-01' - end_date: '2028-03-31' - basis: fiscal - source_period_label: 2027-28 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: vaping_tax - label: Vaping tax - ordinal: 0 - row_number: 48 - expected_row_header_column: B - expected_row_header: Vaping tax - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Vaping tax, FY2027-28 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.vaping_tax - source_concept: obr.vaping_tax - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 48 ('Vaping tax'), GBP billion. Cash basis (sheet title and note). The - tax is zero in the years before it starts, as published. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.vaping_tax.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.vaping_tax.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.vaping_tax.fy2028 - sheet_name: '3.8' - period_type: fiscal_year - period: 2028 - period_coverage: - start_date: '2028-04-01' - end_date: '2029-03-31' - basis: fiscal - source_period_label: 2028-29 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: vaping_tax - label: Vaping tax - ordinal: 0 - row_number: 48 - expected_row_header_column: B - expected_row_header: Vaping tax - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Vaping tax, FY2028-29 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.vaping_tax - source_concept: obr.vaping_tax - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 48 ('Vaping tax'), GBP billion. Cash basis (sheet title and note). The - tax is zero in the years before it starts, as published. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.vaping_tax.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.vaping_tax.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.vaping_tax.fy2029 - sheet_name: '3.8' - period_type: fiscal_year - period: 2029 - period_coverage: - start_date: '2029-04-01' - end_date: '2030-03-31' - basis: fiscal - source_period_label: 2029-30 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: vaping_tax - label: Vaping tax - ordinal: 0 - row_number: 48 - expected_row_header_column: B - expected_row_header: Vaping tax - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Vaping tax, FY2029-30 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.vaping_tax - source_concept: obr.vaping_tax - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 48 ('Vaping tax'), GBP billion. Cash basis (sheet title and note). The - tax is zero in the years before it starts, as published. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.vaping_tax.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.vaping_tax.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.vaping_tax.fy2030 - sheet_name: '3.8' - period_type: fiscal_year - period: 2030 - period_coverage: - start_date: '2030-04-01' - end_date: '2031-03-31' - basis: fiscal - source_period_label: 2030-31 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: vaping_tax - label: Vaping tax - ordinal: 0 - row_number: 48 - expected_row_header_column: B - expected_row_header: Vaping tax - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Vaping tax, FY2030-31 - ordinal: 0 - column: J - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.vaping_tax - source_concept: obr.vaping_tax - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 48 ('Vaping tax'), GBP billion. Cash basis (sheet title and note). The - tax is zero in the years before it starts, as published. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.vehicle_excise_duties.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.receipts.vehicle_excise_duties.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.vehicle_excise_duties.fy2024 - sheet_name: '3.8' - period_type: fiscal_year - period: 2024 - period_coverage: - start_date: '2024-04-01' - end_date: '2025-03-31' - basis: fiscal - source_period_label: 2024-25 - accounting_basis: cash - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: vehicle_excise_duties - label: Vehicle excise duties - ordinal: 0 - row_number: 52 - expected_row_header_column: B - expected_row_header: Vehicle excise duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.8 Current receipts (on a cash basis) - label: sheet title - - column: B - row: 66 - expected_value: 'Note: All tax lines prior to accruals adjustments on tax line are on a cash basis - rather than an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Vehicle excise duties, FY2024-25 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.vehicle_excise_duties - source_concept: obr.vehicle_excise_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.8 ('Current receipts - (on a cash basis)'), row 52 ('Vehicle excise duties'), GBP billion. Cash basis (sheet title and - note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: cash - shared_constraints: - - variable: accounting_basis - operator: == - value: cash - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.betting_and_gaming_duties_accrued.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.betting_and_gaming_duties_accrued.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.betting_and_gaming_duties_accrued.fy2025 - sheet_name: '3.10' - period_type: fiscal_year - period: 2025 - period_coverage: - start_date: '2025-04-01' - end_date: '2026-03-31' - basis: fiscal - source_period_label: 2025-26 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: betting_and_gaming_duties_accrued - label: Betting and gaming duties (accrued) - ordinal: 0 - row_number: 6 - expected_row_header_column: B - expected_row_header: Betting and gaming duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Betting and gaming duties (accrued), FY2025-26 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.betting_and_gaming_duties - source_concept: obr.betting_and_gaming_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 6 ('Betting and gaming duties'), GBP billion. Sheet 3.10 states - no basis; this row equals sheet 3.1's accrued 'Betting and gaming taxes' row (row 7) in every year, - not sheet 3.8's cash row 36, so it is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.betting_and_gaming_duties_accrued.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.betting_and_gaming_duties_accrued.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.betting_and_gaming_duties_accrued.fy2026 - sheet_name: '3.10' - period_type: fiscal_year - period: 2026 - period_coverage: - start_date: '2026-04-01' - end_date: '2027-03-31' - basis: fiscal - source_period_label: 2026-27 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: betting_and_gaming_duties_accrued - label: Betting and gaming duties (accrued) - ordinal: 0 - row_number: 6 - expected_row_header_column: B - expected_row_header: Betting and gaming duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Betting and gaming duties (accrued), FY2026-27 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.betting_and_gaming_duties - source_concept: obr.betting_and_gaming_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 6 ('Betting and gaming duties'), GBP billion. Sheet 3.10 states - no basis; this row equals sheet 3.1's accrued 'Betting and gaming taxes' row (row 7) in every year, - not sheet 3.8's cash row 36, so it is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.betting_and_gaming_duties_accrued.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.betting_and_gaming_duties_accrued.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.betting_and_gaming_duties_accrued.fy2027 - sheet_name: '3.10' - period_type: fiscal_year - period: 2027 - period_coverage: - start_date: '2027-04-01' - end_date: '2028-03-31' - basis: fiscal - source_period_label: 2027-28 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: betting_and_gaming_duties_accrued - label: Betting and gaming duties (accrued) - ordinal: 0 - row_number: 6 - expected_row_header_column: B - expected_row_header: Betting and gaming duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Betting and gaming duties (accrued), FY2027-28 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.betting_and_gaming_duties - source_concept: obr.betting_and_gaming_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 6 ('Betting and gaming duties'), GBP billion. Sheet 3.10 states - no basis; this row equals sheet 3.1's accrued 'Betting and gaming taxes' row (row 7) in every year, - not sheet 3.8's cash row 36, so it is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.betting_and_gaming_duties_accrued.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.betting_and_gaming_duties_accrued.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.betting_and_gaming_duties_accrued.fy2028 - sheet_name: '3.10' - period_type: fiscal_year - period: 2028 - period_coverage: - start_date: '2028-04-01' - end_date: '2029-03-31' - basis: fiscal - source_period_label: 2028-29 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: betting_and_gaming_duties_accrued - label: Betting and gaming duties (accrued) - ordinal: 0 - row_number: 6 - expected_row_header_column: B - expected_row_header: Betting and gaming duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Betting and gaming duties (accrued), FY2028-29 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.betting_and_gaming_duties - source_concept: obr.betting_and_gaming_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 6 ('Betting and gaming duties'), GBP billion. Sheet 3.10 states - no basis; this row equals sheet 3.1's accrued 'Betting and gaming taxes' row (row 7) in every year, - not sheet 3.8's cash row 36, so it is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.betting_and_gaming_duties_accrued.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.betting_and_gaming_duties_accrued.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.betting_and_gaming_duties_accrued.fy2029 - sheet_name: '3.10' - period_type: fiscal_year - period: 2029 - period_coverage: - start_date: '2029-04-01' - end_date: '2030-03-31' - basis: fiscal - source_period_label: 2029-30 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: betting_and_gaming_duties_accrued - label: Betting and gaming duties (accrued) - ordinal: 0 - row_number: 6 - expected_row_header_column: B - expected_row_header: Betting and gaming duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Betting and gaming duties (accrued), FY2029-30 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.betting_and_gaming_duties - source_concept: obr.betting_and_gaming_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 6 ('Betting and gaming duties'), GBP billion. Sheet 3.10 states - no basis; this row equals sheet 3.1's accrued 'Betting and gaming taxes' row (row 7) in every year, - not sheet 3.8's cash row 36, so it is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.betting_and_gaming_duties_accrued.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.betting_and_gaming_duties_accrued.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.betting_and_gaming_duties_accrued.fy2030 - sheet_name: '3.10' - period_type: fiscal_year - period: 2030 - period_coverage: - start_date: '2030-04-01' - end_date: '2031-03-31' - basis: fiscal - source_period_label: 2030-31 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: betting_and_gaming_duties_accrued - label: Betting and gaming duties (accrued) - ordinal: 0 - row_number: 6 - expected_row_header_column: B - expected_row_header: Betting and gaming duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Betting and gaming duties (accrued), FY2030-31 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.betting_and_gaming_duties - source_concept: obr.betting_and_gaming_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 6 ('Betting and gaming duties'), GBP billion. Sheet 3.10 states - no basis; this row equals sheet 3.1's accrued 'Betting and gaming taxes' row (row 7) in every year, - not sheet 3.8's cash row 36, so it is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.remote_gaming_duty.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.remote_gaming_duty.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.remote_gaming_duty.fy2025 - sheet_name: '3.10' - period_type: fiscal_year - period: 2025 - period_coverage: - start_date: '2025-04-01' - end_date: '2026-03-31' - basis: fiscal - source_period_label: 2025-26 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: remote_gaming_duty - label: Remote gaming duty - ordinal: 0 - row_number: 8 - expected_row_header_column: B - expected_row_header: Remote gaming duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Remote gaming duty, FY2025-26 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.remote_gaming_duty - source_concept: obr.remote_gaming_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 8 ('Remote gaming duty'), GBP billion. An 'of which' of row 6; - the seven duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting - and gaming taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.remote_gaming_duty.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.remote_gaming_duty.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.remote_gaming_duty.fy2026 - sheet_name: '3.10' - period_type: fiscal_year - period: 2026 - period_coverage: - start_date: '2026-04-01' - end_date: '2027-03-31' - basis: fiscal - source_period_label: 2026-27 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: remote_gaming_duty - label: Remote gaming duty - ordinal: 0 - row_number: 8 - expected_row_header_column: B - expected_row_header: Remote gaming duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Remote gaming duty, FY2026-27 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.remote_gaming_duty - source_concept: obr.remote_gaming_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 8 ('Remote gaming duty'), GBP billion. An 'of which' of row 6; - the seven duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting - and gaming taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.remote_gaming_duty.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.remote_gaming_duty.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.remote_gaming_duty.fy2027 - sheet_name: '3.10' - period_type: fiscal_year - period: 2027 - period_coverage: - start_date: '2027-04-01' - end_date: '2028-03-31' - basis: fiscal - source_period_label: 2027-28 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: remote_gaming_duty - label: Remote gaming duty - ordinal: 0 - row_number: 8 - expected_row_header_column: B - expected_row_header: Remote gaming duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Remote gaming duty, FY2027-28 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.remote_gaming_duty - source_concept: obr.remote_gaming_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 8 ('Remote gaming duty'), GBP billion. An 'of which' of row 6; - the seven duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting - and gaming taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.remote_gaming_duty.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.remote_gaming_duty.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.remote_gaming_duty.fy2028 - sheet_name: '3.10' - period_type: fiscal_year - period: 2028 - period_coverage: - start_date: '2028-04-01' - end_date: '2029-03-31' - basis: fiscal - source_period_label: 2028-29 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: remote_gaming_duty - label: Remote gaming duty - ordinal: 0 - row_number: 8 - expected_row_header_column: B - expected_row_header: Remote gaming duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Remote gaming duty, FY2028-29 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.remote_gaming_duty - source_concept: obr.remote_gaming_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 8 ('Remote gaming duty'), GBP billion. An 'of which' of row 6; - the seven duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting - and gaming taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.remote_gaming_duty.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.remote_gaming_duty.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.remote_gaming_duty.fy2029 - sheet_name: '3.10' - period_type: fiscal_year - period: 2029 - period_coverage: - start_date: '2029-04-01' - end_date: '2030-03-31' - basis: fiscal - source_period_label: 2029-30 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: remote_gaming_duty - label: Remote gaming duty - ordinal: 0 - row_number: 8 - expected_row_header_column: B - expected_row_header: Remote gaming duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Remote gaming duty, FY2029-30 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.remote_gaming_duty - source_concept: obr.remote_gaming_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 8 ('Remote gaming duty'), GBP billion. An 'of which' of row 6; - the seven duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting - and gaming taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.remote_gaming_duty.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.remote_gaming_duty.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.remote_gaming_duty.fy2030 - sheet_name: '3.10' - period_type: fiscal_year - period: 2030 - period_coverage: - start_date: '2030-04-01' - end_date: '2031-03-31' - basis: fiscal - source_period_label: 2030-31 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: remote_gaming_duty - label: Remote gaming duty - ordinal: 0 - row_number: 8 - expected_row_header_column: B - expected_row_header: Remote gaming duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Remote gaming duty, FY2030-31 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.remote_gaming_duty - source_concept: obr.remote_gaming_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 8 ('Remote gaming duty'), GBP billion. An 'of which' of row 6; - the seven duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting - and gaming taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.lottery_duty.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.lottery_duty.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.lottery_duty.fy2025 - sheet_name: '3.10' - period_type: fiscal_year - period: 2025 - period_coverage: - start_date: '2025-04-01' - end_date: '2026-03-31' - basis: fiscal - source_period_label: 2025-26 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: lottery_duty - label: Lottery duty - ordinal: 0 - row_number: 9 - expected_row_header_column: B - expected_row_header: Lottery duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Lottery duty, FY2025-26 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.lottery_duty - source_concept: obr.lottery_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 9 ('Lottery duty'), GBP billion. An 'of which' of row 6; the seven - duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting and gaming - taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.lottery_duty.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.lottery_duty.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.lottery_duty.fy2026 - sheet_name: '3.10' - period_type: fiscal_year - period: 2026 - period_coverage: - start_date: '2026-04-01' - end_date: '2027-03-31' - basis: fiscal - source_period_label: 2026-27 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: lottery_duty - label: Lottery duty - ordinal: 0 - row_number: 9 - expected_row_header_column: B - expected_row_header: Lottery duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Lottery duty, FY2026-27 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.lottery_duty - source_concept: obr.lottery_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 9 ('Lottery duty'), GBP billion. An 'of which' of row 6; the seven - duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting and gaming - taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.lottery_duty.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.lottery_duty.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.lottery_duty.fy2027 - sheet_name: '3.10' - period_type: fiscal_year - period: 2027 - period_coverage: - start_date: '2027-04-01' - end_date: '2028-03-31' - basis: fiscal - source_period_label: 2027-28 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: lottery_duty - label: Lottery duty - ordinal: 0 - row_number: 9 - expected_row_header_column: B - expected_row_header: Lottery duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Lottery duty, FY2027-28 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.lottery_duty - source_concept: obr.lottery_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 9 ('Lottery duty'), GBP billion. An 'of which' of row 6; the seven - duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting and gaming - taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.lottery_duty.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.lottery_duty.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.lottery_duty.fy2028 - sheet_name: '3.10' - period_type: fiscal_year - period: 2028 - period_coverage: - start_date: '2028-04-01' - end_date: '2029-03-31' - basis: fiscal - source_period_label: 2028-29 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: lottery_duty - label: Lottery duty - ordinal: 0 - row_number: 9 - expected_row_header_column: B - expected_row_header: Lottery duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Lottery duty, FY2028-29 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.lottery_duty - source_concept: obr.lottery_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 9 ('Lottery duty'), GBP billion. An 'of which' of row 6; the seven - duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting and gaming - taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.lottery_duty.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.lottery_duty.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.lottery_duty.fy2029 - sheet_name: '3.10' - period_type: fiscal_year - period: 2029 - period_coverage: - start_date: '2029-04-01' - end_date: '2030-03-31' - basis: fiscal - source_period_label: 2029-30 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: lottery_duty - label: Lottery duty - ordinal: 0 - row_number: 9 - expected_row_header_column: B - expected_row_header: Lottery duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Lottery duty, FY2029-30 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.lottery_duty - source_concept: obr.lottery_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 9 ('Lottery duty'), GBP billion. An 'of which' of row 6; the seven - duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting and gaming - taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.lottery_duty.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.lottery_duty.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.lottery_duty.fy2030 - sheet_name: '3.10' - period_type: fiscal_year - period: 2030 - period_coverage: - start_date: '2030-04-01' - end_date: '2031-03-31' - basis: fiscal - source_period_label: 2030-31 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: lottery_duty - label: Lottery duty - ordinal: 0 - row_number: 9 - expected_row_header_column: B - expected_row_header: Lottery duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Lottery duty, FY2030-31 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.lottery_duty - source_concept: obr.lottery_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 9 ('Lottery duty'), GBP billion. An 'of which' of row 6; the seven - duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting and gaming - taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.general_betting_duty.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.general_betting_duty.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.general_betting_duty.fy2025 - sheet_name: '3.10' - period_type: fiscal_year - period: 2025 - period_coverage: - start_date: '2025-04-01' - end_date: '2026-03-31' - basis: fiscal - source_period_label: 2025-26 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: general_betting_duty - label: General betting duty - ordinal: 0 - row_number: 10 - expected_row_header_column: B - expected_row_header: General betting duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: General betting duty, FY2025-26 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.general_betting_duty - source_concept: obr.general_betting_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 10 ('General betting duty'), GBP billion. An 'of which' of row - 6; the seven duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting - and gaming taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.general_betting_duty.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.general_betting_duty.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.general_betting_duty.fy2026 - sheet_name: '3.10' - period_type: fiscal_year - period: 2026 - period_coverage: - start_date: '2026-04-01' - end_date: '2027-03-31' - basis: fiscal - source_period_label: 2026-27 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: general_betting_duty - label: General betting duty - ordinal: 0 - row_number: 10 - expected_row_header_column: B - expected_row_header: General betting duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: General betting duty, FY2026-27 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.general_betting_duty - source_concept: obr.general_betting_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 10 ('General betting duty'), GBP billion. An 'of which' of row - 6; the seven duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting - and gaming taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.general_betting_duty.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.general_betting_duty.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.general_betting_duty.fy2027 - sheet_name: '3.10' - period_type: fiscal_year - period: 2027 - period_coverage: - start_date: '2027-04-01' - end_date: '2028-03-31' - basis: fiscal - source_period_label: 2027-28 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: general_betting_duty - label: General betting duty - ordinal: 0 - row_number: 10 - expected_row_header_column: B - expected_row_header: General betting duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: General betting duty, FY2027-28 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.general_betting_duty - source_concept: obr.general_betting_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 10 ('General betting duty'), GBP billion. An 'of which' of row - 6; the seven duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting - and gaming taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.general_betting_duty.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.general_betting_duty.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.general_betting_duty.fy2028 - sheet_name: '3.10' - period_type: fiscal_year - period: 2028 - period_coverage: - start_date: '2028-04-01' - end_date: '2029-03-31' - basis: fiscal - source_period_label: 2028-29 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: general_betting_duty - label: General betting duty - ordinal: 0 - row_number: 10 - expected_row_header_column: B - expected_row_header: General betting duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: General betting duty, FY2028-29 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.general_betting_duty - source_concept: obr.general_betting_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 10 ('General betting duty'), GBP billion. An 'of which' of row - 6; the seven duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting - and gaming taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.general_betting_duty.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.general_betting_duty.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.general_betting_duty.fy2029 - sheet_name: '3.10' - period_type: fiscal_year - period: 2029 - period_coverage: - start_date: '2029-04-01' - end_date: '2030-03-31' - basis: fiscal - source_period_label: 2029-30 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: general_betting_duty - label: General betting duty - ordinal: 0 - row_number: 10 - expected_row_header_column: B - expected_row_header: General betting duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: General betting duty, FY2029-30 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.general_betting_duty - source_concept: obr.general_betting_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 10 ('General betting duty'), GBP billion. An 'of which' of row - 6; the seven duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting - and gaming taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.general_betting_duty.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.general_betting_duty.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.general_betting_duty.fy2030 - sheet_name: '3.10' - period_type: fiscal_year - period: 2030 - period_coverage: - start_date: '2030-04-01' - end_date: '2031-03-31' - basis: fiscal - source_period_label: 2030-31 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: general_betting_duty - label: General betting duty - ordinal: 0 - row_number: 10 - expected_row_header_column: B - expected_row_header: General betting duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: General betting duty, FY2030-31 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.general_betting_duty - source_concept: obr.general_betting_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 10 ('General betting duty'), GBP billion. An 'of which' of row - 6; the seven duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting - and gaming taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.machine_games_duty.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.machine_games_duty.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.machine_games_duty.fy2025 - sheet_name: '3.10' - period_type: fiscal_year - period: 2025 - period_coverage: - start_date: '2025-04-01' - end_date: '2026-03-31' - basis: fiscal - source_period_label: 2025-26 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: machine_games_duty - label: Machine games duty - ordinal: 0 - row_number: 11 - expected_row_header_column: B - expected_row_header: Machine games duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Machine games duty, FY2025-26 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.machine_games_duty - source_concept: obr.machine_games_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 11 ('Machine games duty'), GBP billion. An 'of which' of row 6; - the seven duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting - and gaming taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.machine_games_duty.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.machine_games_duty.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.machine_games_duty.fy2026 - sheet_name: '3.10' - period_type: fiscal_year - period: 2026 - period_coverage: - start_date: '2026-04-01' - end_date: '2027-03-31' - basis: fiscal - source_period_label: 2026-27 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: machine_games_duty - label: Machine games duty - ordinal: 0 - row_number: 11 - expected_row_header_column: B - expected_row_header: Machine games duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Machine games duty, FY2026-27 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.machine_games_duty - source_concept: obr.machine_games_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 11 ('Machine games duty'), GBP billion. An 'of which' of row 6; - the seven duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting - and gaming taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.machine_games_duty.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.machine_games_duty.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.machine_games_duty.fy2027 - sheet_name: '3.10' - period_type: fiscal_year - period: 2027 - period_coverage: - start_date: '2027-04-01' - end_date: '2028-03-31' - basis: fiscal - source_period_label: 2027-28 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: machine_games_duty - label: Machine games duty - ordinal: 0 - row_number: 11 - expected_row_header_column: B - expected_row_header: Machine games duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Machine games duty, FY2027-28 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.machine_games_duty - source_concept: obr.machine_games_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 11 ('Machine games duty'), GBP billion. An 'of which' of row 6; - the seven duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting - and gaming taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.machine_games_duty.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.machine_games_duty.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.machine_games_duty.fy2028 - sheet_name: '3.10' - period_type: fiscal_year - period: 2028 - period_coverage: - start_date: '2028-04-01' - end_date: '2029-03-31' - basis: fiscal - source_period_label: 2028-29 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: machine_games_duty - label: Machine games duty - ordinal: 0 - row_number: 11 - expected_row_header_column: B - expected_row_header: Machine games duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Machine games duty, FY2028-29 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.machine_games_duty - source_concept: obr.machine_games_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 11 ('Machine games duty'), GBP billion. An 'of which' of row 6; - the seven duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting - and gaming taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.machine_games_duty.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.machine_games_duty.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.machine_games_duty.fy2029 - sheet_name: '3.10' - period_type: fiscal_year - period: 2029 - period_coverage: - start_date: '2029-04-01' - end_date: '2030-03-31' - basis: fiscal - source_period_label: 2029-30 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: machine_games_duty - label: Machine games duty - ordinal: 0 - row_number: 11 - expected_row_header_column: B - expected_row_header: Machine games duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Machine games duty, FY2029-30 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.machine_games_duty - source_concept: obr.machine_games_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 11 ('Machine games duty'), GBP billion. An 'of which' of row 6; - the seven duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting - and gaming taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.machine_games_duty.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.machine_games_duty.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.machine_games_duty.fy2030 - sheet_name: '3.10' - period_type: fiscal_year - period: 2030 - period_coverage: - start_date: '2030-04-01' - end_date: '2031-03-31' - basis: fiscal - source_period_label: 2030-31 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: machine_games_duty - label: Machine games duty - ordinal: 0 - row_number: 11 - expected_row_header_column: B - expected_row_header: Machine games duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Machine games duty, FY2030-31 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.machine_games_duty - source_concept: obr.machine_games_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 11 ('Machine games duty'), GBP billion. An 'of which' of row 6; - the seven duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting - and gaming taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.gaming_duty.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.gaming_duty.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.gaming_duty.fy2025 - sheet_name: '3.10' - period_type: fiscal_year - period: 2025 - period_coverage: - start_date: '2025-04-01' - end_date: '2026-03-31' - basis: fiscal - source_period_label: 2025-26 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: gaming_duty - label: Gaming duty - ordinal: 0 - row_number: 12 - expected_row_header_column: B - expected_row_header: Gaming duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Gaming duty, FY2025-26 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.gaming_duty - source_concept: obr.gaming_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 12 ('Gaming duty'), GBP billion. An 'of which' of row 6; the seven - duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting and gaming - taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.gaming_duty.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.gaming_duty.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.gaming_duty.fy2026 - sheet_name: '3.10' - period_type: fiscal_year - period: 2026 - period_coverage: - start_date: '2026-04-01' - end_date: '2027-03-31' - basis: fiscal - source_period_label: 2026-27 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: gaming_duty - label: Gaming duty - ordinal: 0 - row_number: 12 - expected_row_header_column: B - expected_row_header: Gaming duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Gaming duty, FY2026-27 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.gaming_duty - source_concept: obr.gaming_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 12 ('Gaming duty'), GBP billion. An 'of which' of row 6; the seven - duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting and gaming - taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.gaming_duty.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.gaming_duty.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.gaming_duty.fy2027 - sheet_name: '3.10' - period_type: fiscal_year - period: 2027 - period_coverage: - start_date: '2027-04-01' - end_date: '2028-03-31' - basis: fiscal - source_period_label: 2027-28 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: gaming_duty - label: Gaming duty - ordinal: 0 - row_number: 12 - expected_row_header_column: B - expected_row_header: Gaming duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Gaming duty, FY2027-28 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.gaming_duty - source_concept: obr.gaming_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 12 ('Gaming duty'), GBP billion. An 'of which' of row 6; the seven - duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting and gaming - taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.gaming_duty.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.gaming_duty.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.gaming_duty.fy2028 - sheet_name: '3.10' - period_type: fiscal_year - period: 2028 - period_coverage: - start_date: '2028-04-01' - end_date: '2029-03-31' - basis: fiscal - source_period_label: 2028-29 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: gaming_duty - label: Gaming duty - ordinal: 0 - row_number: 12 - expected_row_header_column: B - expected_row_header: Gaming duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Gaming duty, FY2028-29 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.gaming_duty - source_concept: obr.gaming_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 12 ('Gaming duty'), GBP billion. An 'of which' of row 6; the seven - duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting and gaming - taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.gaming_duty.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.gaming_duty.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.gaming_duty.fy2029 - sheet_name: '3.10' - period_type: fiscal_year - period: 2029 - period_coverage: - start_date: '2029-04-01' - end_date: '2030-03-31' - basis: fiscal - source_period_label: 2029-30 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: gaming_duty - label: Gaming duty - ordinal: 0 - row_number: 12 - expected_row_header_column: B - expected_row_header: Gaming duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Gaming duty, FY2029-30 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.gaming_duty - source_concept: obr.gaming_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 12 ('Gaming duty'), GBP billion. An 'of which' of row 6; the seven - duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting and gaming - taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.gaming_duty.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.gaming_duty.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.gaming_duty.fy2030 - sheet_name: '3.10' - period_type: fiscal_year - period: 2030 - period_coverage: - start_date: '2030-04-01' - end_date: '2031-03-31' - basis: fiscal - source_period_label: 2030-31 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: gaming_duty - label: Gaming duty - ordinal: 0 - row_number: 12 - expected_row_header_column: B - expected_row_header: Gaming duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Gaming duty, FY2030-31 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.gaming_duty - source_concept: obr.gaming_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 12 ('Gaming duty'), GBP billion. An 'of which' of row 6; the seven - duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting and gaming - taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.bingo_duty.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.bingo_duty.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.bingo_duty.fy2025 - sheet_name: '3.10' - period_type: fiscal_year - period: 2025 - period_coverage: - start_date: '2025-04-01' - end_date: '2026-03-31' - basis: fiscal - source_period_label: 2025-26 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: bingo_duty - label: Bingo duty - ordinal: 0 - row_number: 13 - expected_row_header_column: B - expected_row_header: Bingo duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Bingo duty, FY2025-26 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.bingo_duty - source_concept: obr.bingo_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 13 ('Bingo duty'), GBP billion. An 'of which' of row 6; the seven - duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting and gaming - taxes' row (row 7) in every year, so the line is stamped accrual. Bingo duty is abolished from 1 - April 2026; the sheet's near-zero later values are kept as published. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.bingo_duty.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.bingo_duty.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.bingo_duty.fy2026 - sheet_name: '3.10' - period_type: fiscal_year - period: 2026 - period_coverage: - start_date: '2026-04-01' - end_date: '2027-03-31' - basis: fiscal - source_period_label: 2026-27 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: bingo_duty - label: Bingo duty - ordinal: 0 - row_number: 13 - expected_row_header_column: B - expected_row_header: Bingo duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Bingo duty, FY2026-27 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.bingo_duty - source_concept: obr.bingo_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 13 ('Bingo duty'), GBP billion. An 'of which' of row 6; the seven - duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting and gaming - taxes' row (row 7) in every year, so the line is stamped accrual. Bingo duty is abolished from 1 - April 2026; the sheet's near-zero later values are kept as published. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.bingo_duty.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.bingo_duty.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.bingo_duty.fy2027 - sheet_name: '3.10' - period_type: fiscal_year - period: 2027 - period_coverage: - start_date: '2027-04-01' - end_date: '2028-03-31' - basis: fiscal - source_period_label: 2027-28 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: bingo_duty - label: Bingo duty - ordinal: 0 - row_number: 13 - expected_row_header_column: B - expected_row_header: Bingo duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Bingo duty, FY2027-28 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.bingo_duty - source_concept: obr.bingo_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 13 ('Bingo duty'), GBP billion. An 'of which' of row 6; the seven - duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting and gaming - taxes' row (row 7) in every year, so the line is stamped accrual. Bingo duty is abolished from 1 - April 2026; the sheet's near-zero later values are kept as published. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.bingo_duty.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.bingo_duty.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.bingo_duty.fy2028 - sheet_name: '3.10' - period_type: fiscal_year - period: 2028 - period_coverage: - start_date: '2028-04-01' - end_date: '2029-03-31' - basis: fiscal - source_period_label: 2028-29 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: bingo_duty - label: Bingo duty - ordinal: 0 - row_number: 13 - expected_row_header_column: B - expected_row_header: Bingo duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Bingo duty, FY2028-29 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.bingo_duty - source_concept: obr.bingo_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 13 ('Bingo duty'), GBP billion. An 'of which' of row 6; the seven - duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting and gaming - taxes' row (row 7) in every year, so the line is stamped accrual. Bingo duty is abolished from 1 - April 2026; the sheet's near-zero later values are kept as published. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.bingo_duty.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.bingo_duty.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.bingo_duty.fy2029 - sheet_name: '3.10' - period_type: fiscal_year - period: 2029 - period_coverage: - start_date: '2029-04-01' - end_date: '2030-03-31' - basis: fiscal - source_period_label: 2029-30 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: bingo_duty - label: Bingo duty - ordinal: 0 - row_number: 13 - expected_row_header_column: B - expected_row_header: Bingo duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Bingo duty, FY2029-30 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.bingo_duty - source_concept: obr.bingo_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 13 ('Bingo duty'), GBP billion. An 'of which' of row 6; the seven - duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting and gaming - taxes' row (row 7) in every year, so the line is stamped accrual. Bingo duty is abolished from 1 - April 2026; the sheet's near-zero later values are kept as published. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.bingo_duty.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.bingo_duty.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.bingo_duty.fy2030 - sheet_name: '3.10' - period_type: fiscal_year - period: 2030 - period_coverage: - start_date: '2030-04-01' - end_date: '2031-03-31' - basis: fiscal - source_period_label: 2030-31 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: bingo_duty - label: Bingo duty - ordinal: 0 - row_number: 13 - expected_row_header_column: B - expected_row_header: Bingo duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Bingo duty, FY2030-31 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.bingo_duty - source_concept: obr.bingo_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 13 ('Bingo duty'), GBP billion. An 'of which' of row 6; the seven - duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting and gaming - taxes' row (row 7) in every year, so the line is stamped accrual. Bingo duty is abolished from 1 - April 2026; the sheet's near-zero later values are kept as published. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.pool_betting_duty.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.pool_betting_duty.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.pool_betting_duty.fy2025 - sheet_name: '3.10' - period_type: fiscal_year - period: 2025 - period_coverage: - start_date: '2025-04-01' - end_date: '2026-03-31' - basis: fiscal - source_period_label: 2025-26 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: pool_betting_duty - label: Pool betting duty - ordinal: 0 - row_number: 14 - expected_row_header_column: B - expected_row_header: Pool betting duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Pool betting duty, FY2025-26 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.pool_betting_duty - source_concept: obr.pool_betting_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 14 ('Pool betting duty'), GBP billion. An 'of which' of row 6; - the seven duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting - and gaming taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.pool_betting_duty.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.pool_betting_duty.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.pool_betting_duty.fy2026 - sheet_name: '3.10' - period_type: fiscal_year - period: 2026 - period_coverage: - start_date: '2026-04-01' - end_date: '2027-03-31' - basis: fiscal - source_period_label: 2026-27 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: pool_betting_duty - label: Pool betting duty - ordinal: 0 - row_number: 14 - expected_row_header_column: B - expected_row_header: Pool betting duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Pool betting duty, FY2026-27 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.pool_betting_duty - source_concept: obr.pool_betting_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 14 ('Pool betting duty'), GBP billion. An 'of which' of row 6; - the seven duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting - and gaming taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.pool_betting_duty.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.pool_betting_duty.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.pool_betting_duty.fy2027 - sheet_name: '3.10' - period_type: fiscal_year - period: 2027 - period_coverage: - start_date: '2027-04-01' - end_date: '2028-03-31' - basis: fiscal - source_period_label: 2027-28 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: pool_betting_duty - label: Pool betting duty - ordinal: 0 - row_number: 14 - expected_row_header_column: B - expected_row_header: Pool betting duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Pool betting duty, FY2027-28 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.pool_betting_duty - source_concept: obr.pool_betting_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 14 ('Pool betting duty'), GBP billion. An 'of which' of row 6; - the seven duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting - and gaming taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.pool_betting_duty.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.pool_betting_duty.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.pool_betting_duty.fy2028 - sheet_name: '3.10' - period_type: fiscal_year - period: 2028 - period_coverage: - start_date: '2028-04-01' - end_date: '2029-03-31' - basis: fiscal - source_period_label: 2028-29 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: pool_betting_duty - label: Pool betting duty - ordinal: 0 - row_number: 14 - expected_row_header_column: B - expected_row_header: Pool betting duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Pool betting duty, FY2028-29 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.pool_betting_duty - source_concept: obr.pool_betting_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 14 ('Pool betting duty'), GBP billion. An 'of which' of row 6; - the seven duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting - and gaming taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.pool_betting_duty.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.pool_betting_duty.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.pool_betting_duty.fy2029 - sheet_name: '3.10' - period_type: fiscal_year - period: 2029 - period_coverage: - start_date: '2029-04-01' - end_date: '2030-03-31' - basis: fiscal - source_period_label: 2029-30 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: pool_betting_duty - label: Pool betting duty - ordinal: 0 - row_number: 14 - expected_row_header_column: B - expected_row_header: Pool betting duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Pool betting duty, FY2029-30 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.pool_betting_duty - source_concept: obr.pool_betting_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 14 ('Pool betting duty'), GBP billion. An 'of which' of row 6; - the seven duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting - and gaming taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.pool_betting_duty.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.pool_betting_duty.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.pool_betting_duty.fy2030 - sheet_name: '3.10' - period_type: fiscal_year - period: 2030 - period_coverage: - start_date: '2030-04-01' - end_date: '2031-03-31' - basis: fiscal - source_period_label: 2030-31 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: pool_betting_duty - label: Pool betting duty - ordinal: 0 - row_number: 14 - expected_row_header_column: B - expected_row_header: Pool betting duty - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Pool betting duty, FY2030-31 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.pool_betting_duty - source_concept: obr.pool_betting_duty - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 14 ('Pool betting duty'), GBP billion. An 'of which' of row 6; - the seven duties sum to it. Sheet 3.10 states no basis; row 6 equals sheet 3.1's accrued 'Betting - and gaming taxes' row (row 7) in every year, so the line is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.cigarette_clearances.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.receipts.cigarette_clearances.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.cigarette_clearances.fy2024 - sheet_name: '3.11' - period_type: fiscal_year - period: 2024 - period_coverage: - start_date: '2024-04-01' - end_date: '2025-03-31' - basis: fiscal - source_period_label: 2024-25 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: tobacco_market - domain: tobacco_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: cigarette_clearances - label: Cigarette clearances - ordinal: 0 - row_number: 5 - expected_row_header_column: B - expected_row_header: Cigarette clearances (million sticks) - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: ' 3.11 Tobacco clearances' - label: sheet title - measures: - - measure_id: amount - label: Cigarette clearances, FY2024-25 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2024-25 - concept: obr.cigarette_clearances - source_concept: obr.cigarette_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.11 ('Tobacco clearances'), - row 5 ('Cigarette clearances (million sticks)'), million sticks. Million sticks, as the row label - states. - unit: stick - aggregation: sum - value_scale: 1000000 - expected_cell_type: number - shared_filters: - published_unit: million_sticks - shared_constraints: - - variable: published_unit - operator: == - value: million_sticks - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.cigarette_clearances.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.cigarette_clearances.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.cigarette_clearances.fy2025 - sheet_name: '3.11' - period_type: fiscal_year - period: 2025 - period_coverage: - start_date: '2025-04-01' - end_date: '2026-03-31' - basis: fiscal - source_period_label: 2025-26 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: tobacco_market - domain: tobacco_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: cigarette_clearances - label: Cigarette clearances - ordinal: 0 - row_number: 5 - expected_row_header_column: B - expected_row_header: Cigarette clearances (million sticks) - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: ' 3.11 Tobacco clearances' - label: sheet title - measures: - - measure_id: amount - label: Cigarette clearances, FY2025-26 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2025-26 - concept: obr.cigarette_clearances - source_concept: obr.cigarette_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.11 ('Tobacco clearances'), - row 5 ('Cigarette clearances (million sticks)'), million sticks. Million sticks, as the row label - states. - unit: stick - aggregation: sum - value_scale: 1000000 - expected_cell_type: number - shared_filters: - published_unit: million_sticks - shared_constraints: - - variable: published_unit - operator: == - value: million_sticks - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.cigarette_clearances.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.cigarette_clearances.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.cigarette_clearances.fy2026 - sheet_name: '3.11' - period_type: fiscal_year - period: 2026 - period_coverage: - start_date: '2026-04-01' - end_date: '2027-03-31' - basis: fiscal - source_period_label: 2026-27 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: tobacco_market - domain: tobacco_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: cigarette_clearances - label: Cigarette clearances - ordinal: 0 - row_number: 5 - expected_row_header_column: B - expected_row_header: Cigarette clearances (million sticks) - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: ' 3.11 Tobacco clearances' - label: sheet title - measures: - - measure_id: amount - label: Cigarette clearances, FY2026-27 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2026-27 - concept: obr.cigarette_clearances - source_concept: obr.cigarette_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.11 ('Tobacco clearances'), - row 5 ('Cigarette clearances (million sticks)'), million sticks. Million sticks, as the row label - states. - unit: stick - aggregation: sum - value_scale: 1000000 - expected_cell_type: number - shared_filters: - published_unit: million_sticks - shared_constraints: - - variable: published_unit - operator: == - value: million_sticks - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.cigarette_clearances.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.cigarette_clearances.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.cigarette_clearances.fy2027 - sheet_name: '3.11' - period_type: fiscal_year - period: 2027 - period_coverage: - start_date: '2027-04-01' - end_date: '2028-03-31' - basis: fiscal - source_period_label: 2027-28 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: tobacco_market - domain: tobacco_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: cigarette_clearances - label: Cigarette clearances - ordinal: 0 - row_number: 5 - expected_row_header_column: B - expected_row_header: Cigarette clearances (million sticks) - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: ' 3.11 Tobacco clearances' - label: sheet title - measures: - - measure_id: amount - label: Cigarette clearances, FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2027-28 - concept: obr.cigarette_clearances - source_concept: obr.cigarette_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.11 ('Tobacco clearances'), - row 5 ('Cigarette clearances (million sticks)'), million sticks. Million sticks, as the row label - states. - unit: stick - aggregation: sum - value_scale: 1000000 - expected_cell_type: number - shared_filters: - published_unit: million_sticks - shared_constraints: - - variable: published_unit - operator: == - value: million_sticks - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.cigarette_clearances.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.cigarette_clearances.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.cigarette_clearances.fy2028 - sheet_name: '3.11' - period_type: fiscal_year - period: 2028 - period_coverage: - start_date: '2028-04-01' - end_date: '2029-03-31' - basis: fiscal - source_period_label: 2028-29 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: tobacco_market - domain: tobacco_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: cigarette_clearances - label: Cigarette clearances - ordinal: 0 - row_number: 5 - expected_row_header_column: B - expected_row_header: Cigarette clearances (million sticks) - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: ' 3.11 Tobacco clearances' - label: sheet title - measures: - - measure_id: amount - label: Cigarette clearances, FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2028-29 - concept: obr.cigarette_clearances - source_concept: obr.cigarette_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.11 ('Tobacco clearances'), - row 5 ('Cigarette clearances (million sticks)'), million sticks. Million sticks, as the row label - states. - unit: stick - aggregation: sum - value_scale: 1000000 - expected_cell_type: number - shared_filters: - published_unit: million_sticks - shared_constraints: - - variable: published_unit - operator: == - value: million_sticks - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.cigarette_clearances.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.cigarette_clearances.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.cigarette_clearances.fy2029 - sheet_name: '3.11' - period_type: fiscal_year - period: 2029 - period_coverage: - start_date: '2029-04-01' - end_date: '2030-03-31' - basis: fiscal - source_period_label: 2029-30 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: tobacco_market - domain: tobacco_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: cigarette_clearances - label: Cigarette clearances - ordinal: 0 - row_number: 5 - expected_row_header_column: B - expected_row_header: Cigarette clearances (million sticks) - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: ' 3.11 Tobacco clearances' - label: sheet title - measures: - - measure_id: amount - label: Cigarette clearances, FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2029-30 - concept: obr.cigarette_clearances - source_concept: obr.cigarette_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.11 ('Tobacco clearances'), - row 5 ('Cigarette clearances (million sticks)'), million sticks. Million sticks, as the row label - states. - unit: stick - aggregation: sum - value_scale: 1000000 - expected_cell_type: number - shared_filters: - published_unit: million_sticks - shared_constraints: - - variable: published_unit - operator: == - value: million_sticks - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.cigarette_clearances.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.cigarette_clearances.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.cigarette_clearances.fy2030 - sheet_name: '3.11' - period_type: fiscal_year - period: 2030 - period_coverage: - start_date: '2030-04-01' - end_date: '2031-03-31' - basis: fiscal - source_period_label: 2030-31 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: tobacco_market - domain: tobacco_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: cigarette_clearances - label: Cigarette clearances - ordinal: 0 - row_number: 5 - expected_row_header_column: B - expected_row_header: Cigarette clearances (million sticks) - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: ' 3.11 Tobacco clearances' - label: sheet title - measures: - - measure_id: amount - label: Cigarette clearances, FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2030-31 - concept: obr.cigarette_clearances - source_concept: obr.cigarette_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.11 ('Tobacco clearances'), - row 5 ('Cigarette clearances (million sticks)'), million sticks. Million sticks, as the row label - states. - unit: stick - aggregation: sum - value_scale: 1000000 - expected_cell_type: number - shared_filters: - published_unit: million_sticks - shared_constraints: - - variable: published_unit - operator: == - value: million_sticks - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.non_cigarette_tobacco_clearances.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.receipts.non_cigarette_tobacco_clearances.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.non_cigarette_tobacco_clearances.fy2024 - sheet_name: '3.11' - period_type: fiscal_year - period: 2024 - period_coverage: - start_date: '2024-04-01' - end_date: '2025-03-31' - basis: fiscal - source_period_label: 2024-25 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: tobacco_market - domain: tobacco_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: non_cigarette_tobacco_clearances - label: Non-cigarette tobacco clearances - ordinal: 0 - row_number: 6 - expected_row_header_column: B - expected_row_header: Non-cigarette clearances ('000s kg) - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: ' 3.11 Tobacco clearances' - label: sheet title - measures: - - measure_id: amount - label: Non-cigarette tobacco clearances, FY2024-25 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2024-25 - concept: obr.non_cigarette_tobacco_clearances - source_concept: obr.non_cigarette_tobacco_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.11 ('Tobacco clearances'), - row 6 ('Non-cigarette clearances ('000s kg)'), thousand kilograms. Thousand kilograms, as the row - label states; rows 8 and 9 sum to it. - unit: kilogram - aggregation: sum - value_scale: 1000 - expected_cell_type: number - shared_filters: - published_unit: thousand_kilograms - shared_constraints: - - variable: published_unit - operator: == - value: thousand_kilograms - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.non_cigarette_tobacco_clearances.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.non_cigarette_tobacco_clearances.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.non_cigarette_tobacco_clearances.fy2025 - sheet_name: '3.11' - period_type: fiscal_year - period: 2025 - period_coverage: - start_date: '2025-04-01' - end_date: '2026-03-31' - basis: fiscal - source_period_label: 2025-26 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: tobacco_market - domain: tobacco_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: non_cigarette_tobacco_clearances - label: Non-cigarette tobacco clearances - ordinal: 0 - row_number: 6 - expected_row_header_column: B - expected_row_header: Non-cigarette clearances ('000s kg) - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: ' 3.11 Tobacco clearances' - label: sheet title - measures: - - measure_id: amount - label: Non-cigarette tobacco clearances, FY2025-26 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2025-26 - concept: obr.non_cigarette_tobacco_clearances - source_concept: obr.non_cigarette_tobacco_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.11 ('Tobacco clearances'), - row 6 ('Non-cigarette clearances ('000s kg)'), thousand kilograms. Thousand kilograms, as the row - label states; rows 8 and 9 sum to it. - unit: kilogram - aggregation: sum - value_scale: 1000 - expected_cell_type: number - shared_filters: - published_unit: thousand_kilograms - shared_constraints: - - variable: published_unit - operator: == - value: thousand_kilograms - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.non_cigarette_tobacco_clearances.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.non_cigarette_tobacco_clearances.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.non_cigarette_tobacco_clearances.fy2026 - sheet_name: '3.11' - period_type: fiscal_year - period: 2026 - period_coverage: - start_date: '2026-04-01' - end_date: '2027-03-31' - basis: fiscal - source_period_label: 2026-27 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: tobacco_market - domain: tobacco_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: non_cigarette_tobacco_clearances - label: Non-cigarette tobacco clearances - ordinal: 0 - row_number: 6 - expected_row_header_column: B - expected_row_header: Non-cigarette clearances ('000s kg) - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: ' 3.11 Tobacco clearances' - label: sheet title - measures: - - measure_id: amount - label: Non-cigarette tobacco clearances, FY2026-27 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2026-27 - concept: obr.non_cigarette_tobacco_clearances - source_concept: obr.non_cigarette_tobacco_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.11 ('Tobacco clearances'), - row 6 ('Non-cigarette clearances ('000s kg)'), thousand kilograms. Thousand kilograms, as the row - label states; rows 8 and 9 sum to it. - unit: kilogram - aggregation: sum - value_scale: 1000 - expected_cell_type: number - shared_filters: - published_unit: thousand_kilograms - shared_constraints: - - variable: published_unit - operator: == - value: thousand_kilograms - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.non_cigarette_tobacco_clearances.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.non_cigarette_tobacco_clearances.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.non_cigarette_tobacco_clearances.fy2027 - sheet_name: '3.11' - period_type: fiscal_year - period: 2027 - period_coverage: - start_date: '2027-04-01' - end_date: '2028-03-31' - basis: fiscal - source_period_label: 2027-28 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: tobacco_market - domain: tobacco_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: non_cigarette_tobacco_clearances - label: Non-cigarette tobacco clearances - ordinal: 0 - row_number: 6 - expected_row_header_column: B - expected_row_header: Non-cigarette clearances ('000s kg) - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: ' 3.11 Tobacco clearances' - label: sheet title - measures: - - measure_id: amount - label: Non-cigarette tobacco clearances, FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2027-28 - concept: obr.non_cigarette_tobacco_clearances - source_concept: obr.non_cigarette_tobacco_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.11 ('Tobacco clearances'), - row 6 ('Non-cigarette clearances ('000s kg)'), thousand kilograms. Thousand kilograms, as the row - label states; rows 8 and 9 sum to it. - unit: kilogram - aggregation: sum - value_scale: 1000 - expected_cell_type: number - shared_filters: - published_unit: thousand_kilograms - shared_constraints: - - variable: published_unit - operator: == - value: thousand_kilograms - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.non_cigarette_tobacco_clearances.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.non_cigarette_tobacco_clearances.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.non_cigarette_tobacco_clearances.fy2028 - sheet_name: '3.11' - period_type: fiscal_year - period: 2028 - period_coverage: - start_date: '2028-04-01' - end_date: '2029-03-31' - basis: fiscal - source_period_label: 2028-29 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: tobacco_market - domain: tobacco_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: non_cigarette_tobacco_clearances - label: Non-cigarette tobacco clearances - ordinal: 0 - row_number: 6 - expected_row_header_column: B - expected_row_header: Non-cigarette clearances ('000s kg) - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: ' 3.11 Tobacco clearances' - label: sheet title - measures: - - measure_id: amount - label: Non-cigarette tobacco clearances, FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2028-29 - concept: obr.non_cigarette_tobacco_clearances - source_concept: obr.non_cigarette_tobacco_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.11 ('Tobacco clearances'), - row 6 ('Non-cigarette clearances ('000s kg)'), thousand kilograms. Thousand kilograms, as the row - label states; rows 8 and 9 sum to it. - unit: kilogram - aggregation: sum - value_scale: 1000 - expected_cell_type: number - shared_filters: - published_unit: thousand_kilograms - shared_constraints: - - variable: published_unit - operator: == - value: thousand_kilograms - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.non_cigarette_tobacco_clearances.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.non_cigarette_tobacco_clearances.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.non_cigarette_tobacco_clearances.fy2029 - sheet_name: '3.11' - period_type: fiscal_year - period: 2029 - period_coverage: - start_date: '2029-04-01' - end_date: '2030-03-31' - basis: fiscal - source_period_label: 2029-30 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: tobacco_market - domain: tobacco_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: non_cigarette_tobacco_clearances - label: Non-cigarette tobacco clearances - ordinal: 0 - row_number: 6 - expected_row_header_column: B - expected_row_header: Non-cigarette clearances ('000s kg) - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: ' 3.11 Tobacco clearances' - label: sheet title - measures: - - measure_id: amount - label: Non-cigarette tobacco clearances, FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2029-30 - concept: obr.non_cigarette_tobacco_clearances - source_concept: obr.non_cigarette_tobacco_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.11 ('Tobacco clearances'), - row 6 ('Non-cigarette clearances ('000s kg)'), thousand kilograms. Thousand kilograms, as the row - label states; rows 8 and 9 sum to it. - unit: kilogram - aggregation: sum - value_scale: 1000 - expected_cell_type: number - shared_filters: - published_unit: thousand_kilograms - shared_constraints: - - variable: published_unit - operator: == - value: thousand_kilograms - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.non_cigarette_tobacco_clearances.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.non_cigarette_tobacco_clearances.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.non_cigarette_tobacco_clearances.fy2030 - sheet_name: '3.11' - period_type: fiscal_year - period: 2030 - period_coverage: - start_date: '2030-04-01' - end_date: '2031-03-31' - basis: fiscal - source_period_label: 2030-31 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: tobacco_market - domain: tobacco_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: non_cigarette_tobacco_clearances - label: Non-cigarette tobacco clearances - ordinal: 0 - row_number: 6 - expected_row_header_column: B - expected_row_header: Non-cigarette clearances ('000s kg) - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: ' 3.11 Tobacco clearances' - label: sheet title - measures: - - measure_id: amount - label: Non-cigarette tobacco clearances, FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2030-31 - concept: obr.non_cigarette_tobacco_clearances - source_concept: obr.non_cigarette_tobacco_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.11 ('Tobacco clearances'), - row 6 ('Non-cigarette clearances ('000s kg)'), thousand kilograms. Thousand kilograms, as the row - label states; rows 8 and 9 sum to it. - unit: kilogram - aggregation: sum - value_scale: 1000 - expected_cell_type: number - shared_filters: - published_unit: thousand_kilograms - shared_constraints: - - variable: published_unit - operator: == - value: thousand_kilograms - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.hand_rolled_tobacco_clearances.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.receipts.hand_rolled_tobacco_clearances.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.hand_rolled_tobacco_clearances.fy2024 - sheet_name: '3.11' - period_type: fiscal_year - period: 2024 - period_coverage: - start_date: '2024-04-01' - end_date: '2025-03-31' - basis: fiscal - source_period_label: 2024-25 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: tobacco_market - domain: tobacco_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: hand_rolled_tobacco_clearances - label: Hand rolled tobacco clearances - ordinal: 0 - row_number: 8 - expected_row_header_column: B - expected_row_header: Hand rolled tobacco clearances - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: ' 3.11 Tobacco clearances' - label: sheet title - measures: - - measure_id: amount - label: Hand rolled tobacco clearances, FY2024-25 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2024-25 - concept: obr.hand_rolled_tobacco_clearances - source_concept: obr.hand_rolled_tobacco_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.11 ('Tobacco clearances'), - row 8 ('Hand rolled tobacco clearances'), thousand kilograms. An 'of which' of row 6 ("Non-cigarette - clearances ('000s kg)"), in its unit; rows 8 and 9 sum to it. - unit: kilogram - aggregation: sum - value_scale: 1000 - expected_cell_type: number - shared_filters: - published_unit: thousand_kilograms - shared_constraints: - - variable: published_unit - operator: == - value: thousand_kilograms - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.hand_rolled_tobacco_clearances.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.hand_rolled_tobacco_clearances.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.hand_rolled_tobacco_clearances.fy2025 - sheet_name: '3.11' - period_type: fiscal_year - period: 2025 - period_coverage: - start_date: '2025-04-01' - end_date: '2026-03-31' - basis: fiscal - source_period_label: 2025-26 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: tobacco_market - domain: tobacco_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: hand_rolled_tobacco_clearances - label: Hand rolled tobacco clearances - ordinal: 0 - row_number: 8 - expected_row_header_column: B - expected_row_header: Hand rolled tobacco clearances - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: ' 3.11 Tobacco clearances' - label: sheet title - measures: - - measure_id: amount - label: Hand rolled tobacco clearances, FY2025-26 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2025-26 - concept: obr.hand_rolled_tobacco_clearances - source_concept: obr.hand_rolled_tobacco_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.11 ('Tobacco clearances'), - row 8 ('Hand rolled tobacco clearances'), thousand kilograms. An 'of which' of row 6 ("Non-cigarette - clearances ('000s kg)"), in its unit; rows 8 and 9 sum to it. - unit: kilogram - aggregation: sum - value_scale: 1000 - expected_cell_type: number - shared_filters: - published_unit: thousand_kilograms - shared_constraints: - - variable: published_unit - operator: == - value: thousand_kilograms - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.hand_rolled_tobacco_clearances.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.hand_rolled_tobacco_clearances.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.hand_rolled_tobacco_clearances.fy2026 - sheet_name: '3.11' - period_type: fiscal_year - period: 2026 - period_coverage: - start_date: '2026-04-01' - end_date: '2027-03-31' - basis: fiscal - source_period_label: 2026-27 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: tobacco_market - domain: tobacco_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: hand_rolled_tobacco_clearances - label: Hand rolled tobacco clearances - ordinal: 0 - row_number: 8 - expected_row_header_column: B - expected_row_header: Hand rolled tobacco clearances - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: ' 3.11 Tobacco clearances' - label: sheet title - measures: - - measure_id: amount - label: Hand rolled tobacco clearances, FY2026-27 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2026-27 - concept: obr.hand_rolled_tobacco_clearances - source_concept: obr.hand_rolled_tobacco_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.11 ('Tobacco clearances'), - row 8 ('Hand rolled tobacco clearances'), thousand kilograms. An 'of which' of row 6 ("Non-cigarette - clearances ('000s kg)"), in its unit; rows 8 and 9 sum to it. - unit: kilogram - aggregation: sum - value_scale: 1000 - expected_cell_type: number - shared_filters: - published_unit: thousand_kilograms - shared_constraints: - - variable: published_unit - operator: == - value: thousand_kilograms - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.hand_rolled_tobacco_clearances.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.hand_rolled_tobacco_clearances.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.hand_rolled_tobacco_clearances.fy2027 - sheet_name: '3.11' - period_type: fiscal_year - period: 2027 - period_coverage: - start_date: '2027-04-01' - end_date: '2028-03-31' - basis: fiscal - source_period_label: 2027-28 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: tobacco_market - domain: tobacco_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: hand_rolled_tobacco_clearances - label: Hand rolled tobacco clearances - ordinal: 0 - row_number: 8 - expected_row_header_column: B - expected_row_header: Hand rolled tobacco clearances - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: ' 3.11 Tobacco clearances' - label: sheet title - measures: - - measure_id: amount - label: Hand rolled tobacco clearances, FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2027-28 - concept: obr.hand_rolled_tobacco_clearances - source_concept: obr.hand_rolled_tobacco_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.11 ('Tobacco clearances'), - row 8 ('Hand rolled tobacco clearances'), thousand kilograms. An 'of which' of row 6 ("Non-cigarette - clearances ('000s kg)"), in its unit; rows 8 and 9 sum to it. - unit: kilogram - aggregation: sum - value_scale: 1000 - expected_cell_type: number - shared_filters: - published_unit: thousand_kilograms - shared_constraints: - - variable: published_unit - operator: == - value: thousand_kilograms - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.hand_rolled_tobacco_clearances.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.hand_rolled_tobacco_clearances.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.hand_rolled_tobacco_clearances.fy2028 - sheet_name: '3.11' - period_type: fiscal_year - period: 2028 - period_coverage: - start_date: '2028-04-01' - end_date: '2029-03-31' - basis: fiscal - source_period_label: 2028-29 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: tobacco_market - domain: tobacco_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: hand_rolled_tobacco_clearances - label: Hand rolled tobacco clearances - ordinal: 0 - row_number: 8 - expected_row_header_column: B - expected_row_header: Hand rolled tobacco clearances - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: ' 3.11 Tobacco clearances' - label: sheet title - measures: - - measure_id: amount - label: Hand rolled tobacco clearances, FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2028-29 - concept: obr.hand_rolled_tobacco_clearances - source_concept: obr.hand_rolled_tobacco_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.11 ('Tobacco clearances'), - row 8 ('Hand rolled tobacco clearances'), thousand kilograms. An 'of which' of row 6 ("Non-cigarette - clearances ('000s kg)"), in its unit; rows 8 and 9 sum to it. - unit: kilogram - aggregation: sum - value_scale: 1000 - expected_cell_type: number - shared_filters: - published_unit: thousand_kilograms - shared_constraints: - - variable: published_unit - operator: == - value: thousand_kilograms - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.hand_rolled_tobacco_clearances.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.hand_rolled_tobacco_clearances.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.hand_rolled_tobacco_clearances.fy2029 - sheet_name: '3.11' - period_type: fiscal_year - period: 2029 - period_coverage: - start_date: '2029-04-01' - end_date: '2030-03-31' - basis: fiscal - source_period_label: 2029-30 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: tobacco_market - domain: tobacco_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: hand_rolled_tobacco_clearances - label: Hand rolled tobacco clearances - ordinal: 0 - row_number: 8 - expected_row_header_column: B - expected_row_header: Hand rolled tobacco clearances - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: ' 3.11 Tobacco clearances' - label: sheet title - measures: - - measure_id: amount - label: Hand rolled tobacco clearances, FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2029-30 - concept: obr.hand_rolled_tobacco_clearances - source_concept: obr.hand_rolled_tobacco_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.11 ('Tobacco clearances'), - row 8 ('Hand rolled tobacco clearances'), thousand kilograms. An 'of which' of row 6 ("Non-cigarette - clearances ('000s kg)"), in its unit; rows 8 and 9 sum to it. - unit: kilogram - aggregation: sum - value_scale: 1000 - expected_cell_type: number - shared_filters: - published_unit: thousand_kilograms - shared_constraints: - - variable: published_unit - operator: == - value: thousand_kilograms - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.hand_rolled_tobacco_clearances.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.hand_rolled_tobacco_clearances.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.hand_rolled_tobacco_clearances.fy2030 - sheet_name: '3.11' - period_type: fiscal_year - period: 2030 - period_coverage: - start_date: '2030-04-01' - end_date: '2031-03-31' - basis: fiscal - source_period_label: 2030-31 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: tobacco_market - domain: tobacco_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: hand_rolled_tobacco_clearances - label: Hand rolled tobacco clearances - ordinal: 0 - row_number: 8 - expected_row_header_column: B - expected_row_header: Hand rolled tobacco clearances - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: ' 3.11 Tobacco clearances' - label: sheet title - measures: - - measure_id: amount - label: Hand rolled tobacco clearances, FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2030-31 - concept: obr.hand_rolled_tobacco_clearances - source_concept: obr.hand_rolled_tobacco_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.11 ('Tobacco clearances'), - row 8 ('Hand rolled tobacco clearances'), thousand kilograms. An 'of which' of row 6 ("Non-cigarette - clearances ('000s kg)"), in its unit; rows 8 and 9 sum to it. - unit: kilogram - aggregation: sum - value_scale: 1000 - expected_cell_type: number - shared_filters: - published_unit: thousand_kilograms - shared_constraints: - - variable: published_unit - operator: == - value: thousand_kilograms - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.other_tobacco_products_clearances.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.receipts.other_tobacco_products_clearances.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.other_tobacco_products_clearances.fy2024 - sheet_name: '3.11' - period_type: fiscal_year - period: 2024 - period_coverage: - start_date: '2024-04-01' - end_date: '2025-03-31' - basis: fiscal - source_period_label: 2024-25 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: tobacco_market - domain: tobacco_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: other_tobacco_products_clearances - label: Other tobacco products clearances - ordinal: 0 - row_number: 9 - expected_row_header_column: B - expected_row_header: Other tobacco products - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: ' 3.11 Tobacco clearances' - label: sheet title - measures: - - measure_id: amount - label: Other tobacco products clearances, FY2024-25 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2024-25 - concept: obr.other_tobacco_products_clearances - source_concept: obr.other_tobacco_products_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.11 ('Tobacco clearances'), - row 9 ('Other tobacco products'), thousand kilograms. An 'of which' of row 6 ("Non-cigarette clearances - ('000s kg)"), in its unit; rows 8 and 9 sum to it. - unit: kilogram - aggregation: sum - value_scale: 1000 - expected_cell_type: number - shared_filters: - published_unit: thousand_kilograms - shared_constraints: - - variable: published_unit - operator: == - value: thousand_kilograms - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.other_tobacco_products_clearances.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.other_tobacco_products_clearances.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.other_tobacco_products_clearances.fy2025 - sheet_name: '3.11' - period_type: fiscal_year - period: 2025 - period_coverage: - start_date: '2025-04-01' - end_date: '2026-03-31' - basis: fiscal - source_period_label: 2025-26 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: tobacco_market - domain: tobacco_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: other_tobacco_products_clearances - label: Other tobacco products clearances - ordinal: 0 - row_number: 9 - expected_row_header_column: B - expected_row_header: Other tobacco products - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: ' 3.11 Tobacco clearances' - label: sheet title - measures: - - measure_id: amount - label: Other tobacco products clearances, FY2025-26 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2025-26 - concept: obr.other_tobacco_products_clearances - source_concept: obr.other_tobacco_products_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.11 ('Tobacco clearances'), - row 9 ('Other tobacco products'), thousand kilograms. An 'of which' of row 6 ("Non-cigarette clearances - ('000s kg)"), in its unit; rows 8 and 9 sum to it. - unit: kilogram - aggregation: sum - value_scale: 1000 - expected_cell_type: number - shared_filters: - published_unit: thousand_kilograms - shared_constraints: - - variable: published_unit - operator: == - value: thousand_kilograms - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.other_tobacco_products_clearances.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.other_tobacco_products_clearances.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.other_tobacco_products_clearances.fy2026 - sheet_name: '3.11' - period_type: fiscal_year - period: 2026 - period_coverage: - start_date: '2026-04-01' - end_date: '2027-03-31' - basis: fiscal - source_period_label: 2026-27 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: tobacco_market - domain: tobacco_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: other_tobacco_products_clearances - label: Other tobacco products clearances - ordinal: 0 - row_number: 9 - expected_row_header_column: B - expected_row_header: Other tobacco products - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: ' 3.11 Tobacco clearances' - label: sheet title - measures: - - measure_id: amount - label: Other tobacco products clearances, FY2026-27 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2026-27 - concept: obr.other_tobacco_products_clearances - source_concept: obr.other_tobacco_products_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.11 ('Tobacco clearances'), - row 9 ('Other tobacco products'), thousand kilograms. An 'of which' of row 6 ("Non-cigarette clearances - ('000s kg)"), in its unit; rows 8 and 9 sum to it. - unit: kilogram - aggregation: sum - value_scale: 1000 - expected_cell_type: number - shared_filters: - published_unit: thousand_kilograms - shared_constraints: - - variable: published_unit - operator: == - value: thousand_kilograms - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.other_tobacco_products_clearances.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.other_tobacco_products_clearances.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.other_tobacco_products_clearances.fy2027 - sheet_name: '3.11' - period_type: fiscal_year - period: 2027 - period_coverage: - start_date: '2027-04-01' - end_date: '2028-03-31' - basis: fiscal - source_period_label: 2027-28 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: tobacco_market - domain: tobacco_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: other_tobacco_products_clearances - label: Other tobacco products clearances - ordinal: 0 - row_number: 9 - expected_row_header_column: B - expected_row_header: Other tobacco products - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: ' 3.11 Tobacco clearances' - label: sheet title - measures: - - measure_id: amount - label: Other tobacco products clearances, FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2027-28 - concept: obr.other_tobacco_products_clearances - source_concept: obr.other_tobacco_products_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.11 ('Tobacco clearances'), - row 9 ('Other tobacco products'), thousand kilograms. An 'of which' of row 6 ("Non-cigarette clearances - ('000s kg)"), in its unit; rows 8 and 9 sum to it. - unit: kilogram - aggregation: sum - value_scale: 1000 - expected_cell_type: number - shared_filters: - published_unit: thousand_kilograms - shared_constraints: - - variable: published_unit - operator: == - value: thousand_kilograms - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.other_tobacco_products_clearances.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.other_tobacco_products_clearances.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.other_tobacco_products_clearances.fy2028 - sheet_name: '3.11' - period_type: fiscal_year - period: 2028 - period_coverage: - start_date: '2028-04-01' - end_date: '2029-03-31' - basis: fiscal - source_period_label: 2028-29 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: tobacco_market - domain: tobacco_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: other_tobacco_products_clearances - label: Other tobacco products clearances - ordinal: 0 - row_number: 9 - expected_row_header_column: B - expected_row_header: Other tobacco products - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: ' 3.11 Tobacco clearances' - label: sheet title - measures: - - measure_id: amount - label: Other tobacco products clearances, FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2028-29 - concept: obr.other_tobacco_products_clearances - source_concept: obr.other_tobacco_products_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.11 ('Tobacco clearances'), - row 9 ('Other tobacco products'), thousand kilograms. An 'of which' of row 6 ("Non-cigarette clearances - ('000s kg)"), in its unit; rows 8 and 9 sum to it. - unit: kilogram - aggregation: sum - value_scale: 1000 - expected_cell_type: number - shared_filters: - published_unit: thousand_kilograms - shared_constraints: - - variable: published_unit - operator: == - value: thousand_kilograms - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.other_tobacco_products_clearances.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.other_tobacco_products_clearances.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.other_tobacco_products_clearances.fy2029 - sheet_name: '3.11' - period_type: fiscal_year - period: 2029 - period_coverage: - start_date: '2029-04-01' - end_date: '2030-03-31' - basis: fiscal - source_period_label: 2029-30 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: tobacco_market - domain: tobacco_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: other_tobacco_products_clearances - label: Other tobacco products clearances - ordinal: 0 - row_number: 9 - expected_row_header_column: B - expected_row_header: Other tobacco products - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: ' 3.11 Tobacco clearances' - label: sheet title - measures: - - measure_id: amount - label: Other tobacco products clearances, FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2029-30 - concept: obr.other_tobacco_products_clearances - source_concept: obr.other_tobacco_products_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.11 ('Tobacco clearances'), - row 9 ('Other tobacco products'), thousand kilograms. An 'of which' of row 6 ("Non-cigarette clearances - ('000s kg)"), in its unit; rows 8 and 9 sum to it. - unit: kilogram - aggregation: sum - value_scale: 1000 - expected_cell_type: number - shared_filters: - published_unit: thousand_kilograms - shared_constraints: - - variable: published_unit - operator: == - value: thousand_kilograms - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.other_tobacco_products_clearances.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.other_tobacco_products_clearances.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.other_tobacco_products_clearances.fy2030 - sheet_name: '3.11' - period_type: fiscal_year - period: 2030 - period_coverage: - start_date: '2030-04-01' - end_date: '2031-03-31' - basis: fiscal - source_period_label: 2030-31 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: tobacco_market - domain: tobacco_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: other_tobacco_products_clearances - label: Other tobacco products clearances - ordinal: 0 - row_number: 9 - expected_row_header_column: B - expected_row_header: Other tobacco products - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: ' 3.11 Tobacco clearances' - label: sheet title - measures: - - measure_id: amount - label: Other tobacco products clearances, FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2030-31 - concept: obr.other_tobacco_products_clearances - source_concept: obr.other_tobacco_products_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.11 ('Tobacco clearances'), - row 9 ('Other tobacco products'), thousand kilograms. An 'of which' of row 6 ("Non-cigarette clearances - ('000s kg)"), in its unit; rows 8 and 9 sum to it. - unit: kilogram - aggregation: sum - value_scale: 1000 - expected_cell_type: number - shared_filters: - published_unit: thousand_kilograms - shared_constraints: - - variable: published_unit - operator: == - value: thousand_kilograms - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.beer_and_cider_clearances.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.receipts.beer_and_cider_clearances.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.beer_and_cider_clearances.fy2024 - sheet_name: '3.12' - period_type: fiscal_year - period: 2024 - period_coverage: - start_date: '2024-04-01' - end_date: '2025-03-31' - basis: fiscal - source_period_label: 2024-25 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: alcohol_market - domain: alcohol_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: beer_and_cider_clearances - label: Beer and cider clearances - ordinal: 0 - row_number: 5 - expected_row_header_column: B - expected_row_header: ' Beer and cider' - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.12 Alcohol clearance forecasts - label: table title - - column: B - row: 8 - expected_value: 'Note: All clearances are in thousands of hectolitres of alcohol.' - label: unit note - measures: - - measure_id: amount - label: Beer and cider clearances, FY2024-25 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2024-25 - concept: obr.beer_and_cider_clearances - source_concept: obr.beer_and_cider_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.12 ('Alcohol clearance - forecasts'), row 5 ('Beer and cider'), thousand hectolitres of alcohol. - unit: litre_of_pure_alcohol - aggregation: sum - value_scale: 100000 - expected_cell_type: number - shared_filters: - published_unit: thousand_hectolitres_of_alcohol - shared_constraints: - - variable: published_unit - operator: == - value: thousand_hectolitres_of_alcohol - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.beer_and_cider_clearances.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.beer_and_cider_clearances.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.beer_and_cider_clearances.fy2025 - sheet_name: '3.12' - period_type: fiscal_year - period: 2025 - period_coverage: - start_date: '2025-04-01' - end_date: '2026-03-31' - basis: fiscal - source_period_label: 2025-26 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: alcohol_market - domain: alcohol_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: beer_and_cider_clearances - label: Beer and cider clearances - ordinal: 0 - row_number: 5 - expected_row_header_column: B - expected_row_header: ' Beer and cider' - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.12 Alcohol clearance forecasts - label: table title - - column: B - row: 8 - expected_value: 'Note: All clearances are in thousands of hectolitres of alcohol.' - label: unit note - measures: - - measure_id: amount - label: Beer and cider clearances, FY2025-26 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2025-26 - concept: obr.beer_and_cider_clearances - source_concept: obr.beer_and_cider_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.12 ('Alcohol clearance - forecasts'), row 5 ('Beer and cider'), thousand hectolitres of alcohol. - unit: litre_of_pure_alcohol - aggregation: sum - value_scale: 100000 - expected_cell_type: number - shared_filters: - published_unit: thousand_hectolitres_of_alcohol - shared_constraints: - - variable: published_unit - operator: == - value: thousand_hectolitres_of_alcohol - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.beer_and_cider_clearances.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.beer_and_cider_clearances.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.beer_and_cider_clearances.fy2026 - sheet_name: '3.12' - period_type: fiscal_year - period: 2026 - period_coverage: - start_date: '2026-04-01' - end_date: '2027-03-31' - basis: fiscal - source_period_label: 2026-27 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: alcohol_market - domain: alcohol_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: beer_and_cider_clearances - label: Beer and cider clearances - ordinal: 0 - row_number: 5 - expected_row_header_column: B - expected_row_header: ' Beer and cider' - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.12 Alcohol clearance forecasts - label: table title - - column: B - row: 8 - expected_value: 'Note: All clearances are in thousands of hectolitres of alcohol.' - label: unit note - measures: - - measure_id: amount - label: Beer and cider clearances, FY2026-27 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2026-27 - concept: obr.beer_and_cider_clearances - source_concept: obr.beer_and_cider_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.12 ('Alcohol clearance - forecasts'), row 5 ('Beer and cider'), thousand hectolitres of alcohol. - unit: litre_of_pure_alcohol - aggregation: sum - value_scale: 100000 - expected_cell_type: number - shared_filters: - published_unit: thousand_hectolitres_of_alcohol - shared_constraints: - - variable: published_unit - operator: == - value: thousand_hectolitres_of_alcohol - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.beer_and_cider_clearances.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.beer_and_cider_clearances.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.beer_and_cider_clearances.fy2027 - sheet_name: '3.12' - period_type: fiscal_year - period: 2027 - period_coverage: - start_date: '2027-04-01' - end_date: '2028-03-31' - basis: fiscal - source_period_label: 2027-28 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: alcohol_market - domain: alcohol_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: beer_and_cider_clearances - label: Beer and cider clearances - ordinal: 0 - row_number: 5 - expected_row_header_column: B - expected_row_header: ' Beer and cider' - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.12 Alcohol clearance forecasts - label: table title - - column: B - row: 8 - expected_value: 'Note: All clearances are in thousands of hectolitres of alcohol.' - label: unit note - measures: - - measure_id: amount - label: Beer and cider clearances, FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2027-28 - concept: obr.beer_and_cider_clearances - source_concept: obr.beer_and_cider_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.12 ('Alcohol clearance - forecasts'), row 5 ('Beer and cider'), thousand hectolitres of alcohol. - unit: litre_of_pure_alcohol - aggregation: sum - value_scale: 100000 - expected_cell_type: number - shared_filters: - published_unit: thousand_hectolitres_of_alcohol - shared_constraints: - - variable: published_unit - operator: == - value: thousand_hectolitres_of_alcohol - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.beer_and_cider_clearances.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.beer_and_cider_clearances.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.beer_and_cider_clearances.fy2028 - sheet_name: '3.12' - period_type: fiscal_year - period: 2028 - period_coverage: - start_date: '2028-04-01' - end_date: '2029-03-31' - basis: fiscal - source_period_label: 2028-29 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: alcohol_market - domain: alcohol_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: beer_and_cider_clearances - label: Beer and cider clearances - ordinal: 0 - row_number: 5 - expected_row_header_column: B - expected_row_header: ' Beer and cider' - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.12 Alcohol clearance forecasts - label: table title - - column: B - row: 8 - expected_value: 'Note: All clearances are in thousands of hectolitres of alcohol.' - label: unit note - measures: - - measure_id: amount - label: Beer and cider clearances, FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2028-29 - concept: obr.beer_and_cider_clearances - source_concept: obr.beer_and_cider_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.12 ('Alcohol clearance - forecasts'), row 5 ('Beer and cider'), thousand hectolitres of alcohol. - unit: litre_of_pure_alcohol - aggregation: sum - value_scale: 100000 - expected_cell_type: number - shared_filters: - published_unit: thousand_hectolitres_of_alcohol - shared_constraints: - - variable: published_unit - operator: == - value: thousand_hectolitres_of_alcohol - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.beer_and_cider_clearances.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.beer_and_cider_clearances.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.beer_and_cider_clearances.fy2029 - sheet_name: '3.12' - period_type: fiscal_year - period: 2029 - period_coverage: - start_date: '2029-04-01' - end_date: '2030-03-31' - basis: fiscal - source_period_label: 2029-30 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: alcohol_market - domain: alcohol_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: beer_and_cider_clearances - label: Beer and cider clearances - ordinal: 0 - row_number: 5 - expected_row_header_column: B - expected_row_header: ' Beer and cider' - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.12 Alcohol clearance forecasts - label: table title - - column: B - row: 8 - expected_value: 'Note: All clearances are in thousands of hectolitres of alcohol.' - label: unit note - measures: - - measure_id: amount - label: Beer and cider clearances, FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2029-30 - concept: obr.beer_and_cider_clearances - source_concept: obr.beer_and_cider_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.12 ('Alcohol clearance - forecasts'), row 5 ('Beer and cider'), thousand hectolitres of alcohol. - unit: litre_of_pure_alcohol - aggregation: sum - value_scale: 100000 - expected_cell_type: number - shared_filters: - published_unit: thousand_hectolitres_of_alcohol - shared_constraints: - - variable: published_unit - operator: == - value: thousand_hectolitres_of_alcohol - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.beer_and_cider_clearances.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.beer_and_cider_clearances.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.beer_and_cider_clearances.fy2030 - sheet_name: '3.12' - period_type: fiscal_year - period: 2030 - period_coverage: - start_date: '2030-04-01' - end_date: '2031-03-31' - basis: fiscal - source_period_label: 2030-31 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: alcohol_market - domain: alcohol_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: beer_and_cider_clearances - label: Beer and cider clearances - ordinal: 0 - row_number: 5 - expected_row_header_column: B - expected_row_header: ' Beer and cider' - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.12 Alcohol clearance forecasts - label: table title - - column: B - row: 8 - expected_value: 'Note: All clearances are in thousands of hectolitres of alcohol.' - label: unit note - measures: - - measure_id: amount - label: Beer and cider clearances, FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2030-31 - concept: obr.beer_and_cider_clearances - source_concept: obr.beer_and_cider_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.12 ('Alcohol clearance - forecasts'), row 5 ('Beer and cider'), thousand hectolitres of alcohol. - unit: litre_of_pure_alcohol - aggregation: sum - value_scale: 100000 - expected_cell_type: number - shared_filters: - published_unit: thousand_hectolitres_of_alcohol - shared_constraints: - - variable: published_unit - operator: == - value: thousand_hectolitres_of_alcohol - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.wine_clearances.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.receipts.wine_clearances.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.wine_clearances.fy2024 - sheet_name: '3.12' - period_type: fiscal_year - period: 2024 - period_coverage: - start_date: '2024-04-01' - end_date: '2025-03-31' - basis: fiscal - source_period_label: 2024-25 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: alcohol_market - domain: alcohol_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: wine_clearances - label: Wine clearances - ordinal: 0 - row_number: 6 - expected_row_header_column: B - expected_row_header: ' Wine1' - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.12 Alcohol clearance forecasts - label: table title - - column: B - row: 8 - expected_value: 'Note: All clearances are in thousands of hectolitres of alcohol.' - label: unit note - measures: - - measure_id: amount - label: Wine clearances, FY2024-25 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2024-25 - concept: obr.wine_clearances - source_concept: obr.wine_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.12 (''Alcohol clearance - forecasts''), row 6 (''Wine1''), thousand hectolitres of alcohol. Footnote 1: includes other fermented - products such as fruit ciders.' - unit: litre_of_pure_alcohol - aggregation: sum - value_scale: 100000 - expected_cell_type: number - shared_filters: - published_unit: thousand_hectolitres_of_alcohol - shared_constraints: - - variable: published_unit - operator: == - value: thousand_hectolitres_of_alcohol - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.wine_clearances.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.wine_clearances.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.wine_clearances.fy2025 - sheet_name: '3.12' - period_type: fiscal_year - period: 2025 - period_coverage: - start_date: '2025-04-01' - end_date: '2026-03-31' - basis: fiscal - source_period_label: 2025-26 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: alcohol_market - domain: alcohol_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: wine_clearances - label: Wine clearances - ordinal: 0 - row_number: 6 - expected_row_header_column: B - expected_row_header: ' Wine1' - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.12 Alcohol clearance forecasts - label: table title - - column: B - row: 8 - expected_value: 'Note: All clearances are in thousands of hectolitres of alcohol.' - label: unit note - measures: - - measure_id: amount - label: Wine clearances, FY2025-26 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2025-26 - concept: obr.wine_clearances - source_concept: obr.wine_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.12 (''Alcohol clearance - forecasts''), row 6 (''Wine1''), thousand hectolitres of alcohol. Footnote 1: includes other fermented - products such as fruit ciders.' - unit: litre_of_pure_alcohol - aggregation: sum - value_scale: 100000 - expected_cell_type: number - shared_filters: - published_unit: thousand_hectolitres_of_alcohol - shared_constraints: - - variable: published_unit - operator: == - value: thousand_hectolitres_of_alcohol - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.wine_clearances.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.wine_clearances.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.wine_clearances.fy2026 - sheet_name: '3.12' - period_type: fiscal_year - period: 2026 - period_coverage: - start_date: '2026-04-01' - end_date: '2027-03-31' - basis: fiscal - source_period_label: 2026-27 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: alcohol_market - domain: alcohol_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: wine_clearances - label: Wine clearances - ordinal: 0 - row_number: 6 - expected_row_header_column: B - expected_row_header: ' Wine1' - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.12 Alcohol clearance forecasts - label: table title - - column: B - row: 8 - expected_value: 'Note: All clearances are in thousands of hectolitres of alcohol.' - label: unit note - measures: - - measure_id: amount - label: Wine clearances, FY2026-27 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2026-27 - concept: obr.wine_clearances - source_concept: obr.wine_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.12 (''Alcohol clearance - forecasts''), row 6 (''Wine1''), thousand hectolitres of alcohol. Footnote 1: includes other fermented - products such as fruit ciders.' - unit: litre_of_pure_alcohol - aggregation: sum - value_scale: 100000 - expected_cell_type: number - shared_filters: - published_unit: thousand_hectolitres_of_alcohol - shared_constraints: - - variable: published_unit - operator: == - value: thousand_hectolitres_of_alcohol - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.wine_clearances.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.wine_clearances.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.wine_clearances.fy2027 - sheet_name: '3.12' - period_type: fiscal_year - period: 2027 - period_coverage: - start_date: '2027-04-01' - end_date: '2028-03-31' - basis: fiscal - source_period_label: 2027-28 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: alcohol_market - domain: alcohol_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: wine_clearances - label: Wine clearances - ordinal: 0 - row_number: 6 - expected_row_header_column: B - expected_row_header: ' Wine1' - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.12 Alcohol clearance forecasts - label: table title - - column: B - row: 8 - expected_value: 'Note: All clearances are in thousands of hectolitres of alcohol.' - label: unit note - measures: - - measure_id: amount - label: Wine clearances, FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2027-28 - concept: obr.wine_clearances - source_concept: obr.wine_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.12 (''Alcohol clearance - forecasts''), row 6 (''Wine1''), thousand hectolitres of alcohol. Footnote 1: includes other fermented - products such as fruit ciders.' - unit: litre_of_pure_alcohol - aggregation: sum - value_scale: 100000 - expected_cell_type: number - shared_filters: - published_unit: thousand_hectolitres_of_alcohol - shared_constraints: - - variable: published_unit - operator: == - value: thousand_hectolitres_of_alcohol - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.wine_clearances.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.wine_clearances.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.wine_clearances.fy2028 - sheet_name: '3.12' - period_type: fiscal_year - period: 2028 - period_coverage: - start_date: '2028-04-01' - end_date: '2029-03-31' - basis: fiscal - source_period_label: 2028-29 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: alcohol_market - domain: alcohol_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: wine_clearances - label: Wine clearances - ordinal: 0 - row_number: 6 - expected_row_header_column: B - expected_row_header: ' Wine1' - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.12 Alcohol clearance forecasts - label: table title - - column: B - row: 8 - expected_value: 'Note: All clearances are in thousands of hectolitres of alcohol.' - label: unit note - measures: - - measure_id: amount - label: Wine clearances, FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2028-29 - concept: obr.wine_clearances - source_concept: obr.wine_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.12 (''Alcohol clearance - forecasts''), row 6 (''Wine1''), thousand hectolitres of alcohol. Footnote 1: includes other fermented - products such as fruit ciders.' - unit: litre_of_pure_alcohol - aggregation: sum - value_scale: 100000 - expected_cell_type: number - shared_filters: - published_unit: thousand_hectolitres_of_alcohol - shared_constraints: - - variable: published_unit - operator: == - value: thousand_hectolitres_of_alcohol - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.wine_clearances.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.wine_clearances.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.wine_clearances.fy2029 - sheet_name: '3.12' - period_type: fiscal_year - period: 2029 - period_coverage: - start_date: '2029-04-01' - end_date: '2030-03-31' - basis: fiscal - source_period_label: 2029-30 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: alcohol_market - domain: alcohol_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: wine_clearances - label: Wine clearances - ordinal: 0 - row_number: 6 - expected_row_header_column: B - expected_row_header: ' Wine1' - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.12 Alcohol clearance forecasts - label: table title - - column: B - row: 8 - expected_value: 'Note: All clearances are in thousands of hectolitres of alcohol.' - label: unit note - measures: - - measure_id: amount - label: Wine clearances, FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2029-30 - concept: obr.wine_clearances - source_concept: obr.wine_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.12 (''Alcohol clearance - forecasts''), row 6 (''Wine1''), thousand hectolitres of alcohol. Footnote 1: includes other fermented - products such as fruit ciders.' - unit: litre_of_pure_alcohol - aggregation: sum - value_scale: 100000 - expected_cell_type: number - shared_filters: - published_unit: thousand_hectolitres_of_alcohol - shared_constraints: - - variable: published_unit - operator: == - value: thousand_hectolitres_of_alcohol - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.wine_clearances.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.wine_clearances.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.wine_clearances.fy2030 - sheet_name: '3.12' - period_type: fiscal_year - period: 2030 - period_coverage: - start_date: '2030-04-01' - end_date: '2031-03-31' - basis: fiscal - source_period_label: 2030-31 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: alcohol_market - domain: alcohol_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: wine_clearances - label: Wine clearances - ordinal: 0 - row_number: 6 - expected_row_header_column: B - expected_row_header: ' Wine1' - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.12 Alcohol clearance forecasts - label: table title - - column: B - row: 8 - expected_value: 'Note: All clearances are in thousands of hectolitres of alcohol.' - label: unit note - measures: - - measure_id: amount - label: Wine clearances, FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2030-31 - concept: obr.wine_clearances - source_concept: obr.wine_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.12 (''Alcohol clearance - forecasts''), row 6 (''Wine1''), thousand hectolitres of alcohol. Footnote 1: includes other fermented - products such as fruit ciders.' - unit: litre_of_pure_alcohol - aggregation: sum - value_scale: 100000 - expected_cell_type: number - shared_filters: - published_unit: thousand_hectolitres_of_alcohol - shared_constraints: - - variable: published_unit - operator: == - value: thousand_hectolitres_of_alcohol - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.spirits_clearances.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.receipts.spirits_clearances.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.spirits_clearances.fy2024 - sheet_name: '3.12' - period_type: fiscal_year - period: 2024 - period_coverage: - start_date: '2024-04-01' - end_date: '2025-03-31' - basis: fiscal - source_period_label: 2024-25 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: alcohol_market - domain: alcohol_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: spirits_clearances - label: Spirits clearances - ordinal: 0 - row_number: 7 - expected_row_header_column: B - expected_row_header: ' Spirits2' - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.12 Alcohol clearance forecasts - label: table title - - column: B - row: 8 - expected_value: 'Note: All clearances are in thousands of hectolitres of alcohol.' - label: unit note - measures: - - measure_id: amount - label: Spirits clearances, FY2024-25 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2024-25 - concept: obr.spirits_clearances - source_concept: obr.spirits_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.12 (''Alcohol clearance - forecasts''), row 7 (''Spirits2''), thousand hectolitres of alcohol. Footnote 2: includes spirit-based - ‘ready-to-drinks’ such as alcopops.' - unit: litre_of_pure_alcohol - aggregation: sum - value_scale: 100000 - expected_cell_type: number - shared_filters: - published_unit: thousand_hectolitres_of_alcohol - shared_constraints: - - variable: published_unit - operator: == - value: thousand_hectolitres_of_alcohol - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.spirits_clearances.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.spirits_clearances.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.spirits_clearances.fy2025 - sheet_name: '3.12' - period_type: fiscal_year - period: 2025 - period_coverage: - start_date: '2025-04-01' - end_date: '2026-03-31' - basis: fiscal - source_period_label: 2025-26 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: alcohol_market - domain: alcohol_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: spirits_clearances - label: Spirits clearances - ordinal: 0 - row_number: 7 - expected_row_header_column: B - expected_row_header: ' Spirits2' - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.12 Alcohol clearance forecasts - label: table title - - column: B - row: 8 - expected_value: 'Note: All clearances are in thousands of hectolitres of alcohol.' - label: unit note - measures: - - measure_id: amount - label: Spirits clearances, FY2025-26 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2025-26 - concept: obr.spirits_clearances - source_concept: obr.spirits_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.12 (''Alcohol clearance - forecasts''), row 7 (''Spirits2''), thousand hectolitres of alcohol. Footnote 2: includes spirit-based - ‘ready-to-drinks’ such as alcopops.' - unit: litre_of_pure_alcohol - aggregation: sum - value_scale: 100000 - expected_cell_type: number - shared_filters: - published_unit: thousand_hectolitres_of_alcohol - shared_constraints: - - variable: published_unit - operator: == - value: thousand_hectolitres_of_alcohol - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.spirits_clearances.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.spirits_clearances.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.spirits_clearances.fy2026 - sheet_name: '3.12' - period_type: fiscal_year - period: 2026 - period_coverage: - start_date: '2026-04-01' - end_date: '2027-03-31' - basis: fiscal - source_period_label: 2026-27 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: alcohol_market - domain: alcohol_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: spirits_clearances - label: Spirits clearances - ordinal: 0 - row_number: 7 - expected_row_header_column: B - expected_row_header: ' Spirits2' - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.12 Alcohol clearance forecasts - label: table title - - column: B - row: 8 - expected_value: 'Note: All clearances are in thousands of hectolitres of alcohol.' - label: unit note - measures: - - measure_id: amount - label: Spirits clearances, FY2026-27 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2026-27 - concept: obr.spirits_clearances - source_concept: obr.spirits_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.12 (''Alcohol clearance - forecasts''), row 7 (''Spirits2''), thousand hectolitres of alcohol. Footnote 2: includes spirit-based - ‘ready-to-drinks’ such as alcopops.' - unit: litre_of_pure_alcohol - aggregation: sum - value_scale: 100000 - expected_cell_type: number - shared_filters: - published_unit: thousand_hectolitres_of_alcohol - shared_constraints: - - variable: published_unit - operator: == - value: thousand_hectolitres_of_alcohol - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.spirits_clearances.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.spirits_clearances.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.spirits_clearances.fy2027 - sheet_name: '3.12' - period_type: fiscal_year - period: 2027 - period_coverage: - start_date: '2027-04-01' - end_date: '2028-03-31' - basis: fiscal - source_period_label: 2027-28 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: alcohol_market - domain: alcohol_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: spirits_clearances - label: Spirits clearances - ordinal: 0 - row_number: 7 - expected_row_header_column: B - expected_row_header: ' Spirits2' - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.12 Alcohol clearance forecasts - label: table title - - column: B - row: 8 - expected_value: 'Note: All clearances are in thousands of hectolitres of alcohol.' - label: unit note - measures: - - measure_id: amount - label: Spirits clearances, FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2027-28 - concept: obr.spirits_clearances - source_concept: obr.spirits_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.12 (''Alcohol clearance - forecasts''), row 7 (''Spirits2''), thousand hectolitres of alcohol. Footnote 2: includes spirit-based - ‘ready-to-drinks’ such as alcopops.' - unit: litre_of_pure_alcohol - aggregation: sum - value_scale: 100000 - expected_cell_type: number - shared_filters: - published_unit: thousand_hectolitres_of_alcohol - shared_constraints: - - variable: published_unit - operator: == - value: thousand_hectolitres_of_alcohol - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.spirits_clearances.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.spirits_clearances.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.spirits_clearances.fy2028 - sheet_name: '3.12' - period_type: fiscal_year - period: 2028 - period_coverage: - start_date: '2028-04-01' - end_date: '2029-03-31' - basis: fiscal - source_period_label: 2028-29 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: alcohol_market - domain: alcohol_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: spirits_clearances - label: Spirits clearances - ordinal: 0 - row_number: 7 - expected_row_header_column: B - expected_row_header: ' Spirits2' - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.12 Alcohol clearance forecasts - label: table title - - column: B - row: 8 - expected_value: 'Note: All clearances are in thousands of hectolitres of alcohol.' - label: unit note - measures: - - measure_id: amount - label: Spirits clearances, FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2028-29 - concept: obr.spirits_clearances - source_concept: obr.spirits_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.12 (''Alcohol clearance - forecasts''), row 7 (''Spirits2''), thousand hectolitres of alcohol. Footnote 2: includes spirit-based - ‘ready-to-drinks’ such as alcopops.' - unit: litre_of_pure_alcohol - aggregation: sum - value_scale: 100000 - expected_cell_type: number - shared_filters: - published_unit: thousand_hectolitres_of_alcohol - shared_constraints: - - variable: published_unit - operator: == - value: thousand_hectolitres_of_alcohol - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.spirits_clearances.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.spirits_clearances.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.spirits_clearances.fy2029 - sheet_name: '3.12' - period_type: fiscal_year - period: 2029 - period_coverage: - start_date: '2029-04-01' - end_date: '2030-03-31' - basis: fiscal - source_period_label: 2029-30 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: alcohol_market - domain: alcohol_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: spirits_clearances - label: Spirits clearances - ordinal: 0 - row_number: 7 - expected_row_header_column: B - expected_row_header: ' Spirits2' - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.12 Alcohol clearance forecasts - label: table title - - column: B - row: 8 - expected_value: 'Note: All clearances are in thousands of hectolitres of alcohol.' - label: unit note - measures: - - measure_id: amount - label: Spirits clearances, FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2029-30 - concept: obr.spirits_clearances - source_concept: obr.spirits_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.12 (''Alcohol clearance - forecasts''), row 7 (''Spirits2''), thousand hectolitres of alcohol. Footnote 2: includes spirit-based - ‘ready-to-drinks’ such as alcopops.' - unit: litre_of_pure_alcohol - aggregation: sum - value_scale: 100000 - expected_cell_type: number - shared_filters: - published_unit: thousand_hectolitres_of_alcohol - shared_constraints: - - variable: published_unit - operator: == - value: thousand_hectolitres_of_alcohol - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.spirits_clearances.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.spirits_clearances.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.spirits_clearances.fy2030 - sheet_name: '3.12' - period_type: fiscal_year - period: 2030 - period_coverage: - start_date: '2030-04-01' - end_date: '2031-03-31' - basis: fiscal - source_period_label: 2030-31 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: institutional_sector - entity_role: alcohol_market - domain: alcohol_clearances - groupby_dimension: obr.efo_line - rows: - - value_id: spirits_clearances - label: Spirits clearances - ordinal: 0 - row_number: 7 - expected_row_header_column: B - expected_row_header: ' Spirits2' - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.12 Alcohol clearance forecasts - label: table title - - column: B - row: 8 - expected_value: 'Note: All clearances are in thousands of hectolitres of alcohol.' - label: unit note - measures: - - measure_id: amount - label: Spirits clearances, FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 4 - expected_column_header: 2030-31 - concept: obr.spirits_clearances - source_concept: obr.spirits_clearances - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.12 (''Alcohol clearance - forecasts''), row 7 (''Spirits2''), thousand hectolitres of alcohol. Footnote 2: includes spirit-based - ‘ready-to-drinks’ such as alcopops.' - unit: litre_of_pure_alcohol - aggregation: sum - value_scale: 100000 - expected_cell_type: number - shared_filters: - published_unit: thousand_hectolitres_of_alcohol - shared_constraints: - - variable: published_unit - operator: == - value: thousand_hectolitres_of_alcohol - label: Published unit -- record_set_id: obr.efo_2026_03.receipts.beer_and_cider_duties_accrued.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.receipts.beer_and_cider_duties_accrued.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.beer_and_cider_duties_accrued.fy2024 - sheet_name: '3.12' - period_type: fiscal_year - period: 2024 - period_coverage: - start_date: '2024-04-01' - end_date: '2025-03-31' - basis: fiscal - source_period_label: 2024-25 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: beer_and_cider_duties_accrued - label: Beer and cider duties (accrued) - ordinal: 0 - row_number: 16 - expected_row_header_column: B - expected_row_header: ' Beer and cider' - table_record_kind: total - guard_cells: - - column: B - row: 12 - expected_value: 3.12 Alcohol receipts forecasts - label: table title - - column: B - row: 19 - expected_value: 'Note: All taxes are on an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Beer and cider duties (accrued), FY2024-25 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 15 - expected_column_header: 2024-25 - concept: obr.beer_and_cider_duties - source_concept: obr.beer_and_cider_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.12 ('Alcohol receipts - forecasts'), row 16 ('Beer and cider'), GBP billion. Accrued basis (the table's note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.beer_and_cider_duties_accrued.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.beer_and_cider_duties_accrued.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.beer_and_cider_duties_accrued.fy2025 - sheet_name: '3.12' - period_type: fiscal_year - period: 2025 - period_coverage: - start_date: '2025-04-01' - end_date: '2026-03-31' - basis: fiscal - source_period_label: 2025-26 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: beer_and_cider_duties_accrued - label: Beer and cider duties (accrued) - ordinal: 0 - row_number: 16 - expected_row_header_column: B - expected_row_header: ' Beer and cider' - table_record_kind: total - guard_cells: - - column: B - row: 12 - expected_value: 3.12 Alcohol receipts forecasts - label: table title - - column: B - row: 19 - expected_value: 'Note: All taxes are on an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Beer and cider duties (accrued), FY2025-26 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 15 - expected_column_header: 2025-26 - concept: obr.beer_and_cider_duties - source_concept: obr.beer_and_cider_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.12 ('Alcohol receipts - forecasts'), row 16 ('Beer and cider'), GBP billion. Accrued basis (the table's note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.beer_and_cider_duties_accrued.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.beer_and_cider_duties_accrued.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.beer_and_cider_duties_accrued.fy2026 - sheet_name: '3.12' - period_type: fiscal_year - period: 2026 - period_coverage: - start_date: '2026-04-01' - end_date: '2027-03-31' - basis: fiscal - source_period_label: 2026-27 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: beer_and_cider_duties_accrued - label: Beer and cider duties (accrued) - ordinal: 0 - row_number: 16 - expected_row_header_column: B - expected_row_header: ' Beer and cider' - table_record_kind: total - guard_cells: - - column: B - row: 12 - expected_value: 3.12 Alcohol receipts forecasts - label: table title - - column: B - row: 19 - expected_value: 'Note: All taxes are on an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Beer and cider duties (accrued), FY2026-27 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 15 - expected_column_header: 2026-27 - concept: obr.beer_and_cider_duties - source_concept: obr.beer_and_cider_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.12 ('Alcohol receipts - forecasts'), row 16 ('Beer and cider'), GBP billion. Accrued basis (the table's note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.beer_and_cider_duties_accrued.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.beer_and_cider_duties_accrued.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.beer_and_cider_duties_accrued.fy2027 - sheet_name: '3.12' - period_type: fiscal_year - period: 2027 - period_coverage: - start_date: '2027-04-01' - end_date: '2028-03-31' - basis: fiscal - source_period_label: 2027-28 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: beer_and_cider_duties_accrued - label: Beer and cider duties (accrued) - ordinal: 0 - row_number: 16 - expected_row_header_column: B - expected_row_header: ' Beer and cider' - table_record_kind: total - guard_cells: - - column: B - row: 12 - expected_value: 3.12 Alcohol receipts forecasts - label: table title - - column: B - row: 19 - expected_value: 'Note: All taxes are on an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Beer and cider duties (accrued), FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 15 - expected_column_header: 2027-28 - concept: obr.beer_and_cider_duties - source_concept: obr.beer_and_cider_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.12 ('Alcohol receipts - forecasts'), row 16 ('Beer and cider'), GBP billion. Accrued basis (the table's note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.beer_and_cider_duties_accrued.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.beer_and_cider_duties_accrued.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.beer_and_cider_duties_accrued.fy2028 - sheet_name: '3.12' - period_type: fiscal_year - period: 2028 - period_coverage: - start_date: '2028-04-01' - end_date: '2029-03-31' - basis: fiscal - source_period_label: 2028-29 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: beer_and_cider_duties_accrued - label: Beer and cider duties (accrued) - ordinal: 0 - row_number: 16 - expected_row_header_column: B - expected_row_header: ' Beer and cider' - table_record_kind: total - guard_cells: - - column: B - row: 12 - expected_value: 3.12 Alcohol receipts forecasts - label: table title - - column: B - row: 19 - expected_value: 'Note: All taxes are on an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Beer and cider duties (accrued), FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 15 - expected_column_header: 2028-29 - concept: obr.beer_and_cider_duties - source_concept: obr.beer_and_cider_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.12 ('Alcohol receipts - forecasts'), row 16 ('Beer and cider'), GBP billion. Accrued basis (the table's note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.beer_and_cider_duties_accrued.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.beer_and_cider_duties_accrued.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.beer_and_cider_duties_accrued.fy2029 - sheet_name: '3.12' - period_type: fiscal_year - period: 2029 - period_coverage: - start_date: '2029-04-01' - end_date: '2030-03-31' - basis: fiscal - source_period_label: 2029-30 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: beer_and_cider_duties_accrued - label: Beer and cider duties (accrued) - ordinal: 0 - row_number: 16 - expected_row_header_column: B - expected_row_header: ' Beer and cider' - table_record_kind: total - guard_cells: - - column: B - row: 12 - expected_value: 3.12 Alcohol receipts forecasts - label: table title - - column: B - row: 19 - expected_value: 'Note: All taxes are on an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Beer and cider duties (accrued), FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 15 - expected_column_header: 2029-30 - concept: obr.beer_and_cider_duties - source_concept: obr.beer_and_cider_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.12 ('Alcohol receipts - forecasts'), row 16 ('Beer and cider'), GBP billion. Accrued basis (the table's note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.beer_and_cider_duties_accrued.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.beer_and_cider_duties_accrued.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.beer_and_cider_duties_accrued.fy2030 - sheet_name: '3.12' - period_type: fiscal_year - period: 2030 - period_coverage: - start_date: '2030-04-01' - end_date: '2031-03-31' - basis: fiscal - source_period_label: 2030-31 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: beer_and_cider_duties_accrued - label: Beer and cider duties (accrued) - ordinal: 0 - row_number: 16 - expected_row_header_column: B - expected_row_header: ' Beer and cider' - table_record_kind: total - guard_cells: - - column: B - row: 12 - expected_value: 3.12 Alcohol receipts forecasts - label: table title - - column: B - row: 19 - expected_value: 'Note: All taxes are on an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Beer and cider duties (accrued), FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 15 - expected_column_header: 2030-31 - concept: obr.beer_and_cider_duties - source_concept: obr.beer_and_cider_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.12 ('Alcohol receipts - forecasts'), row 16 ('Beer and cider'), GBP billion. Accrued basis (the table's note). - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.wine_duties_accrued.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.receipts.wine_duties_accrued.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.wine_duties_accrued.fy2024 - sheet_name: '3.12' - period_type: fiscal_year - period: 2024 - period_coverage: - start_date: '2024-04-01' - end_date: '2025-03-31' - basis: fiscal - source_period_label: 2024-25 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: wine_duties_accrued - label: Wine duties (accrued) - ordinal: 0 - row_number: 17 - expected_row_header_column: B - expected_row_header: ' Wine1' - table_record_kind: total - guard_cells: - - column: B - row: 12 - expected_value: 3.12 Alcohol receipts forecasts - label: table title - - column: B - row: 19 - expected_value: 'Note: All taxes are on an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Wine duties (accrued), FY2024-25 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 15 - expected_column_header: 2024-25 - concept: obr.wine_duties - source_concept: obr.wine_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.12 (''Alcohol receipts - forecasts''), row 17 (''Wine1''), GBP billion. Accrued basis (the table''s note). Footnote 1: includes - other fermented products such as fruit ciders.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.wine_duties_accrued.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.wine_duties_accrued.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.wine_duties_accrued.fy2025 - sheet_name: '3.12' - period_type: fiscal_year - period: 2025 - period_coverage: - start_date: '2025-04-01' - end_date: '2026-03-31' - basis: fiscal - source_period_label: 2025-26 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: wine_duties_accrued - label: Wine duties (accrued) - ordinal: 0 - row_number: 17 - expected_row_header_column: B - expected_row_header: ' Wine1' - table_record_kind: total - guard_cells: - - column: B - row: 12 - expected_value: 3.12 Alcohol receipts forecasts - label: table title - - column: B - row: 19 - expected_value: 'Note: All taxes are on an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Wine duties (accrued), FY2025-26 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 15 - expected_column_header: 2025-26 - concept: obr.wine_duties - source_concept: obr.wine_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.12 (''Alcohol receipts - forecasts''), row 17 (''Wine1''), GBP billion. Accrued basis (the table''s note). Footnote 1: includes - other fermented products such as fruit ciders.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.wine_duties_accrued.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.wine_duties_accrued.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.wine_duties_accrued.fy2026 - sheet_name: '3.12' - period_type: fiscal_year - period: 2026 - period_coverage: - start_date: '2026-04-01' - end_date: '2027-03-31' - basis: fiscal - source_period_label: 2026-27 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: wine_duties_accrued - label: Wine duties (accrued) - ordinal: 0 - row_number: 17 - expected_row_header_column: B - expected_row_header: ' Wine1' - table_record_kind: total - guard_cells: - - column: B - row: 12 - expected_value: 3.12 Alcohol receipts forecasts - label: table title - - column: B - row: 19 - expected_value: 'Note: All taxes are on an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Wine duties (accrued), FY2026-27 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 15 - expected_column_header: 2026-27 - concept: obr.wine_duties - source_concept: obr.wine_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.12 (''Alcohol receipts - forecasts''), row 17 (''Wine1''), GBP billion. Accrued basis (the table''s note). Footnote 1: includes - other fermented products such as fruit ciders.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.wine_duties_accrued.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.wine_duties_accrued.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.wine_duties_accrued.fy2027 - sheet_name: '3.12' - period_type: fiscal_year - period: 2027 - period_coverage: - start_date: '2027-04-01' - end_date: '2028-03-31' - basis: fiscal - source_period_label: 2027-28 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: wine_duties_accrued - label: Wine duties (accrued) - ordinal: 0 - row_number: 17 - expected_row_header_column: B - expected_row_header: ' Wine1' - table_record_kind: total - guard_cells: - - column: B - row: 12 - expected_value: 3.12 Alcohol receipts forecasts - label: table title - - column: B - row: 19 - expected_value: 'Note: All taxes are on an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Wine duties (accrued), FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 15 - expected_column_header: 2027-28 - concept: obr.wine_duties - source_concept: obr.wine_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.12 (''Alcohol receipts - forecasts''), row 17 (''Wine1''), GBP billion. Accrued basis (the table''s note). Footnote 1: includes - other fermented products such as fruit ciders.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.wine_duties_accrued.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.wine_duties_accrued.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.wine_duties_accrued.fy2028 - sheet_name: '3.12' - period_type: fiscal_year - period: 2028 - period_coverage: - start_date: '2028-04-01' - end_date: '2029-03-31' - basis: fiscal - source_period_label: 2028-29 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: wine_duties_accrued - label: Wine duties (accrued) - ordinal: 0 - row_number: 17 - expected_row_header_column: B - expected_row_header: ' Wine1' - table_record_kind: total - guard_cells: - - column: B - row: 12 - expected_value: 3.12 Alcohol receipts forecasts - label: table title - - column: B - row: 19 - expected_value: 'Note: All taxes are on an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Wine duties (accrued), FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 15 - expected_column_header: 2028-29 - concept: obr.wine_duties - source_concept: obr.wine_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.12 (''Alcohol receipts - forecasts''), row 17 (''Wine1''), GBP billion. Accrued basis (the table''s note). Footnote 1: includes - other fermented products such as fruit ciders.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.wine_duties_accrued.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.wine_duties_accrued.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.wine_duties_accrued.fy2029 - sheet_name: '3.12' - period_type: fiscal_year - period: 2029 - period_coverage: - start_date: '2029-04-01' - end_date: '2030-03-31' - basis: fiscal - source_period_label: 2029-30 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: wine_duties_accrued - label: Wine duties (accrued) - ordinal: 0 - row_number: 17 - expected_row_header_column: B - expected_row_header: ' Wine1' - table_record_kind: total - guard_cells: - - column: B - row: 12 - expected_value: 3.12 Alcohol receipts forecasts - label: table title - - column: B - row: 19 - expected_value: 'Note: All taxes are on an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Wine duties (accrued), FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 15 - expected_column_header: 2029-30 - concept: obr.wine_duties - source_concept: obr.wine_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.12 (''Alcohol receipts - forecasts''), row 17 (''Wine1''), GBP billion. Accrued basis (the table''s note). Footnote 1: includes - other fermented products such as fruit ciders.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.wine_duties_accrued.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.wine_duties_accrued.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.wine_duties_accrued.fy2030 - sheet_name: '3.12' - period_type: fiscal_year - period: 2030 - period_coverage: - start_date: '2030-04-01' - end_date: '2031-03-31' - basis: fiscal - source_period_label: 2030-31 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: wine_duties_accrued - label: Wine duties (accrued) - ordinal: 0 - row_number: 17 - expected_row_header_column: B - expected_row_header: ' Wine1' - table_record_kind: total - guard_cells: - - column: B - row: 12 - expected_value: 3.12 Alcohol receipts forecasts - label: table title - - column: B - row: 19 - expected_value: 'Note: All taxes are on an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Wine duties (accrued), FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 15 - expected_column_header: 2030-31 - concept: obr.wine_duties - source_concept: obr.wine_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.12 (''Alcohol receipts - forecasts''), row 17 (''Wine1''), GBP billion. Accrued basis (the table''s note). Footnote 1: includes - other fermented products such as fruit ciders.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.spirits_duties_accrued.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.receipts.spirits_duties_accrued.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.spirits_duties_accrued.fy2024 - sheet_name: '3.12' - period_type: fiscal_year - period: 2024 - period_coverage: - start_date: '2024-04-01' - end_date: '2025-03-31' - basis: fiscal - source_period_label: 2024-25 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: spirits_duties_accrued - label: Spirits duties (accrued) - ordinal: 0 - row_number: 18 - expected_row_header_column: B - expected_row_header: ' Spirits2' - table_record_kind: total - guard_cells: - - column: B - row: 12 - expected_value: 3.12 Alcohol receipts forecasts - label: table title - - column: B - row: 19 - expected_value: 'Note: All taxes are on an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Spirits duties (accrued), FY2024-25 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 15 - expected_column_header: 2024-25 - concept: obr.spirits_duties - source_concept: obr.spirits_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.12 (''Alcohol receipts - forecasts''), row 18 (''Spirits2''), GBP billion. Accrued basis (the table''s note). Footnote 2: - includes spirit-based ‘ready-to-drinks’ such as alcopops.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.spirits_duties_accrued.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.spirits_duties_accrued.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.spirits_duties_accrued.fy2025 - sheet_name: '3.12' - period_type: fiscal_year - period: 2025 - period_coverage: - start_date: '2025-04-01' - end_date: '2026-03-31' - basis: fiscal - source_period_label: 2025-26 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: spirits_duties_accrued - label: Spirits duties (accrued) - ordinal: 0 - row_number: 18 - expected_row_header_column: B - expected_row_header: ' Spirits2' - table_record_kind: total - guard_cells: - - column: B - row: 12 - expected_value: 3.12 Alcohol receipts forecasts - label: table title - - column: B - row: 19 - expected_value: 'Note: All taxes are on an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Spirits duties (accrued), FY2025-26 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 15 - expected_column_header: 2025-26 - concept: obr.spirits_duties - source_concept: obr.spirits_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.12 (''Alcohol receipts - forecasts''), row 18 (''Spirits2''), GBP billion. Accrued basis (the table''s note). Footnote 2: - includes spirit-based ‘ready-to-drinks’ such as alcopops.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.spirits_duties_accrued.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.spirits_duties_accrued.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.spirits_duties_accrued.fy2026 - sheet_name: '3.12' - period_type: fiscal_year - period: 2026 - period_coverage: - start_date: '2026-04-01' - end_date: '2027-03-31' - basis: fiscal - source_period_label: 2026-27 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: spirits_duties_accrued - label: Spirits duties (accrued) - ordinal: 0 - row_number: 18 - expected_row_header_column: B - expected_row_header: ' Spirits2' - table_record_kind: total - guard_cells: - - column: B - row: 12 - expected_value: 3.12 Alcohol receipts forecasts - label: table title - - column: B - row: 19 - expected_value: 'Note: All taxes are on an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Spirits duties (accrued), FY2026-27 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 15 - expected_column_header: 2026-27 - concept: obr.spirits_duties - source_concept: obr.spirits_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.12 (''Alcohol receipts - forecasts''), row 18 (''Spirits2''), GBP billion. Accrued basis (the table''s note). Footnote 2: - includes spirit-based ‘ready-to-drinks’ such as alcopops.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.spirits_duties_accrued.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.spirits_duties_accrued.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.spirits_duties_accrued.fy2027 - sheet_name: '3.12' - period_type: fiscal_year - period: 2027 - period_coverage: - start_date: '2027-04-01' - end_date: '2028-03-31' - basis: fiscal - source_period_label: 2027-28 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: spirits_duties_accrued - label: Spirits duties (accrued) - ordinal: 0 - row_number: 18 - expected_row_header_column: B - expected_row_header: ' Spirits2' - table_record_kind: total - guard_cells: - - column: B - row: 12 - expected_value: 3.12 Alcohol receipts forecasts - label: table title - - column: B - row: 19 - expected_value: 'Note: All taxes are on an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Spirits duties (accrued), FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 15 - expected_column_header: 2027-28 - concept: obr.spirits_duties - source_concept: obr.spirits_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.12 (''Alcohol receipts - forecasts''), row 18 (''Spirits2''), GBP billion. Accrued basis (the table''s note). Footnote 2: - includes spirit-based ‘ready-to-drinks’ such as alcopops.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.spirits_duties_accrued.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.spirits_duties_accrued.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.spirits_duties_accrued.fy2028 - sheet_name: '3.12' - period_type: fiscal_year - period: 2028 - period_coverage: - start_date: '2028-04-01' - end_date: '2029-03-31' - basis: fiscal - source_period_label: 2028-29 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: spirits_duties_accrued - label: Spirits duties (accrued) - ordinal: 0 - row_number: 18 - expected_row_header_column: B - expected_row_header: ' Spirits2' - table_record_kind: total - guard_cells: - - column: B - row: 12 - expected_value: 3.12 Alcohol receipts forecasts - label: table title - - column: B - row: 19 - expected_value: 'Note: All taxes are on an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Spirits duties (accrued), FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 15 - expected_column_header: 2028-29 - concept: obr.spirits_duties - source_concept: obr.spirits_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.12 (''Alcohol receipts - forecasts''), row 18 (''Spirits2''), GBP billion. Accrued basis (the table''s note). Footnote 2: - includes spirit-based ‘ready-to-drinks’ such as alcopops.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.spirits_duties_accrued.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.spirits_duties_accrued.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.spirits_duties_accrued.fy2029 - sheet_name: '3.12' - period_type: fiscal_year - period: 2029 - period_coverage: - start_date: '2029-04-01' - end_date: '2030-03-31' - basis: fiscal - source_period_label: 2029-30 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: spirits_duties_accrued - label: Spirits duties (accrued) - ordinal: 0 - row_number: 18 - expected_row_header_column: B - expected_row_header: ' Spirits2' - table_record_kind: total - guard_cells: - - column: B - row: 12 - expected_value: 3.12 Alcohol receipts forecasts - label: table title - - column: B - row: 19 - expected_value: 'Note: All taxes are on an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Spirits duties (accrued), FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 15 - expected_column_header: 2029-30 - concept: obr.spirits_duties - source_concept: obr.spirits_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.12 (''Alcohol receipts - forecasts''), row 18 (''Spirits2''), GBP billion. Accrued basis (the table''s note). Footnote 2: - includes spirit-based ‘ready-to-drinks’ such as alcopops.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.spirits_duties_accrued.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.spirits_duties_accrued.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.spirits_duties_accrued.fy2030 - sheet_name: '3.12' - period_type: fiscal_year - period: 2030 - period_coverage: - start_date: '2030-04-01' - end_date: '2031-03-31' - basis: fiscal - source_period_label: 2030-31 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: spirits_duties_accrued - label: Spirits duties (accrued) - ordinal: 0 - row_number: 18 - expected_row_header_column: B - expected_row_header: ' Spirits2' - table_record_kind: total - guard_cells: - - column: B - row: 12 - expected_value: 3.12 Alcohol receipts forecasts - label: table title - - column: B - row: 19 - expected_value: 'Note: All taxes are on an accrued basis.' - label: basis note - measures: - - measure_id: amount - label: Spirits duties (accrued), FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 15 - expected_column_header: 2030-31 - concept: obr.spirits_duties - source_concept: obr.spirits_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.12 (''Alcohol receipts - forecasts''), row 18 (''Spirits2''), GBP billion. Accrued basis (the table''s note). Footnote 2: - includes spirit-based ‘ready-to-drinks’ such as alcopops.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.camelot_payments_to_national_lottery_distribution_fund.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.receipts.camelot_payments_to_national_lottery_distribution_fund.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.camelot_payments_to_national_lottery_distribution_fund.fy2024 - sheet_name: '3.2' - period_type: fiscal_year - period: 2024 - period_coverage: - start_date: '2024-04-01' - end_date: '2025-03-31' - basis: fiscal - source_period_label: 2024-25 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: camelot_payments_to_national_lottery_distribution_fund - label: Camelot payments to National Lottery Distribution Fund - ordinal: 0 - row_number: 10 - expected_row_header_column: B - expected_row_header: Camelot payments to National Lottery Distribution Fund - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.2 Other taxes - label: sheet title - measures: - - measure_id: amount - label: Camelot payments to National Lottery Distribution Fund, FY2024-25 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.camelot_payments_to_national_lottery_distribution_fund - source_concept: obr.camelot_payments_to_national_lottery_distribution_fund - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.2 ('Other taxes'), row - 10 ('Camelot payments to National Lottery Distribution Fund'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.camelot_payments_to_national_lottery_distribution_fund.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.camelot_payments_to_national_lottery_distribution_fund.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.camelot_payments_to_national_lottery_distribution_fund.fy2025 - sheet_name: '3.2' - period_type: fiscal_year - period: 2025 - period_coverage: - start_date: '2025-04-01' - end_date: '2026-03-31' - basis: fiscal - source_period_label: 2025-26 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: camelot_payments_to_national_lottery_distribution_fund - label: Camelot payments to National Lottery Distribution Fund - ordinal: 0 - row_number: 10 - expected_row_header_column: B - expected_row_header: Camelot payments to National Lottery Distribution Fund - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.2 Other taxes - label: sheet title - measures: - - measure_id: amount - label: Camelot payments to National Lottery Distribution Fund, FY2025-26 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.camelot_payments_to_national_lottery_distribution_fund - source_concept: obr.camelot_payments_to_national_lottery_distribution_fund - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.2 ('Other taxes'), row - 10 ('Camelot payments to National Lottery Distribution Fund'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.camelot_payments_to_national_lottery_distribution_fund.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.camelot_payments_to_national_lottery_distribution_fund.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.camelot_payments_to_national_lottery_distribution_fund.fy2026 - sheet_name: '3.2' - period_type: fiscal_year - period: 2026 - period_coverage: - start_date: '2026-04-01' - end_date: '2027-03-31' - basis: fiscal - source_period_label: 2026-27 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: camelot_payments_to_national_lottery_distribution_fund - label: Camelot payments to National Lottery Distribution Fund - ordinal: 0 - row_number: 10 - expected_row_header_column: B - expected_row_header: Camelot payments to National Lottery Distribution Fund - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.2 Other taxes - label: sheet title - measures: - - measure_id: amount - label: Camelot payments to National Lottery Distribution Fund, FY2026-27 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.camelot_payments_to_national_lottery_distribution_fund - source_concept: obr.camelot_payments_to_national_lottery_distribution_fund - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.2 ('Other taxes'), row - 10 ('Camelot payments to National Lottery Distribution Fund'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.camelot_payments_to_national_lottery_distribution_fund.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.camelot_payments_to_national_lottery_distribution_fund.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.camelot_payments_to_national_lottery_distribution_fund.fy2027 - sheet_name: '3.2' - period_type: fiscal_year - period: 2027 - period_coverage: - start_date: '2027-04-01' - end_date: '2028-03-31' - basis: fiscal - source_period_label: 2027-28 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: camelot_payments_to_national_lottery_distribution_fund - label: Camelot payments to National Lottery Distribution Fund - ordinal: 0 - row_number: 10 - expected_row_header_column: B - expected_row_header: Camelot payments to National Lottery Distribution Fund - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.2 Other taxes - label: sheet title - measures: - - measure_id: amount - label: Camelot payments to National Lottery Distribution Fund, FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.camelot_payments_to_national_lottery_distribution_fund - source_concept: obr.camelot_payments_to_national_lottery_distribution_fund - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.2 ('Other taxes'), row - 10 ('Camelot payments to National Lottery Distribution Fund'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.camelot_payments_to_national_lottery_distribution_fund.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.camelot_payments_to_national_lottery_distribution_fund.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.camelot_payments_to_national_lottery_distribution_fund.fy2028 - sheet_name: '3.2' - period_type: fiscal_year - period: 2028 - period_coverage: - start_date: '2028-04-01' - end_date: '2029-03-31' - basis: fiscal - source_period_label: 2028-29 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: camelot_payments_to_national_lottery_distribution_fund - label: Camelot payments to National Lottery Distribution Fund - ordinal: 0 - row_number: 10 - expected_row_header_column: B - expected_row_header: Camelot payments to National Lottery Distribution Fund - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.2 Other taxes - label: sheet title - measures: - - measure_id: amount - label: Camelot payments to National Lottery Distribution Fund, FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.camelot_payments_to_national_lottery_distribution_fund - source_concept: obr.camelot_payments_to_national_lottery_distribution_fund - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.2 ('Other taxes'), row - 10 ('Camelot payments to National Lottery Distribution Fund'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.camelot_payments_to_national_lottery_distribution_fund.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.camelot_payments_to_national_lottery_distribution_fund.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.camelot_payments_to_national_lottery_distribution_fund.fy2029 - sheet_name: '3.2' - period_type: fiscal_year - period: 2029 - period_coverage: - start_date: '2029-04-01' - end_date: '2030-03-31' - basis: fiscal - source_period_label: 2029-30 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: camelot_payments_to_national_lottery_distribution_fund - label: Camelot payments to National Lottery Distribution Fund - ordinal: 0 - row_number: 10 - expected_row_header_column: B - expected_row_header: Camelot payments to National Lottery Distribution Fund - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.2 Other taxes - label: sheet title - measures: - - measure_id: amount - label: Camelot payments to National Lottery Distribution Fund, FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.camelot_payments_to_national_lottery_distribution_fund - source_concept: obr.camelot_payments_to_national_lottery_distribution_fund - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.2 ('Other taxes'), row - 10 ('Camelot payments to National Lottery Distribution Fund'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.camelot_payments_to_national_lottery_distribution_fund.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.camelot_payments_to_national_lottery_distribution_fund.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.camelot_payments_to_national_lottery_distribution_fund.fy2030 - sheet_name: '3.2' - period_type: fiscal_year - period: 2030 - period_coverage: - start_date: '2030-04-01' - end_date: '2031-03-31' - basis: fiscal - source_period_label: 2030-31 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: camelot_payments_to_national_lottery_distribution_fund - label: Camelot payments to National Lottery Distribution Fund - ordinal: 0 - row_number: 10 - expected_row_header_column: B - expected_row_header: Camelot payments to National Lottery Distribution Fund - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.2 Other taxes - label: sheet title - measures: - - measure_id: amount - label: Camelot payments to National Lottery Distribution Fund, FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.camelot_payments_to_national_lottery_distribution_fund - source_concept: obr.camelot_payments_to_national_lottery_distribution_fund - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.2 ('Other taxes'), row - 10 ('Camelot payments to National Lottery Distribution Fund'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.horserace_betting_levy.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.receipts.horserace_betting_levy.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.horserace_betting_levy.fy2024 - sheet_name: '3.2' - period_type: fiscal_year - period: 2024 - period_coverage: - start_date: '2024-04-01' - end_date: '2025-03-31' - basis: fiscal - source_period_label: 2024-25 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: horserace_betting_levy - label: Horserace betting levy - ordinal: 0 - row_number: 11 - expected_row_header_column: B - expected_row_header: Horserace betting levy - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.2 Other taxes - label: sheet title - measures: - - measure_id: amount - label: Horserace betting levy, FY2024-25 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.horserace_betting_levy - source_concept: obr.horserace_betting_levy - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.2 ('Other taxes'), row - 11 ('Horserace betting levy'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.horserace_betting_levy.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.horserace_betting_levy.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.horserace_betting_levy.fy2025 - sheet_name: '3.2' - period_type: fiscal_year - period: 2025 - period_coverage: - start_date: '2025-04-01' - end_date: '2026-03-31' - basis: fiscal - source_period_label: 2025-26 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: horserace_betting_levy - label: Horserace betting levy - ordinal: 0 - row_number: 11 - expected_row_header_column: B - expected_row_header: Horserace betting levy - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.2 Other taxes - label: sheet title - measures: - - measure_id: amount - label: Horserace betting levy, FY2025-26 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.horserace_betting_levy - source_concept: obr.horserace_betting_levy - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.2 ('Other taxes'), row - 11 ('Horserace betting levy'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.horserace_betting_levy.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.horserace_betting_levy.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.horserace_betting_levy.fy2026 - sheet_name: '3.2' - period_type: fiscal_year - period: 2026 - period_coverage: - start_date: '2026-04-01' - end_date: '2027-03-31' - basis: fiscal - source_period_label: 2026-27 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: horserace_betting_levy - label: Horserace betting levy - ordinal: 0 - row_number: 11 - expected_row_header_column: B - expected_row_header: Horserace betting levy - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.2 Other taxes - label: sheet title - measures: - - measure_id: amount - label: Horserace betting levy, FY2026-27 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.horserace_betting_levy - source_concept: obr.horserace_betting_levy - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.2 ('Other taxes'), row - 11 ('Horserace betting levy'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.horserace_betting_levy.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.horserace_betting_levy.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.horserace_betting_levy.fy2027 - sheet_name: '3.2' - period_type: fiscal_year - period: 2027 - period_coverage: - start_date: '2027-04-01' - end_date: '2028-03-31' - basis: fiscal - source_period_label: 2027-28 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: horserace_betting_levy - label: Horserace betting levy - ordinal: 0 - row_number: 11 - expected_row_header_column: B - expected_row_header: Horserace betting levy - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.2 Other taxes - label: sheet title - measures: - - measure_id: amount - label: Horserace betting levy, FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.horserace_betting_levy - source_concept: obr.horserace_betting_levy - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.2 ('Other taxes'), row - 11 ('Horserace betting levy'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.horserace_betting_levy.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.horserace_betting_levy.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.horserace_betting_levy.fy2028 - sheet_name: '3.2' - period_type: fiscal_year - period: 2028 - period_coverage: - start_date: '2028-04-01' - end_date: '2029-03-31' - basis: fiscal - source_period_label: 2028-29 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: horserace_betting_levy - label: Horserace betting levy - ordinal: 0 - row_number: 11 - expected_row_header_column: B - expected_row_header: Horserace betting levy - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.2 Other taxes - label: sheet title - measures: - - measure_id: amount - label: Horserace betting levy, FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.horserace_betting_levy - source_concept: obr.horserace_betting_levy - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.2 ('Other taxes'), row - 11 ('Horserace betting levy'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.horserace_betting_levy.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.horserace_betting_levy.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.horserace_betting_levy.fy2029 - sheet_name: '3.2' - period_type: fiscal_year - period: 2029 - period_coverage: - start_date: '2029-04-01' - end_date: '2030-03-31' - basis: fiscal - source_period_label: 2029-30 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: horserace_betting_levy - label: Horserace betting levy - ordinal: 0 - row_number: 11 - expected_row_header_column: B - expected_row_header: Horserace betting levy - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.2 Other taxes - label: sheet title - measures: - - measure_id: amount - label: Horserace betting levy, FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.horserace_betting_levy - source_concept: obr.horserace_betting_levy - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.2 ('Other taxes'), row - 11 ('Horserace betting levy'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.horserace_betting_levy.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.horserace_betting_levy.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.horserace_betting_levy.fy2030 - sheet_name: '3.2' - period_type: fiscal_year - period: 2030 - period_coverage: - start_date: '2030-04-01' - end_date: '2031-03-31' - basis: fiscal - source_period_label: 2030-31 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: horserace_betting_levy - label: Horserace betting levy - ordinal: 0 - row_number: 11 - expected_row_header_column: B - expected_row_header: Horserace betting levy - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.2 Other taxes - label: sheet title - measures: - - measure_id: amount - label: Horserace betting levy, FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.horserace_betting_levy - source_concept: obr.horserace_betting_levy - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.2 ('Other taxes'), row - 11 ('Horserace betting levy'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.statutory_gaming_levy.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.receipts.statutory_gaming_levy.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.statutory_gaming_levy.fy2024 - sheet_name: '3.2' - period_type: fiscal_year - period: 2024 - period_coverage: - start_date: '2024-04-01' - end_date: '2025-03-31' - basis: fiscal - source_period_label: 2024-25 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: statutory_gaming_levy - label: Statutory gaming levy - ordinal: 0 - row_number: 28 - expected_row_header_column: B - expected_row_header: Statutory gaming levy - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.2 Other taxes - label: sheet title - measures: - - measure_id: amount - label: Statutory gaming levy, FY2024-25 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.statutory_gaming_levy - source_concept: obr.statutory_gaming_levy - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.2 ('Other taxes'), row - 28 ('Statutory gaming levy'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.statutory_gaming_levy.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.statutory_gaming_levy.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.statutory_gaming_levy.fy2025 - sheet_name: '3.2' - period_type: fiscal_year - period: 2025 - period_coverage: - start_date: '2025-04-01' - end_date: '2026-03-31' - basis: fiscal - source_period_label: 2025-26 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: statutory_gaming_levy - label: Statutory gaming levy - ordinal: 0 - row_number: 28 - expected_row_header_column: B - expected_row_header: Statutory gaming levy - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.2 Other taxes - label: sheet title - measures: - - measure_id: amount - label: Statutory gaming levy, FY2025-26 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.statutory_gaming_levy - source_concept: obr.statutory_gaming_levy - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.2 ('Other taxes'), row - 28 ('Statutory gaming levy'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.statutory_gaming_levy.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.statutory_gaming_levy.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.statutory_gaming_levy.fy2026 - sheet_name: '3.2' - period_type: fiscal_year - period: 2026 - period_coverage: - start_date: '2026-04-01' - end_date: '2027-03-31' - basis: fiscal - source_period_label: 2026-27 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: statutory_gaming_levy - label: Statutory gaming levy - ordinal: 0 - row_number: 28 - expected_row_header_column: B - expected_row_header: Statutory gaming levy - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.2 Other taxes - label: sheet title - measures: - - measure_id: amount - label: Statutory gaming levy, FY2026-27 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.statutory_gaming_levy - source_concept: obr.statutory_gaming_levy - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.2 ('Other taxes'), row - 28 ('Statutory gaming levy'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.statutory_gaming_levy.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.statutory_gaming_levy.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.statutory_gaming_levy.fy2027 - sheet_name: '3.2' - period_type: fiscal_year - period: 2027 - period_coverage: - start_date: '2027-04-01' - end_date: '2028-03-31' - basis: fiscal - source_period_label: 2027-28 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: statutory_gaming_levy - label: Statutory gaming levy - ordinal: 0 - row_number: 28 - expected_row_header_column: B - expected_row_header: Statutory gaming levy - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.2 Other taxes - label: sheet title - measures: - - measure_id: amount - label: Statutory gaming levy, FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.statutory_gaming_levy - source_concept: obr.statutory_gaming_levy - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.2 ('Other taxes'), row - 28 ('Statutory gaming levy'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.statutory_gaming_levy.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.statutory_gaming_levy.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.statutory_gaming_levy.fy2028 - sheet_name: '3.2' - period_type: fiscal_year - period: 2028 - period_coverage: - start_date: '2028-04-01' - end_date: '2029-03-31' - basis: fiscal - source_period_label: 2028-29 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: statutory_gaming_levy - label: Statutory gaming levy - ordinal: 0 - row_number: 28 - expected_row_header_column: B - expected_row_header: Statutory gaming levy - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.2 Other taxes - label: sheet title - measures: - - measure_id: amount - label: Statutory gaming levy, FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.statutory_gaming_levy - source_concept: obr.statutory_gaming_levy - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.2 ('Other taxes'), row - 28 ('Statutory gaming levy'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.statutory_gaming_levy.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.statutory_gaming_levy.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.statutory_gaming_levy.fy2029 - sheet_name: '3.2' - period_type: fiscal_year - period: 2029 - period_coverage: - start_date: '2029-04-01' - end_date: '2030-03-31' - basis: fiscal - source_period_label: 2029-30 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: statutory_gaming_levy - label: Statutory gaming levy - ordinal: 0 - row_number: 28 - expected_row_header_column: B - expected_row_header: Statutory gaming levy - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.2 Other taxes - label: sheet title - measures: - - measure_id: amount - label: Statutory gaming levy, FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.statutory_gaming_levy - source_concept: obr.statutory_gaming_levy - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.2 ('Other taxes'), row - 28 ('Statutory gaming levy'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.statutory_gaming_levy.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.statutory_gaming_levy.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.statutory_gaming_levy.fy2030 - sheet_name: '3.2' - period_type: fiscal_year - period: 2030 - period_coverage: - start_date: '2030-04-01' - end_date: '2031-03-31' - basis: fiscal - source_period_label: 2030-31 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: statutory_gaming_levy - label: Statutory gaming levy - ordinal: 0 - row_number: 28 - expected_row_header_column: B - expected_row_header: Statutory gaming levy - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.2 Other taxes - label: sheet title - measures: - - measure_id: amount - label: Statutory gaming levy, FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.statutory_gaming_levy - source_concept: obr.statutory_gaming_levy - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.2 ('Other taxes'), row - 28 ('Statutory gaming levy'), GBP billion. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -# chronicle#357: sheet 3.7, generated by scripts/build_uk_1095_port_packages.py -- record_set_id: obr.efo_2026_03.receipts.sdlt_residential.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_residential.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_residential.fy2024 - sheet_name: '3.7' - period_type: fiscal_year - period: 2024 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: sdlt_residential - label: SDLT from residential property - ordinal: 0 - row_number: 8 - expected_row_header_column: B - expected_row_header: SDLT from residential property - table_record_kind: total - measures: - - measure_id: amount - label: SDLT from residential property, FY2024-25 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.sdlt_residential - source_concept: obr.sdlt_residential - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.7 (''Property transactions - taxes: Receipts by sector''), row 8 (''SDLT from residential property''), GBP billion. SDLT on residential - property, all buyers. The EFO publishes no split of SDLT by type of buyer (chronicle#357 item 2); - SDLT applies in England and Northern Ireland, and the line is stamped United Kingdom like the rest - of this package''s receipts.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt_residential.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_residential.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_residential.fy2025 - sheet_name: '3.7' - period_type: fiscal_year - period: 2025 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: sdlt_residential - label: SDLT from residential property - ordinal: 0 - row_number: 8 - expected_row_header_column: B - expected_row_header: SDLT from residential property - table_record_kind: total - measures: - - measure_id: amount - label: SDLT from residential property, FY2025-26 - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.sdlt_residential - source_concept: obr.sdlt_residential - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.7 (''Property transactions - taxes: Receipts by sector''), row 8 (''SDLT from residential property''), GBP billion. SDLT on residential - property, all buyers. The EFO publishes no split of SDLT by type of buyer (chronicle#357 item 2); - SDLT applies in England and Northern Ireland, and the line is stamped United Kingdom like the rest - of this package''s receipts.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt_residential.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_residential.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_residential.fy2026 - sheet_name: '3.7' - period_type: fiscal_year - period: 2026 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: sdlt_residential - label: SDLT from residential property - ordinal: 0 - row_number: 8 - expected_row_header_column: B - expected_row_header: SDLT from residential property - table_record_kind: total - measures: - - measure_id: amount - label: SDLT from residential property, FY2026-27 - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.sdlt_residential - source_concept: obr.sdlt_residential - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.7 (''Property transactions - taxes: Receipts by sector''), row 8 (''SDLT from residential property''), GBP billion. SDLT on residential - property, all buyers. The EFO publishes no split of SDLT by type of buyer (chronicle#357 item 2); - SDLT applies in England and Northern Ireland, and the line is stamped United Kingdom like the rest - of this package''s receipts.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt_residential.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_residential.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_residential.fy2027 - sheet_name: '3.7' - period_type: fiscal_year - period: 2027 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: sdlt_residential - label: SDLT from residential property - ordinal: 0 - row_number: 8 - expected_row_header_column: B - expected_row_header: SDLT from residential property - table_record_kind: total - measures: - - measure_id: amount - label: SDLT from residential property, FY2027-28 - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.sdlt_residential - source_concept: obr.sdlt_residential - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.7 (''Property transactions - taxes: Receipts by sector''), row 8 (''SDLT from residential property''), GBP billion. SDLT on residential - property, all buyers. The EFO publishes no split of SDLT by type of buyer (chronicle#357 item 2); - SDLT applies in England and Northern Ireland, and the line is stamped United Kingdom like the rest - of this package''s receipts.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt_residential.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_residential.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_residential.fy2028 - sheet_name: '3.7' - period_type: fiscal_year - period: 2028 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: sdlt_residential - label: SDLT from residential property - ordinal: 0 - row_number: 8 - expected_row_header_column: B - expected_row_header: SDLT from residential property - table_record_kind: total - measures: - - measure_id: amount - label: SDLT from residential property, FY2028-29 - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.sdlt_residential - source_concept: obr.sdlt_residential - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.7 (''Property transactions - taxes: Receipts by sector''), row 8 (''SDLT from residential property''), GBP billion. SDLT on residential - property, all buyers. The EFO publishes no split of SDLT by type of buyer (chronicle#357 item 2); - SDLT applies in England and Northern Ireland, and the line is stamped United Kingdom like the rest - of this package''s receipts.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt_residential.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_residential.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_residential.fy2029 - sheet_name: '3.7' - period_type: fiscal_year - period: 2029 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: sdlt_residential - label: SDLT from residential property - ordinal: 0 - row_number: 8 - expected_row_header_column: B - expected_row_header: SDLT from residential property - table_record_kind: total - measures: - - measure_id: amount - label: SDLT from residential property, FY2029-30 - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.sdlt_residential - source_concept: obr.sdlt_residential - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.7 (''Property transactions - taxes: Receipts by sector''), row 8 (''SDLT from residential property''), GBP billion. SDLT on residential - property, all buyers. The EFO publishes no split of SDLT by type of buyer (chronicle#357 item 2); - SDLT applies in England and Northern Ireland, and the line is stamped United Kingdom like the rest - of this package''s receipts.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt_residential.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_residential.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_residential.fy2030 - sheet_name: '3.7' - period_type: fiscal_year - period: 2030 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: sdlt_residential - label: SDLT from residential property - ordinal: 0 - row_number: 8 - expected_row_header_column: B - expected_row_header: SDLT from residential property - table_record_kind: total - measures: - - measure_id: amount - label: SDLT from residential property, FY2030-31 - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.sdlt_residential - source_concept: obr.sdlt_residential - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.7 (''Property transactions - taxes: Receipts by sector''), row 8 (''SDLT from residential property''), GBP billion. SDLT on residential - property, all buyers. The EFO publishes no split of SDLT by type of buyer (chronicle#357 item 2); - SDLT applies in England and Northern Ireland, and the line is stamped United Kingdom like the rest - of this package''s receipts.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt_residential_main_rates.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_residential_main_rates.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_residential_main_rates.fy2024 - sheet_name: '3.7' - period_type: fiscal_year - period: 2024 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: sdlt_residential_main_rates - label: 'SDLT from residential property: main rates' - ordinal: 0 - row_number: 10 - expected_row_header_column: B - expected_row_header: Main rates - table_record_kind: total - measures: - - measure_id: amount - label: 'SDLT from residential property: main rates, FY2024-25' - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.sdlt_residential_main_rates - source_concept: obr.sdlt_residential_main_rates - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.7 (''Property transactions - taxes: Receipts by sector''), row 10 (''Main rates''), GBP billion. Residential SDLT at the main - rates, an ''of which'' of row 8. The EFO publishes no split of SDLT by type of buyer (chronicle#357 - item 2); SDLT applies in England and Northern Ireland, and the line is stamped United Kingdom like - the rest of this package''s receipts.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt_residential_main_rates.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_residential_main_rates.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_residential_main_rates.fy2025 - sheet_name: '3.7' - period_type: fiscal_year - period: 2025 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: sdlt_residential_main_rates - label: 'SDLT from residential property: main rates' - ordinal: 0 - row_number: 10 - expected_row_header_column: B - expected_row_header: Main rates - table_record_kind: total - measures: - - measure_id: amount - label: 'SDLT from residential property: main rates, FY2025-26' - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.sdlt_residential_main_rates - source_concept: obr.sdlt_residential_main_rates - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.7 (''Property transactions - taxes: Receipts by sector''), row 10 (''Main rates''), GBP billion. Residential SDLT at the main - rates, an ''of which'' of row 8. The EFO publishes no split of SDLT by type of buyer (chronicle#357 - item 2); SDLT applies in England and Northern Ireland, and the line is stamped United Kingdom like - the rest of this package''s receipts.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt_residential_main_rates.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_residential_main_rates.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_residential_main_rates.fy2026 - sheet_name: '3.7' - period_type: fiscal_year - period: 2026 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: sdlt_residential_main_rates - label: 'SDLT from residential property: main rates' - ordinal: 0 - row_number: 10 - expected_row_header_column: B - expected_row_header: Main rates - table_record_kind: total - measures: - - measure_id: amount - label: 'SDLT from residential property: main rates, FY2026-27' - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.sdlt_residential_main_rates - source_concept: obr.sdlt_residential_main_rates - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.7 (''Property transactions - taxes: Receipts by sector''), row 10 (''Main rates''), GBP billion. Residential SDLT at the main - rates, an ''of which'' of row 8. The EFO publishes no split of SDLT by type of buyer (chronicle#357 - item 2); SDLT applies in England and Northern Ireland, and the line is stamped United Kingdom like - the rest of this package''s receipts.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt_residential_main_rates.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_residential_main_rates.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_residential_main_rates.fy2027 - sheet_name: '3.7' - period_type: fiscal_year - period: 2027 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: sdlt_residential_main_rates - label: 'SDLT from residential property: main rates' - ordinal: 0 - row_number: 10 - expected_row_header_column: B - expected_row_header: Main rates - table_record_kind: total - measures: - - measure_id: amount - label: 'SDLT from residential property: main rates, FY2027-28' - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.sdlt_residential_main_rates - source_concept: obr.sdlt_residential_main_rates - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.7 (''Property transactions - taxes: Receipts by sector''), row 10 (''Main rates''), GBP billion. Residential SDLT at the main - rates, an ''of which'' of row 8. The EFO publishes no split of SDLT by type of buyer (chronicle#357 - item 2); SDLT applies in England and Northern Ireland, and the line is stamped United Kingdom like - the rest of this package''s receipts.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt_residential_main_rates.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_residential_main_rates.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_residential_main_rates.fy2028 - sheet_name: '3.7' - period_type: fiscal_year - period: 2028 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: sdlt_residential_main_rates - label: 'SDLT from residential property: main rates' - ordinal: 0 - row_number: 10 - expected_row_header_column: B - expected_row_header: Main rates - table_record_kind: total - measures: - - measure_id: amount - label: 'SDLT from residential property: main rates, FY2028-29' - ordinal: 0 - column: G - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.sdlt_residential_main_rates - source_concept: obr.sdlt_residential_main_rates - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.7 (''Property transactions - taxes: Receipts by sector''), row 10 (''Main rates''), GBP billion. Residential SDLT at the main - rates, an ''of which'' of row 8. The EFO publishes no split of SDLT by type of buyer (chronicle#357 - item 2); SDLT applies in England and Northern Ireland, and the line is stamped United Kingdom like - the rest of this package''s receipts.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt_residential_main_rates.fy2029 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_residential_main_rates.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_residential_main_rates.fy2029 - sheet_name: '3.7' - period_type: fiscal_year - period: 2029 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: sdlt_residential_main_rates - label: 'SDLT from residential property: main rates' - ordinal: 0 - row_number: 10 - expected_row_header_column: B - expected_row_header: Main rates - table_record_kind: total - measures: - - measure_id: amount - label: 'SDLT from residential property: main rates, FY2029-30' - ordinal: 0 - column: H - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.sdlt_residential_main_rates - source_concept: obr.sdlt_residential_main_rates - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.7 (''Property transactions - taxes: Receipts by sector''), row 10 (''Main rates''), GBP billion. Residential SDLT at the main - rates, an ''of which'' of row 8. The EFO publishes no split of SDLT by type of buyer (chronicle#357 - item 2); SDLT applies in England and Northern Ireland, and the line is stamped United Kingdom like - the rest of this package''s receipts.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt_residential_main_rates.fy2030 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_residential_main_rates.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_residential_main_rates.fy2030 - sheet_name: '3.7' - period_type: fiscal_year - period: 2030 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: sdlt_residential_main_rates - label: 'SDLT from residential property: main rates' - ordinal: 0 - row_number: 10 - expected_row_header_column: B - expected_row_header: Main rates - table_record_kind: total - measures: - - measure_id: amount - label: 'SDLT from residential property: main rates, FY2030-31' - ordinal: 0 - column: I - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.sdlt_residential_main_rates - source_concept: obr.sdlt_residential_main_rates - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.7 (''Property transactions - taxes: Receipts by sector''), row 10 (''Main rates''), GBP billion. Residential SDLT at the main - rates, an ''of which'' of row 8. The EFO publishes no split of SDLT by type of buyer (chronicle#357 - item 2); SDLT applies in England and Northern Ireland, and the line is stamped United Kingdom like - the rest of this package''s receipts.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt_residential_higher_rates_additional_dwellings.fy2024 - provenance_class: model_output - assertion: observation - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_residential_higher_rates_additional_dwellings.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_residential_higher_rates_additional_dwellings.fy2024 - sheet_name: '3.7' - period_type: fiscal_year - period: 2024 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: sdlt_residential_higher_rates_additional_dwellings - label: 'SDLT from residential property: higher rates on additional dwellings' - ordinal: 0 - row_number: 11 - expected_row_header_column: B - expected_row_header: Higher rates on additional dwellings - table_record_kind: total - measures: - - measure_id: amount - label: 'SDLT from residential property: higher rates on additional dwellings, FY2024-25' - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2024-25 - concept: obr.sdlt_residential_higher_rates_additional_dwellings - source_concept: obr.sdlt_residential_higher_rates_additional_dwellings - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.7 (''Property transactions - taxes: Receipts by sector''), row 11 (''Higher rates on additional dwellings''), GBP billion. Residential - SDLT from the higher rates on additional dwellings, an ''of which'' of row 8; it matches HMRC''s - net surcharge (Annual Stamp Tax Statistics Table 2f), not the gross surcharge element of Table 6b. - The EFO publishes no split of SDLT by type of buyer (chronicle#357 item 2); SDLT applies in England - and Northern Ireland, and the line is stamped United Kingdom like the rest of this package''s receipts.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt_residential_higher_rates_additional_dwellings.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_residential_higher_rates_additional_dwellings.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_residential_higher_rates_additional_dwellings.fy2025 - sheet_name: '3.7' - period_type: fiscal_year - period: 2025 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: sdlt_residential_higher_rates_additional_dwellings - label: 'SDLT from residential property: higher rates on additional dwellings' - ordinal: 0 - row_number: 11 - expected_row_header_column: B - expected_row_header: Higher rates on additional dwellings - table_record_kind: total - measures: - - measure_id: amount - label: 'SDLT from residential property: higher rates on additional dwellings, FY2025-26' - ordinal: 0 - column: D - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.sdlt_residential_higher_rates_additional_dwellings - source_concept: obr.sdlt_residential_higher_rates_additional_dwellings - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.7 (''Property transactions - taxes: Receipts by sector''), row 11 (''Higher rates on additional dwellings''), GBP billion. Residential - SDLT from the higher rates on additional dwellings, an ''of which'' of row 8; it matches HMRC''s - net surcharge (Annual Stamp Tax Statistics Table 2f), not the gross surcharge element of Table 6b. - The EFO publishes no split of SDLT by type of buyer (chronicle#357 item 2); SDLT applies in England - and Northern Ireland, and the line is stamped United Kingdom like the rest of this package''s receipts.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt_residential_higher_rates_additional_dwellings.fy2026 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_residential_higher_rates_additional_dwellings.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_residential_higher_rates_additional_dwellings.fy2026 - sheet_name: '3.7' - period_type: fiscal_year - period: 2026 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: sdlt_residential_higher_rates_additional_dwellings - label: 'SDLT from residential property: higher rates on additional dwellings' - ordinal: 0 - row_number: 11 - expected_row_header_column: B - expected_row_header: Higher rates on additional dwellings - table_record_kind: total - measures: - - measure_id: amount - label: 'SDLT from residential property: higher rates on additional dwellings, FY2026-27' - ordinal: 0 - column: E - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.sdlt_residential_higher_rates_additional_dwellings - source_concept: obr.sdlt_residential_higher_rates_additional_dwellings - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.7 (''Property transactions - taxes: Receipts by sector''), row 11 (''Higher rates on additional dwellings''), GBP billion. Residential - SDLT from the higher rates on additional dwellings, an ''of which'' of row 8; it matches HMRC''s - net surcharge (Annual Stamp Tax Statistics Table 2f), not the gross surcharge element of Table 6b. - The EFO publishes no split of SDLT by type of buyer (chronicle#357 item 2); SDLT applies in England - and Northern Ireland, and the line is stamped United Kingdom like the rest of this package''s receipts.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt_residential_higher_rates_additional_dwellings.fy2027 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_residential_higher_rates_additional_dwellings.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_residential_higher_rates_additional_dwellings.fy2027 - sheet_name: '3.7' - period_type: fiscal_year - period: 2027 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: sdlt_residential_higher_rates_additional_dwellings - label: 'SDLT from residential property: higher rates on additional dwellings' - ordinal: 0 - row_number: 11 - expected_row_header_column: B - expected_row_header: Higher rates on additional dwellings - table_record_kind: total - measures: - - measure_id: amount - label: 'SDLT from residential property: higher rates on additional dwellings, FY2027-28' - ordinal: 0 - column: F - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.sdlt_residential_higher_rates_additional_dwellings - source_concept: obr.sdlt_residential_higher_rates_additional_dwellings - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.7 (''Property transactions - taxes: Receipts by sector''), row 11 (''Higher rates on additional dwellings''), GBP billion. Residential - SDLT from the higher rates on additional dwellings, an ''of which'' of row 8; it matches HMRC''s - net surcharge (Annual Stamp Tax Statistics Table 2f), not the gross surcharge element of Table 6b. - The EFO publishes no split of SDLT by type of buyer (chronicle#357 item 2); SDLT applies in England - and Northern Ireland, and the line is stamped United Kingdom like the rest of this package''s receipts.' - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt_residential_higher_rates_additional_dwellings.fy2028 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_residential_higher_rates_additional_dwellings.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_residential_higher_rates_additional_dwellings.fy2028 - sheet_name: '3.7' - period_type: fiscal_year - period: 2028 - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: sdlt_residential_higher_rates_additional_dwellings - label: 'SDLT from residential property: higher rates on additional dwellings' - ordinal: 0 - row_number: 11 - expected_row_header_column: B - expected_row_header: Higher rates on additional dwellings + expected_row_header: Non-cigarette clearances ('000s kg) table_record_kind: total + guard_cells: + - column: B + row: 2 + expected_value: ' 3.11 Tobacco clearances' + label: sheet title measures: - measure_id: amount - label: 'SDLT from residential property: higher rates on additional dwellings, FY2028-29' + label: Non-cigarette tobacco clearances, FY2024-25 ordinal: 0 - column: G + column: C source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.sdlt_residential_higher_rates_additional_dwellings - source_concept: obr.sdlt_residential_higher_rates_additional_dwellings + expected_column_header_row: 4 + expected_column_header: 2024-25 + concept: obr.non_cigarette_tobacco_clearances + source_concept: obr.non_cigarette_tobacco_clearances concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.7 (''Property transactions - taxes: Receipts by sector''), row 11 (''Higher rates on additional dwellings''), GBP billion. Residential - SDLT from the higher rates on additional dwellings, an ''of which'' of row 8; it matches HMRC''s - net surcharge (Annual Stamp Tax Statistics Table 2f), not the gross surcharge element of Table 6b. - The EFO publishes no split of SDLT by type of buyer (chronicle#357 item 2); SDLT applies in England - and Northern Ireland, and the line is stamped United Kingdom like the rest of this package''s receipts.' - unit: gbp + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.11 ('Tobacco clearances'), + row 6 ('Non-cigarette clearances ('000s kg)'), thousand kilograms. Thousand kilograms, as the row + label states; rows 8 and 9 sum to it. + unit: kilogram aggregation: sum - value_scale: 1000000000 + value_scale: 1000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt_residential_higher_rates_additional_dwellings.fy2029 + shared_filters: + published_unit: thousand_kilograms + shared_constraints: + - variable: published_unit + operator: == + value: thousand_kilograms + label: Published unit +- record_set_id: obr.efo_2026_03.receipts.hand_rolled_tobacco_clearances.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_residential_higher_rates_additional_dwellings.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_residential_higher_rates_additional_dwellings.fy2029 - sheet_name: '3.7' + assertion: observation + record_set_spec_id: obr.efo_2026_03.receipts.hand_rolled_tobacco_clearances.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.hand_rolled_tobacco_clearances.fy2024 + sheet_name: '3.11' period_type: fiscal_year - period: 2029 + period: 2024 + period_coverage: + start_date: '2024-04-01' + end_date: '2025-03-31' + basis: fiscal + source_period_label: 2024-25 geography_id: K02000001 geography_level: country geography_name: United Kingdom geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances + entity: institutional_sector + entity_role: tobacco_market + domain: tobacco_clearances groupby_dimension: obr.efo_line rows: - - value_id: sdlt_residential_higher_rates_additional_dwellings - label: 'SDLT from residential property: higher rates on additional dwellings' + - value_id: hand_rolled_tobacco_clearances + label: Hand rolled tobacco clearances ordinal: 0 - row_number: 11 + row_number: 8 expected_row_header_column: B - expected_row_header: Higher rates on additional dwellings + expected_row_header: Hand rolled tobacco clearances table_record_kind: total + guard_cells: + - column: B + row: 2 + expected_value: ' 3.11 Tobacco clearances' + label: sheet title measures: - measure_id: amount - label: 'SDLT from residential property: higher rates on additional dwellings, FY2029-30' + label: Hand rolled tobacco clearances, FY2024-25 ordinal: 0 - column: H + column: C source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.sdlt_residential_higher_rates_additional_dwellings - source_concept: obr.sdlt_residential_higher_rates_additional_dwellings + expected_column_header_row: 4 + expected_column_header: 2024-25 + concept: obr.hand_rolled_tobacco_clearances + source_concept: obr.hand_rolled_tobacco_clearances concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.7 (''Property transactions - taxes: Receipts by sector''), row 11 (''Higher rates on additional dwellings''), GBP billion. Residential - SDLT from the higher rates on additional dwellings, an ''of which'' of row 8; it matches HMRC''s - net surcharge (Annual Stamp Tax Statistics Table 2f), not the gross surcharge element of Table 6b. - The EFO publishes no split of SDLT by type of buyer (chronicle#357 item 2); SDLT applies in England - and Northern Ireland, and the line is stamped United Kingdom like the rest of this package''s receipts.' - unit: gbp + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.11 ('Tobacco clearances'), + row 8 ('Hand rolled tobacco clearances'), thousand kilograms. An 'of which' of row 6 ("Non-cigarette + clearances ('000s kg)"), in its unit; rows 8 and 9 sum to it. + unit: kilogram aggregation: sum - value_scale: 1000000000 + value_scale: 1000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt_residential_higher_rates_additional_dwellings.fy2030 + shared_filters: + published_unit: thousand_kilograms + shared_constraints: + - variable: published_unit + operator: == + value: thousand_kilograms + label: Published unit +- record_set_id: obr.efo_2026_03.receipts.other_tobacco_products_clearances.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_residential_higher_rates_additional_dwellings.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_residential_higher_rates_additional_dwellings.fy2030 - sheet_name: '3.7' + assertion: observation + record_set_spec_id: obr.efo_2026_03.receipts.other_tobacco_products_clearances.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.other_tobacco_products_clearances.fy2024 + sheet_name: '3.11' period_type: fiscal_year - period: 2030 + period: 2024 + period_coverage: + start_date: '2024-04-01' + end_date: '2025-03-31' + basis: fiscal + source_period_label: 2024-25 geography_id: K02000001 geography_level: country geography_name: United Kingdom geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances + entity: institutional_sector + entity_role: tobacco_market + domain: tobacco_clearances groupby_dimension: obr.efo_line rows: - - value_id: sdlt_residential_higher_rates_additional_dwellings - label: 'SDLT from residential property: higher rates on additional dwellings' + - value_id: other_tobacco_products_clearances + label: Other tobacco products clearances ordinal: 0 - row_number: 11 + row_number: 9 expected_row_header_column: B - expected_row_header: Higher rates on additional dwellings + expected_row_header: Other tobacco products table_record_kind: total + guard_cells: + - column: B + row: 2 + expected_value: ' 3.11 Tobacco clearances' + label: sheet title measures: - measure_id: amount - label: 'SDLT from residential property: higher rates on additional dwellings, FY2030-31' + label: Other tobacco products clearances, FY2024-25 ordinal: 0 - column: I + column: C source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.sdlt_residential_higher_rates_additional_dwellings - source_concept: obr.sdlt_residential_higher_rates_additional_dwellings + expected_column_header_row: 4 + expected_column_header: 2024-25 + concept: obr.other_tobacco_products_clearances + source_concept: obr.other_tobacco_products_clearances concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.7 (''Property transactions - taxes: Receipts by sector''), row 11 (''Higher rates on additional dwellings''), GBP billion. Residential - SDLT from the higher rates on additional dwellings, an ''of which'' of row 8; it matches HMRC''s - net surcharge (Annual Stamp Tax Statistics Table 2f), not the gross surcharge element of Table 6b. - The EFO publishes no split of SDLT by type of buyer (chronicle#357 item 2); SDLT applies in England - and Northern Ireland, and the line is stamped United Kingdom like the rest of this package''s receipts.' - unit: gbp + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.11 ('Tobacco clearances'), + row 9 ('Other tobacco products'), thousand kilograms. An 'of which' of row 6 ("Non-cigarette clearances + ('000s kg)"), in its unit; rows 8 and 9 sum to it. + unit: kilogram aggregation: sum - value_scale: 1000000000 + value_scale: 1000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt_residential_non_uk_resident_surcharge.fy2024 + shared_filters: + published_unit: thousand_kilograms + shared_constraints: + - variable: published_unit + operator: == + value: thousand_kilograms + label: Published unit +- record_set_id: obr.efo_2026_03.receipts.beer_and_cider_clearances.fy2024 provenance_class: model_output assertion: observation - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_residential_non_uk_resident_surcharge.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_residential_non_uk_resident_surcharge.fy2024 - sheet_name: '3.7' + record_set_spec_id: obr.efo_2026_03.receipts.beer_and_cider_clearances.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.beer_and_cider_clearances.fy2024 + sheet_name: '3.12' period_type: fiscal_year period: 2024 + period_coverage: + start_date: '2024-04-01' + end_date: '2025-03-31' + basis: fiscal + source_period_label: 2024-25 geography_id: K02000001 geography_level: country geography_name: United Kingdom geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances + entity: institutional_sector + entity_role: alcohol_market + domain: alcohol_clearances groupby_dimension: obr.efo_line rows: - - value_id: sdlt_residential_non_uk_resident_surcharge - label: 'SDLT from residential property: non-UK resident surcharge' + - value_id: beer_and_cider_clearances + label: Beer and cider clearances ordinal: 0 - row_number: 12 + row_number: 5 expected_row_header_column: B - expected_row_header: Non-UK resident surcharge + expected_row_header: ' Beer and cider' table_record_kind: total + guard_cells: + - column: B + row: 2 + expected_value: 3.12 Alcohol clearance forecasts + label: table title + - column: B + row: 8 + expected_value: 'Note: All clearances are in thousands of hectolitres of alcohol.' + label: unit note measures: - measure_id: amount - label: 'SDLT from residential property: non-UK resident surcharge, FY2024-25' + label: Beer and cider clearances, FY2024-25 ordinal: 0 column: C source_column_id: amount - expected_column_header_row: 5 + expected_column_header_row: 4 expected_column_header: 2024-25 - concept: obr.sdlt_residential_non_uk_resident_surcharge - source_concept: obr.sdlt_residential_non_uk_resident_surcharge + concept: obr.beer_and_cider_clearances + source_concept: obr.beer_and_cider_clearances concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.7 (''Property transactions - taxes: Receipts by sector''), row 12 (''Non-UK resident surcharge''), GBP billion. Residential SDLT - from the non-UK resident surcharge, an ''of which'' of row 8. The EFO publishes no split of SDLT - by type of buyer (chronicle#357 item 2); SDLT applies in England and Northern Ireland, and the line - is stamped United Kingdom like the rest of this package''s receipts.' - unit: gbp + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.12 ('Alcohol clearance + forecasts'), row 5 ('Beer and cider'), thousand hectolitres of alcohol. + unit: litre_of_pure_alcohol aggregation: sum - value_scale: 1000000000 + value_scale: 100000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt_residential_non_uk_resident_surcharge.fy2025 + shared_filters: + published_unit: thousand_hectolitres_of_alcohol + shared_constraints: + - variable: published_unit + operator: == + value: thousand_hectolitres_of_alcohol + label: Published unit +- record_set_id: obr.efo_2026_03.receipts.wine_clearances.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_residential_non_uk_resident_surcharge.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_residential_non_uk_resident_surcharge.fy2025 - sheet_name: '3.7' + assertion: observation + record_set_spec_id: obr.efo_2026_03.receipts.wine_clearances.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.wine_clearances.fy2024 + sheet_name: '3.12' period_type: fiscal_year - period: 2025 + period: 2024 + period_coverage: + start_date: '2024-04-01' + end_date: '2025-03-31' + basis: fiscal + source_period_label: 2024-25 geography_id: K02000001 geography_level: country geography_name: United Kingdom geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances + entity: institutional_sector + entity_role: alcohol_market + domain: alcohol_clearances groupby_dimension: obr.efo_line rows: - - value_id: sdlt_residential_non_uk_resident_surcharge - label: 'SDLT from residential property: non-UK resident surcharge' + - value_id: wine_clearances + label: Wine clearances ordinal: 0 - row_number: 12 + row_number: 6 expected_row_header_column: B - expected_row_header: Non-UK resident surcharge + expected_row_header: ' Wine1' table_record_kind: total + guard_cells: + - column: B + row: 2 + expected_value: 3.12 Alcohol clearance forecasts + label: table title + - column: B + row: 8 + expected_value: 'Note: All clearances are in thousands of hectolitres of alcohol.' + label: unit note measures: - measure_id: amount - label: 'SDLT from residential property: non-UK resident surcharge, FY2025-26' + label: Wine clearances, FY2024-25 ordinal: 0 - column: D + column: C source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.sdlt_residential_non_uk_resident_surcharge - source_concept: obr.sdlt_residential_non_uk_resident_surcharge + expected_column_header_row: 4 + expected_column_header: 2024-25 + concept: obr.wine_clearances + source_concept: obr.wine_clearances concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.7 (''Property transactions - taxes: Receipts by sector''), row 12 (''Non-UK resident surcharge''), GBP billion. Residential SDLT - from the non-UK resident surcharge, an ''of which'' of row 8. The EFO publishes no split of SDLT - by type of buyer (chronicle#357 item 2); SDLT applies in England and Northern Ireland, and the line - is stamped United Kingdom like the rest of this package''s receipts.' - unit: gbp + concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.12 (''Alcohol clearance + forecasts''), row 6 (''Wine1''), thousand hectolitres of alcohol. Footnote 1: includes other fermented + products such as fruit ciders.' + unit: litre_of_pure_alcohol aggregation: sum - value_scale: 1000000000 + value_scale: 100000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt_residential_non_uk_resident_surcharge.fy2026 + shared_filters: + published_unit: thousand_hectolitres_of_alcohol + shared_constraints: + - variable: published_unit + operator: == + value: thousand_hectolitres_of_alcohol + label: Published unit +- record_set_id: obr.efo_2026_03.receipts.spirits_clearances.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_residential_non_uk_resident_surcharge.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_residential_non_uk_resident_surcharge.fy2026 - sheet_name: '3.7' + assertion: observation + record_set_spec_id: obr.efo_2026_03.receipts.spirits_clearances.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.spirits_clearances.fy2024 + sheet_name: '3.12' period_type: fiscal_year - period: 2026 + period: 2024 + period_coverage: + start_date: '2024-04-01' + end_date: '2025-03-31' + basis: fiscal + source_period_label: 2024-25 geography_id: K02000001 geography_level: country geography_name: United Kingdom geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances + entity: institutional_sector + entity_role: alcohol_market + domain: alcohol_clearances groupby_dimension: obr.efo_line rows: - - value_id: sdlt_residential_non_uk_resident_surcharge - label: 'SDLT from residential property: non-UK resident surcharge' + - value_id: spirits_clearances + label: Spirits clearances ordinal: 0 - row_number: 12 + row_number: 7 expected_row_header_column: B - expected_row_header: Non-UK resident surcharge + expected_row_header: ' Spirits2' table_record_kind: total + guard_cells: + - column: B + row: 2 + expected_value: 3.12 Alcohol clearance forecasts + label: table title + - column: B + row: 8 + expected_value: 'Note: All clearances are in thousands of hectolitres of alcohol.' + label: unit note measures: - measure_id: amount - label: 'SDLT from residential property: non-UK resident surcharge, FY2026-27' + label: Spirits clearances, FY2024-25 ordinal: 0 - column: E + column: C source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.sdlt_residential_non_uk_resident_surcharge - source_concept: obr.sdlt_residential_non_uk_resident_surcharge + expected_column_header_row: 4 + expected_column_header: 2024-25 + concept: obr.spirits_clearances + source_concept: obr.spirits_clearances concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.7 (''Property transactions - taxes: Receipts by sector''), row 12 (''Non-UK resident surcharge''), GBP billion. Residential SDLT - from the non-UK resident surcharge, an ''of which'' of row 8. The EFO publishes no split of SDLT - by type of buyer (chronicle#357 item 2); SDLT applies in England and Northern Ireland, and the line - is stamped United Kingdom like the rest of this package''s receipts.' - unit: gbp + concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.12 (''Alcohol clearance + forecasts''), row 7 (''Spirits2''), thousand hectolitres of alcohol. Footnote 2: includes spirit-based + ‘ready-to-drinks’ such as alcopops.' + unit: litre_of_pure_alcohol aggregation: sum - value_scale: 1000000000 + value_scale: 100000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt_residential_non_uk_resident_surcharge.fy2027 + shared_filters: + published_unit: thousand_hectolitres_of_alcohol + shared_constraints: + - variable: published_unit + operator: == + value: thousand_hectolitres_of_alcohol + label: Published unit +- record_set_id: obr.efo_2026_03.receipts.beer_and_cider_duties_accrued.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_residential_non_uk_resident_surcharge.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_residential_non_uk_resident_surcharge.fy2027 - sheet_name: '3.7' + assertion: observation + record_set_spec_id: obr.efo_2026_03.receipts.beer_and_cider_duties_accrued.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.beer_and_cider_duties_accrued.fy2024 + sheet_name: '3.12' period_type: fiscal_year - period: 2027 + period: 2024 + period_coverage: + start_date: '2024-04-01' + end_date: '2025-03-31' + basis: fiscal + source_period_label: 2024-25 + accounting_basis: accrual geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -15349,43 +1890,62 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: sdlt_residential_non_uk_resident_surcharge - label: 'SDLT from residential property: non-UK resident surcharge' + - value_id: beer_and_cider_duties_accrued + label: Beer and cider duties (accrued) ordinal: 0 - row_number: 12 + row_number: 16 expected_row_header_column: B - expected_row_header: Non-UK resident surcharge + expected_row_header: ' Beer and cider' table_record_kind: total + guard_cells: + - column: B + row: 12 + expected_value: 3.12 Alcohol receipts forecasts + label: table title + - column: B + row: 19 + expected_value: 'Note: All taxes are on an accrued basis.' + label: basis note measures: - measure_id: amount - label: 'SDLT from residential property: non-UK resident surcharge, FY2027-28' + label: Beer and cider duties (accrued), FY2024-25 ordinal: 0 - column: F + column: C source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.sdlt_residential_non_uk_resident_surcharge - source_concept: obr.sdlt_residential_non_uk_resident_surcharge + expected_column_header_row: 15 + expected_column_header: 2024-25 + concept: obr.beer_and_cider_duties + source_concept: obr.beer_and_cider_duties concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.7 (''Property transactions - taxes: Receipts by sector''), row 12 (''Non-UK resident surcharge''), GBP billion. Residential SDLT - from the non-UK resident surcharge, an ''of which'' of row 8. The EFO publishes no split of SDLT - by type of buyer (chronicle#357 item 2); SDLT applies in England and Northern Ireland, and the line - is stamped United Kingdom like the rest of this package''s receipts.' + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.12 ('Alcohol receipts + forecasts'), row 16 ('Beer and cider'), GBP billion. Accrued basis (the table's note). unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt_residential_non_uk_resident_surcharge.fy2028 + shared_filters: + accounting_basis: accrual + shared_constraints: + - variable: accounting_basis + operator: == + value: accrual + label: Accounting basis +- record_set_id: obr.efo_2026_03.receipts.wine_duties_accrued.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_residential_non_uk_resident_surcharge.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_residential_non_uk_resident_surcharge.fy2028 - sheet_name: '3.7' + assertion: observation + record_set_spec_id: obr.efo_2026_03.receipts.wine_duties_accrued.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.wine_duties_accrued.fy2024 + sheet_name: '3.12' period_type: fiscal_year - period: 2028 + period: 2024 + period_coverage: + start_date: '2024-04-01' + end_date: '2025-03-31' + basis: fiscal + source_period_label: 2024-25 + accounting_basis: accrual geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -15395,43 +1955,63 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: sdlt_residential_non_uk_resident_surcharge - label: 'SDLT from residential property: non-UK resident surcharge' + - value_id: wine_duties_accrued + label: Wine duties (accrued) ordinal: 0 - row_number: 12 + row_number: 17 expected_row_header_column: B - expected_row_header: Non-UK resident surcharge + expected_row_header: ' Wine1' table_record_kind: total + guard_cells: + - column: B + row: 12 + expected_value: 3.12 Alcohol receipts forecasts + label: table title + - column: B + row: 19 + expected_value: 'Note: All taxes are on an accrued basis.' + label: basis note measures: - measure_id: amount - label: 'SDLT from residential property: non-UK resident surcharge, FY2028-29' + label: Wine duties (accrued), FY2024-25 ordinal: 0 - column: G + column: C source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.sdlt_residential_non_uk_resident_surcharge - source_concept: obr.sdlt_residential_non_uk_resident_surcharge + expected_column_header_row: 15 + expected_column_header: 2024-25 + concept: obr.wine_duties + source_concept: obr.wine_duties concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.7 (''Property transactions - taxes: Receipts by sector''), row 12 (''Non-UK resident surcharge''), GBP billion. Residential SDLT - from the non-UK resident surcharge, an ''of which'' of row 8. The EFO publishes no split of SDLT - by type of buyer (chronicle#357 item 2); SDLT applies in England and Northern Ireland, and the line - is stamped United Kingdom like the rest of this package''s receipts.' + concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.12 (''Alcohol receipts + forecasts''), row 17 (''Wine1''), GBP billion. Accrued basis (the table''s note). Footnote 1: includes + other fermented products such as fruit ciders.' unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt_residential_non_uk_resident_surcharge.fy2029 + shared_filters: + accounting_basis: accrual + shared_constraints: + - variable: accounting_basis + operator: == + value: accrual + label: Accounting basis +- record_set_id: obr.efo_2026_03.receipts.spirits_duties_accrued.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_residential_non_uk_resident_surcharge.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_residential_non_uk_resident_surcharge.fy2029 - sheet_name: '3.7' + assertion: observation + record_set_spec_id: obr.efo_2026_03.receipts.spirits_duties_accrued.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.spirits_duties_accrued.fy2024 + sheet_name: '3.12' period_type: fiscal_year - period: 2029 + period: 2024 + period_coverage: + start_date: '2024-04-01' + end_date: '2025-03-31' + basis: fiscal + source_period_label: 2024-25 + accounting_basis: accrual geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -15441,43 +2021,62 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: sdlt_residential_non_uk_resident_surcharge - label: 'SDLT from residential property: non-UK resident surcharge' + - value_id: spirits_duties_accrued + label: Spirits duties (accrued) ordinal: 0 - row_number: 12 + row_number: 18 expected_row_header_column: B - expected_row_header: Non-UK resident surcharge + expected_row_header: ' Spirits2' table_record_kind: total + guard_cells: + - column: B + row: 12 + expected_value: 3.12 Alcohol receipts forecasts + label: table title + - column: B + row: 19 + expected_value: 'Note: All taxes are on an accrued basis.' + label: basis note measures: - measure_id: amount - label: 'SDLT from residential property: non-UK resident surcharge, FY2029-30' + label: Spirits duties (accrued), FY2024-25 ordinal: 0 - column: H + column: C source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.sdlt_residential_non_uk_resident_surcharge - source_concept: obr.sdlt_residential_non_uk_resident_surcharge + expected_column_header_row: 15 + expected_column_header: 2024-25 + concept: obr.spirits_duties + source_concept: obr.spirits_duties concept_relation: source_label concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.7 (''Property transactions - taxes: Receipts by sector''), row 12 (''Non-UK resident surcharge''), GBP billion. Residential SDLT - from the non-UK resident surcharge, an ''of which'' of row 8. The EFO publishes no split of SDLT - by type of buyer (chronicle#357 item 2); SDLT applies in England and Northern Ireland, and the line - is stamped United Kingdom like the rest of this package''s receipts.' + concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ + concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.12 (''Alcohol receipts + forecasts''), row 18 (''Spirits2''), GBP billion. Accrued basis (the table''s note). Footnote 2: + includes spirit-based ‘ready-to-drinks’ such as alcopops.' unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt_residential_non_uk_resident_surcharge.fy2030 + shared_filters: + accounting_basis: accrual + shared_constraints: + - variable: accounting_basis + operator: == + value: accrual + label: Accounting basis +- record_set_id: obr.efo_2026_03.receipts.camelot_payments_to_national_lottery_distribution_fund.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_residential_non_uk_resident_surcharge.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_residential_non_uk_resident_surcharge.fy2030 - sheet_name: '3.7' + assertion: observation + record_set_spec_id: obr.efo_2026_03.receipts.camelot_payments_to_national_lottery_distribution_fund.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.camelot_payments_to_national_lottery_distribution_fund.fy2024 + sheet_name: '3.2' period_type: fiscal_year - period: 2030 + period: 2024 + period_coverage: + start_date: '2024-04-01' + end_date: '2025-03-31' + basis: fiscal + source_period_label: 2024-25 geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -15487,43 +2086,50 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: sdlt_residential_non_uk_resident_surcharge - label: 'SDLT from residential property: non-UK resident surcharge' + - value_id: camelot_payments_to_national_lottery_distribution_fund + label: Camelot payments to National Lottery Distribution Fund ordinal: 0 - row_number: 12 + row_number: 10 expected_row_header_column: B - expected_row_header: Non-UK resident surcharge + expected_row_header: Camelot payments to National Lottery Distribution Fund table_record_kind: total + guard_cells: + - column: B + row: 2 + expected_value: 3.2 Other taxes + label: sheet title measures: - measure_id: amount - label: 'SDLT from residential property: non-UK resident surcharge, FY2030-31' + label: Camelot payments to National Lottery Distribution Fund, FY2024-25 ordinal: 0 - column: I + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2030-31 - concept: obr.sdlt_residential_non_uk_resident_surcharge - source_concept: obr.sdlt_residential_non_uk_resident_surcharge + expected_column_header: 2024-25 + concept: obr.camelot_payments_to_national_lottery_distribution_fund + source_concept: obr.camelot_payments_to_national_lottery_distribution_fund concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.7 (''Property transactions - taxes: Receipts by sector''), row 12 (''Non-UK resident surcharge''), GBP billion. Residential SDLT - from the non-UK resident surcharge, an ''of which'' of row 8. The EFO publishes no split of SDLT - by type of buyer (chronicle#357 item 2); SDLT applies in England and Northern Ireland, and the line - is stamped United Kingdom like the rest of this package''s receipts.' + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.2 ('Other taxes'), row + 10 ('Camelot payments to National Lottery Distribution Fund'), GBP billion. unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt_non_residential.fy2024 +- record_set_id: obr.efo_2026_03.receipts.horserace_betting_levy.fy2024 provenance_class: model_output assertion: observation - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_non_residential.fy2024.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_non_residential.fy2024 - sheet_name: '3.7' + record_set_spec_id: obr.efo_2026_03.receipts.horserace_betting_levy.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.horserace_betting_levy.fy2024 + sheet_name: '3.2' period_type: fiscal_year period: 2024 + period_coverage: + start_date: '2024-04-01' + end_date: '2025-03-31' + basis: fiscal + source_period_label: 2024-25 geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -15533,43 +2139,50 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: sdlt_non_residential - label: SDLT from non-residential property + - value_id: horserace_betting_levy + label: Horserace betting levy ordinal: 0 - row_number: 13 + row_number: 11 expected_row_header_column: B - expected_row_header: SDLT from non-residential property + expected_row_header: Horserace betting levy table_record_kind: total + guard_cells: + - column: B + row: 2 + expected_value: 3.2 Other taxes + label: sheet title measures: - measure_id: amount - label: SDLT from non-residential property, FY2024-25 + label: Horserace betting levy, FY2024-25 ordinal: 0 column: C source_column_id: amount expected_column_header_row: 5 expected_column_header: 2024-25 - concept: obr.sdlt_non_residential - source_concept: obr.sdlt_non_residential + concept: obr.horserace_betting_levy + source_concept: obr.horserace_betting_levy concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.7 (''Property transactions - taxes: Receipts by sector''), row 13 (''SDLT from non-residential property''), GBP billion. SDLT - on non-residential property, all buyers. The EFO publishes no split of SDLT by type of buyer (chronicle#357 - item 2); SDLT applies in England and Northern Ireland, and the line is stamped United Kingdom like - the rest of this package''s receipts.' + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.2 ('Other taxes'), row + 11 ('Horserace betting levy'), GBP billion. unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt_non_residential.fy2025 +- record_set_id: obr.efo_2026_03.receipts.statutory_gaming_levy.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_non_residential.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_non_residential.fy2025 - sheet_name: '3.7' + assertion: observation + record_set_spec_id: obr.efo_2026_03.receipts.statutory_gaming_levy.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.statutory_gaming_levy.fy2024 + sheet_name: '3.2' period_type: fiscal_year - period: 2025 + period: 2024 + period_coverage: + start_date: '2024-04-01' + end_date: '2025-03-31' + basis: fiscal + source_period_label: 2024-25 geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -15579,43 +2192,46 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: sdlt_non_residential - label: SDLT from non-residential property + - value_id: statutory_gaming_levy + label: Statutory gaming levy ordinal: 0 - row_number: 13 + row_number: 28 expected_row_header_column: B - expected_row_header: SDLT from non-residential property + expected_row_header: Statutory gaming levy table_record_kind: total + guard_cells: + - column: B + row: 2 + expected_value: 3.2 Other taxes + label: sheet title measures: - measure_id: amount - label: SDLT from non-residential property, FY2025-26 + label: Statutory gaming levy, FY2024-25 ordinal: 0 - column: D + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.sdlt_non_residential - source_concept: obr.sdlt_non_residential + expected_column_header: 2024-25 + concept: obr.statutory_gaming_levy + source_concept: obr.statutory_gaming_levy concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.7 (''Property transactions - taxes: Receipts by sector''), row 13 (''SDLT from non-residential property''), GBP billion. SDLT - on non-residential property, all buyers. The EFO publishes no split of SDLT by type of buyer (chronicle#357 - item 2); SDLT applies in England and Northern Ireland, and the line is stamped United Kingdom like - the rest of this package''s receipts.' + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.2 ('Other taxes'), row + 28 ('Statutory gaming levy'), GBP billion. unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt_non_residential.fy2026 +# chronicle#357: sheet 3.7, generated by scripts/build_uk_1095_port_packages.py +- record_set_id: obr.efo_2026_03.receipts.sdlt_residential.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_non_residential.fy2026.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_non_residential.fy2026 + assertion: observation + record_set_spec_id: obr.efo_2026_03.receipts.sdlt_residential.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_residential.fy2024 sheet_name: '3.7' period_type: fiscal_year - period: 2026 + period: 2024 geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -15625,43 +2241,43 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: sdlt_non_residential - label: SDLT from non-residential property + - value_id: sdlt_residential + label: SDLT from residential property ordinal: 0 - row_number: 13 + row_number: 8 expected_row_header_column: B - expected_row_header: SDLT from non-residential property + expected_row_header: SDLT from residential property table_record_kind: total measures: - measure_id: amount - label: SDLT from non-residential property, FY2026-27 + label: SDLT from residential property, FY2024-25 ordinal: 0 - column: E + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2026-27 - concept: obr.sdlt_non_residential - source_concept: obr.sdlt_non_residential + expected_column_header: 2024-25 + concept: obr.sdlt_residential + source_concept: obr.sdlt_residential concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.7 (''Property transactions - taxes: Receipts by sector''), row 13 (''SDLT from non-residential property''), GBP billion. SDLT - on non-residential property, all buyers. The EFO publishes no split of SDLT by type of buyer (chronicle#357 - item 2); SDLT applies in England and Northern Ireland, and the line is stamped United Kingdom like - the rest of this package''s receipts.' + taxes: Receipts by sector''), row 8 (''SDLT from residential property''), GBP billion. SDLT on residential + property, all buyers. The EFO publishes no split of SDLT by type of buyer (chronicle#357 item 2); + SDLT applies in England and Northern Ireland, and the line is stamped United Kingdom like the rest + of this package''s receipts.' unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt_non_residential.fy2027 +- record_set_id: obr.efo_2026_03.receipts.sdlt_residential_main_rates.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_non_residential.fy2027.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_non_residential.fy2027 + assertion: observation + record_set_spec_id: obr.efo_2026_03.receipts.sdlt_residential_main_rates.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_residential_main_rates.fy2024 sheet_name: '3.7' period_type: fiscal_year - period: 2027 + period: 2024 geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -15671,43 +2287,43 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: sdlt_non_residential - label: SDLT from non-residential property + - value_id: sdlt_residential_main_rates + label: 'SDLT from residential property: main rates' ordinal: 0 - row_number: 13 + row_number: 10 expected_row_header_column: B - expected_row_header: SDLT from non-residential property + expected_row_header: Main rates table_record_kind: total measures: - measure_id: amount - label: SDLT from non-residential property, FY2027-28 + label: 'SDLT from residential property: main rates, FY2024-25' ordinal: 0 - column: F + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2027-28 - concept: obr.sdlt_non_residential - source_concept: obr.sdlt_non_residential + expected_column_header: 2024-25 + concept: obr.sdlt_residential_main_rates + source_concept: obr.sdlt_residential_main_rates concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.7 (''Property transactions - taxes: Receipts by sector''), row 13 (''SDLT from non-residential property''), GBP billion. SDLT - on non-residential property, all buyers. The EFO publishes no split of SDLT by type of buyer (chronicle#357 + taxes: Receipts by sector''), row 10 (''Main rates''), GBP billion. Residential SDLT at the main + rates, an ''of which'' of row 8. The EFO publishes no split of SDLT by type of buyer (chronicle#357 item 2); SDLT applies in England and Northern Ireland, and the line is stamped United Kingdom like the rest of this package''s receipts.' unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt_non_residential.fy2028 +- record_set_id: obr.efo_2026_03.receipts.sdlt_residential_higher_rates_additional_dwellings.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_non_residential.fy2028.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_non_residential.fy2028 + assertion: observation + record_set_spec_id: obr.efo_2026_03.receipts.sdlt_residential_higher_rates_additional_dwellings.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_residential_higher_rates_additional_dwellings.fy2024 sheet_name: '3.7' period_type: fiscal_year - period: 2028 + period: 2024 geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -15717,43 +2333,44 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: sdlt_non_residential - label: SDLT from non-residential property + - value_id: sdlt_residential_higher_rates_additional_dwellings + label: 'SDLT from residential property: higher rates on additional dwellings' ordinal: 0 - row_number: 13 + row_number: 11 expected_row_header_column: B - expected_row_header: SDLT from non-residential property + expected_row_header: Higher rates on additional dwellings table_record_kind: total measures: - measure_id: amount - label: SDLT from non-residential property, FY2028-29 + label: 'SDLT from residential property: higher rates on additional dwellings, FY2024-25' ordinal: 0 - column: G + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2028-29 - concept: obr.sdlt_non_residential - source_concept: obr.sdlt_non_residential + expected_column_header: 2024-25 + concept: obr.sdlt_residential_higher_rates_additional_dwellings + source_concept: obr.sdlt_residential_higher_rates_additional_dwellings concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.7 (''Property transactions - taxes: Receipts by sector''), row 13 (''SDLT from non-residential property''), GBP billion. SDLT - on non-residential property, all buyers. The EFO publishes no split of SDLT by type of buyer (chronicle#357 - item 2); SDLT applies in England and Northern Ireland, and the line is stamped United Kingdom like - the rest of this package''s receipts.' + taxes: Receipts by sector''), row 11 (''Higher rates on additional dwellings''), GBP billion. Residential + SDLT from the higher rates on additional dwellings, an ''of which'' of row 8; it matches HMRC''s + net surcharge (Annual Stamp Tax Statistics Table 2f), not the gross surcharge element of Table 6b. + The EFO publishes no split of SDLT by type of buyer (chronicle#357 item 2); SDLT applies in England + and Northern Ireland, and the line is stamped United Kingdom like the rest of this package''s receipts.' unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt_non_residential.fy2029 +- record_set_id: obr.efo_2026_03.receipts.sdlt_residential_non_uk_resident_surcharge.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_non_residential.fy2029.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_non_residential.fy2029 + assertion: observation + record_set_spec_id: obr.efo_2026_03.receipts.sdlt_residential_non_uk_resident_surcharge.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_residential_non_uk_resident_surcharge.fy2024 sheet_name: '3.7' period_type: fiscal_year - period: 2029 + period: 2024 geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -15763,43 +2380,43 @@ record_sets: domain: public_sector_finances groupby_dimension: obr.efo_line rows: - - value_id: sdlt_non_residential - label: SDLT from non-residential property + - value_id: sdlt_residential_non_uk_resident_surcharge + label: 'SDLT from residential property: non-UK resident surcharge' ordinal: 0 - row_number: 13 + row_number: 12 expected_row_header_column: B - expected_row_header: SDLT from non-residential property + expected_row_header: Non-UK resident surcharge table_record_kind: total measures: - measure_id: amount - label: SDLT from non-residential property, FY2029-30 + label: 'SDLT from residential property: non-UK resident surcharge, FY2024-25' ordinal: 0 - column: H + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2029-30 - concept: obr.sdlt_non_residential - source_concept: obr.sdlt_non_residential + expected_column_header: 2024-25 + concept: obr.sdlt_residential_non_uk_resident_surcharge + source_concept: obr.sdlt_residential_non_uk_resident_surcharge concept_relation: source_label concept_authority: obr concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 3.7 (''Property transactions - taxes: Receipts by sector''), row 13 (''SDLT from non-residential property''), GBP billion. SDLT - on non-residential property, all buyers. The EFO publishes no split of SDLT by type of buyer (chronicle#357 - item 2); SDLT applies in England and Northern Ireland, and the line is stamped United Kingdom like - the rest of this package''s receipts.' + taxes: Receipts by sector''), row 12 (''Non-UK resident surcharge''), GBP billion. Residential SDLT + from the non-UK resident surcharge, an ''of which'' of row 8. The EFO publishes no split of SDLT + by type of buyer (chronicle#357 item 2); SDLT applies in England and Northern Ireland, and the line + is stamped United Kingdom like the rest of this package''s receipts.' unit: gbp aggregation: sum value_scale: 1000000000 expected_cell_type: number -- record_set_id: obr.efo_2026_03.receipts.sdlt_non_residential.fy2030 +- record_set_id: obr.efo_2026_03.receipts.sdlt_non_residential.fy2024 provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.sdlt_non_residential.fy2030.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_non_residential.fy2030 + assertion: observation + record_set_spec_id: obr.efo_2026_03.receipts.sdlt_non_residential.fy2024.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.sdlt_non_residential.fy2024 sheet_name: '3.7' period_type: fiscal_year - period: 2030 + period: 2024 geography_id: K02000001 geography_level: country geography_name: United Kingdom @@ -15818,12 +2435,12 @@ record_sets: table_record_kind: total measures: - measure_id: amount - label: SDLT from non-residential property, FY2030-31 + label: SDLT from non-residential property, FY2024-25 ordinal: 0 - column: I + column: C source_column_id: amount expected_column_header_row: 5 - expected_column_header: 2030-31 + expected_column_header: 2024-25 concept: obr.sdlt_non_residential source_concept: obr.sdlt_non_residential concept_relation: source_label diff --git a/scripts/build_obr_efo_october_2026.py b/scripts/build_obr_efo_october_2026.py index 017a5bc0..d41f0405 100644 --- a/scripts/build_obr_efo_october_2026.py +++ b/scripts/build_obr_efo_october_2026.py @@ -391,11 +391,77 @@ class MarchLine: header_column: str +# chronicle#397: of two vintages' numbers for one line and year, Chronicle keeps the +# later, so the March packages carry only the line-years October does not print. A +# March line October prints in every year it has leaves its March package, and its first +# March record set is kept here instead, so its October line keeps the March line id, +# label and concept. The high-value council tax surcharge has no 2024-25 value; it was +# the last line of the March expenditure package. +LINES_LEFT_IN_OCTOBER_ONLY = { + "expenditure": ( + """\ +- record_set_id: obr.efo_2026_03.expenditure.council_tax_high_value_surcharge.fy2028 + provenance_class: model_output + assertion: source_projection + record_set_spec_id: obr.efo_2026_03.expenditure.council_tax_high_value_surcharge.fy2028.v1 + source_record_id_prefix: obr.efo_2026_03.expenditure.council_tax_high_value_surcharge.fy2028 + sheet_name: '4.1' + period_type: fiscal_year + period: 2028 + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: resident_population + domain: public_sector_finances + groupby_dimension: obr.efo_line + rows: + - value_id: council_tax_high_value_surcharge + label: High-value Council tax surcharge + ordinal: 0 + row_number: 18 + expected_row_header_column: B + expected_row_header: High-value Council tax surcharge + table_record_kind: total + measures: + - measure_id: amount + label: High-value Council tax surcharge, FY2028-29 + ordinal: 0 + column: G + source_column_id: amount + expected_column_header_row: 5 + expected_column_header: 2028-29 + concept: obr.council_tax_high_value_surcharge + source_concept: obr.council_tax_high_value_surcharge + concept_relation: source_label + concept_authority: obr + concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-expenditure/ + concept_evidence_notes: 'OBR EFO March 2026 detailed forecast tables, sheet 4.1, row 18 + (''High-value Council tax surcharge''): the surcharge on high-value properties forecast + from 2028-29, a component of row 19 (''Total net council tax receipts''), GBP billion.' + unit: gbp + aggregation: sum + value_scale: 1000000000 + expected_cell_type: number +""", + ), +} + + def march_lines(kind: str) -> list[MarchLine]: path = PACKAGES / f"efo_{kind}_march_2026" / "source_package.yaml" payload = yaml.safe_load(path.read_text(encoding="utf-8")) + record_sets = list(payload["record_sets"]) + for text in LINES_LEFT_IN_OCTOBER_ONLY.get(kind, ()): + (record_set,) = yaml.safe_load(text) + line_id = LINE_YEAR.sub("", record_set["record_set_id"]) + assert not any( + LINE_YEAR.sub("", other["record_set_id"]) == line_id for other in record_sets + ), line_id + record_sets.append(record_set) lines: dict[str, MarchLine] = {} - for record_set in payload["record_sets"]: + for record_set in record_sets: line_id = LINE_YEAR.sub("", record_set["record_set_id"]).removeprefix( f"{MARCH}.{kind}." ) diff --git a/scripts/build_uk_1095_port_packages.py b/scripts/build_uk_1095_port_packages.py index 98314c42..3e64045a 100644 --- a/scripts/build_uk_1095_port_packages.py +++ b/scripts/build_uk_1095_port_packages.py @@ -592,6 +592,22 @@ def build_stamps() -> None: "https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-" "tables-receipts/" ) +OBR_OCTOBER_RECEIPTS_YAML = ( + ROOT / "packages/obr/efo_receipts_october_2026/source_package.yaml" +) + + +def obr_october_line_years() -> set[tuple[str, int]]: + """The (line id, fiscal year) pairs the October 2026 receipts package publishes. + + chronicle#397: where two vintages publish a number for the same line and year, + Chronicle keeps the later one, so the March package carries a line only in the + years October lacks.""" + text = OBR_OCTOBER_RECEIPTS_YAML.read_text(encoding="utf-8") + pattern = r"^- record_set_id: obr\.efo_2026_10\.receipts\.(.+)\.fy(\d{4})$" + return {(line, int(year)) for line, year in re.findall(pattern, text, re.MULTILINE)} + + OBR_3_7_MARKER = ( "# chronicle#357: sheet 3.7, generated by scripts/build_uk_1095_port_packages.py\n" ) @@ -654,12 +670,18 @@ def obr_3_7_blocks() -> str: (5, column) ] years.append((opening, column)) + october = obr_october_line_years() blocks = [] for row, header, line, display, note in OBR_3_7_LINES: assert grid[(row, "B")] == header, (row, grid[(row, "B")]) + # Each line keeps the years October does not print, so its October line + # (scripts/build_obr_efo_october_2026.py) still finds it here. + assert any((line, opening) not in october for opening, _ in years), line for opening, column in years: label = f"{opening}-{str(opening + 1)[2:]}" assert isinstance(grid[(row, column)], (int, float)), (row, column) + if (line, opening) in october: + continue record_set_id = f"obr.efo_2026_03.receipts.{line}.fy{opening}" notes = ( f"OBR EFO March 2026 detailed forecast tables, sheet 3.7 ('Property transactions " diff --git a/scripts/build_uk_excise_packages.py b/scripts/build_uk_excise_packages.py index a11ad062..280dbf20 100644 --- a/scripts/build_uk_excise_packages.py +++ b/scripts/build_uk_excise_packages.py @@ -101,6 +101,22 @@ def artifact_meta(path: Path) -> SourceArtifactMetadata: "https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-" "tables-receipts/" ) +OBR_OCTOBER_RECEIPTS_YAML = ( + ROOT / "packages/obr/efo_receipts_october_2026/source_package.yaml" +) + + +def obr_october_line_years() -> set[tuple[str, int]]: + """The (line id, fiscal year) pairs the October 2026 receipts package publishes. + + chronicle#397: where two vintages publish a number for the same line and year, + Chronicle keeps the later one, so the March package carries a line only in the + years October lacks.""" + text = OBR_OCTOBER_RECEIPTS_YAML.read_text(encoding="utf-8") + pattern = r"^- record_set_id: obr\.efo_2026_10\.receipts\.(.+)\.fy(\d{4})$" + return {(line, int(year)) for line, year in re.findall(pattern, text, re.MULTILINE)} + + OBR_EXCISE_MARKER = ( "# chronicle#381: excise lines of sheets 3.8, 3.10, 3.11, 3.12 and 3.2, generated by " "scripts/build_uk_excise_packages.py\n" @@ -322,7 +338,8 @@ def artifact_meta(path: Path) -> SourceArtifactMetadata: "The tax is zero in the years before it starts, as published.", ), # chronicle#395: one VED concept in both vintages; the October builder carries it. - # March keeps only its 2024-25 outturn (OBR_OUTTURN_ONLY_LINES). + # March keeps only its 2024-25 outturn: October publishes the later years + # (obr_october_line_years, chronicle#397). ( "3.8", 52, @@ -519,10 +536,6 @@ def artifact_meta(path: Path) -> SourceArtifactMetadata: ) # The cash and accrued lines of one duty share a concept; accounting_basis keeps them # apart. -# Lines the October 2026 package publishes from 2025-26 on. Of two vintages' numbers for -# one line and year, Chronicle keeps the later, so March keeps only these lines' outturn -# column (chronicle#395; the other March lines are chronicle#397). -OBR_OUTTURN_ONLY_LINES = {"vehicle_excise_duties"} OBR_EXCISE_CONCEPTS = { "betting_and_gaming_duties_accrued": "obr.betting_and_gaming_duties", "beer_and_cider_duties_accrued": "obr.beer_and_cider_duties", @@ -684,18 +697,24 @@ def obr_excise_blocks() -> str: assert grids["3.10"][(6, column)] == sheet_3_1[(7, chr(ord("D") + index))] assert grids["3.10"][(5, "C")] == "2025-26" assert grids["3.10"][(6, "C")] != grids["3.8"][(36, "E")] + october = obr_october_line_years() blocks = [] for line in OBR_EXCISE_LINES: table = OBR_EXCISE_TABLES[line[0]] grid = grids[table["sheet"]] years = check_table(grid, table) - row, header = line[1], line[2] + row, header, line_id = line[1], line[2], line[3] assert grid[(row, "B")] == header, (line[0], row, grid.get((row, "B"))) + kept = 0 for opening, column in years: - if line[3] in OBR_OUTTURN_ONLY_LINES and column != table["outturn"][1]: - continue assert isinstance(grid[(row, column)], (int, float)), (line[0], row, column) + if (line_id, opening) in october: + continue blocks.append(dump([obr_excise_record(table, line, opening, column)])) + kept += 1 + # Each line keeps the years October does not print, so its October line + # (scripts/build_obr_efo_october_2026.py) still finds it here. + assert kept, line_id return OBR_EXCISE_MARKER + "".join(blocks) diff --git a/tests/test_chronicle_bundle.py b/tests/test_chronicle_bundle.py index 8a57cd62..7dc8168b 100644 --- a/tests/test_chronicle_bundle.py +++ b/tests/test_chronicle_bundle.py @@ -488,8 +488,10 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): # fact. No new geography, period or entity key, and no duplicate key: of # two vintages' numbers Chronicle keeps the later (chronicle#397). # PolicyEngine/uk-autumn-budget-dashboard-2026#316's HMRC benefits in kind - # statistics add 544 person facts. - "fact_count": 1663375, + # statistics add 544 person facts. chronicle#397 drops the 426 March 2026 + # EFO facts whose line and year the October 2026 packages also publish: + # receipts 238, expenditure 141, economy 30, aggregates 17. + "fact_count": 1662949, # The same change adds 82,064 geography keys: 46,363 Scottish 2022 # output areas (UV404), 35,673 LSOA-level keys from the DESNZ LSOA # workbooks (Scotland's data zones already exist), the 26 Northern @@ -526,11 +528,11 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): # journey series remain publisher facts with their original provenance. # PolicyEngine/microcosm#1415 adds none: totals the ISA tables print in # more than one of Tables 9.7 to 9.12 are ported once. - # chronicle#393 adds 363: the October 2026 EFO's projections of the March - # 2026 packages' lines for the years both vintages forecast, kept as - # published beside the March package so a consumer picks a vintage by - # package. - "semantic_duplicate_key_count": 2687, + # chronicle#393 added 363: the October 2026 EFO's projections of the March + # 2026 packages' lines for the years both vintages forecast. chronicle#397 + # removes them: the March packages keep only the line-years October does + # not publish. + "semantic_duplicate_key_count": 2324, # chronicle#310's six FSA portfolio packages (FY2026 files) and the # ACS 2024 S1501 state package have no 2023 artifact, so the 2023 # bundle skips them (10 -> 17); no fact or key count moves. @@ -592,7 +594,7 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): if row_count == 1: assert row["aggregate_fact_key"].startswith("ledger.aggregate_fact.v2:") assert row["semantic_fact_key"].startswith("ledger.semantic_fact.v2:") - assert row_count == 1663375 + assert row_count == 1662949 assert provenance_classes <= { "administrative", "census", @@ -627,7 +629,7 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): "jct-obbba-revenue-estimates-2025", "jct-tax-expenditures-2024", ] - assert coverage["fact_count"] == 1663375 + assert coverage["fact_count"] == 1662949 assert coverage["counts"]["by_source"] == { "bea": 446, "bfp_economic_outlook": 5, @@ -666,7 +668,7 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): "nisra": 29227, "nithc": 8, "nrs": 359094, - "obr": 4966, + "obr": 4540, "ofgem": 3640, "onem_rva_unemployment": 1, "ons": 347275, @@ -2271,6 +2273,22 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): }.items(): key = f"tax_year:{year}" expected_period_counts[key] = expected_period_counts.get(key, 0) + count + # chronicle#397: the March 2026 EFO packages keep only the line-years the October + # 2026 packages do not publish. + for key, count in { + "calendar_year:2025": 6, + "calendar_year:2026": 6, + "calendar_year:2027": 6, + "calendar_year:2028": 6, + "calendar_year:2029": 6, + "fiscal_year:2025": 57, + "fiscal_year:2026": 68, + "fiscal_year:2027": 68, + "fiscal_year:2028": 69, + "fiscal_year:2029": 69, + "fiscal_year:2030": 65, + }.items(): + expected_period_counts[key] -= count assert coverage["counts"]["by_period"] == expected_period_counts # country:NZ: 330 WFF (#209) + 5 national population (#211) + 27 Treasury # (#321) + 3,522 IRD I1 (#318) + 510 IRD I2 (#210) + 103 MSD (#319) @@ -2333,8 +2351,9 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): # expenditure table 5.9. chronicle#395 adds 40: ONS's vehicle duty (16) and # CPI gas (23) series, and the March EFO's 2024-25 VED outturn (1). HMRC's # benefits in kind statistics add 505 (all but Table 4's regions; - # PolicyEngine/uk-autumn-budget-dashboard-2026#316). - assert coverage["counts"]["by_geography"]["country:K02000001"] == 41423 + # PolicyEngine/uk-autumn-budget-dashboard-2026#316), and chronicle#397 drops + # 342 March 2026 EFO facts. + assert coverage["counts"]["by_geography"]["country:K02000001"] == 41081 # chronicle#343 adds the 63 OBR surcharge-costing facts for England, and # chronicle#358 ONS's 606 single-year residence-type rows for England. GSGB # 2025's England participation rows add 40. ISA Tables 9.9 and 9.12's @@ -2345,11 +2364,13 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): # chronicle#381's 1,435 Gambling Commission facts, the National Lottery's # included, as the publication describes them. GSGB 2025's Great Britain # tables (B.1, B.3, B.9 and B.13) add 544. The October 2026 EFO's table 5.9 - # DWP lines add 56 (chronicle#393). - assert coverage["counts"]["by_geography"]["country:K03000001"] == 23606 + # DWP lines add 56 (chronicle#393). chronicle#397 drops the March 2026 table 4.9 + # DWP lines' 48 facts after 2024-25. + assert coverage["counts"]["by_geography"]["country:K03000001"] == 23558 # England and Wales gains table 4.9's AA, CA, DLA/PIP and WFP lines (28), # and the October 2026 EFO's table 5.9 the same four lines (28, chronicle#393). - assert coverage["counts"]["by_geography"]["country:K04000001"] == 1204 + # chronicle#397 drops the March lines' 24 facts after 2024-25. + assert coverage["counts"]["by_geography"]["country:K04000001"] == 1180 assert coverage["counts"]["by_geography"]["statistical_scope:ofgem:london"] == 216 # PolicyEngine/microcosm#1415 adds HMRC's overseas and unknown scope, and # PolicyEngine/uk-autumn-budget-dashboard-2026#316 its unknown recipient region. @@ -2392,22 +2413,24 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): # Lone Pensioner Allowance), dwellings +360 (Disabled Person's Allowance) and # firms +8 (EKED). HMRC's benefits in kind statistics add 544 people # (PolicyEngine/uk-autumn-budget-dashboard-2026#316). + # chronicle#397's March 2026 EFO drop: people -337, government -47 and + # institutional sectors -42. assert coverage["counts"]["by_entity"] == { "benefit_unit": 33645, "dwelling": 274727, "family": 1700, "firm": 1504, - "government": 6749, + "government": 6702, "household": 676547, - "institutional_sector": 8919, + "institutional_sector": 8877, "pension_plan": 2, - "person": 599326, + "person": 598989, "return": 14952, "social_protection_scheme": 36, "tax_unit": 45268, } assert not coverage["duplicates"]["aggregate_fact_keys"] - assert len(coverage["duplicates"]["semantic_fact_keys"]) == 2687 + assert len(coverage["duplicates"]["semantic_fact_keys"]) == 2324 assert Counter(warning["code"] for warning in summary["warnings"]) == { "conflicting_geography_name_across_packages": 91, "conflicting_groupby_value_label": 24, diff --git a/tests/test_chronicle_obr_council_tax_decomposition.py b/tests/test_chronicle_obr_council_tax_decomposition.py index b00bde49..7c7dedfe 100644 --- a/tests/test_chronicle_obr_council_tax_decomposition.py +++ b/tests/test_chronicle_obr_council_tax_decomposition.py @@ -1,4 +1,4 @@ -"""OBR EFO March 2026 Table 4.1 council tax block, carried in full. +"""OBR EFO Table 4.1 (March 2026) and 5.1 (October 2026) council tax block. Row 19 'Total net council tax receipts' (concept obr.council_tax_total) equals row 15 'Total council tax receipts' (England + Scotland + Wales) plus NI @@ -6,6 +6,9 @@ high-value council tax surcharge. The decomposition rows let a consumer bind a household council tax liability to the GB cash-receipts total instead of the UK total that carries components with no household counterpart. + +Since chronicle#397 the March package keeps only 2024-25, the year the October +package does not print; October carries 2025-26 to 2031-32. """ from __future__ import annotations @@ -26,30 +29,8 @@ def _by_concept_period(facts): return table -def test_obr_table_4_1_council_tax_decomposition_rows(): - package = load_source_package("obr-efo-expenditure-march-2026") - facts = package.build_facts(2026) - table = _by_concept_period(facts) - - receipts_years = {period for concept, period in table if concept == RECEIPTS_GB} - accruals_years = {period for concept, period in table if concept == ACCRUALS} - surcharge_years = {period for concept, period in table if concept == SURCHARGE} - assert receipts_years == set(range(2024, 2031)) - assert accruals_years == set(range(2024, 2031)) - # The publisher prints the surcharge from 2028-29 only; blank cells emit no facts. - assert surcharge_years == {2028, 2029, 2030} - - # FY2025-26: GBP 49.569bn GB receipts, GBP 0.862bn accruals adjustment. - assert table[(RECEIPTS_GB, 2025)].value == pytest.approx(49_569_234_862.02, abs=0.01) - assert table[(ACCRUALS, 2025)].value == pytest.approx(861_928_964.29, abs=0.01) - assert table[(SURCHARGE, 2028)].value == 454_292_600 - assert table[(RECEIPTS_GB, 2024)].assertion == "observation" - assert table[(RECEIPTS_GB, 2025)].assertion == "source_projection" - assert {table[(RECEIPTS_GB, y)].geography.id for y in range(2024, 2031)} == { - "K02000001" - } - - for year in range(2024, 2031): +def _assert_decomposition(table, years): + for year in years: nations = sum( table[(concept, year)].value for concept in ( @@ -70,6 +51,42 @@ def test_obr_table_4_1_council_tax_decomposition_rows(): assert table[("obr.council_tax_total", year)].value == pytest.approx( components, rel=1e-9 ) - # chronicle#357 adds table 4.9's two Northern Ireland rows for each of the - # seven years. - assert len(facts) == 164 + + +def _years(table, concept): + return {period for key, period in table if key == concept} + + +def test_obr_table_4_1_council_tax_decomposition_rows(): + facts = load_source_package("obr-efo-expenditure-march-2026").build_facts(2026) + table = _by_concept_period(facts) + + assert _years(table, RECEIPTS_GB) == {2024} + assert _years(table, ACCRUALS) == {2024} + # The surcharge is forecast from 2028-29, so October alone carries it. + assert _years(table, SURCHARGE) == set() + # FY2024-25 outturn: GBP 46.389bn GB receipts, GBP 0.807bn accruals adjustment. + assert table[(RECEIPTS_GB, 2024)].value == pytest.approx(46_389_308_000, abs=0.01) + assert table[(ACCRUALS, 2024)].value == pytest.approx(806_635_170.18, abs=0.01) + assert table[(RECEIPTS_GB, 2024)].assertion == "observation" + assert table[(RECEIPTS_GB, 2024)].geography.id == "K02000001" + _assert_decomposition(table, [2024]) + # chronicle#357 adds table 4.9's two Northern Ireland rows; chronicle#397 keeps + # each of the 23 lines' 2024-25 outturn. + assert len(facts) == 23 + + +def test_obr_table_5_1_council_tax_decomposition_rows_in_october(): + table = _by_concept_period( + load_source_package("obr-efo-expenditure-october-2026").build_facts(2026) + ) + + years = set(range(2025, 2032)) + assert _years(table, RECEIPTS_GB) == years + assert _years(table, ACCRUALS) == years + # The publisher prints the surcharge from 2028-29 only; blank cells emit no facts. + assert _years(table, SURCHARGE) == {2028, 2029, 2030, 2031} + assert table[(SURCHARGE, 2028)].value == 397_292_600 + assert table[(RECEIPTS_GB, 2025)].assertion == "observation" + assert table[(RECEIPTS_GB, 2026)].assertion == "source_projection" + _assert_decomposition(table, sorted(years)) diff --git a/tests/test_chronicle_source_package.py b/tests/test_chronicle_source_package.py index 4c353a49..c7c94a6d 100644 --- a/tests/test_chronicle_source_package.py +++ b/tests/test_chronicle_source_package.py @@ -4305,13 +4305,14 @@ def test_kff_marketplace_effectuated_enrollment_builds_2024_state_facts(): def test_obr_efo_economy_package_validates_macro_series_counts(): report = validate_source_package("obr-efo-economy-march-2026", year=2026) + # chronicle#397: calendar 2024 only; the October 2026 EFO carries 2025 on. assert report.valid assert report.counts == { - "record_set_count": 36, - "row_count": 36, - "measure_count": 36, - "source_record_count": 36, - "source_region_count": 36, + "record_set_count": 6, + "row_count": 6, + "measure_count": 6, + "source_record_count": 6, + "source_region_count": 6, } @@ -4323,37 +4324,40 @@ def test_obr_efo_economy_package_builds_cell_faithful_macro_facts(): assert validate_source_cells(cells).valid assert validate_facts(facts).valid - assert len(facts) == 36 + assert len(facts) == 6 nominal_gdp_2024 = values_by_record[ "obr.efo_2026_03.economy.nominal_gdp_nsa.cy2024.nominal_gdp_nsa.nominal_gdp_nsa" ] - cpi_2025 = values_by_record[ - "obr.efo_2026_03.economy.cpi_inflation.cy2025.cpi_inflation.cpi_inflation" + cpi_2024 = values_by_record[ + "obr.efo_2026_03.economy.cpi_inflation.cy2024.cpi_inflation.cpi_inflation" ] - bank_rate_2029 = values_by_record[ - "obr.efo_2026_03.economy.bank_rate.cy2029.bank_rate.bank_rate" + bank_rate_2024 = values_by_record[ + "obr.efo_2026_03.economy.bank_rate.cy2024.bank_rate.bank_rate" ] + assert {fact.period.value for fact in facts} == {2024} assert nominal_gdp_2024.value == 2_890_664_000_000 assert nominal_gdp_2024.period.type == "calendar_year" assert nominal_gdp_2024.assertion == "observation" assert nominal_gdp_2024.measure.concept == "obr.nominal_gdp_nsa" - assert cpi_2025.value == pytest.approx(3.3730368724933735) - assert cpi_2025.assertion == "source_projection" - assert bank_rate_2029.value == pytest.approx(3.741552661678499) + assert cpi_2024.value == pytest.approx(2.5301927741606) + assert cpi_2024.assertion == "observation" + assert bank_rate_2024.value == pytest.approx(5.111) def test_obr_efo_aggregates_package_validates_fiscal_series_counts(): report = validate_source_package("obr-efo-aggregates-march-2026", year=2026) + # chronicle#397: net debt's 2024-25 and the other three lines' 2025-26, the + # years the October 2026 EFO does not print. assert report.valid assert report.counts == { - "record_set_count": 21, - "row_count": 21, - "measure_count": 21, - "source_record_count": 21, - "source_region_count": 21, + "record_set_count": 4, + "row_count": 4, + "measure_count": 4, + "source_record_count": 4, + "source_region_count": 4, } @@ -4365,7 +4369,7 @@ def test_obr_efo_aggregates_package_builds_cell_faithful_fiscal_facts(): assert validate_source_cells(cells).valid assert validate_facts(facts).valid - assert len(facts) == 21 + assert len(facts) == 4 psnb_2025 = values_by_record[ "obr.efo_2026_03.aggregates.public_sector_net_borrowing.fy2025." diff --git a/tests/test_issue_357_microcosm_1095_ports.py b/tests/test_issue_357_microcosm_1095_ports.py index 257971fe..bef8451b 100644 --- a/tests/test_issue_357_microcosm_1095_ports.py +++ b/tests/test_issue_357_microcosm_1095_ports.py @@ -180,15 +180,20 @@ def value(line, year): ] return fact.value + # chronicle#397: only the 2024-25 outturn, which the October 2026 EFO does not + # print, stays in the March package. + assert { + fact.period.value + for fact in facts + if fact.layout.record_set_id.startswith("obr.efo_2026_03.receipts.sdlt") + } == {2024} # Outturn 2024-25 equals HMRC's all-buyer totals (Tables 8a and 8b). assert value("sdlt_residential", 2024) == pytest.approx(10.38e9) assert value("sdlt_non_residential", 2024) == pytest.approx(3.505e9) - # The two property types make up sheet 3.8's SDLT line in every year. - for year in range(2024, 2031): - total = value("sdlt", year) - assert value("sdlt_residential", year) + value( - "sdlt_non_residential", year - ) == pytest.approx(total, rel=1e-9) + # The two property types make up sheet 3.8's SDLT line. + assert value("sdlt_residential", 2024) + value( + "sdlt_non_residential", 2024 + ) == pytest.approx(value("sdlt", 2024), rel=1e-9) EXPENDITURE_STAMPS = { @@ -215,7 +220,8 @@ def test_obr_table_4_9_lines_carry_dwp_geography(): table = [ f for f in facts if f.layout.record_set_id.split(".")[3] in EXPENDITURE_STAMPS ] - assert len(table) == len(EXPENDITURE_STAMPS) * 7 + # chronicle#397: 2024-25 only; the October 2026 EFO carries the later years. + assert len(table) == len(EXPENDITURE_STAMPS) for fact in table: line = fact.layout.record_set_id.split(".")[3] assert fact.geography.id == EXPENDITURE_STAMPS[line], (line, fact.geography.id) @@ -234,8 +240,8 @@ def test_obr_table_4_9_lines_carry_dwp_geography(): assert by_line[("ni_social_security_in_welfare_cap", 2024)] == pytest.approx( 5_709_140_000 ) - assert by_line[("ni_social_security_outside_welfare_cap", 2030)] == pytest.approx( - 5_493_620_000 + assert by_line[("ni_social_security_outside_welfare_cap", 2024)] == pytest.approx( + 3_999_748_000 ) assert by_line[("carers_allowance", 2024)] == pytest.approx(4_239_907_876.11) # Table 4.1 and 4.19 lines keep the United Kingdom. diff --git a/tests/test_issue_381_uk_excise_facts.py b/tests/test_issue_381_uk_excise_facts.py index e1399cd5..4acde184 100644 --- a/tests/test_issue_381_uk_excise_facts.py +++ b/tests/test_issue_381_uk_excise_facts.py @@ -109,14 +109,30 @@ def test_packages_are_registered_valid_and_labelled(alias, facts): assert max(keys.values()) == 1 +SHEET_3_10_LINES = ( + "betting_and_gaming_duties_accrued", + "remote_gaming_duty", + "lottery_duty", + "general_betting_duty", + "machine_games_duty", + "gaming_duty", + "bingo_duty", + "pool_betting_duty", +) + + def test_obr_excise_lines(receipts): _cells, built = receipts new = [f for f in built if f.period_coverage is not None] - assert len(built) == 280 and len(new) == 182 - lines = Counter(f.layout.record_set_id.split(".")[3] for f in new) + # chronicle#397: each line keeps only the year the October 2026 EFO does not + # print, its 2024-25 outturn, or 2025-26 for sheet 3.10, which October's table + # 4.10 starts in 2026-27. Vehicle excise duties (chronicle#395) keep 2024-25. + assert len(built) == 42 and len(new) == 28 + lines = {f.layout.record_set_id.split(".")[3]: f.period.value for f in new} + assert len(lines) == len(new) assert lines == { **{ - line: 7 + line: 2024 for line in ( "tobacco_duties", "spirits_duties", @@ -139,21 +155,9 @@ def test_obr_excise_lines(receipts): "statutory_gaming_levy", ) }, - **{ - line: 6 - for line in ( - "betting_and_gaming_duties_accrued", - "remote_gaming_duty", - "lottery_duty", - "general_betting_duty", - "machine_games_duty", - "gaming_duty", - "bingo_duty", - "pool_betting_duty", - ) - }, + **{line: 2025 for line in SHEET_3_10_LINES}, # chronicle#395: the 2024-25 outturn only; October 2026 carries the later years. - "vehicle_excise_duties": 1, + "vehicle_excise_duties": 2024, } def line(name, year): @@ -185,24 +189,19 @@ def line(name, year): assert accrued.period_coverage.accounting_basis == "accrual" assert cash.period_coverage.start_date == "2024-04-01" assert line("tobacco_duties", 2024).value == 7927000000 - assert line("vaping_tax", 2025).value == 0 + assert line("vaping_tax", 2024).value == 0 assert line("statutory_gaming_levy", 2024).period_coverage.accounting_basis is None - # Outturn 2024-25 is observed; sheet 3.10 starts at 2025-26 and is all forecast. + # Outturn 2024-25 is observed; sheet 3.10 starts at 2025-26, a forecast. assert line("tobacco_duties", 2024).assertion == "observation" - assert line("tobacco_duties", 2025).assertion == "source_projection" sheet_3_10 = [ - f - for f in new - if f.period_coverage.source_period_label - and lines[f.layout.record_set_id.split(".")[3]] == 6 + f for f in new if f.layout.record_set_id.split(".")[3] in SHEET_3_10_LINES ] - assert len(sheet_3_10) == 48 + assert len(sheet_3_10) == 8 assert {f.assertion for f in sheet_3_10} == {"source_projection"} - for year in range(2024, 2031): - assert line("non_cigarette_tobacco_clearances", year).value == pytest.approx( - line("hand_rolled_tobacco_clearances", year).value - + line("other_tobacco_products_clearances", year).value - ) + assert line("non_cigarette_tobacco_clearances", 2024).value == pytest.approx( + line("hand_rolled_tobacco_clearances", 2024).value + + line("other_tobacco_products_clearances", 2024).value + ) def test_obr_sheet_3_10_is_accrued(receipts): @@ -212,25 +211,22 @@ def test_obr_sheet_3_10_is_accrued(receipts): } assert sheet_3_1["B7"] == "Betting and gaming taxes" assert sheet_3_1["B17"] == "Note: All taxes are on an accrued basis." - duties = ( - "remote_gaming_duty", - "lottery_duty", - "general_betting_duty", - "machine_games_duty", - "gaming_duty", - "bingo_duty", - "pool_betting_duty", - ) + sheet_3_8 = { + cell.address: cell.raw_value for cell in cells if cell.sheet_name == "3.8" + } + assert sheet_3_8["B36"] == "Betting and gaming duties" + assert sheet_3_8["E5"] == "2025-26" + duties = SHEET_3_10_LINES[1:] by_id = {f.layout.record_set_id: f for f in built} - for offset, year in enumerate(range(2025, 2031)): - total = by_id[f"{OBR_PREFIX}betting_and_gaming_duties_accrued.fy{year}"] - cash = by_id[f"{OBR_PREFIX}betting_and_gaming_duties.fy{year}"] - assert total.value == pytest.approx(sheet_3_1["DEFGHI"[offset] + "7"] * 1e9) - assert total.value != pytest.approx(cash.value) - assert total.filters == {"accounting_basis": "accrual"} - assert sum( - by_id[f"{OBR_PREFIX}{duty}.fy{year}"].value for duty in duties - ) == pytest.approx(total.value) + # chronicle#397 keeps 2025-26 only: October's table 4.10 starts in 2026-27. + total = by_id[f"{OBR_PREFIX}betting_and_gaming_duties_accrued.fy2025"] + assert total.value == pytest.approx(sheet_3_1["D7"] * 1e9) + # Sheet 3.8's cash line for 2025-26 is the October package's now. + assert total.value != pytest.approx(sheet_3_8["E36"] * 1e9) + assert total.filters == {"accounting_basis": "accrual"} + assert sum( + by_id[f"{OBR_PREFIX}{duty}.fy2025"].value for duty in duties + ) == pytest.approx(total.value) def test_alcohol_bulletin_clearances_by_product_and_breakdown(facts): diff --git a/tests/test_scale_value.py b/tests/test_scale_value.py index 3a8fcf14..505af465 100644 --- a/tests/test_scale_value.py +++ b/tests/test_scale_value.py @@ -115,18 +115,18 @@ def test_non_integral_package_values_keep_their_binary_doubles(): from chronicle.source_package import load_source_package expected = { + # chronicle#397 left the March 2026 EFO packages with 2024-25 (and a few + # 2025-26 lines) only: state pension FY2030-31 and income tax FY2025-26 went + # with the years the October 2026 packages publish. ("obr-efo-expenditure-march-2026", 2026): { - # all-Decimal: 180697298614.88257 - "obr.efo_2026_03.expenditure.state_pension" - ".fy2030.state_pension.amount": "180697298614.8826", # all-Decimal: 2938385000.0 "obr.efo_2026_03.expenditure.council_tax_scotland" ".fy2024.council_tax_scotland.amount": "2938385000.0000005", }, ("obr-efo-receipts-march-2026", 2026): { - # all-Decimal: 331437583074.4428 - "obr.efo_2026_03.receipts.income_tax" - ".fy2025.income_tax.amount": "331437583074.4429", + # all-Decimal: 47375027967.77022 + "obr.efo_2026_03.receipts.ni_employee" + ".fy2024.ni_employee.amount": "47375027967.770226", # all-Decimal: 115446805221.42703 "obr.efo_2026_03.receipts.ni_employer" ".fy2024.ni_employer.amount": "115446805221.42705", diff --git a/tests/test_source_obr_efo_october_2026.py b/tests/test_source_obr_efo_october_2026.py index 81fde946..01aa882d 100644 --- a/tests/test_source_obr_efo_october_2026.py +++ b/tests/test_source_obr_efo_october_2026.py @@ -140,6 +140,65 @@ def lines(prefix: str, built) -> dict[str, set[str]]: october_lines = lines(f"{OCTOBER}.{kind}.", facts[kind].values()) for line, concepts in march_lines.items(): assert october_lines.get(line) == concepts, line + # chronicle#397: a line October prints in every year it has left the March + # package; the build keeps its March record set, and October its id and concept. + generator = runpy.run_path(str(ROOT / "scripts/build_obr_efo_october_2026.py")) + for text in generator["LINES_LEFT_IN_OCTOBER_ONLY"].get(kind, ()): + (record_set,) = yaml.safe_load(text) + line = re.sub( + r"\.(fy|cy)\d{4}$", + "", + record_set["record_set_id"].removeprefix(f"obr.efo_2026_03.{kind}."), + ) + assert line not in march_lines, line + assert october_lines[line] == {record_set["measures"][0]["concept"]}, line + + +# chronicle#397: of two vintages' numbers for one line and year, Chronicle keeps the +# later. What the March 2026 packages keep, by line: every line's 2024-25 outturn +# (calendar 2024 for the economy), except the lines October starts in 2026-27, which +# keep their 2025-26 forecast. +MARCH_KEEPS = { + "receipts": (42, {2024: 34, 2025: 8}), + "expenditure": (23, {2024: 23}), + "economy": (6, {2024: 6}), + "aggregates": (4, {2024: 1, 2025: 3}), +} + + +@pytest.mark.parametrize("kind", ("receipts", "expenditure", "economy", "aggregates")) +def test_march_keeps_only_the_line_years_october_does_not_publish(facts, kind): + march = load_source_package(f"obr-efo-{kind}-march-2026").build_facts(2026) + october = {fact.layout.record_set_id for fact in facts[kind].values()} + record_sets = {fact.layout.record_set_id for fact in march} + assert not { + record_set + for record_set in record_sets + if record_set.replace("obr.efo_2026_03.", f"{OCTOBER}.", 1) in october + } + count, years = MARCH_KEEPS[kind] + assert len(march) == len(record_sets) == count + assert Counter(fact.period.value for fact in march) == years + lines = Counter( + re.sub(r"\.(fy|cy)\d{4}$", "", record_set) for record_set in record_sets + ) + assert set(lines.values()) == {1} + # The later years are October's now, each line under the same line id. + assert { + line.replace("obr.efo_2026_03.", f"{OCTOBER}.", 1) for line in lines + } <= {re.sub(r"\.(fy|cy)\d{4}$", "", record_set) for record_set in october} + if kind == "aggregates": + forecasts = { + fact.measure.concept for fact in march if fact.period.value == 2025 + } + assert forecasts == { + "obr.public_sector_current_receipts", + "obr.total_managed_expenditure", + "obr.public_sector_net_borrowing", + } + assert {fact.assertion for fact in march if fact.period.value == 2025} == { + "source_projection" + } def test_outturn_and_forecast_follow_the_tables(facts): From 84232bca5548975726fa1381dfba88779034fd26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Fri, 30 Oct 2026 15:37:28 +0000 Subject: [PATCH 3/4] Record the R2 location of the benefits in kind workbook `chronicle publish-raw` uploaded 2026_Tables_1_to_4.ods to r2://ledger-raw/raw/uk/hmrc/hmrc-benefits-in-kind-july-2026/2026// and wrote storage.r2 into the manifest. `chronicle verify-raw` finds the remote object's SHA-256 and size (42,963 bytes) equal to the manifest's, so the package's facts now carry raw_r2_uri and pass the consumer contract. Co-Authored-By: Claude Opus 5.5 --- .../hmrc/benefits_in_kind_july_2026/manifest.yaml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/db/data/hmrc/benefits_in_kind_july_2026/manifest.yaml b/db/data/hmrc/benefits_in_kind_july_2026/manifest.yaml index 491351b5..f56ad758 100644 --- a/db/data/hmrc/benefits_in_kind_july_2026/manifest.yaml +++ b/db/data/hmrc/benefits_in_kind_july_2026/manifest.yaml @@ -6,8 +6,12 @@ table: 'Benefits in kind statistics: July 2026, Tables 1 to 4: company car benef and company car fuel benefit' license: Open Government Licence v3.0 license_url: https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/ -attribution: 'Source: HM Revenue and Customs, Benefits in kind statistics: July 2026. Contains public sector information licensed under the Open Government Licence v3.0.' -license_evidence: 'The GOV.UK publication page (https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026) states that all content is available under the Open Government Licence v3.0, except where otherwise stated. The workbook states no other terms: its Contents and Notes sheets carry no licence or copyright line.' +attribution: 'Source: HM Revenue and Customs, Benefits in kind statistics: July 2026. + Contains public sector information licensed under the Open Government Licence v3.0.' +license_evidence: 'The GOV.UK publication page (https://www.gov.uk/government/statistics/benefits-in-kind-statistics-july-2026) + states that all content is available under the Open Government Licence v3.0, except + where otherwise stated. The workbook states no other terms: its Contents and Notes + sheets carry no licence or copyright line.' license_verified_at: '2026-10-30' files: 2026: @@ -16,3 +20,9 @@ files: sha256: a0ee56173ad12b784c3b986652f904c1229e165f5b27454b44ac9144cd98c678 size_bytes: 42963 fetched_at: '2026-10-30T13:36:48+00:00' + storage: + r2: + provider: r2 + bucket: ledger-raw + key: raw/uk/hmrc/hmrc-benefits-in-kind-july-2026/2026/a0ee56173ad12b784c3b986652f904c1229e165f5b27454b44ac9144cd98c678/2026_Tables_1_to_4.ods + uri: r2://ledger-raw/raw/uk/hmrc/hmrc-benefits-in-kind-july-2026/2026/a0ee56173ad12b784c3b986652f904c1229e165f5b27454b44ac9144cd98c678/2026_Tables_1_to_4.ods From ac9d7bbb0f36ceafcfa8bd46c102253bd7af79af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Fri, 30 Oct 2026 17:17:43 +0000 Subject: [PATCH 4/4] Drop sheet 3.10's 2025-26 total, which October prints as table 4.1 Vahid's review of PolicyEngine/chronicle#399: March kept obr.efo_2026_03.receipts.betting_and_gaming_duties_accrued.fy2025, but October publishes the same line and year (concept obr.betting_and_gaming_duties, accrued, UK, FY2025) as table 4.1's 'Betting and gaming taxes', under another line id. The generators now match March and October on concept, unit, constraints, domain, geography, entity and period, not on line id, so that record set goes too. The October build keeps the line's March record set as its template, in its place, so October's facts are unchanged. The test compares facts the same way. March keeps 74 facts: 73, and chronicle#395's VED outturn. Where the build, the October packages' headers, a test docstring, the October doc and the #393 changelog fragment still described the two vintages side by side, they now say the years both publish are October's only. Co-Authored-By: Claude Opus 5.5 --- changelog.d/397.fixed.md | 2 +- changelog.d/obr-efo-october-2026.added.md | 2 +- docs/data-sources/uk-excise-facts.md | 5 +- docs/data-sources/uk-obr-efo-october-2026.md | 25 ++-- docs/pe-uk-source-checklist.md | 4 +- .../source_package.yaml | 8 +- .../source_package.yaml | 8 +- .../source_package.yaml | 8 +- .../source_package.yaml | 85 ++----------- .../source_package.yaml | 8 +- scripts/build_obr_efo_october_2026.py | 114 +++++++++++++++--- scripts/build_uk_1095_port_packages.py | 47 ++++++-- scripts/build_uk_excise_packages.py | 62 +++++++--- tests/test_chronicle_bundle.py | 22 ++-- tests/test_issue_381_uk_excise_facts.py | 35 +++--- tests/test_source_obr_efo_october_2026.py | 37 +++++- 16 files changed, 295 insertions(+), 177 deletions(-) diff --git a/changelog.d/397.fixed.md b/changelog.d/397.fixed.md index 1accc75f..0eef6fd0 100644 --- a/changelog.d/397.fixed.md +++ b/changelog.d/397.fixed.md @@ -1 +1 @@ -Keep one number per OBR EFO line and year (chronicle#397): the March 2026 receipts, expenditure, economy and aggregates packages drop the 426 facts whose line and year the October 2026 packages also publish, and keep the 75 October lacks: each line's 2024-25 outturn (calendar 2024 for the economy), and the 2025-26 forecasts of the lines October starts in 2026-27 (sheet 3.10's betting and gaming duties and the aggregates' current receipts, total managed expenditure and net borrowing). Every March line keeps its line id and concept, the October packages are unchanged, and the bundle's 363 semantic duplicate keys between the vintages are gone. +Keep one number per OBR EFO line and year (chronicle#397): the March 2026 receipts, expenditure, economy and aggregates packages drop the 427 facts whose line and year the October 2026 packages also publish, under any line id, and keep the 74 October lacks: each line's 2024-25 outturn (calendar 2024 for the economy), and the 2025-26 forecasts of the lines October starts in 2026-27 (the seven duties sheet 3.10 breaks betting and gaming duties into, and the aggregates' current receipts, total managed expenditure and net borrowing). Sheet 3.10's 2025-26 total goes too, as October prints it as table 4.1's 'Betting and gaming taxes'. Every March line keeps its line id and concept, the October packages' facts are unchanged, and the bundle's 363 semantic duplicate keys between the vintages are gone. diff --git a/changelog.d/obr-efo-october-2026.added.md b/changelog.d/obr-efo-october-2026.added.md index db0d39a8..9eda23ce 100644 --- a/changelog.d/obr-efo-october-2026.added.md +++ b/changelog.d/obr-efo-october-2026.added.md @@ -1 +1 @@ -Add the OBR's October 2026 Economic and fiscal outlook (chronicle#393) beside the March 2026 vintage: the whole receipts workbook except tables 4.9 and 4.19 (Table 4.5's savings income and the gambling duties included), the March expenditure, economy and aggregates lines with the deposit rate and household financial assets, and the policy workbook's costing of each Budget measure. The March lines keep their line ids and concepts under obr.efo_2026_10, so a consumer changes vintage by package. +Add the OBR's October 2026 Economic and fiscal outlook (chronicle#393) beside the March 2026 vintage, which since chronicle#397 keeps only the years October does not print: the whole receipts workbook except tables 4.9 and 4.19 (Table 4.5's savings income and the gambling duties included), the March expenditure, economy and aggregates lines with the deposit rate and household financial assets, and the policy workbook's costing of each Budget measure. The March lines keep their line ids and concepts under obr.efo_2026_10, so a consumer changes vintage by package. diff --git a/docs/data-sources/uk-excise-facts.md b/docs/data-sources/uk-excise-facts.md index 579717da..1f70ea1d 100644 --- a/docs/data-sources/uk-excise-facts.md +++ b/docs/data-sources/uk-excise-facts.md @@ -31,8 +31,9 @@ The archived `efo_receipts.xlsx` (sha256 `f65b6cb7…`); no new download. Record in the package's existing shape. Unlike the earlier lines, these carry `period_coverage`. Since [chronicle#397](https://github.com/PolicyEngine/chronicle/issues/397) the package keeps only the years the October 2026 EFO does not print: 2024-25 for these lines, and -2025-26 for sheet 3.10's. `obr-efo-receipts-october-2026` carries the later years under -the same line ids. +2025-26 for sheet 3.10's seven duties. `obr-efo-receipts-october-2026` carries the later +years under the same line ids, and sheet 3.10's 2025-26 total as table 4.1's 'Betting +and gaming taxes'. - **Sheet 3.8** (cash basis, as its title and note state), rows 27 to 30, 36 and 48: tobacco, spirits, wine, and beer and cider duties, betting and gaming duties and vaping diff --git a/docs/data-sources/uk-obr-efo-october-2026.md b/docs/data-sources/uk-obr-efo-october-2026.md index 71664eb9..dcc52805 100644 --- a/docs/data-sources/uk-obr-efo-october-2026.md +++ b/docs/data-sources/uk-obr-efo-october-2026.md @@ -2,7 +2,9 @@ [PolicyEngine/chronicle#393](https://github.com/PolicyEngine/chronicle/issues/393) asks for the October 2026 EFO, which the OBR published with the Budget on 28 October 2026, as a new -vintage beside the March 2026 one. policyengine-uk is moving its economic assumptions to it +vintage beside the March 2026 one. Since +[chronicle#397](https://github.com/PolicyEngine/chronicle/issues/397), the years both +vintages publish are October's only (see below). policyengine-uk is moving its economic assumptions to it (PolicyEngine/policyengine-uk#2717); Microcosm's OBR targets read the March vintage today and re-pin when the engine moves (PolicyEngine/microcosm#1095). Every value is a published OBR figure; no microdata is involved. @@ -32,19 +34,24 @@ The manifests carry each file's canonical R2 key; `chronicle publish-raw` upload - **The vintage.** Record-set ids start `obr.efo_2026_10.`. Where both vintages publish a number for the same line and year, Chronicle keeps October's ([chronicle#397](https://github.com/PolicyEngine/chronicle/issues/397)). The March 2026 - packages, under `obr.efo_2026_03.`, keep only the 75 line-years October lacks: + packages, under `obr.efo_2026_03.`, keep only the 74 line-years October lacks: - every line's 2024-25 outturn (calendar 2024 for the economy lines); - - the 2025-26 forecasts of the lines October starts in 2026-27: sheet 3.10's betting - and gaming duties and the seven duties it breaks them into (October's table 4.10), - and the aggregates' public sector current receipts, total managed expenditure and net + - the 2025-26 forecasts of the lines October starts in 2026-27: the seven duties sheet + 3.10 breaks betting and gaming duties into (October's table 4.10), and the + aggregates' public sector current receipts, total managed expenditure and net borrowing. + + A line and year counts as October's under any line id. Sheet 3.10's own 2025-26 total + goes too: October prints it as table 4.1's 'Betting and gaming taxes', with the same + concept (`obr.betting_and_gaming_duties`) and accrued basis. - **March lines.** Every line of the four March packages keeps its line id, display label and concept. Its October table is found by title, since the chapters moved by one: receipts tables 3.x are now 4.x and expenditure tables 4.x are now 5.x. Its row is found - by label. Each record set carries its October table and row. The high-value council tax - surcharge has no 2024-25 value, so it left the March package; the build keeps its March - record set (`LINES_LEFT_IN_OCTOBER_ONLY`), and its October line keeps the March line id - and concept. + by label. Each record set carries its October table and row. Two lines left the March + packages: sheet 3.10's betting and gaming total, and the high-value council tax + surcharge, which has no 2024-25 value. The build keeps their March record sets + (`LINES_LEFT_IN_OCTOBER_ONLY`), so their October lines keep the March line id and + concept. - **Outturn and forecast.** Each year column's assertion follows the band above it. 'Outturn' (and 'Estimate', 'Estimated Outurn') gives `observation`, and 'Forecast' gives `source_projection`; a table with no band is all forecast. 2025-26 is outturn in October diff --git a/docs/pe-uk-source-checklist.md b/docs/pe-uk-source-checklist.md index 3287f8ad..00aaf4d8 100644 --- a/docs/pe-uk-source-checklist.md +++ b/docs/pe-uk-source-checklist.md @@ -62,7 +62,7 @@ cannot be obtained. Nothing in uk-data is absent from this table. | uk-data family (module) | targets | status | Chronicle package(s) | PR | source reuse / notes | |---|---|---|---|---|---| | Region×age population ([`ons_demographics.py`](https://github.com/PolicyEngine/policyengine-uk-data/blob/ebf733c/policyengine_uk_data/targets/sources/ons_demographics.py)) | 142 `ons/{region}_age_{band}` | **ported** | `ons-mye-2023-uk-countries`, `ons-mye-2023-england-regions`, `ons-mye-2024-uk`, `ons-uk-population-projections-2024` | [#137](https://github.com/PolicyEngine/chronicle/pull/137) | **Replaced.** uk-data reads a committed `demographics.csv` with no artifact lineage (the SNPP has no stable machine-readable URL). Chronicle packages the publisher MYE workbooks ([mid-2023 UK](https://www.ons.gov.uk/peoplepopulationandcommunity/populationandmigration/populationestimates/datasets/populationestimatesforukenglandandwalesscotlandandnorthernireland), [mid-2023 E&W regions](https://www.ons.gov.uk/peoplepopulationandcommunity/populationandmigration/populationestimates/datasets/estimatesofthepopulationforenglandandwales), mid-2024 UK) and the [2024-based NPP principal](https://www.ons.gov.uk/peoplepopulationandcommunity/populationandmigration/populationprojections/datasets/z1zippedpopulationprojectionsdatafilesuk) at single year of age; the fixture's 10-year bands (proven exhaustive, `_age_80_89` = 80+) are a populace-side mapping. | -| OBR EFO receipts + expenditure ([`obr.py`](https://github.com/PolicyEngine/policyengine-uk-data/blob/ebf733c/policyengine_uk_data/targets/sources/obr.py)) | ~28 realized `obr/*` | **ported** | `obr-efo-receipts-march-2026`, `obr-efo-expenditure-march-2026` (FY2024–30 until [chronicle#397](https://github.com/PolicyEngine/chronicle/issues/397), which leaves them FY2024-25, and FY2025-26 for sheet 3.10's lines; the years after are in `obr-efo-receipts-october-2026` and `obr-efo-expenditure-october-2026`, which carry the whole council tax block, including the GB receipts total, the accruals adjustment and the high-value surcharge rows) | [#139](https://github.com/PolicyEngine/chronicle/pull/139) | **Same bytes.** uk-data commits the March-2026 EFO workbooks under `storage/obr_efo/` (obr.uk 403s CI); the Chronicle artifacts are sha256-identical to them (`f65b6cb7…`, `700bfd70…`), double-fetched from [obr.uk](https://obr.uk/efo/economic-and-fiscal-outlook-march-2026/) on a residential connection. | +| OBR EFO receipts + expenditure ([`obr.py`](https://github.com/PolicyEngine/policyengine-uk-data/blob/ebf733c/policyengine_uk_data/targets/sources/obr.py)) | ~28 realized `obr/*` | **ported** | `obr-efo-receipts-march-2026`, `obr-efo-expenditure-march-2026` (FY2024–30 until [chronicle#397](https://github.com/PolicyEngine/chronicle/issues/397), which leaves them FY2024-25, and FY2025-26 for sheet 3.10's seven duties; the years after are in `obr-efo-receipts-october-2026` and `obr-efo-expenditure-october-2026`, which carry the whole council tax block, including the GB receipts total, the accruals adjustment and the high-value surcharge rows) | [#139](https://github.com/PolicyEngine/chronicle/pull/139) | **Same bytes.** uk-data commits the March-2026 EFO workbooks under `storage/obr_efo/` (obr.uk 403s CI); the Chronicle artifacts are sha256-identical to them (`f65b6cb7…`, `700bfd70…`), double-fetched from [obr.uk](https://obr.uk/efo/economic-and-fiscal-outlook-march-2026/) on a residential connection. | | ONS savings interest ([`ons_savings.py`](https://github.com/PolicyEngine/policyengine-uk-data/blob/ebf733c/policyengine_uk_data/targets/sources/ons_savings.py)) | 1 `ons/savings_interest_income` | **ported** | `ons-savings-interest-income` (8 facts, 2018–2025) | [#139](https://github.com/PolicyEngine/chronicle/pull/139) | **Same series, pinned snapshot.** Both read the [HAXV/UKEA series](https://www.ons.gov.uk/economy/grossdomesticproductgdp/timeseries/haxv/ukea); uk-data downloads at runtime and flat-fills the last actual through 2029 (**excluded, computed**); Chronicle pins the 2026-06-30 CSV release bytes. | | Household types ([`ons_households.py`](https://github.com/PolicyEngine/policyengine-uk-data/blob/ebf733c/policyengine_uk_data/targets/sources/ons_households.py)) | household-type counts | **ported** | `ons-families-households-2025` (816 facts: Table 7 households by type, Table 5 household size, and, from [#235](https://github.com/PolicyEngine/chronicle/issues/235), Tables 1 and 3 families by family type and presence of children / number of dependent children with the published CI± half-widths and CV-category guards, UK, 2018–2025); `ons-households-by-type-country-2025` (1 fact, Scotland 2025 couple households with 3+ dependent children) | [#139](https://github.com/PolicyEngine/chronicle/pull/139), [#196](https://github.com/PolicyEngine/chronicle/issues/196) | **Same UK artifact plus country worksheet add-on.** The UK row uses `familiesandhouseholdsuk2025.xlsx` from [Families and households](https://www.ons.gov.uk/peoplepopulationandcommunity/birthsdeathsandmarriages/families/datasets/familiesandhouseholdsfamiliesandhouseholds). The #196 add-on pins [Households by type of household and family, regions and GB constituent countries](https://www.ons.gov.uk/peoplepopulationandcommunity/birthsdeathsandmarriages/families/datasets/householdsbytypeofhouseholdandfamilyregionsofenglandandgbconstituentcountries) and ports Scotland worksheet cell `B21`: 57 thousand couple households with 3+ dependent children in 2025 (`survey_aggregate`, LFS). | | Salary-sacrifice relief ([`hmrc_salary_sacrifice.py`](https://github.com/PolicyEngine/policyengine-uk-data/blob/ebf733c/policyengine_uk_data/targets/sources/hmrc_salary_sacrifice.py)) | 3 `hmrc/salary_sacrifice_*`; #196 gross contribution base | **ported; contribution base has no publisher measure** | `hmrc-salary-sacrifice-relief-2024-25` (85 facts, TY2024-25), `hmrc-pension-contribution-relief-2023-24` (85 facts, TY2023-24) | [#139](https://github.com/PolicyEngine/chronicle/pull/139), [#196](https://github.com/PolicyEngine/chronicle/issues/196), [#302](https://github.com/PolicyEngine/chronicle/issues/302) | **Updated — uk-data's asset is dead; its archived copy is ported.** uk-data pins `media/687a294e…/Tables_6_1_and_6_2.csv`, which now returns `{"status":"gone"}` (its runtime download silently drops the targets). Chronicle packages the current asset from [Private pension statistics](https://www.gov.uk/government/statistics/personal-and-stakeholder-pensions-statistics) (updated 2026-07-30), every Table 6.1/6.2 row since [#302](https://github.com/PolicyEngine/chronicle/issues/302). uk-data's asset is the July 2025 edition (tax year 2023-24); its [UK Government Web Archive capture](https://webarchive.nationalarchives.gov.uk/ukgwa/20250731165355/https://assets.publishing.service.gov.uk/media/687a294e312ee8a5f0806b6d/Tables_6_1_and_6_2.csv) is `hmrc-pension-contribution-relief-2023-24`, so the rows uk-data reads are Chronicle facts at the publisher's 2023-24 (uk-data keys them at 2024). uk-data's ×1.03 growth uprating and #196's £24.72bn salary-sacrifice contribution base are **excluded (computed / no publisher measure)**; the current HMRC table prints relief values, not gross contributions. | @@ -343,7 +343,7 @@ which `build_package.py` in the same directory writes. The October 2026 Economic and fiscal outlook, published with the Budget on 28 October 2026, as a vintage beside the March 2026 packages: five packages and 4,317 facts. Where both vintages publish a number for the same line and year, Chronicle keeps October's: since -chronicle#397 the March packages keep only the 75 line-years October lacks (each line's +chronicle#397 the March packages keep only the 74 line-years October lacks (each line's 2024-25 outturn, and 2025-26 for the lines October starts in 2026-27). Field contracts and caveats are in [`docs/data-sources/uk-obr-efo-october-2026.md`](data-sources/uk-obr-efo-october-2026.md). diff --git a/packages/obr/efo_aggregates_october_2026/source_package.yaml b/packages/obr/efo_aggregates_october_2026/source_package.yaml index 689fc333..8cb766e6 100644 --- a/packages/obr/efo_aggregates_october_2026/source_package.yaml +++ b/packages/obr/efo_aggregates_october_2026/source_package.yaml @@ -9,9 +9,11 @@ # forecast year. # # The March 2026 package's lines (package obr-efo-aggregates-march-2026), under the -# obr.efo_2026_10 prefix with their line ids, display labels and concepts, so a consumer -# changes vintage by package. Each is found by its table's title and its row's label; -# the row numbers and the October table number ride on each record set and its notes. +# obr.efo_2026_10 prefix with their line ids, display labels and concepts. Each is found +# by its table's title and its row's label; the row numbers and the October table number +# ride on each record set and its notes. Where both vintages publish a line and year, +# Chronicle keeps this package's number (chronicle#397), so the March package keeps only +# the years October does not print. # # October drops, renames or splits none of the March package's rows. # diff --git a/packages/obr/efo_economy_october_2026/source_package.yaml b/packages/obr/efo_economy_october_2026/source_package.yaml index 3bc9d321..8a08a9c6 100644 --- a/packages/obr/efo_economy_october_2026/source_package.yaml +++ b/packages/obr/efo_economy_october_2026/source_package.yaml @@ -9,9 +9,11 @@ # forecast year. # # The March 2026 package's lines (package obr-efo-economy-march-2026), under the -# obr.efo_2026_10 prefix with their line ids, display labels and concepts, so a consumer -# changes vintage by package. Each is found by its table's title and its row's label; -# the row numbers and the October table number ride on each record set and its notes. +# obr.efo_2026_10 prefix with their line ids, display labels and concepts. Each is found +# by its table's title and its row's label; the row numbers and the October table number +# ride on each record set and its notes. Where both vintages publish a line and year, +# Chronicle keeps this package's number (chronicle#397), so the March package keeps only +# the years October does not print. # # October drops, renames or splits none of the March package's rows. # diff --git a/packages/obr/efo_expenditure_october_2026/source_package.yaml b/packages/obr/efo_expenditure_october_2026/source_package.yaml index bacc964a..0782742f 100644 --- a/packages/obr/efo_expenditure_october_2026/source_package.yaml +++ b/packages/obr/efo_expenditure_october_2026/source_package.yaml @@ -9,9 +9,11 @@ # forecast year. # # The March 2026 package's lines (package obr-efo-expenditure-march-2026), under the -# obr.efo_2026_10 prefix with their line ids, display labels and concepts, so a consumer -# changes vintage by package. Each is found by its table's title and its row's label; -# the row numbers and the October table number ride on each record set and its notes. +# obr.efo_2026_10 prefix with their line ids, display labels and concepts. Each is found +# by its table's title and its row's label; the row numbers and the October table number +# ride on each record set and its notes. Where both vintages publish a line and year, +# Chronicle keeps this package's number (chronicle#397), so the March package keeps only +# the years October does not print. # # Rows October renames against March: council_tax_england: row label 'England council # tax receipts' (March table 4.1) is now 'England council tax receipts1' (table 5.1); diff --git a/packages/obr/efo_receipts_march_2026/source_package.yaml b/packages/obr/efo_receipts_march_2026/source_package.yaml index 70f82904..db85e08f 100644 --- a/packages/obr/efo_receipts_march_2026/source_package.yaml +++ b/packages/obr/efo_receipts_march_2026/source_package.yaml @@ -10,11 +10,14 @@ # year, Chronicle keeps the later one. The October 2026 EFO # (obr-efo-receipts-october-2026) prints this package's lines from 2025-26 to 2031-32, # and sheet 3.10's from 2026-27, so this package keeps only what October lacks: each -# line's 2024-25 outturn and, for sheet 3.10's betting and gaming duties and the seven -# duties it breaks them into, the 2025-26 forecast. Every line keeps its line id and -# concept, and scripts/build_obr_efo_october_2026.py reads its lines from here; -# scripts/build_uk_excise_packages.py and scripts/build_uk_1095_port_packages.py leave -# out the years the October package publishes. +# line's 2024-25 outturn and, for the seven duties sheet 3.10 breaks betting and gaming +# duties into, the 2025-26 forecast. Sheet 3.10's own 2025-26 total goes too: October +# prints it as table 4.1's 'Betting and gaming taxes', the same concept and accrued +# basis under another line id, so scripts/build_obr_efo_october_2026.py keeps that +# line's March record set itself. Every other line keeps its line id and concept here, +# and the October build reads its lines from here; scripts/build_uk_excise_packages.py +# and scripts/build_uk_1095_port_packages.py leave out every line and year the October +# package publishes, matched on concept, basis, geography, entity and period. # # Sheet 3.7 (chronicle#357 item 2), appended by scripts/build_uk_1095_port_packages.py # at the end of the file: 'Property transactions taxes: Receipts by sector', the EFO's @@ -30,11 +33,10 @@ # scripts/build_uk_excise_packages.py before the sheet 3.7 block: sheet 3.8's tobacco, # spirits, wine, beer and cider, and betting and gaming duties, vaping tax and (for # chronicle#395) vehicle excise duties, on the cash basis the sheet's title and note -# state, VED for its 2024-25 outturn only, since the October 2026 package carries the -# later years; sheet 3.10's betting and gaming duties -# and the seven duties it breaks them into, forecast years only; sheet 3.11's tobacco -# clearances; sheet 3.12's alcohol clearances and its accrued alcohol receipts; and -# sheet 3.2's Camelot payments to the National Lottery Distribution Fund, horserace +# state; the seven duties sheet 3.10 breaks betting and gaming duties into, forecast +# years only (since chronicle#397 its total is the October package's); sheet 3.11's +# tobacco clearances; sheet 3.12's alcohol clearances and its accrued alcohol receipts; +# and sheet 3.2's Camelot payments to the National Lottery Distribution Fund, horserace # betting levy and statutory gaming levy. Sheet 3.10 states no basis: its total equals # sheet 3.1's 'Betting and gaming taxes' row, which that sheet's note puts on an accrued # basis, in every year, so its lines are stamped accrual. These lines carry @@ -924,69 +926,6 @@ record_sets: operator: == value: cash label: Accounting basis -- record_set_id: obr.efo_2026_03.receipts.betting_and_gaming_duties_accrued.fy2025 - provenance_class: model_output - assertion: source_projection - record_set_spec_id: obr.efo_2026_03.receipts.betting_and_gaming_duties_accrued.fy2025.v1 - source_record_id_prefix: obr.efo_2026_03.receipts.betting_and_gaming_duties_accrued.fy2025 - sheet_name: '3.10' - period_type: fiscal_year - period: 2025 - period_coverage: - start_date: '2025-04-01' - end_date: '2026-03-31' - basis: fiscal - source_period_label: 2025-26 - accounting_basis: accrual - geography_id: K02000001 - geography_level: country - geography_name: United Kingdom - geography_vintage: current - entity: person - entity_role: resident_population - domain: public_sector_finances - groupby_dimension: obr.efo_line - rows: - - value_id: betting_and_gaming_duties_accrued - label: Betting and gaming duties (accrued) - ordinal: 0 - row_number: 6 - expected_row_header_column: B - expected_row_header: Betting and gaming duties - table_record_kind: total - guard_cells: - - column: B - row: 2 - expected_value: 3.10 Betting and gaming duties forecast breakdown - label: sheet title - measures: - - measure_id: amount - label: Betting and gaming duties (accrued), FY2025-26 - ordinal: 0 - column: C - source_column_id: amount - expected_column_header_row: 5 - expected_column_header: 2025-26 - concept: obr.betting_and_gaming_duties - source_concept: obr.betting_and_gaming_duties - concept_relation: source_label - concept_authority: obr - concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ - concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming - duties forecast breakdown'), row 6 ('Betting and gaming duties'), GBP billion. Sheet 3.10 states - no basis; this row equals sheet 3.1's accrued 'Betting and gaming taxes' row (row 7) in every year, - not sheet 3.8's cash row 36, so it is stamped accrual. - unit: gbp - aggregation: sum - value_scale: 1000000000 - expected_cell_type: number - shared_filters: - accounting_basis: accrual - shared_constraints: - - variable: accounting_basis - operator: == - value: accrual - label: Accounting basis - record_set_id: obr.efo_2026_03.receipts.remote_gaming_duty.fy2025 provenance_class: model_output assertion: source_projection diff --git a/packages/obr/efo_receipts_october_2026/source_package.yaml b/packages/obr/efo_receipts_october_2026/source_package.yaml index 14c1bf0e..dd6721c2 100644 --- a/packages/obr/efo_receipts_october_2026/source_package.yaml +++ b/packages/obr/efo_receipts_october_2026/source_package.yaml @@ -9,9 +9,11 @@ # forecast year. # # The March 2026 package's lines (package obr-efo-receipts-march-2026), under the -# obr.efo_2026_10 prefix with their line ids, display labels and concepts, so a consumer -# changes vintage by package. Each is found by its table's title and its row's label; -# the row numbers and the October table number ride on each record set and its notes. +# obr.efo_2026_10 prefix with their line ids, display labels and concepts. Each is found +# by its table's title and its row's label; the row numbers and the October table number +# ride on each record set and its notes. Where both vintages publish a line and year, +# Chronicle keeps this package's number (chronicle#397), so the March package keeps only +# the years October does not print. # # October drops, renames or splits none of the March package's rows. # diff --git a/scripts/build_obr_efo_october_2026.py b/scripts/build_obr_efo_october_2026.py index d41f0405..4a7d50a7 100644 --- a/scripts/build_obr_efo_october_2026.py +++ b/scripts/build_obr_efo_october_2026.py @@ -13,10 +13,11 @@ - ``obr-efo-policy-october-2026``: Table 1.1, the costing of each policy decision. A March 2026 line keeps its line id, its display label and its concept under the -``obr.efo_2026_10`` prefix, so a consumer changes vintage by package. Its October table -is found by title (the chapters moved: receipts tables 3.x became 4.x and expenditure -4.x became 5.x) and its row by label, and every match is asserted, so a re-run against -different bytes fails rather than drifting. +``obr.efo_2026_10`` prefix. Where both vintages publish a line and year, Chronicle keeps +October's (PolicyEngine/chronicle#397), so the March packages keep only the years October +does not print. A March line's October table is found by title (the chapters moved: +receipts tables 3.x became 4.x and expenditure 4.x became 5.x) and its row by label, and +every match is asserted, so a re-run against different bytes fails rather than drifting. Usage:: @@ -393,13 +394,86 @@ class MarchLine: # chronicle#397: of two vintages' numbers for one line and year, Chronicle keeps the # later, so the March packages carry only the line-years October does not print. A -# March line October prints in every year it has leaves its March package, and its first -# March record set is kept here instead, so its October line keeps the March line id, -# label and concept. The high-value council tax surcharge has no 2024-25 value; it was -# the last line of the March expenditure package. +# March line October prints in every year March had leaves its March package, and its +# first March record set is kept here instead, with the line it preceded (None: it was +# the last), so its October line keeps the March line id, label, concept and place. +# - Sheet 3.10's betting and gaming total: its one March year, 2025-26, is October's +# table 4.1 'Betting and gaming taxes', the same concept and basis under another id. +# - The high-value council tax surcharge: forecast from 2028-29, no 2024-25 value. LINES_LEFT_IN_OCTOBER_ONLY = { + "receipts": ( + ( + """\ +- record_set_id: obr.efo_2026_03.receipts.betting_and_gaming_duties_accrued.fy2025 + provenance_class: model_output + assertion: source_projection + record_set_spec_id: obr.efo_2026_03.receipts.betting_and_gaming_duties_accrued.fy2025.v1 + source_record_id_prefix: obr.efo_2026_03.receipts.betting_and_gaming_duties_accrued.fy2025 + sheet_name: '3.10' + period_type: fiscal_year + period: 2025 + period_coverage: + start_date: '2025-04-01' + end_date: '2026-03-31' + basis: fiscal + source_period_label: 2025-26 + accounting_basis: accrual + geography_id: K02000001 + geography_level: country + geography_name: United Kingdom + geography_vintage: current + entity: person + entity_role: resident_population + domain: public_sector_finances + groupby_dimension: obr.efo_line + rows: + - value_id: betting_and_gaming_duties_accrued + label: Betting and gaming duties (accrued) + ordinal: 0 + row_number: 6 + expected_row_header_column: B + expected_row_header: Betting and gaming duties + table_record_kind: total + guard_cells: + - column: B + row: 2 + expected_value: 3.10 Betting and gaming duties forecast breakdown + label: sheet title + measures: + - measure_id: amount + label: Betting and gaming duties (accrued), FY2025-26 + ordinal: 0 + column: C + source_column_id: amount + expected_column_header_row: 5 + expected_column_header: 2025-26 + concept: obr.betting_and_gaming_duties + source_concept: obr.betting_and_gaming_duties + concept_relation: source_label + concept_authority: obr + concept_evidence_url: https://obr.uk/download/march-2026-economic-and-fiscal-outlook-detailed-forecast-tables-receipts/ + concept_evidence_notes: OBR EFO March 2026 detailed forecast tables, sheet 3.10 ('Betting and gaming + duties forecast breakdown'), row 6 ('Betting and gaming duties'), GBP billion. Sheet 3.10 states + no basis; this row equals sheet 3.1's accrued 'Betting and gaming taxes' row (row 7) in every year, + not sheet 3.8's cash row 36, so it is stamped accrual. + unit: gbp + aggregation: sum + value_scale: 1000000000 + expected_cell_type: number + shared_filters: + accounting_basis: accrual + shared_constraints: + - variable: accounting_basis + operator: == + value: accrual + label: Accounting basis +""", + "remote_gaming_duty", + ), + ), "expenditure": ( - """\ + ( + """\ - record_set_id: obr.efo_2026_03.expenditure.council_tax_high_value_surcharge.fy2028 provenance_class: model_output assertion: source_projection @@ -445,6 +519,8 @@ class MarchLine: value_scale: 1000000000 expected_cell_type: number """, + None, + ), ), } @@ -453,13 +529,15 @@ def march_lines(kind: str) -> list[MarchLine]: path = PACKAGES / f"efo_{kind}_march_2026" / "source_package.yaml" payload = yaml.safe_load(path.read_text(encoding="utf-8")) record_sets = list(payload["record_sets"]) - for text in LINES_LEFT_IN_OCTOBER_ONLY.get(kind, ()): + for text, before in LINES_LEFT_IN_OCTOBER_ONLY.get(kind, ()): (record_set,) = yaml.safe_load(text) line_id = LINE_YEAR.sub("", record_set["record_set_id"]) - assert not any( - LINE_YEAR.sub("", other["record_set_id"]) == line_id for other in record_sets - ), line_id - record_sets.append(record_set) + line_ids = [LINE_YEAR.sub("", other["record_set_id"]) for other in record_sets] + assert line_id not in line_ids, line_id + if before is None: + record_sets.append(record_set) + else: + record_sets.insert(line_ids.index(f"{MARCH}.{kind}.{before}"), record_set) lines: dict[str, MarchLine] = {} for record_set in record_sets: line_id = LINE_YEAR.sub("", record_set["record_set_id"]).removeprefix( @@ -1648,9 +1726,11 @@ def march_header(kind: str, changes: list[str]) -> str: text = COMMON_HEADER + f""" The March 2026 package's lines (package obr-efo-{kind}-march-2026), under the -obr.efo_2026_10 prefix with their line ids, display labels and concepts, so a consumer -changes vintage by package. Each is found by its table's title and its row's label; the -row numbers and the October table number ride on each record set and its notes. +obr.efo_2026_10 prefix with their line ids, display labels and concepts. Each is found +by its table's title and its row's label; the row numbers and the October table number +ride on each record set and its notes. Where both vintages publish a line and year, +Chronicle keeps this package's number (chronicle#397), so the March package keeps only +the years October does not print. """ if changes: text += "\n\nRows October renames against March: " + "; ".join(changes) + "." diff --git a/scripts/build_uk_1095_port_packages.py b/scripts/build_uk_1095_port_packages.py index 3e64045a..cd03470b 100644 --- a/scripts/build_uk_1095_port_packages.py +++ b/scripts/build_uk_1095_port_packages.py @@ -597,15 +597,36 @@ def build_stamps() -> None: ) -def obr_october_line_years() -> set[tuple[str, int]]: - """The (line id, fiscal year) pairs the October 2026 receipts package publishes. +def obr_line_year(record_set: dict) -> tuple: + """A record set's line and year, whatever its id: concept, unit, universe, + geography, entity and period.""" + (measure,) = record_set["measures"] + constraints = sorted( + (item["variable"], item["operator"], str(item["value"])) + for item in record_set.get("shared_constraints", []) + ) + return ( + measure["concept"], + measure["unit"], + tuple(constraints), + record_set["domain"], + record_set["geography_id"], + record_set["entity"], + record_set["entity_role"], + record_set["period_type"], + record_set["period"], + ) + + +def obr_october_line_years() -> set[tuple]: + """The lines and years the October 2026 receipts package publishes. chronicle#397: where two vintages publish a number for the same line and year, - Chronicle keeps the later one, so the March package carries a line only in the - years October lacks.""" - text = OBR_OCTOBER_RECEIPTS_YAML.read_text(encoding="utf-8") - pattern = r"^- record_set_id: obr\.efo_2026_10\.receipts\.(.+)\.fy(\d{4})$" - return {(line, int(year)) for line, year in re.findall(pattern, text, re.MULTILINE)} + Chronicle keeps the later one, so the March package leaves out every record set + October has a number for, whatever line id October gives it: table 4.1's + 'Betting and gaming taxes' carries sheet 3.10's 2025-26 total.""" + payload = yaml.safe_load(OBR_OCTOBER_RECEIPTS_YAML.read_text(encoding="utf-8")) + return {obr_line_year(record_set) for record_set in payload["record_sets"]} OBR_3_7_MARKER = ( @@ -674,14 +695,10 @@ def obr_3_7_blocks() -> str: blocks = [] for row, header, line, display, note in OBR_3_7_LINES: assert grid[(row, "B")] == header, (row, grid[(row, "B")]) - # Each line keeps the years October does not print, so its October line - # (scripts/build_obr_efo_october_2026.py) still finds it here. - assert any((line, opening) not in october for opening, _ in years), line + kept = 0 for opening, column in years: label = f"{opening}-{str(opening + 1)[2:]}" assert isinstance(grid[(row, column)], (int, float)), (row, column) - if (line, opening) in october: - continue record_set_id = f"obr.efo_2026_03.receipts.{line}.fy{opening}" notes = ( f"OBR EFO March 2026 detailed forecast tables, sheet 3.7 ('Property transactions " @@ -740,6 +757,9 @@ def obr_3_7_blocks() -> str: } ], } + if obr_line_year(record) in october: + continue + kept += 1 blocks.append( yaml.dump( [record], @@ -749,6 +769,9 @@ def obr_3_7_blocks() -> str: width=100, ) ) + # Each line keeps a year October does not print, so the October build + # (scripts/build_obr_efo_october_2026.py) still finds it here. + assert kept, line return OBR_3_7_MARKER + "".join(blocks) diff --git a/scripts/build_uk_excise_packages.py b/scripts/build_uk_excise_packages.py index 280dbf20..0175e1d3 100644 --- a/scripts/build_uk_excise_packages.py +++ b/scripts/build_uk_excise_packages.py @@ -106,15 +106,42 @@ def artifact_meta(path: Path) -> SourceArtifactMetadata: ) -def obr_october_line_years() -> set[tuple[str, int]]: - """The (line id, fiscal year) pairs the October 2026 receipts package publishes. +# Lines October prints in every year March had, so none stays here; the October build +# keeps their March record set (LINES_LEFT_IN_OCTOBER_ONLY in +# scripts/build_obr_efo_october_2026.py). +OBR_LINES_IN_OCTOBER_ONLY = {"betting_and_gaming_duties_accrued"} + + +def obr_line_year(record_set: dict) -> tuple: + """A record set's line and year, whatever its id: concept, unit, universe, + geography, entity and period.""" + (measure,) = record_set["measures"] + constraints = sorted( + (item["variable"], item["operator"], str(item["value"])) + for item in record_set.get("shared_constraints", []) + ) + return ( + measure["concept"], + measure["unit"], + tuple(constraints), + record_set["domain"], + record_set["geography_id"], + record_set["entity"], + record_set["entity_role"], + record_set["period_type"], + record_set["period"], + ) + + +def obr_october_line_years() -> set[tuple]: + """The lines and years the October 2026 receipts package publishes. chronicle#397: where two vintages publish a number for the same line and year, - Chronicle keeps the later one, so the March package carries a line only in the - years October lacks.""" - text = OBR_OCTOBER_RECEIPTS_YAML.read_text(encoding="utf-8") - pattern = r"^- record_set_id: obr\.efo_2026_10\.receipts\.(.+)\.fy(\d{4})$" - return {(line, int(year)) for line, year in re.findall(pattern, text, re.MULTILINE)} + Chronicle keeps the later one, so the March package leaves out every record set + October has a number for, whatever line id October gives it: table 4.1's + 'Betting and gaming taxes' carries sheet 3.10's 2025-26 total.""" + payload = yaml.safe_load(OBR_OCTOBER_RECEIPTS_YAML.read_text(encoding="utf-8")) + return {obr_line_year(record_set) for record_set in payload["record_sets"]} OBR_EXCISE_MARKER = ( @@ -131,11 +158,10 @@ def obr_october_line_years() -> set[tuple[str, int]]: # scripts/build_uk_excise_packages.py before the sheet 3.7 block: sheet 3.8's tobacco, # spirits, wine, beer and cider, and betting and gaming duties, vaping tax and (for # chronicle#395) vehicle excise duties, on the cash basis the sheet's title and note -# state, VED for its 2024-25 outturn only, since the October 2026 package carries the -# later years; sheet 3.10's betting and gaming duties -# and the seven duties it breaks them into, forecast years only; sheet 3.11's tobacco -# clearances; sheet 3.12's alcohol clearances and its accrued alcohol receipts; and -# sheet 3.2's Camelot payments to the National Lottery Distribution Fund, horserace +# state; the seven duties sheet 3.10 breaks betting and gaming duties into, forecast +# years only (since chronicle#397 its total is the October package's); sheet 3.11's +# tobacco clearances; sheet 3.12's alcohol clearances and its accrued alcohol receipts; +# and sheet 3.2's Camelot payments to the National Lottery Distribution Fund, horserace # betting levy and statutory gaming levy. Sheet 3.10 states no basis: its total equals # sheet 3.1's 'Betting and gaming taxes' row, which that sheet's note puts on an accrued # basis, in every year, so its lines are stamped accrual. These lines carry @@ -708,13 +734,15 @@ def obr_excise_blocks() -> str: kept = 0 for opening, column in years: assert isinstance(grid[(row, column)], (int, float)), (line[0], row, column) - if (line_id, opening) in october: + record = obr_excise_record(table, line, opening, column) + if obr_line_year(record) in october: continue - blocks.append(dump([obr_excise_record(table, line, opening, column)])) + blocks.append(dump([record])) kept += 1 - # Each line keeps the years October does not print, so its October line - # (scripts/build_obr_efo_october_2026.py) still finds it here. - assert kept, line_id + # Each line keeps a year October does not print, so the October build + # (scripts/build_obr_efo_october_2026.py) still finds it here, unless that + # build keeps the line's March record set itself. + assert bool(kept) != (line_id in OBR_LINES_IN_OCTOBER_ONLY), line_id return OBR_EXCISE_MARKER + "".join(blocks) diff --git a/tests/test_chronicle_bundle.py b/tests/test_chronicle_bundle.py index 7dc8168b..736f04ba 100644 --- a/tests/test_chronicle_bundle.py +++ b/tests/test_chronicle_bundle.py @@ -488,10 +488,10 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): # fact. No new geography, period or entity key, and no duplicate key: of # two vintages' numbers Chronicle keeps the later (chronicle#397). # PolicyEngine/uk-autumn-budget-dashboard-2026#316's HMRC benefits in kind - # statistics add 544 person facts. chronicle#397 drops the 426 March 2026 + # statistics add 544 person facts. chronicle#397 drops the 427 March 2026 # EFO facts whose line and year the October 2026 packages also publish: - # receipts 238, expenditure 141, economy 30, aggregates 17. - "fact_count": 1662949, + # receipts 239, expenditure 141, economy 30, aggregates 17. + "fact_count": 1662948, # The same change adds 82,064 geography keys: 46,363 Scottish 2022 # output areas (UV404), 35,673 LSOA-level keys from the DESNZ LSOA # workbooks (Scotland's data zones already exist), the 26 Northern @@ -594,7 +594,7 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): if row_count == 1: assert row["aggregate_fact_key"].startswith("ledger.aggregate_fact.v2:") assert row["semantic_fact_key"].startswith("ledger.semantic_fact.v2:") - assert row_count == 1662949 + assert row_count == 1662948 assert provenance_classes <= { "administrative", "census", @@ -629,7 +629,7 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): "jct-obbba-revenue-estimates-2025", "jct-tax-expenditures-2024", ] - assert coverage["fact_count"] == 1662949 + assert coverage["fact_count"] == 1662948 assert coverage["counts"]["by_source"] == { "bea": 446, "bfp_economic_outlook": 5, @@ -668,7 +668,7 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): "nisra": 29227, "nithc": 8, "nrs": 359094, - "obr": 4540, + "obr": 4539, "ofgem": 3640, "onem_rva_unemployment": 1, "ons": 347275, @@ -2281,7 +2281,7 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): "calendar_year:2027": 6, "calendar_year:2028": 6, "calendar_year:2029": 6, - "fiscal_year:2025": 57, + "fiscal_year:2025": 58, "fiscal_year:2026": 68, "fiscal_year:2027": 68, "fiscal_year:2028": 69, @@ -2352,8 +2352,8 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): # CPI gas (23) series, and the March EFO's 2024-25 VED outturn (1). HMRC's # benefits in kind statistics add 505 (all but Table 4's regions; # PolicyEngine/uk-autumn-budget-dashboard-2026#316), and chronicle#397 drops - # 342 March 2026 EFO facts. - assert coverage["counts"]["by_geography"]["country:K02000001"] == 41081 + # 343 March 2026 EFO facts. + assert coverage["counts"]["by_geography"]["country:K02000001"] == 41080 # chronicle#343 adds the 63 OBR surcharge-costing facts for England, and # chronicle#358 ONS's 606 single-year residence-type rows for England. GSGB # 2025's England participation rows add 40. ISA Tables 9.9 and 9.12's @@ -2413,7 +2413,7 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): # Lone Pensioner Allowance), dwellings +360 (Disabled Person's Allowance) and # firms +8 (EKED). HMRC's benefits in kind statistics add 544 people # (PolicyEngine/uk-autumn-budget-dashboard-2026#316). - # chronicle#397's March 2026 EFO drop: people -337, government -47 and + # chronicle#397's March 2026 EFO drop: people -338, government -47 and # institutional sectors -42. assert coverage["counts"]["by_entity"] == { "benefit_unit": 33645, @@ -2424,7 +2424,7 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): "household": 676547, "institutional_sector": 8877, "pension_plan": 2, - "person": 598989, + "person": 598988, "return": 14952, "social_protection_scheme": 36, "tax_unit": 45268, diff --git a/tests/test_issue_381_uk_excise_facts.py b/tests/test_issue_381_uk_excise_facts.py index 4acde184..50280da3 100644 --- a/tests/test_issue_381_uk_excise_facts.py +++ b/tests/test_issue_381_uk_excise_facts.py @@ -125,9 +125,11 @@ def test_obr_excise_lines(receipts): _cells, built = receipts new = [f for f in built if f.period_coverage is not None] # chronicle#397: each line keeps only the year the October 2026 EFO does not - # print, its 2024-25 outturn, or 2025-26 for sheet 3.10, which October's table - # 4.10 starts in 2026-27. Vehicle excise duties (chronicle#395) keep 2024-25. - assert len(built) == 42 and len(new) == 28 + # print, its 2024-25 outturn, or 2025-26 for sheet 3.10's seven duties, which + # October's table 4.10 starts in 2026-27. Sheet 3.10's total keeps no year: + # October prints its 2025-26 as table 4.1's 'Betting and gaming taxes'. Vehicle + # excise duties (chronicle#395) keep 2024-25. + assert len(built) == 41 and len(new) == 27 lines = {f.layout.record_set_id.split(".")[3]: f.period.value for f in new} assert len(lines) == len(new) assert lines == { @@ -155,7 +157,7 @@ def test_obr_excise_lines(receipts): "statutory_gaming_levy", ) }, - **{line: 2025 for line in SHEET_3_10_LINES}, + **{line: 2025 for line in SHEET_3_10_LINES[1:]}, # chronicle#395: the 2024-25 outturn only; October 2026 carries the later years. "vehicle_excise_duties": 2024, } @@ -196,7 +198,7 @@ def line(name, year): sheet_3_10 = [ f for f in new if f.layout.record_set_id.split(".")[3] in SHEET_3_10_LINES ] - assert len(sheet_3_10) == 8 + assert len(sheet_3_10) == 7 assert {f.assertion for f in sheet_3_10} == {"source_projection"} assert line("non_cigarette_tobacco_clearances", 2024).value == pytest.approx( line("hand_rolled_tobacco_clearances", 2024).value @@ -216,17 +218,22 @@ def test_obr_sheet_3_10_is_accrued(receipts): } assert sheet_3_8["B36"] == "Betting and gaming duties" assert sheet_3_8["E5"] == "2025-26" + sheet_3_10 = { + cell.address: cell.raw_value for cell in cells if cell.sheet_name == "3.10" + } + assert sheet_3_10["B6"] == "Betting and gaming duties" + assert sheet_3_10["C5"] == "2025-26" duties = SHEET_3_10_LINES[1:] by_id = {f.layout.record_set_id: f for f in built} - # chronicle#397 keeps 2025-26 only: October's table 4.10 starts in 2026-27. - total = by_id[f"{OBR_PREFIX}betting_and_gaming_duties_accrued.fy2025"] - assert total.value == pytest.approx(sheet_3_1["D7"] * 1e9) - # Sheet 3.8's cash line for 2025-26 is the October package's now. - assert total.value != pytest.approx(sheet_3_8["E36"] * 1e9) - assert total.filters == {"accounting_basis": "accrual"} - assert sum( - by_id[f"{OBR_PREFIX}{duty}.fy2025"].value for duty in duties - ) == pytest.approx(total.value) + # chronicle#397 keeps the seven duties' 2025-26 only: October's table 4.10 starts + # in 2026-27, and its table 4.1 prints the 2025-26 total, so March's total goes. + assert f"{OBR_PREFIX}betting_and_gaming_duties_accrued.fy2025" not in by_id + # The total is sheet 3.1's accrued line, not sheet 3.8's cash one. + assert sheet_3_10["C6"] == pytest.approx(sheet_3_1["D7"]) + assert sheet_3_10["C6"] != pytest.approx(sheet_3_8["E36"]) + kept = [by_id[f"{OBR_PREFIX}{duty}.fy2025"] for duty in duties] + assert all(f.filters == {"accounting_basis": "accrual"} for f in kept) + assert sum(f.value for f in kept) == pytest.approx(sheet_3_10["C6"] * 1e9) def test_alcohol_bulletin_clearances_by_product_and_breakdown(facts): diff --git a/tests/test_source_obr_efo_october_2026.py b/tests/test_source_obr_efo_october_2026.py index 01aa882d..0de0f7a2 100644 --- a/tests/test_source_obr_efo_october_2026.py +++ b/tests/test_source_obr_efo_october_2026.py @@ -20,6 +20,7 @@ from chronicle.bundle import UK_BUNDLE_SOURCES from chronicle.consumer_contract import ( build_semantic_fact_key, + build_universe_constraint_set_key, validate_consumer_fact_contract, ) from chronicle.core import validate_facts @@ -122,8 +123,8 @@ def test_manifests_pin_bytes_licence_and_r2(kind): @pytest.mark.parametrize("kind", ("receipts", "expenditure", "economy", "aggregates")) def test_every_march_line_keeps_its_line_id_and_concept(facts, kind): - """A consumer changes vintage by package: the October package carries each March - line under the same line id and concept.""" + """The October package carries each March line under the same line id and + concept; since chronicle#397 the years both vintages publish are October's only.""" march = load_source_package(f"obr-efo-{kind}-march-2026").build_facts(2026) def lines(prefix: str, built) -> dict[str, set[str]]: @@ -140,10 +141,10 @@ def lines(prefix: str, built) -> dict[str, set[str]]: october_lines = lines(f"{OCTOBER}.{kind}.", facts[kind].values()) for line, concepts in march_lines.items(): assert october_lines.get(line) == concepts, line - # chronicle#397: a line October prints in every year it has left the March + # chronicle#397: a line October prints in every year March had left the March # package; the build keeps its March record set, and October its id and concept. generator = runpy.run_path(str(ROOT / "scripts/build_obr_efo_october_2026.py")) - for text in generator["LINES_LEFT_IN_OCTOBER_ONLY"].get(kind, ()): + for text, _before in generator["LINES_LEFT_IN_OCTOBER_ONLY"].get(kind, ()): (record_set,) = yaml.safe_load(text) line = re.sub( r"\.(fy|cy)\d{4}$", @@ -157,15 +158,32 @@ def lines(prefix: str, built) -> dict[str, set[str]]: # chronicle#397: of two vintages' numbers for one line and year, Chronicle keeps the # later. What the March 2026 packages keep, by line: every line's 2024-25 outturn # (calendar 2024 for the economy), except the lines October starts in 2026-27, which -# keep their 2025-26 forecast. +# keep their 2025-26 forecast. Sheet 3.10's total is not one of them: October prints +# its 2025-26 as table 4.1's 'Betting and gaming taxes'. MARCH_KEEPS = { - "receipts": (42, {2024: 34, 2025: 8}), + "receipts": (41, {2024: 34, 2025: 7}), "expenditure": (23, {2024: 23}), "economy": (6, {2024: 6}), "aggregates": (4, {2024: 1, 2025: 3}), } +def _line_year(fact) -> tuple: + """A fact's line and year, whatever its id; the assertion is left out, so a March + forecast meets October's outturn for the same year.""" + return ( + fact.measure.concept, + fact.measure.unit, + fact.period.type, + fact.period.value, + fact.geography.level, + fact.geography.id, + fact.entity.name, + fact.entity.role, + build_universe_constraint_set_key(fact), + ) + + @pytest.mark.parametrize("kind", ("receipts", "expenditure", "economy", "aggregates")) def test_march_keeps_only_the_line_years_october_does_not_publish(facts, kind): march = load_source_package(f"obr-efo-{kind}-march-2026").build_facts(2026) @@ -176,6 +194,13 @@ def test_march_keeps_only_the_line_years_october_does_not_publish(facts, kind): for record_set in record_sets if record_set.replace("obr.efo_2026_03.", f"{OCTOBER}.", 1) in october } + # Nor under another id: October's table 4.1 prints sheet 3.10's 2025-26 total. + october_line_years = {_line_year(fact) for fact in facts[kind].values()} + assert not [ + fact.layout.record_set_id + for fact in march + if _line_year(fact) in october_line_years + ] count, years = MARCH_KEEPS[kind] assert len(march) == len(record_sets) == count assert Counter(fact.period.value for fact in march) == years