Last updated: 23 October 2026
SPP Methodology
Modo Energy provides benchmark data for battery energy storage systems across global energy markets, applying a standardized methodology to ensure consistency and transparency across all produced Indices.
1. Introduction
The Modo Energy SPP Methodology Framework sets out how Modo Energy's battery energy storage benchmarks for the Southwest Power Pool (SPP) are constructed. It explains:
- what the Benchmarks measure and the justification behind the approach (§1);
- the key terms used (§2);
- the representative asset and how its values are calculated (§3);
- the revenue components included (§4);
- the data inputs, fallbacks, and minimum data requirements (§5);
- the optimization engine (§6);
- how expert judgement is exercised (§7);
- how the Benchmarks are determined when data is missing or markets are disrupted (§8);
- when published values may be revised (§9);
- how the methodology is reviewed and changed (§10-11);
- and the Benchmarks' limitations (§12).
1.1 What the SPP Benchmarks measure
The ME vBESS SPP Benchmarks measure the simulated market revenue of a representative grid-scale lithium-ion BESS in SPP, expressed per MW of rated power. The family of benchmarks is grouped by system duration so revenues can be compared across battery configurations. Each Benchmark reflects revenue a representative asset could earn from SPP's energy and ancillary service markets rather than a measurement of any individual operator.
1.2 Why SPP requires a simulated benchmark
The SPP benchmark is simulated, not measured.
SPP does not publish the asset-level data needed to account for the operations and revenues of individual batteries on its grid. It publishes market clearing prices for energy (locational marginal prices, LMPs) and for each ancillary service (marginal clearing prices), but not per-asset dispatch, rewards, or revenues. By contrast, ERCOT publishes the ancillary service awards and telemetered net output of individual units, which allows Modo Energy to construct asset-level benchmarks for realized revenues.
1.3 Why this method is used
In the absence of asset-level data, Modo Energy estimates what a battery could earn in SPP by simulating the optimal trading strategy against the historical prices SPP publishes. The trading strategy is the output of Modo Energy's Global Dispatch Model (GDM) — a mixed-integer linear program (MILP) that maximizes battery revenue subject to market rules and physical constraints (§6). This approach:
- uses only public SPP price data, so that every input can be traced to an SPP publication;
- applies a fixed, disclosed asset specification, so that changes in Benchmark values reflect changes in market prices rather than changes in the asset or its operator; and
- uses the same model as Modo Energy's simulated benchmarks in other markets, maintaining consistency across all such Benchmarks.
The model optimizes with perfect knowledge of the day's prices, so its raw output can overstate what a real operator would earn. A calibration factor is applied to account for this (§6.6).
2. Definitions
| Term | Definition |
|---|---|
| Benchmark | An ME vBESS SPP Benchmark, as listed in §3.1 |
| BESS | Battery energy storage system |
| Rated Power | The maximum instantaneous power discharge of the battery, in MW |
| Duration | The number of hours the representative asset can discharge at its rated power |
| Energy capacity | The product of rated power and duration, measured in MWh |
| State of Charge (SoC) | The energy stored in the battery at a point in time. |
| Round-trip efficiency (RTE) | The share of energy imported from the grid that can later be discharged. |
| Operating day | A calendar day in SPP local time (Central Prevailing Time) |
| Day-ahead (DA) market | SPP's day-ahead market, wherein energy and ancillary services are co-optimized and clears hourly |
| Real-time (RT) market | SPP's real-time market, wherein energy and ancillary services are co-optimized and clears at 5-minute intervals |
| LMP | Locational marginal price: the price of energy at an SPP pricing node, in nominal USD/MWh |
| Settlement location or hub | The SPP pricing node whose LMP is used for a Benchmark (§5.2) |
| Reserve zone | The SPP balancing area whose ancillary service clearing prices apply to a settlement location (§5.2) |
| Ancillary service | A reserve product procured by SPP |
| Capacity product | A product paid per MW of capacity held each interval, in nominal USD/MW/h, rather than per MWh of energy delivered |
| Expected throughput | The assumed share of ancillary capacity held that is actually exported or imported as energy within an interval (§5.4) |
| Perfect foresight | The optimization engine knows all prices for the operating day when it makes its dispatch decisions |
3. Benchmark Construction
This section details the parameters that define the simulated battery in a Modo Energy virtual asset benchmark. The default values for those parameters in the ME vBESS SPP Benchmarks are also provided.
3.1 The ME vBESS SPP Benchmarks
Modo Energy produces a family of nine benchmarks for SPP. The benchmarks vary in the duration and settlement location of the simulated battery:
- The durations are: 1-, 2-, and 4-hours
- The settlement locations are the three aggregate pricing hubs in SPP: the south (SPPSOUTH_HUB), north (SPPNORTH_HUB), and west (SWPW_HUB) hubs.
The naming convention for this family of benchmarks is ME vBESS SPP [settlement location] ([duration]H) — for example, the 2-hour benchmark for the western hub is "ME vBESS SPP West (2H)".
This family of benchmarks are produced using the methodology described in this document, with a common set of operational and behavioral parameters. These parameters are specified below.
3.2 Representative vBESS specification
These parameters are set by Modo Energy, and are under the purview of the US modeling team. They define the representative asset and the behavior of the dispatch model. No input data (prices) are modified.
| Parameter | Value | Rationale |
|---|---|---|
| Rated power | 100 megawatts | Representative of utility-scale BESS in the SPP interconnection queue and recently commissioned assets. |
| Round-trip efficiency | 88% | AC-AC efficiency representative of current lithium-ion BESS. Applied to charging flow. |
| Max cycles per day | 1.0 | Representative contractual warranty for current deployments. |
| Usable state-of-charge window | 0% – 100% | The full usable energy capacity available to the optimization engine. |
| Cell degradation | Disabled | Keeps duration constant across the full history for comparability. Can be enabled in custom benchmarks. |
| Grid import/export limit | Equal to rated power (100 MW) | No grid connection restrictions are assumed. |
| AS expected throughput | See §5.4 | Per-service activation data. |
| Calibration factor | 80% | Accounts for the gap between perfect-foresight & realized revenues (§6.6). |
| Start- & end-of-day SoC | 0% | Each operating day is solved independently and days are comparable. |
All parameters listed in §3.1 and §3.2 are customizable in user-defined vBESS benchmarks, with the exception of AS expected throughput and calibration factor.
3.3 How the Benchmark is calculated
For each operating day, the benchmark is calculated as follows:
- Run the GDM for the day using the representative battery (§3.2) and the input data (§5).
- Compute the revenues earned in each modeled market, in nominal USD, as the cleared price multiplied by the simulated position in each interval.
- Multiply the revenue earned in each market by the calibration factor (§6.6).
- Sum revenue across markets and divide by the asset's rated power to arrive at the USD/MW value of the Benchmark for the operating day.
Values for longer periods (a month, a week) are the sum of the daily values in that period.
3.4 Benchmark value representation
All Benchmark values are reported as net revenues per unit of rated power, in the following units:
- USD/MW/year (annualized): total revenue earned in a period, divided by the number of days in the period and multiplied by 365.
- USD/MW/hour (hourly): total revenue earned in a period, divided by the number of hours in that period.
In both the Modo Energy Terminal and Modo Energy API, users can optionally normalize by the battery's energy capacity. The headline representation remains the rated power-normalized value.
3.5 Publication cadence
The Benchmarks are updated daily. Modo Energy ingests SPP day-ahead and real-time energy and ancillary service clearing prices and publishes for the most recent operating day for which the minimum data in §5.5 is available, after a short lag to allow for SPP settlement and late postings.
3.6 Market evolution reflected in the Benchmark
| Milestone | Effective | Impact |
|---|---|---|
| SPP introduces hub-level pricing in real-time ancillary service markets | 1 Jan 2023 | This is the final addition to the four necessary datasets (RT & DA energy & AS) to be added to SPP's public data. |
| SPP Markets+ expansion: SWPW hub (SWPW_HUB) and SWPW reserve zone added. | 1 Apr 2026 | Additional nodes/zones become selectable; the published Index keeps the SPP South hub and SPP reserve zone. |
4. Revenue Components
Modo Energy's virtual asset BESS benchmarks for SPP only consider wholesale revenue opportunities: energy and ancillary service. Resource Adequacy contracts, PPAs, and other capacity-provision like agreements are not included.
4.1 Revenue components included in the Benchmark
| Market | Source | Direction | Price signal |
|---|---|---|---|
| DA energy | SPP DA LMP data (settlement) | Charge and discharge | Hourly LMP at the selected node (USD/MWh) |
| RT Energy | SPP RT LMP data (settlement) | Charge and discharge | 5-minute LMP at the selected node (USD/MWh) |
| Regulation | SPP DA and RT ancillary service clearing price data | Charge and discharge | Hourly and 5-minute capacity prices (USD/MW/h) |
| Spinning Reserve | SPP DA and RT ancillary service clearing price data | Discharge | Hourly and 5-minute capacity prices (USD/MW/h) |
| Supplemental Reserve | SPP DA and RT ancillary service clearing price data | Discharge | Hourly and 5-minute capacity prices (USD/MW/h) |
| Ramping | SPP DA and RT ancillary service clearing price data | Charge and discharge | Hourly and 5-minute capacity prices (USD/MW/h) |
| Uncertainty Up | SPP DA and RT ancillary service clearing price data | Discharge | Hourly and 5-minute capacity prices (USD/MW/h) |
All ancillary products are capacity products: the battery is paid per MW of reserve held. Energy delivered when a service is deployed moves the battery's state of charge and counts toward cycling (§6.5), but only the capacity payment is counted as revenue.
4.2 Excluded revenues and costs
- Regulation mileage payments: real-time regulation mileage is paid per MW of movement rather than per MW of capacity; not modeled.
- Energy settlement of ancillary deployments: deployed energy affects SOC but is not separately settled.
- Capacity accreditation / resource adequacy payments: not a continuously cleared, publicly priced market product.
- Transmission congestion rights / congestion hedging: portfolio-specific; not modeled.
- Curtailment compensation: site-specific; not modeled.
- Network / transmission access charges: site-specific; set to zero.
- Bilateral contracts (PPAs, tolls, floors): not modeled.
- Operator fees, warranty, O&M: the Benchmark reports gross market revenue, not net of operating costs.
5. Data Inputs
5.1 Sources
The Benchmark uses four pricing datasets, all published by SPP. No other data sources are used for prices.
| Input | Source | Granularity | Applied at |
|---|---|---|---|
| DA LMP | SPP DA market results | Hourly | Settlement location |
| RT LMP | SPP RT market results | 5-minute | Settlement location |
| DA ancillary service clearing price | SPP DA market results | Hourly | Reserve zone |
| RT ancillary service clearing price | SPP RT market results | 5-minute | Reserve zone |
In addition, the model uses the parameters in §3.2 and a mapping published by SPP from pricing nodes to balancing areas, which determines the reserve zone for each settlement location.
5.2 Settlement locations and reserve zones
LMPs are nodal; ancillary service prices clear by reserve zone. Modo Energy observes no dispersion in ancillary service prices between reserve zones within a balancing area, so prices are taken at the balancing area level (SPP or SWPW).
| Benchmark | Settlement Location | Reserve Zone | Data available from |
|---|---|---|---|
| SPP South | SPPSOUTH_HUB | SPP | Jan 1, 2023 |
| SPP North | SPPNORTH_HUB | SPP | Jan 1, 2023 |
| SPP West | SWPW_HUB | SWPW | Apr 1, 2026 |
User-created custom benchmarks can use settlement locations other than one of the three hubs. In these circumstances, DA LMP data is used to map from settlement location to the appropriate reserve zone. Beginning April 2026, that dataset added a "BAA" column that enables this mapping.
5.3 How inputs are combined
- All inputs are aligned to a common 5-minute grid in SPP local time. Hourly day-ahead prices apply to each 5-minute interval within their hour.
- Energy and ancillary prices are used as published by SPP. Modo Energy does not cap, filter or adjust prices, including during scarcity events.
- Revenue from each market is computed in the course of the optimization problem and then summed across periods as appropriate (§3.3).
5.4 Expected throughput of ancillary services
SPP does not publish per-service activation data suitable for the representative asset. The model applies fixed expected-throughput values to translate ancillary capacity held into energy that moves SOC and counts toward cycling (§6.5). The values are derived from ERCOT, where activation is observable, reduced by about 40% for regulation and about 90% for reserve products. They do not vary by time of day.
| Service (DA and RT) | Assumed expected throughput |
|---|---|
| Regulation | 10% |
| Spinning Reserve | 0.3% |
| Supplemental Reserve | 0.1% |
| Ramp (Up/Down), Uncertainty Up | 0% |
5.5 Data priority, fallbacks, and minimum data
- Priority. SPP-published prices are the only price source.
- Isolated gaps. Where a single interval is missing from an otherwise complete dataset, the value from the preceding interval is used (or, at the start of a day, the following interval).
- Minimum data. A Benchmark value is only determined for an operating day when all four datasets in §5.1 are available for that day at the settlement location and reserve zone. If any dataset is absent for the day, no value is published for that day until the data becomes available.
6. Modeling Methodology
6.1 What the model solves
The GDM answers one question: given the prices observed on a given day and the physical and regulatory limits of the asset, what is the highest revenue a well-run battery could have earned?
It allocates the battery's power and stored energy across energy (day-ahead and real-time) and ancillary capacity (Regulation Up/Down, Spinning, Supplemental, Ramp Capability Up/Down and Uncertainty Up). Revenue is the sum of these streams net of charging cost, subject to the constraints in §6.3–6.5.
6.2 Two-step co-optimization
- Day-ahead step (60-minute granularity): day-ahead energy and the seven ancillary products are optimized together, mirroring SPP's co-optimized day-ahead market. The resulting positions are committed.
- Real-time step (5-minute granularity): holding the day-ahead positions fixed, the model optimizes real-time energy and the seven real-time ancillary products within the asset's remaining headroom.
Each step covers one operating day. The model has perfect foresight of energy and ancillary prices over the operating day.
6.3 Market stacking and physical limits
- Power headroom: the sum of discharging ancillary positions (Regulation Up, Spinning, Supplemental, Ramp Up, Uncertainty Up) cannot exceed rated power, and nor can the sum of charging positions (Regulation Down, Ramp Down).
- Energy headroom: discharging ancillary positions must be backed by enough stored energy, and charging positions by enough empty capacity, to deliver at full power for 1 hour (day-ahead products) or 5 minutes (real-time products).
- Grid limits: combined charge and discharge cannot exceed the 100 MW import and export limits.
- Daily cycling cap: total discharge throughput per day, including energy delivered through ancillary deployment, cannot exceed 1.0 cycles of usable capacity.
6.4 The battery's physical arrangement
- Round-trip efficiency (88%) is applied to charging: 1 MWh drawn stores 0.88 MWh.
- State of charge in each interval equals the previous level plus charging (net of efficiency) minus discharging, plus the expected energy flow from ancillary deployment (§6.5). The net flow within an interval is used, so offsetting trades within an interval incur no efficiency loss.
- SOC window is 0%–100%, starting and ending each operating day at 0%.
- Degradation is disabled.
6.5 Capacity vs deployed energy
The battery is paid the cleared capacity price (USD/MW/h) for each MW of ancillary capacity held. Holding capacity reduces the power and energy available to the energy markets. The energy actually deployed against a capacity award varies by asset, day and time, and is not observable in SPP public data. The model therefore moves SOC by the held capacity multiplied by the expected throughput for that service (§5.4). That energy counts toward cycling but is not separately remunerated.
6.6 Revenue calibration
A flat calibration factor of 80% is applied to simulated revenue from every market. The factor accounts for the gap between perfect-foresight modeled revenue and what a real battery earns, which has three sources:
- Foresight: the model sees prices a real trader does not have when offers are submitted.
- Availability: real assets have outages and maintenance; the representative asset is always available.
- Execution: trading frictions and slippage.
The value of 80% is informed by comparing perfect-foresight GDM revenues with realized revenues in markets where asset-level data is published: ERCOT and Great Britain. Because the same factor applies to every revenue stream, it does not change the trade-offs between markets in the optimization; it scales the result.
7. Expert Judgement
SPP does not publish sufficient data to precisely model all aspects of a battery's operations. Within these gaps, expert judgement and market knowledge are used in place of empirical data. This section documents the modeling assumptions that inform the ME vBESS SPP Benchmarks.
7.1 Where judgement is exercised
The Benchmark is determined by the model from published prices; there is no discretionary adjustment of individual daily values. Expert judgment is exercised in setting the methodology itself, specifically:
- the representative asset specification (§3.2);
- the choice of settlement locations (§5.2);
- the ancillary expected-throughput values (§5.4); and
- the calibration factor (§6.6).
7.2 Keeping judgment consistent
These parameters are fixed in the GDM's version-controlled codebase and applied identically to every operating day and every SPP Benchmark. A parameter is changed only through a code change that is reviewed by a member of Modo Energy's modeling team other than its author and passes automated tests before release. Changes to parameters are treated as methodology changes under §11.
8. Market stress, disruption and missing data
Modo Energy's current practice is:
- Late or missing data. Where SPP data for an operating day is late or incomplete, Modo Energy waits for the data rather than estimating it. No value is published for that day until the minimum data in §5.5 is available.
- Extreme prices. Prices during scarcity, stress or other extreme events are used as published. The Benchmark is intended to reflect those conditions, so they are not removed or capped.
9. Revisions to published values
Published values may be revised, for example where:
- An error is identified in Modo Energy's processing of the input data; or
- A methodology change (§11) is applied to historical periods.
10. Methodology review
The methodology is reviewed internally by Modo Energy, including when SPP changes its market design, when new data becomes available (for example, SPP-specific ancillary activation data or new settlement locations), or when changes are made to the GDM. Any changes that result from a review are made under §11.
11. Methodology changes
Changes are classified as material or non-material. A change is material where it may meaningfully affect benchmark values, the inputs used, or what the benchmark measures. Material changes are announced with not less than 30 days' written notice before they take effect, together with an impact analysis.
Non-material changes are corrections and clarifications that do not alter the substance of the methodology. They may be made without prior consultation and are disclosed as soon as practicable.
Emergency changes needed to protect the integrity of the benchmark or to comply with law may be made without prior consultation, with notice given as promptly as circumstances permit.
All changes are recorded, with their effective date, in the change log (Appendix I).
12. Limitations
- Simulated, not observed. The Benchmark is not derived from transactions or the revenues of any real asset in SPP, and cannot be validated directly against SPP asset revenues because SPP does not publish them.
- Foresight and calibration. The model optimizes with perfect foresight. The 80% calibration factor is a single flat value derived from ERCOT and Great Britain, not from SPP. Actual foresight losses vary over time and between markets.
- Price-taker assumption. The representative asset is assumed not to affect prices and can clear its full offered capacity in any market. SPP's ancillary requirements are small relative to the energy market, so in practice a single asset, or a growing battery fleet, may not clear the volumes modeled or may depress clearing prices. The Benchmark may overstate ancillary revenue where markets are thin or concentrated.
- Ancillary activation. Expected-throughput values are derived from ERCOT, not SPP, and do not vary by time of day.
- Location. Benchmarks use hub prices. Assets at individual nodes face different congestion and losses and may earn materially different energy revenue.
- Short history. Ancillary data begins in January 2023 and SWPW data in April 2026, which limits long-run comparison.
- Reserve zone mapping. A node's most recent reserve zone is applied across the whole history (§5.5).
- Asset assumptions. The asset is always available, does not degrade, and starts and ends each day empty. Real assets differ on each point.
- Excluded revenues. The revenues and costs listed in §4.2 are not captured.
Appendix I — Change log
| Change | Effective date | Methodology (previous) |
Methodology (updated) |
Version |
|---|---|---|---|---|
| Initial publication | July 1, 2026 | n/a | First publication of ME BESS SPP (4H) from GDM backtest revenues. Energy and seven ancillary capacity products co-optimized in DA & RT steps. | 0.1 |
| Restructured to follow IOSCO Principle 11 | October 23, 2026 | Version 0.1 | Added rationale, definitions, parameter owners, data fallbacks and minimum data, expert judgment, market disruption, revisions, change classification and limitations sections. Corrected the direction of Regulation Down and Ramp Down (charge), and the description of start- and end-of-day state of charge. No change to how Benchmark values are calculated. | 1.0 |
Disclaimer
This document, including the methodologies and benchmarks described herein, is the proprietary work of MODO ENERGY LIMITED ("Modo Energy") and is provided solely for informational purposes. These benchmarks are designed for use in financial analysis, benchmarking, and decision-making. However, they do not constitute investment advice or a recommendation regarding any specific financial instrument, asset, or strategy.
While Modo Energy strives to ensure the accuracy, reliability, and transparency of the benchmarks and methodologies, all information is provided "as is", without any express or implied warranties, including but not limited to warranties of merchantability or fitness for a particular purpose. Users should be aware that the benchmarks are derived from publicly available market data that may be subject to revisions, delays, or inaccuracies, and that the SPP Benchmarks are simulated from a representative asset rather than observed from underlying transactions. Past performance is not indicative of future results, and external factors such as regulatory changes, market conditions, and asset-specific characteristics may impact benchmark performance.
Modo Energy encourages users to conduct their own due diligence and consult with qualified financial professionals before making any investment or operational decisions based on the benchmarks or methodologies herein. Modo Energy disclaims any liability for direct, indirect, incidental, or consequential losses or damages arising from the use of the benchmarks, methodologies, or related data.
It is not possible to invest directly in a benchmark. Benchmarks are intended to represent performance references, and exposure to an asset class represented by a benchmark may be available only through separate investable instruments. Modo Energy does not sponsor, endorse, or manage any financial products that aim to track the performance of its benchmarks.
All intellectual property rights to the benchmarks and methodologies are owned by Modo Energy. Unauthorised use, reproduction, or redistribution of this document, in whole or in part, is strictly prohibited without prior written consent from Modo Energy.
This document and the benchmarks it describes are subject to updates and revisions. Significant changes will be communicated to stakeholders as appropriate. For further information, including licensing inquiries, please contact Modo Energy directly.
By accessing or using this document, you acknowledge and accept the terms of this disclaimer.


