KardashevLabs
Live forward test

ERCOT day-ahead spread forecast.
Scored in public, every day.

Each day, before delivery, our model publishes P10/P50/P90 forecasts of the RT−DA price spread for the next 24 hours across 15 ERCOT hubs and load zones. Forecasts are written once and never revised. After the hours settle, they are scored against realized real-time prices. Everything below is computed from that immutable log. When the model changes, the old model's scored history stays exactly as it was. Nothing is ever merged or hidden.

New to energy markets? How to read this page
What's being predicted. Texas electricity is priced twice: a price locked the day before (day-ahead) and the live price during the actual hour (real-time). They never quite match. We predict the gap: will the live price come in above or below the locked one, and by how much, for every hour, at 15 locations.
"Our miss vs market's miss." The locked day-ahead price is itself the market's best guess of real-time. So it's our benchmark: if our average error is smaller than the market's, the model adds real information. Both numbers are averages in dollars per megawatt-hour.
"Promise kept" (coverage). Every prediction is a range, like a circle drawn before throwing a dart: "80% of outcomes will land inside." This tile counts how often reality actually landed inside our ranges. Near 80% = the model knows exactly how uncertain it is. Well below = overconfident; well above = uselessly cautious.
Paper trading. A simulated bet, only placed when the model's entire range clears zero, i.e., even its pessimistic case agrees on direction. Most calm days that never happens and no bet is placed; that discipline is a feature. Results shown are after estimated fees, with no real money at stake.
Model versions. The model is retrained periodically as we add better data. Each version gets its own scored track record below, tagged v1, v2, etc, an older version's numbers are never revised or folded into the new one, so you can see exactly how each version performed on its own.

Live track record

v22026-07-092026-07-14current model
Predictions scored
1,530
one per hour per location
Our miss vs market's miss
4.79 / 5.08
avg error in $/MWh, ours first. Smaller than the market's number = we forecast better than the price the market locked in
Promise kept?
80.7%
every forecast is a range we claim catches the real outcome 80% of the time. This is how often it actually did
Paper trading P&L
-$58
6 hours traded · 0.0% winners · after $0.75/MWh fees
Day (UTC)Node-hours tradedNet P&LCoverage
2026-07-14070.7%
2026-07-13088.9%
2026-07-12074.2%
2026-07-116-$5877.2%
2026-07-10083.8%
2026-07-09084.4%
v12026-07-082026-07-15
Predictions scored
2,025
one per hour per location
Our miss vs market's miss
4.50 / 5.07
avg error in $/MWh, ours first. Smaller than the market's number = we forecast better than the price the market locked in
Promise kept?
70.7%
every forecast is a range we claim catches the real outcome 80% of the time. This is how often it actually did
Paper trading P&L
$92
15 hours traded · 93.3% winners · after $0.75/MWh fees
Day (UTC)Node-hours tradedNet P&LCoverage
2026-07-153-$266.7%
2026-07-144$866.7%
2026-07-13093.3%
2026-07-12057.1%
2026-07-11061.1%
2026-07-108$8686.7%
2026-07-09075.6%
2026-07-08069.8%

Explore the calls

Pick a node. See already-scored history, or the live, unresolved call for the next 24 hours. Nothing in Live mode has happened yet.

already scored against reality
Pick a node
Window

The shaded area is the range the model claims 80% of outcomes will land in; the thin line inside it is its single best guess. The dots are what actually happened: amber if it landed inside the claimed range, red if the model missed.

Loading HB_HOUSTON

Methodology

The model is a global temporal fusion transformer trained on hourly ERCOT settlement prices from 2019 onward (self-collected from ERCOT MIS archives) plus ERCOT load, day-ahead load forecast, wind and solar generation from EIA-930. The current version (v2) adds ERCOT's own day-ahead wind/solar forecasts, planned outage capacity, ancillary clearing prices and natural gas price as further leak-free inputs. It forecasts the distribution of the next 24 hours' RT−DA spread per node and is retrained quarterly.

The setup is leak-free: at issuance the model sees only information available before delivery, the cleared day-ahead price, published forecasts, and real-time history through the last settled hour.

The paper trading rule is deliberately simple: long the spread when P10 > 0, short when P90 < 0, flat otherwise, 1 MWh per node-hour, haircut $0.75/MWh for fees. In backtest v2 beat v1 on both accuracy (MAE, RMSE) and trading P&L on the same held-out year, with uncertainty bands calibrated using a conformal widening fit on a separate calibration window.

Backtests can flatter; that is what this page is for. Paper fills at hub settlement prices, modeled fees, no market impact. Judge the live numbers.