What this market covers
Transmission Network Use of System (TNUoS) charges are the fees paid by electricity generators and suppliers to use the high-voltage transmission network in Great Britain. They are the single largest component of network charges on electricity bills, typically collecting between £3bn and £14bn per year. This market asks: how much total TNUoS revenue will be collected in each future charging year?
The market covers five charging years from 2026/27 to 2030/31, with thresholds denominated in millions of pounds (£m).
Data sources
The initial probabilities are derived from the historical accuracy of NESO's own TNUoS tariff forecasts, published as part of their periodic five-year forward views.
- Forecasts: NESO TNUoS Charges page — publishes multi-year TNUoS revenue forecasts, typically annually or more frequently
- Outturns: Final tariff revenue figures from the same NESO publications, once each charging year completes
The most recent forecast used is the Five-Year View of TNUoS Tariffs for 2026/27 to 2030/31, published 18 September 2025, which provides the central forecast for each year:
| Charging year | Central forecast |
| 2026/27 | £8,918m |
| 2027/28 | £10,278m |
| 2028/29 | £11,657m |
| 2029/30 | £12,685m |
| 2030/31 | £13,629m |
Forecast track record
The dataset contains 48 historical forecast-vs-outturn observations spanning 12 publication vintages and 13 tariff years. Each observation records how much NESO's forecast over- or under-shot the final outturn for a given charging year, at a given lead time.
Lead times range from under 1 year (near-term forecasts) to almost 5 years (the furthest year in a five-year forward view). These are grouped into five buckets: 0-1, 1-2, 2-3, 3-4, and 4-5 years.
The model fit plot below shows the historical forecast errors by lead-time bucket. Each point is one forecast-outturn pair; the curves show the fitted error distribution for each bucket.

Bayesian model
Log-ratio parameterization
Forecast errors are modelled as log-ratios rather than percentages:
r = log(Forecast / Outturn)
This treats the forecast-to-outturn ratio as log-normal — a natural choice for multiplicative errors that avoids the singularity at -100% that occurs with direct percentage parameterization. A positive r means the forecast was too high; a negative r means it was too low.
Crossed random effects
Multiple forecasts of the same tariff year share the same outturn value. Treating these as independent observations would inflate the effective sample size and produce probability distributions that are too narrow.
The model decomposes each forecast error into two components:
- A tariff-year shock (shared by all forecasts of the same year) capturing the unpredictable outturn-level variation
- A residual (specific to each publication) capturing forecast-to-forecast variation within a year, which varies by lead-time bucket
r_ij = mu + v_j + eps_ij
v_j ~ Normal(0, sigma_tariff) # tariff-year shock
eps_ij ~ Normal(0, sigma_resid_b) # residual, by lead-time bucket b
The residual volatilities are partially pooled across buckets using a hierarchical prior, allowing information sharing between lead-time groups while permitting each to have its own scale.
For prediction, the total uncertainty for a new forecast at lead-time bucket b is:
sigma_total_b = sqrt(sigma_tariff^2 + sigma_resid_b^2)
The model is fitted using component-wise Metropolis-within-Gibbs MCMC with 4 chains, adaptive proposals during warmup, and convergence checked via R-hat diagnostics.

Key findings
- Bias: Near zero (mu ~ -0.04), meaning NESO's forecasts are approximately unbiased on average
- Tariff-year shock: sigma_tariff ~ 0.177, reflecting meaningful year-to-year outturn uncertainty
- Total uncertainty: sigma_total ranges from ~0.27 (0-1 year lead) to ~0.26 (4-5 year lead), growing with forecast horizon as expected
Probability distributions
The learned error distribution is applied to each current forecast to generate a probability distribution over possible outturns. For a forecast F at lead-time bucket b:
log(Outturn) ~ Normal(log(F) - mu, sigma_total_b)
This distribution is discretised into 50 log-spaced bins from £4,000m to £27,000m, with bin edges rounded to human-friendly values.

Distributions for nearer years (2026/27) are tighter, reflecting lower uncertainty at shorter lead times. Distributions for further years (2030/31) are wider and shifted to the right, reflecting both greater uncertainty and higher central forecasts.
Market thresholds
The probability mass in each bin is converted to a survival function (the probability of exceeding each threshold) for import into the Antistatic Exchange. Each threshold corresponds to a bin lower edge, and its initial probability is the sum of all probability mass at or above that level, clamped to [0.001, 0.999].
