NatGas Edge
← Back to home
Renewables · Gas burn displaced by wind and solar
A complete walkthrough of the data, the calibration, the model, and the forecasts — from raw EIA hourly actuals to a 15-day Bcf displacement number.

This methodology explains, end to end, how the Renewables signal on the NatGas Edge platform is produced. It begins with the raw data sources, walks through the construction of the absorption ratio as an analytical target, describes the weather calibration model that produces physics potential, details the machine learning model that forecasts forward absorption, and explains how the final outputs — forecast gas displacement in Bcf — are derived. It is written for readers who want to understand the system rigorously, including the modelling decisions, the trade-offs taken, and the limitations.

It is not investment advice. Every output described here is the product of statistical modelling of historical data, with all the limitations that implies.

01

The question this model answers

Most public renewable forecasts stop at one number: how much electricity wind and solar are expected to generate. That number, on its own, is not what determines natural gas prices.

What matters for gas is how much of that generated electricity actually displaces gas-fired generation. In high-renewable seasons, US grid operators routinely curtail solar and wind output — instructing inverters to reduce production — because gas plants cannot ramp below minimum generation thresholds, transmission corridors saturate between generation zones and load centres, or demand simply isn't high enough to clear the supply. A sunny May afternoon in California can see 30% of available solar curtailed, even with the panels physically capable of generating more. The energy is available, the demand exists somewhere on the grid, but the system constraints prevent the supply from reaching the load.

The metric that captures this is the absorption ratio: the fraction of physically available renewable output that the grid actually dispatches and uses. Multiplied by physics potential, it gives genuine forecast generation. Converted via heat rate, it gives forecast gas displacement in Bcf — which is what moves nat gas prices.

The signal NatGas Edge models
Public forecasts model the numerator (generation) and ignore the denominator (what the grid will absorb). Institutional desks model both internally. NatGas Edge brings the same analytical depth to a retail-accessible platform.
02

Data sources

2.1 EIA Form 930 — hourly grid operations data

The foundation of the renewables pipeline is the US Energy Information Administration's Form 930 dataset, which publishes hourly electricity operations data for every US balancing authority. For each hour, EIA-930 reports net generation by fuel type — including hourly TWh produced by wind and solar — for the major ISOs and balancing authorities we cover: CAISO (California), ERCOT (Texas), MISO (Midcontinent), SPP (Southwest Power Pool), PJM (Mid-Atlantic), NYISO (New York), and ISO-NE (New England).

The data is ingested daily into our pipeline with a typical lag of 1–2 days between operational date and EIA publication. Seven years of historical hourly data are maintained, allowing us to model regime behaviour across the rapid build-out of renewables that has occurred since 2018. EIA-930 also publishes day-ahead demand forecasts produced by each balancing authority, which we use as one of the forecast inputs.

2.2 Installed capacity from EIA-860

To compute what wind and solar could produce under given conditions — the physics potential — we need to know how much capacity exists in each ISO at each point in time. EIA Form 860 publishes generator-level data for every utility-scale plant in the United States, including nameplate capacity, online date, retirement date, and location. We aggregate this to ISO × fueltype monthly capacity series, accounting for the continuous fleet evolution.

This is critical because the renewables fleet has grown substantially across our seven-year history. A 5 TWh generation hour in 2019 represents a very different absorption ratio than the same generation in 2026 against a much larger installed base. Capacity-aware modelling separates the regime shift from the absorption behaviour.

2.3 Weather data

Weather is the primary driver of renewable physics potential — solar irradiance for solar, wind speed for wind. We ingest forecasts and actuals for the five major US natural gas demand regions: South Central, East, Midwest, Mountain, and Pacific. Each region is anchored to the major population centre within it, which provides a good proxy for demand-side weather (heating and cooling degree days follow population, and gas demand follows degree days).

For each region we maintain three forecast horizons — near (1–5 day), mid (6–10 day), and far (11–15 day) — updated daily. This gives us forecast weather at the granularity the model needs to predict forward absorption regimes, plus actuals to compute historical anomalies against five-year seasonal norms.

Known limitation
Weather data is currently anchored to population centres, which is right for the demand side (where heating and cooling drive gas demand) but a proxy for the supply side (where solar irradiance and wind speed at fleet locations actually drive generation potential). A v2 enhancement is planned to add fleet-weighted weather pulled from EIA-860 plant locations, which will sharpen the supply-side signal. Until then, our calibration model partly compensates by learning the relationship between weather signals and actual generation empirically rather than physically — but the limitation is real and documented.

2.4 Other inputs

The forecast model also incorporates:

  • >Day-of-week, day-of-year, week-of-year, month-of-year seasonal indicators
  • >Lagged absorption ratios (1-day, 7-day, 28-day rolling, 364-day prior-year) capturing system state and seasonal anchoring
  • >Lagged curtailment as a direct measure of recent grid friction
  • >Demand anomalies vs five-year seasonal norms at each forecast horizon — how unusually hot or cold the forward outlook is by region
  • >Saturation ratios combining forward physics potential against forward demand, surfacing the regime where renewable supply exceeds load-absorptive capacity
03

The weather calibration model

Before we can model absorption forward, we need to know what the grid could have produced under each historical weather condition — the physics potential. This is computed daily per ISO × fueltype using a calibration model that learns the empirical relationship between weather inputs and actual generation, calibrated against EIA-930 actuals.

3.1 Why empirical calibration, not pure physics

A pure physics model — Beer-Lambert irradiance equations for solar, cube-of-wind-speed power curves for wind — would compute potential output from first principles given perfect weather data at every panel and turbine. We do not attempt this. The compute and data requirements (hourly irradiance and wind speed at every fleet location for seven years) are prohibitive, and the calibration error from gaps in fleet location data would dominate.

Instead, we calibrate empirically. For each ISO × fueltype, we fit a model that learns: given a weather signal in this region on this day of the year with this much installed capacity, what generation would we have expected absent curtailment? The model is fit only on uncurtailed days (days where actuals match what physical conditions should have produced), giving us a clean read on the relationship between weather, capacity, and unconstrained output.

3.2 The beta coefficients

The calibration produces two key coefficients per ISO × fueltype:

  • >β_t — the daily-calibrated coefficient relating weather signal to generation potential, learned from a rolling window of recent actuals. This adapts to fleet composition changes (new high-efficiency turbines, repowered wind farms, panel degradation) and is recomputed continuously.
  • >β_p90 — the 90th-percentile coefficient over a longer historical window, used as a stable reference for what the fleet can produce on a high-performing day. β_p90 is the multiplier applied to the forward weather signal to compute physics potential.

The use of the 90th percentile (rather than the mean or maximum) is deliberate. The mean would understate fleet capability by averaging in low-performance days. The maximum would overstate it by anchoring to outlier days that may not represent reproducible behaviour. The 90th percentile captures consistent high-performance — what the fleet does on a good day — which is the right benchmark for physics potential as an absorption denominator.

3.3 Output: physics potential TWh

For each daily row per ISO × fueltype, the calibration model produces:

  • >physics_potential_twh — current-day physics potential given today’s weather signal
  • >physics_potential_twh_near — average physics potential over D+1 to D+5
  • >physics_potential_twh_mid — average physics potential over D+6 to D+10
  • >physics_potential_twh_far — average physics potential over D+11 to D+15

These are computed by applying β_p90 to the forward weather forecast at each horizon. The absorption ratio is then defined as actual_twh / physics_potential_twh for historical days, and modelled forward via the ML pipeline described below.

04

Constructing the absorption ratio target

For historical days, we compute the absorption ratio directly:

absorption_ratio = actual_twh / physics_potential_twh

Values close to 1.0 mean the grid absorbed almost all available output — minimal curtailment. Values significantly below 1.0 mean curtailment was material, whether due to demand insufficiency, minimum gas generation requirements, transmission constraints, or competing generation from hydro or other sources.

The forward-looking target — what we actually train the model to predict — is the average absorption ratio over each forecast horizon window:

  • >absorption_ratio_near = average absorption ratio over D+1 to D+5
  • >absorption_ratio_mid = average absorption ratio over D+6 to D+10
  • >absorption_ratio_far = average absorption ratio over D+11 to D+15

This horizon-aligned target construction matches how traders and analysts actually think about forward windows — the question is “what will the absorption regime look like over the next 5 days, not on Tuesday specifically.” Window-averaged targets are also more robust to single-day noise (a transmission outage, a data revision) than point predictions would be.

Each horizon has its own dedicated model, trained against its own target. Three models per ISO × fueltype combination — 42 models total across our 14 ISO × fueltype combinations.

05

The forecast model

5.1 Architecture choice

We use XGBoost regression — gradient-boosted decision trees — for the absorption forecast. The choice is motivated by three properties of this problem.

Mixed feature types and non-linear interactions. Absorption regimes are driven by interactions between weather, demand, seasonality, and recent system state. Linear models cannot capture the regime-dependent relationships (e.g. the curtailment response to additional solar is steep up to a saturation point, then flat). Tree-based models handle these interactions natively.

Robustness to feature scale and distributions. Our feature set spans weather signals (continuous), seasonal indicators (cyclical), lagged absorption (bounded 0–1), capacity (monotonically increasing), and demand anomalies (z-scored). XGBoost does not require standardisation and is robust to outliers in any of these.

Honest treatment of missing data. Forecast-horizon features are null where forward weather forecasts haven't been published yet. XGBoost handles missingness explicitly during training rather than requiring imputation choices that introduce assumptions. Median imputation is applied as a fallback for production inference.

5.2 Feature set

The model trains on 76 features per row, grouped into:

  • >Autoregressive features (7): lagged absorption (1-day, 7-day, 28-day rolling, 364-day prior-year), lagged curtailment, recent beta trends
  • >Seasonal structure (4): day-of-week, day-of-year, week-of-year, month-of-year
  • >Capacity and model state (2): current β_t, current β_p90
  • >Physics potential (4): current and forward physics potential at near/mid/far horizons
  • >Regional demand forecasts (24): HDD and CDD at near/mid/far horizons across all four demand regions relevant to renewables (South Central, Midwest, Pacific, East)
  • >Demand anomalies (24): same regional demand metrics, expressed as deviations from five-year seasonal norms
  • >Saturation ratios (11): physics potential vs forecast demand at each horizon and region

The feature set is deliberately rich on the demand side. The thesis of the model is that absorption regimes are driven by the interaction between supply (physics potential) and demand (regional gas-weighted degree days), not by either side in isolation. A sunny day with low cooling demand looks different from a sunny day with high cooling demand, and the model has the features to learn the difference.

5.3 Training procedure

For each ISO × fueltype × horizon combination, the model is trained on all historical days from June 2019 to the most recent date with a completed forward window (the strict near horizon target needs 5 forward days of actuals, mid needs 10, far needs 15).

We use walk-forward cross-validation for accuracy estimation: the model is retrained at each evaluation step using only data available before the prediction date, then evaluated on the next prediction. This is the only honest way to estimate forward-looking accuracy because it never lets the model see information it wouldn't have had in real-time deployment. We evaluate at weekly cadence (every 7th day) across the most recent 730 days of history, producing approximately 105 out-of-sample folds per model.

The walk-forward results are computed once per training run and persisted alongside the model. Reported accuracy metrics — MAE, R², seasonal breakdowns — come exclusively from these walk-forward folds, never from in-sample fit.

5.4 Hyperparameter choices

The XGBoost hyperparameters are tuned to balance fit against overfitting risk:

  • >n_estimators=500 with learning_rate=0.02 — many shallow trees, slow learning
  • >max_depth=4 — shallow trees prevent memorisation of training-set quirks
  • >min_child_weight=6 — minimum 6 effective samples per leaf, regularises against noise
  • >subsample=0.8, colsample_bytree=0.7 — stochastic regularisation per tree
  • >reg_alpha=0.1, reg_lambda=1.0 — L1 and L2 regularisation

These choices are conservative. A more aggressive configuration would fit training data better and walk-forward worse. The published walk-forward accuracy is what subscribers actually experience.

5.5 Spring MAE as primary quality signal

Forecast accuracy is reported with seasonal breakdowns. The primary quality signal we track is spring MAE — mean absolute error during March, April, and May. This is the most important window for absorption forecasting because it covers the curtailment regime transitions: solar curtailment in CAISO ramps materially from March to May as physics potential grows faster than demand; wind curtailment in ERCOT and SPP shifts as the seasonal demand pattern rotates. A model that performs well in stable summer or winter regimes but fails during transitions has limited practical value.

Spring MAE above 0.15 triggers an internal review of the model’s demand features for the affected ISO × fueltype. This threshold reflects what we consider the limit of usable forecast quality for displaying live signals to subscribers.

06

From absorption to Bcf displaced

The model outputs a forecast absorption ratio per ISO × fueltype × horizon. Three subsequent transformations produce the user-facing gas displacement number.

6.1 Estimated TWh adjusted

The absorption forecast is combined with the forward physics potential to produce expected dispatched generation:

estimated_twh_adjusted = absorption_forecast × physics_potential_twh_<horizon>

This is the model's view of how much wind or solar electricity will actually reach the grid during each forward window. Crucially, this carries the curtailment regime forward — it is not a maximum-potential number, it is an absorption-adjusted forecast of real dispatched generation.

6.2 Gas burn displaced

The TWh value is converted to gas-equivalent volume using the heat rate of marginal gas-fired generation. We use:

  • >Heat rate: 7.5 MMBtu per MWh, the published EIA average for US gas-fired generation
  • >Henry Hub HHV: 1,030 Btu per scf, standard for US natural gas

Combined:

gas_displaced_bcf = estimated_twh_adjusted × 7.28

where 7.28 Bcf per TWh is the dimensional conversion derived from the heat rate and HHV. Worked through: 1 TWh = 10⁶ MWh, requiring 7.5 × 10⁶ MMBtu of gas, which at 1.03 × 10⁶ MMBtu per Bcf equals 7.28 Bcf. This is what would have been burned to produce the same electricity from gas-fired generation.

A note on regional heat rates
The 7.5 MMBtu/MWh figure is a US-wide average. Combined-cycle plants run more efficiently (around 7.0); older steam units run worse (8.5+). A v2 enhancement could apply ISO-specific heat rates weighted by the local gas fleet composition, but the variation is typically within 10% of the average and the simplification is reasonable for the current product. We document this transparently.

6.3 Output and revisions

For each daily model run, three predictions are produced per ISO × fueltype:

  • >Near horizon: absorption forecast for D+1 to D+5
  • >Mid horizon: absorption forecast for D+6 to D+10
  • >Far horizon: absorption forecast for D+11 to D+15

Each prediction carries its absorption forecast, derived estimated TWh, and derived Bcf displaced. All three are written to the predictions table with the model run timestamp and feature importance attached.

Day-over-day revisions are computed for every forecast metric — the change in today's forecast vs yesterday's forecast for the same horizon. These revisions are often more actionable than the absolute level itself: in commodity markets, the rate of change of expectations is what's being repriced. A 0.34 Bcf upward revision overnight on the near-horizon gas displacement forecast is a signal that something material has shifted in the inputs — weather forecast, demand outlook, or recent grid state — and that the market may not have fully repriced.

07

Validation and track record

Every accuracy claim on the NatGas Edge platform comes from genuine out-of-sample predictions, not in-sample fit and not backtests.

Walk-forward backfill

On first deployment, we ran a complete walk-forward backfill: for each historical day in the validation window, a fresh model was trained using only data available before that day, then used to produce the prediction for that day. This produces a true historical track record — every prediction was made by a model that had no information about the outcome it was predicting.

Live predictions

From deployment forward, each daily model run produces predictions that are written to the predictions table before any future actuals exist. As actuals land over the following days and weeks, they are joined to the predictions in the downstream mart, producing live accuracy metrics computed only on genuinely forward predictions.

Feature importance preservation

Every prediction record carries the feature importance of the model that produced it, persisted as JSON. This means the audit trail isn’t just “the model said X” but “the model said X because of these features, with these weights.” Over time this lets us track how the model’s reliance on different features evolves — whether autoregressive features are becoming more dominant, whether weather features earn weight during regime transitions, whether new fleet additions shift the importance distribution.

No look-ahead

No feature in the training set incorporates future information about the target. Lagged features are strictly historical. Forecast-window features (weather, demand) are forward-looking forecasts, which is what the model would have had at prediction time. Actuals from the target window are never visible to the model during training or inference.

08

Known limitations

We document the model’s limitations openly because credibility depends on it.

Weather is anchored to population centres, not fleet locations

The current supply-side weather signal is a proxy. A v2 enhancement will add fleet-weighted weather sourced from EIA-860 plant coordinates, which will sharpen physics potential calculations. Until then, the calibration model partly compensates by learning the empirical relationship between proxy weather and observed generation, but the limitation is real.

Curtailment attribution is aggregate, not decomposed

The absorption ratio captures total curtailment regardless of cause — demand-driven, transmission-driven, minimum-generation-driven, or competing-generation-driven. The model forecasts the aggregate accurately but does not attempt to attribute curtailment to specific mechanisms. Attribution would require transmission flow data, gas plant dispatch data, and ancillary service procurement data — pipelines we may add in future versions.

Heat rate is US-average, not ISO-specific

Gas displacement conversion uses the EIA-published US average of 7.5 MMBtu/MWh. ISO-specific heat rates would refine the calculation but the variation is typically within 10% and does not affect directional accuracy.

Forecasts are model estimates, not guarantees

Renewable absorption regimes can shift with grid policy changes (transmission additions, new battery capacity, retirement of old gas units, regulatory changes to minimum-generation requirements) in ways the model only learns about after they occur. We retrain regularly and monitor accuracy continuously, but structural breaks in the underlying system cannot be perfectly anticipated.

The model is autoregressive with weather/demand forcing

Recent absorption levels are the strongest single predictor of forward absorption — this reflects the genuine persistence of curtailment regimes, not a modelling shortcoming. Weather and demand features earn their weight specifically at regime transitions, which is why spring MAE is the primary quality signal. The forecast is honest about what it is: an autoregressive prediction with weather/demand forcing, not a first-principles dispatch simulation.

09

What this enables

The renewables signal is one input into the NatGas Edge composite weekly verdict, but it is the most differentiated. Public renewables forecasts stop at generation potential. Institutional fundamentals desks model absorption internally but their work is not accessible to retail. NatGas Edge produces forecast gas displacement in Bcf per ISO × fueltype × horizon — daily, with full revision tracking, audited live track record, and with the full methodology documented publicly.

This is the kind of signal that historically required a dedicated power-and-gas analyst working with several years of EIA data and ISO operational feeds. The reason it's not in retail tools is not that the analysis is hidden or proprietary — it's that the data engineering required to assemble and maintain the pipeline behind it is several months of work that no retail platform has historically been willing to invest in. We have done that work. This methodology is the audit trail.

Last updated: May 2026. For questions about the model or methodology, contact damien@natgasedge.com. This document describes the renewables model only. Separate methodology pages cover the other signals.