All extracted variables come from data/data/s251_alleducation_la_regional_national.csv (encoding: cp1252, not UTF-8). Common filter for every variable: geographic_level == "Local authority"; one row per LA (la_name, new_la_code e.g. E10000016, old_la_code) per time_period (financial year, 201516 … 202425). Rows are selected by category_of_expenditure (exact strings below, verified in the file). Values are £; x = not applicable, z = suppressed — never treat as zero.
Sign convention (verified, contradicts a line in SOURCE.md): on line 1.9.3 a positive value is a cumulative deficit and a negative value a surplus — confirmed by the identity 1.9.3(year t) == −1.9.2(year t+1) (checked for Kent, Hampshire, Birmingham) and by the largest positive values belonging to the well-known large-deficit LAs (Hampshire £213.1m, Surrey £141.9m, Norfolk £131.9m in 2024-25) while Birmingham, in surplus, is negative. For DSG funding-block lines (1.9.x) the value is in gross_expenditure (net_expenditure is x); for expenditure lines (1.0.x, 1.2.x) use net_expenditure.
All 153 LA rows carry a numeric 1.9.3 value in 2024-25 (29 negative = surplus, 123 positive = deficit, 1 zero-ish/other). 152–153 LA rows per year for most years; 2016-17 has no 1.9.3 LA rows at all — treat that year as missing for the balance series.
| Name | Selection (category_of_expenditure ==) |
Value column | Unit | Interpretation |
|---|---|---|---|---|
dsg_deficit_cum |
1.9.3 Dedicated Schools Grant carried forward to next year |
gross_expenditure |
£ | Cumulative DSG balance carried forward at year end; positive = accumulated deficit, negative = surplus. The headline "hidden deficit" figure. |
dsg_balance_bfwd |
1.9.2 Dedicated Schools Grant brought forward from previous year |
gross_expenditure |
£ | Opening DSG balance; negative = deficit brought forward (opposite sign to 1.9.3). |
dsg_grant_year |
1.9.1 Dedicated Schools Grant for year |
gross_expenditure |
£ | DSG allocated to the LA for the year (scale denominator for the deficit). |
dsg_grant_adj |
1.9.1a Dedicated Schools Grant in year adjustments |
gross_expenditure |
£ | In-year DSG adjustments (includes e.g. Safety Valve payments — distorts trends where present). |
dsg_la_contribution |
1.9.5 Local Authority additional contribution |
gross_expenditure |
£ | Money the council put in from its own funds on top of the grant (e.g. Kent £15.1m in 2024-25). |
dsg_total_funding |
1.9.6 Total funding supporting the Schools Budget |
gross_expenditure |
£ | Total funding supporting the Schools Budget. |
hn_place_funding |
1.0.2 High needs place funding within Individual Schools Budget |
net_expenditure |
£ | High-needs place funding delegated inside the ISB. |
hn_topup_maintained |
1.2.1 Top-up funding – maintained schools (en dash) |
net_expenditure |
£ | SEND top-up funding to maintained schools. |
hn_topup_academies |
1.2.2 Top-up funding – academies, free schools and colleges |
net_expenditure |
£ | SEND top-up funding to academies/free schools/colleges. |
hn_independent |
1.2.3 Top-up and other funding – non-maintained and independent providers |
net_expenditure |
£ | Spend on independent/non-maintained special provision — the fastest-growing SEND cost line nationally. |
hn_lines_1_2_x |
every line prefixed 1.2. (1.2.1–1.2.13, incl. SEN support service, hospital education, alternative provision, therapies, direct payments) |
net_expenditure |
£ | The full s251 High Needs expenditure block, per line. There is no pre-computed "total high needs" line in the file — totals must be constructed. |
spend_per_pupil (any expenditure line) |
same rows as above | net_per_capita_expenditure |
£/pupil | DfE-computed per-pupil net expenditure for that line (per data/data-guidance/data-guidance.txt: "Per pupil net expenditure"). Not populated for 1.9.x funding lines. |
| Name | Formula | Inputs (verified) | Unit | Interpretation |
|---|---|---|---|---|
hn_expenditure_total |
Σ net_expenditure over all 1.2.* lines + hn_place_funding, per LA-year (skip x/z) |
this file | £ | Total high-needs (SEND) expenditure — the pressure driving the deficit. |
dsg_deficit_share_of_grant |
dsg_deficit_cum / dsg_grant_year |
this file | ratio | Cumulative deficit as a share of one year's DSG; normalises deficit across LA size. |
dsg_in_year_movement |
dsg_deficit_cum(t) + dsg_balance_bfwd(t) (signs verified: bfwd deficit is negative) |
this file | £/yr | In-year deterioration (+) or recovery (−) of the DSG position. |
dsg_deficit_trend |
series of dsg_deficit_cum per LA, 2015-16 → 2024-25 (2016-17 missing; note LGR breaks c.2023 for Cumbria/North Yorks/Somerset) |
this file | £/yr | Trajectory of the accumulated deficit since 2015-16. |
hn_independent_share |
hn_independent / hn_expenditure_total |
this file | ratio | Reliance on independent/non-maintained special provision. |
la_bailout_flag |
dsg_la_contribution > 0 in any year |
this file | boolean | Council has topped up the Schools Budget from its own funds. |
dsg_deficit_vs_revenue |
dsg_deficit_cum ÷ total service expenditure from sibling 01-revenue-outturn (data/Revenue_Outturn_time_series_data_v3.2.csv, join new_la_code ↔ ONS_code, time_period ↔ year_ending) |
this file + dataset 01 | ratio | Size of the off-balance-sheet DSG deficit relative to the council's overall revenue budget — how material the statutory-override cliff edge is. Join keys verified in both files (E-prefixed ONS codes). |
Caveats that apply to all constructed variables: Safety Valve/DBV cash injections (visible in 1.9.1a) distort year-on-year comparisons for participating LAs, and local government reorganisation breaks LA series around 2023 — see SOURCE.md.
One file per variable in variables/: