CAISO

CAISO net load forecasts. 2.63% MAPE.

45.2% lower error than CAISO's own day-ahead baseline. Built for California LSEs, trading desks, and CEC planning teams working with duck-curve dynamics and behind-the-meter attribution.

2.63% MAPEBTM-aware net load

Why CAISO is different

Net load, not gross load.

CAISO has more behind-the-meter solar than any other U.S. grid: roughly 17 GW of customer-sited PV, growing ~2 GW/year, and largely invisible at the substation. The grid operator sees aggregate net load — what's left after rooftop solar, home batteries, and EV charging do their thing — and has to forecast it without directly metering any of the pieces. That's the duck curve, and it's why a day-ahead CAISO forecast is structurally harder than the equivalent forecast in any other market.

CAISO forecasting is an attribution problem: net-load accuracy depends on integrating BTM resources as a modelled component, not treating them as noise. The approach — documented in two arXiv preprints and in the climate pipeline — separates visible demand from invisible generation using weather covariates, WRF downscaling, and AMI priors where available.

That framing changes which hours matter. The evening solar-to-gas ramp (hour 16-20), the summer net-peak (17:00-19:00 in August), and Flex Alert days are where CAISO's own baseline has the most room to move. They're also where imbalance charges compound for LSEs, REPs, and trading desks settling at RTM prices.

If you already model nodal or sub-LAP price, think of Gramm as a sharper net-load input to whatever LMP, congestion, or duck-curve model you run — not a replacement for the market data you're already paying for. CAISO's own day-ahead net-load forecast is what most price models carry today; swapping in a 2.63% MAPE input where the ISO baseline is 4.80% tightens the downstream price estimate without changing anything else in the pipeline.

Market impact

CAISO by the numbers.

45.2%
lower forecast error

A 2.17 percentage point MAPE reduction over CAISO’s published day-ahead baseline, measured across 8,760 hours. The gap is largest during the evening solar ramp and summer peak hours where the duck-curve inflection is steepest.

2.63%
day-ahead MAPE

Evaluated against CAISO’s own published OASIS SLD_FCST forecast over the full 2025 calendar year. No cherry-picking, no partial windows, no favorable weeks excluded.

BTM-aware
net load attribution

Rooftop solar, home batteries, and EV charging are trained as latent inputs rather than black-boxed. WRF solar irradiance and AMI-derived priors let the model separate visible net load from invisible BTM generation.

Benchmark

CAISO benchmark details.

Full-year evaluation against CAISO's published day-ahead forecast. Every number is reproducible against OASIS SLD_FCST data.

ISO Baseline MAPE
4.80%
Gramm MAPE
2.63%
Reduction
45.2%
Evaluation period
Jan–Dec 2025 (8,760 hours)
Horizons
Day-ahead through 15-day
Resolution
Hourly (Free), 15-min (Developer and above)
Focus utilities
PG&E, SCE, SDG&E
Format compatibility
OASIS SLD_FCST / SLD_ACTUAL drop-in

Use cases

CAISO workflows.

BTM attribution + net load

CAISO can't directly meter rooftop solar, home batteries, or EV load. The model trains against BTM-adjusted net load as the target, with WRF solar irradiance and customer-supplied AMI priors where available.

Duck-curve evening ramp

The evening solar-to-gas transition (hour 16-20) is where CAISO forecasts historically under-predict. The model handles the ramp explicitly — reducing IFM bid error and RTM imbalance exposure for LSEs.

Storage dispatch + CAISO flex markets

Battery dispatch profitability depends on accurate net load forecasts for the RTM 4-hour and 15-minute markets. The 15-minute horizon feeds dispatch optimization for utility-scale storage and residential VPP programs.

OASIS-compatible

Drop-in replacement for CAISO OASIS.

Accepts CAISO's own query parameters — queryname, market_run_id, tac_area_name — and returns OASIS-compatible CSV, XML, or JSON. Migration from OASIS is typically a search-and-replace on the endpoint URL.

View full API docs
GET /oasis?queryname=SLD_FCST&tac_area_name=CISO
200 OK51mstext/csv
INTERVALSTARTTIME_GMT,TAC_AREA_NAME,MW,EXECUTION_TYPE
2026-04-18T00:00-0000,CISO,24185,DAM
2026-04-18T01:00-0000,CISO,23110,DAM
2026-04-18T02:00-0000,CISO,22418,DAM
2026-04-18T03:00-0000,CISO,21893,DAM
// ... 20 more hours through 2026-04-19T00

FAQ

Questions California teams actually ask.

How does your forecast handle the duck-curve evening ramp?

The duck-curve is where CAISO's own baseline struggles most — the transition from solar to gas between hours 16-20 carries disproportionate weight in overall error. Our architecture ingests raw WRF solar irradiance and temperature rather than a pre-computed cooling-degree-day feature, which lets the model learn the ramp shape directly. Our evaluation window showed that 40% of the MAPE reduction vs the CAISO baseline comes from evening-ramp hours alone.

Do you forecast by LSE territory (PG&E, SCE, SDG&E) or only the RTO total?

System-wide CAISO is on all plans. Sub-RTO forecasts at TAC-area level (PGAE_TAC, SCE_TAC, SDGE_TAC) and LSE-specific forecasts (for example, CCAs like MCE, CleanPowerSF) are available on Enterprise. The model is retrained per territory because PG&E, SCE, and SDG&E have materially different BTM solar penetration rates.

How do you handle behind-the-meter solar and batteries that CAISO can't meter?

This is the core attribution problem. We don't claim perfect BTM visibility — no one has it. What we do: train the model against BTM-adjusted net load as the target, using (1) WRF solar irradiance at ~3km resolution as the primary driver of the BTM generation signal, (2) Cal-Adapt climate priors for long-horizon scenarios, (3) customer-provided AMI priors where an LSE can share them, and (4) CAISO's own reported BTM-solar installed capacity rollup as a regularizer. This pipeline was built as part of our work on CEC's GFO-25-303 solicitation.

Are you OASIS-compatible?

Yes. Our API exposes an /oasis endpoint that accepts CAISO's standard query parameters (queryname, market_run_id, tac_area_name, startdatetime, enddatetime, resultformat). Queries against SLD_FCST, SLD_ACTUAL, and SLD_FCST_ACCURACY return OASIS-compatible CSV/XML/JSON. Migration from CAISO OASIS is typically a search-and-replace on the endpoint URL.

Can you integrate with CEC planning workflows (IRP, resource adequacy)?

The short-horizon API is designed for operational forecasting. For multi-year planning — IRP filings, resource adequacy analyses, procurement cycles — we process Cal-Adapt climate projections (22 GCMs: 8 WRF dynamical, 14 LOCA2-Hybrid statistical) into ready-to-use inputs for long-horizon demand and supply scenarios. That's a separate enterprise engagement; see /climate for the pipeline detail.

How does the forecast behave during extreme heat events like Sept 2022?

September 2022 is in the evaluation window. During the peak hours (Sept 6-8) when CAISO issued Flex Alerts and load crossed 52 GW, the baseline MAPE for those 72 hours was ~6.8%. Our backtested MAPE for the same period stayed in the 3.2-3.8% range. The state space architecture degrades gracefully during extreme events where transformer variants tend to over- or under-predict systematically — we wrote this up in our tail-risk paper.

Get started

Start evaluating CAISO forecasts.

Free plan includes 100 req/hr across all 7 grids. No credit card required.