The dispatch model is a single-asset BESS optimisation that maximises revenue by solving a MILP for charge/discharge schedules across energy and ancillary service markets. Unlike the production cost model (system-wide cost minimisation), the dispatch model optimises from the perspective of one asset owner.
Revenue streams
| Stream | Method | Frequency | Source |
|---|---|---|---|
| Energy arbitrage | Co-optimised in MILP | Hourly | DAM prices from PCM |
| Ancillary services | Co-optimised in MILP | Hourly | AS prices from ML model |
| Capacity market | Post-solve calculation | Monthly | ICAP demand curve clearing |
| ISC contract | Post-solve calculation | Monthly | Indexed to REAP + RCP |
Energy and AS are jointly optimised — the solver decides MW allocation across all markets each hour. Capacity and ISC are calculated after the dispatch is solved and do not influence the schedule.
Energy arbitrage
The solver maximises the spread between discharge hours (sell high) and charge hours (buy low) across the NYISO day-ahead market, subject to the battery’s physical constraints (SoC evolution, power limits, cycling, ramping).
The solver has perfect foresight over the DAM price horizon (daily batches), representing an upper bound on achievable revenue. Revenue capture rates (actual vs perfect foresight) are typically 70–85% for energy arbitrage.
Ancillary services
Four NYISO products are co-optimised alongside energy:
| Product | Direction | Max Call Duration | SOC Headroom | Symmetric |
|---|---|---|---|---|
| 10-min spinning | Discharge only | 30 min | SoC >= MinSoC + (MW x 0.5h) | No |
| 10-min non-sync | Discharge only | 30 min | SoC >= MinSoC + (MW x 0.5h) | No |
| 30-min operating | Discharge only | 1 hour | SoC >= MinSoC + (MW x 1.0h) | No |
| NYCA regulation | Both (symmetric) | ~36 sec | Minimal | Yes |
NYISO-specific rules modeled:
- 10-min spinning and 10-min non-sync are mutually exclusive — a battery offers into one or the other each hour, not both
- Regulation is symmetric — must reserve equal MW for up (discharge) and down (charge). NYISO pays a single capacity price regardless of direction.
- SOC headroom — must hold enough stored energy to deliver at full reserved power for the product’s maximum call duration
- Acceptance rate saturation — empirical cap on per-asset participation for each product
The co-optimisation trade-off: AS capacity earns a guaranteed payment ($/MW/hour) but the reserved MW cannot simultaneously be used for energy arbitrage. The solver balances these competing revenue streams each hour.
Capacity market payments
Capacity revenue is a post-solve calculation that does not affect the dispatch schedule.
ICAP demand curve
NYISO clears monthly capacity prices for four nested localities via a downward-sloping demand curve:
| Locality | Zones | Description |
|---|---|---|
| NYCA | All 11 | Statewide — every resource participates |
| G-J Locality | G, H, I, J | Downstate — transmission-constrained premium |
| NYC | J | Most constrained — highest prices |
| Long Island | K | Island — limited interconnection |
CAFs
Each BESS earns a fraction of nameplate MW as UCAP credit, based on duration, locality, year, and scenario (base/low/high). CAFs decline as storage penetration grows — see Capacity Expansion Model for the full table.
Monthly revenue = clearing price ($/kW-mo) x CAF x 1,000
See Capacity Prices for CAF tables and demand curve parameters.
Indexed Storage Credit (ISC)
The ISC is NYISO’s 15-year availability-based subsidy for battery storage, awarded through competitive solicitation. Three tenders are planned (2027–2029) targeting ~1,000 MW/year.
The ISC is an indexed contract — payments adjust monthly based on what the battery “should” have earned. When market revenues are low, the ISC tops up income. When revenues are high, the developer pays back part of the windfall.
Contract mechanics
Monthly payment = (Strike Price - Reference Price) x MW x Duration x Days
| Component | Formula | Source |
|---|---|---|
| Strike price | Gross CONE x 1,000 / (Duration x 365 x Availability) | DCR Table 42, by locality and duration |
| REAP | Avg(top-X - bottom-X / 0.85) daily, X = min(duration, 8) | DAM prices |
| RCP | UCAP price x CAF x 1,000 / (Duration x Days) | Capacity auction |
| Reference price | REAP + RCP | |
| Clawback cap | Monthly payment cannot exceed strike x operational MWh |
Strike price escalation
Escalates annually from the 2025-2026 base using a weighted composite (DCR Table 60):
| Component | Weight |
|---|---|
| Construction labor | 40% |
| Storage batteries | 35% |
| Materials | 15% |
| GDP deflator | 10% |
If battery costs decline faster than this composite, the ISC becomes more generous over time.
| Input | Source | Link |
|---|---|---|
| Gross CONE by locality/duration | NYISO DCR Table 42 | NYISO DCR |
| Escalation rate weights | NYISO DCR Table 60 | NYISO DCR |
| ISC REAP methodology | NYISO ISC tariff filing | NYISO |
| ISC tender schedule (3 x ~1 GW) | NYISO Board announcements | NYISO |
Model integration
| Input | Source | Format |
|---|---|---|
| Energy prices | PCM zonal DAM LMPs | Parquet (S3) |
| AS prices | PCM ML predictions | Parquet (S3) |
| Capacity prices | PCM ICAP demand curve | Parquet (S3) |
| CAFs | NYISO iCAF Set 1 | CSV (S3) |
| Gross CONE | NYISO DCR Table 42 | CSV (S3) |
| Escalation rates | NYISO DCR Table 60 | CSV (S3) |
Assumptions and caveats
- Perfect foresight over DAM prices — represents upper bound on energy arbitrage. Actual capture rates ~70-85%.
- No real-time market — all settlement at DAM prices. RT price volatility not captured.
- AS acceptance rates are empirical averages — actual call patterns vary with system conditions.
- ISC terms based on 2025-2029 DCR — will change in future reset cycles.
- Capacity prices are endogenous PCM outputs, not historical — reflect the model’s supply-demand view.
- Duration capping — capacity and ISC calculations clamp duration to 8h max, round down to nearest supported (2, 4, 6, 8).
Data sources
| Source | Description | Link |
|---|---|---|
| NYISO DCR | Demand curve parameters, Gross CONE, escalation rates | NYISO DCR |
| NYISO ICAPWG | Capacity Accreditation Factors | NYISO ICAPWG |
| NYISO ICAP | UCAP auction results | NYISO ICAP |