Tomorrow's Texas power price, called before the market closes.
Each day, as soon as ERCOT publishes the latest prices, a model forecasts the next open day-ahead market hour by hour and publishes the call before bids close at 10:00 Central. Once that day's price clears, the call is scored against it, next to a simple benchmark it has to beat.
What drives tomorrow
From the fundamental model: weather turned into demand, wind and solar, then cleared against a merit-order supply stack. These explain the price; the call itself comes from the hybrid model.
Live track record
Only calls stamped before the market closed count. The benchmark is today's day-ahead price repeated for tomorrow: it's public before the call is made, so beating it is the test of skill.
Every scored day, as a table
Any day, hour by hour
Pick a scored day to see each hour's forecast against what cleared.
Backtest
Replayed on real data, not a live recordThe same model replayed over recent past days. Each day uses only prices known the day before and the weather forecast as it stood about 24 hours ahead. It shows how the method behaves; only the live record above proves the calls were made in advance.
Day-ahead vs real-time
For each scored day: the day-ahead average minus the real-time average. A positive number means buyers paid a premium to lock in their price a day early.
How it works
Hybrid (makes the call). Starts from today's cleared day-ahead price for each hour, then adjusts for the forecast change in temperature, wind and solar between today and tomorrow. It is a robust regression fitted separately for four parts of the day on the last 120 days and refitted every morning, so one price spike can't take it over. It trains on the weather forecast as it stood the day before, never on what actually happened, and it won't extrapolate beyond the conditions it has seen.
Fundamental stack (explains the price). Weather is turned into demand, wind and solar output. Net demand is cleared against a supply stack built from ERCOT's installed capacity: gas plants priced by heat rate × Henry Hub, batteries, and ERCOT's scarcity adder.
Benchmarks. Today's day-ahead price for the same hour, and the same hour on the same weekday last week.
Range. The 80% range comes from the model's own errors on 28 days it had not seen.
A call stamped after 10:00 Central the day before delivery is never counted as live. Whether a call is live is recomputed from its timestamps, not trusted from the file.
Once a live call is saved, no later run can overwrite it. The one exception: before the close, a backup call from the simpler model can be upgraded to the main model.
Actuals are ERCOT's official settlement files, cross-checked against the public dashboard. A day with only a dashboard figure is held back as provisional.
No day is dropped silently. A failed data feed is written into every forecast file, and nothing is filled in by guesswork. Each call links to the GitHub run that produced it.
ERCOT settlement files and dashboards for prices, generation and capacity. Open-Meteo for weather forecasts across 8 load centres, 5 wind regions and 4 solar regions. EIA for demand history and the Henry Hub gas price.