Electricity Basis Risk: A $6/MWh Node-to-Hub Gap Cuts DSCR from 1.35x to 1.14x
Prairie Ridge Solar is a 200 MW project.
Its financial model contains a $45/MWh PPA.
That does not mean the project receives $45 for every megawatt-hour it generates.
Assume, for one simplified year:
Net generation 438,000 MWh
PPA strike $45.00/MWh
Generation-weighted hub price $40.00/MWh
Generation-weighted project-node price $34.00/MWh
Prairie Ridge sells its physical electricity at its node.
Its financial PPA settles against the hub.
The physical side earns:
438,000 × $34
= $14.892m
The PPA pays the difference between the $45 strike and the $40 hub reference:
438,000 × ($45 - $40)
= $2.190m
Add them together:
Physical nodal revenue $14.892m
PPA financial settlement $2.190m
--------
Total energy + hedge revenue $17.082m
Effective realized price $39.00/MWh
The contract says $45.
The project realizes $39.
The missing $6/MWh is Prairie Ridge's node-to-hub basis.
Basis starts with two locations
At its cleanest, locational basis in an interval is:
Basis_t = Project_Node_Price_t - Contract_Reference_Price_t
If the contract reference is the hub:
Node price $34/MWh
Hub price $40/MWh
-------
Basis -$6/MWh
Negative basis means the project node clears below the reference point.
Positive basis is possible too.
The sign is not a property of solar, wind or a particular ISO. It is a property of the relationship between two locations during a particular interval.
FERC describes locational marginal pricing as reflecting three things: the marginal cost of energy, transmission losses and congestion. PJM makes the same decomposition explicitly in its LMP calculation: system energy, congestion and marginal losses.
So basis is not a mysterious haircut applied after the power-price forecast.
It is the difference between two market prices created by the grid.
The PPA does not make the node disappear
Prairie Ridge's PPA is a fixed-for-floating financial settlement at the hub.
For each MWh in our simplified example:
Physical sale at node $34
PPA settlement: $45 - $40 hub +5
---
Net $39
The PPA has fixed the hub component at $45.
It has not fixed the node-to-hub spread.
Another way to write the same equation is:
Net price
= Node + (Strike - Hub)
= Strike + (Node - Hub)
= $45 + (-$6)
= $39/MWh
That second form is the one I would put in a financing model.
It exposes the risk directly:
Net realized price
=
Contract strike
+
basis
If the model instead hard-codes $45 as project revenue, it has silently assumed basis equals zero.
That is not a neutral assumption.
It is a hedge assumption.
The annual cash loss is $2.628 million
Prairie Ridge generates 438,000 MWh.
A -$6/MWh generation-weighted basis therefore costs:
438,000 MWh × $6/MWh
= $2.628m per year
Without basis:
438,000 × $45
= $19.710m
With the -$6/MWh basis:
438,000 × $39
= $17.082m
The project did not miss generation.
The $45 strike did not change.
The hub forecast was exactly right.
Revenue still missed by $2.628 million because the physical asset settles somewhere else.
That is why basis belongs beside generation and price in the core revenue build, not in a footnote beneath the hedge.
Location basis and DA/RT basis are different risks
The simple Prairie Ridge example assumed the node and hub prices were measured on the same timing and market basis.
Real contracts can be messier.
Suppose the physical project settles at the real-time node while the PPA references the day-ahead hub.
Then this spread:
RT Node - DA Hub
contains two different things.
It can be decomposed as:
RT Node - DA Hub
=
(RT Node - RT Hub)
+
(RT Hub - DA Hub)
The first term is locational basis.
The second is a day-ahead / real-time market mismatch at the hub.
If the model labels the entire difference “basis,” it becomes impossible to tell whether a transmission constraint or a timing / market settlement difference caused the miss.
For financing, I would keep at least:
Locational_Basis
DA_RT_Hub_Spread
Other_Settlement_Adjustments
as separate lines.
A lender can stress each differently.
Why the node and hub diverge
The network cannot move unlimited power from every generator to every load.
When transmission constraints bind, security-constrained dispatch changes which resources can serve the next increment of demand.
FERC's LMP framework captures the marginal cost of energy, losses and congestion at each location.
PJM's current Manual 11 calculates LMP at each bus as:
System Energy Price
+
Congestion Price
+
Marginal Loss Price
If Prairie Ridge is inside an export-constrained pocket, additional low-cost generation can push the project node below a broader hub.
If the constraint is on the other side of the project, the sign can reverse.
The important underwriting point is not “renewables have negative basis.”
It is:
Which constraints make this node different from this contract reference point?
That question can be investigated.
The generic statement cannot.
A hub is not the project's physical settlement point
A hub is a market-defined reference.
It aggregates a set of settlement locations under the market's methodology.
A load zone is another aggregation.
The project node is a specific location tied to the generator.
ERCOT publishes separate real-time and day-ahead settlement prices for hubs and load zones, and its protocols define the calculation methodology for those aggregated settlement points.
That is enough to create three different numbers in the same market:
Resource node
Trading hub
Load zone
Do not let a model use a label such as “West price” without saying which one.
And do not infer that two prices with the same geographic word are economically interchangeable.
The settlement point named in the contract is the one that matters.
The average basis can be the wrong basis
Prairie Ridge is solar.
Its revenue exposure should be weighted by when it actually generates.
Consider four simplified intervals:
| Interval | Hub | Node | Basis | Prairie Ridge generation |
|---|---|---|---|---|
| 1 | $30 | $30 | $0 | 0 MWh |
| 2 | $35 | $34 | -$1 | 25 MWh |
| 3 | $45 | $37 | -$8 | 50 MWh |
| 4 | $50 | $38 | -$12 | 25 MWh |
A simple average gives:
(0 - 1 - 8 - 12) / 4
= -$5.25/MWh
But Prairie Ridge produced nothing in Interval 1 and half its energy in Interval 3.
The generation-weighted basis is:
[(0 × 0)
+ (-1 × 25)
+ (-8 × 50)
+ (-12 × 25)]
÷ 100 MWh
= -$7.25/MWh
The simple average understated the actual revenue exposure by $2/MWh.
The correct annual formula is:
=SUMPRODUCT(Hourly_Basis, Hourly_Generation)
/ SUM(Hourly_Generation)
This is not a cosmetic modeling preference.
Basis and generation can be correlated.
For solar, the worst local pricing can occur during high-output solar hours in an export-constrained area.
For wind, the same issue can occur during high-wind periods.
A calendar average gives zero-generation hours the same weight as the hours carrying project revenue.
Basis is not the same thing as curtailment
Both can arise from transmission constraints.
They are still different exposures.
Basis is a price effect:
MWh generated
×
lower nodal price
Curtailment is a volume effect:
MWh not generated or not delivered
A project can experience negative basis without curtailment.
It can also be curtailed for reasons that have nothing to do with the same node-to-hub spread.
And the contract can allocate them differently.
A PPA may compensate some instructed curtailment or deemed energy while leaving node-to-hub basis with the seller.
So the model needs two separate rows:
Available / delivered generation
Basis on delivered MWh
Do not reduce a megawatt-hour for curtailment and then apply the same loss a second time through a price haircut intended to represent that curtailed hour.
The common grid cause does not make the accounting interchangeable.
Losses belong in the market-specific settlement model
Do not use one universal “loss factor” treatment across PJM, ERCOT and every other market.
PJM explicitly includes a marginal-loss component in LMP.
ERCOT has its own settlement and transmission-loss rules.
The revenue model needs to reproduce the market the project is actually in.
For each market, answer:
Are marginal losses already inside the settlement price?
Are separate loss factors applied to metered volumes?
Does the PPA reference gross generation, metered delivery or settled MWh?
Then apply the economic loss once.
A model that embeds losses in the nodal price and separately reduces the same revenue for the same loss has double-counted it.
Prairie Ridge's debt was sized at the wrong location
Now put basis into the financing.
Assume annual operating costs of $3.0 million.
If Prairie Ridge were truly receiving its $45 strike with zero basis:
Revenue $19.710m
Opex (3.000m)
--------
CFADS $16.710m
Suppose debt service was sized to a 1.35x DSCR:
Debt service
= $16.710m / 1.35
= $12.378m
Now apply the actual -$6/MWh basis:
Revenue $17.082m
Opex (3.000m)
--------
Actual CFADS $14.082m
Actual DSCR becomes:
$14.082m / $12.378m
= 1.14x
The model was sized at 1.35x.
The asset is delivering 1.14x.
Nothing happened to production, the PPA strike or operating costs.
The debt was simply sized to the wrong settlement point.
The useful number is the basis that breaks the covenant
Assume Prairie Ridge has a 1.20x distribution lock-up.
Keep all other assumptions unchanged.
The basis sensitivity is:
| Generation-weighted basis | DSCR |
|---|---|
| -$2/MWh | 1.28x |
| -$4/MWh | 1.21x |
| -$6/MWh | 1.14x |
| -$8/MWh | 1.07x |
| -$10/MWh | 1.00x |
Solve directly for the basis that produces 1.20x DSCR:
Basis at lock-up
≈ -$4.24/MWh
That number is more useful in a financing discussion than a single consultant base case.
It tells the sponsor:
Prairie Ridge can absorb roughly $4.24/MWh of negative generation-weighted basis before the assumed lock-up bites.
If the historical node-to-hub distribution has regularly moved through that level, the covenant is sensitive before anyone debates the P50.
Historical basis is only the start of the forecast
A twenty-year basis assumption should not be one arithmetic average copied forward.
The driver is the network around the node.
I would break the forecast into explicit changes:
Existing constraint set
+ new generation in the pocket
+ load additions
+ retirements
+ transmission upgrades
+ topology changes
= forward locational view
The sign is not predetermined.
New generation behind an export constraint can worsen a project's node relative to the hub.
A transmission upgrade can improve it.
New local load can improve one node while creating congestion somewhere else.
An outage can temporarily reverse a familiar path.
That is why the statement “basis always deteriorates” is as weak as “basis mean-reverts.”
The network determines the answer.
The model should show the events it is relying on.
Congestion hedges do not automatically hedge the whole basis line
Transmission hedging products are market-specific.
In PJM, Financial Transmission Rights are financial instruments based on day-ahead congestion-price differences between specified points. PJM offers obligation and option structures.
In ERCOT, Congestion Revenue Rights are financial instruments tied to congestion rents; the protocols include point-to-point obligations and options. ERCOT is explicit that CRRs do not represent a right to receive or an obligation to deliver physical energy.
Those products can hedge part of a location spread.
They do not automatically make Prairie Ridge's entire revenue basis disappear.
A mismatch can remain because of:
- congestion hedge path versus actual node / hub path;
- day-ahead hedge versus real-time physical settlement;
- hedge MW shape versus variable generation;
- losses or other settlement components outside the congestion right;
- tenor; and
- availability / price of the hedge.
For a PJM project, for example, an FTR's economic value is tied to day-ahead congestion across its path.
A real-time generator with a hub-settled financial contract can still have a DA/RT mismatch even if the FTR perfectly matches the day-ahead congestion path.
So the financing model should not use a binary:
FTR / CRR in place? YES
→ Basis = 0
It should calculate the residual exposure after the hedge.
A storage project can change the shape, not repeal the constraint
Co-located storage is often discussed as a basis solution.
It can help.
A battery can charge during low local-price hours and discharge during higher-value hours, changing the generation-weighted price exposure of the combined project.
But it does not automatically eliminate the transmission constraint.
If the same export constraint binds during discharge, storage can face the same nodal limitation.
If interconnection rights restrict charging or export, the theoretical arbitrage may not be available.
If the PPA fixes the renewable output shape but the battery is merchant, the benefit may sit in a different cash waterfall.
The useful model is therefore:
Solar-only capture price
versus
Solar + storage optimized nodal capture price
minus
battery losses / degradation / operating constraints
not:
BESS added
→ basis solved
The Prairie Ridge basis schedule
I would keep one page in the financial model that reconciles the contract to cash.
1. Physical settlement
Hourly generation
×
Project nodal price
=
Physical energy revenue
2. Contract settlement
Contract quantity
×
(Strike - Reference hub price)
=
PPA settlement
Use the actual contract quantity definition.
Do not assume it always equals physical generation.
3. Locational basis
Project node - contract reference hub
=
Locational basis
Measure it on aligned intervals and market timing.
4. Market-timing mismatch
RT hub - DA hub
=
DA / RT spread
Only include it if the physical and contract settlements use different markets.
5. Net realized price
For the simplified Prairie Ridge structure:
Strike
+
Generation-weighted locational basis
=
$45 - $6
=
$39/MWh
6. Financing consequence
Basis loss $2.628m
CFADS before basis $16.710m
CFADS after basis $14.082m
Sized DSCR 1.35x
Actual DSCR 1.14x
Lock-up threshold 1.20x
Basis at lock-up -$4.24/MWh
That is the bridge from grid physics to lender cash control.
What I would ask in diligence
For Prairie Ridge, the basis workstream should answer questions that map directly into the model.
- What exact node settles the physical output?
- What exact hub, zone or other point settles the PPA?
- Are the physical and financial settlements both DA, both RT, or different?
- Is the forecast basis calculated on aligned hourly intervals?
- Is it generation-weighted?
- Which current constraints explain the historical spread?
- Which generation additions, load additions and retirements change that constraint?
- Which transmission upgrades are assumed to relieve it, and in what year?
- Does the downside case delay or remove those upgrades?
- What is the node-to-hub basis at the DSCR lock-up threshold?
- If FTRs, CRRs or another congestion hedge are used, what exact price component, path, MW shape and tenor do they cover?
- What exposure remains after the hedge?
- Is curtailment modeled as a volume effect separately from basis?
- Are losses treated once, according to the actual market settlement design?
- If storage is present, does dispatch optimization use the nodal price and actual interconnection constraints?
Prairie Ridge's $45 PPA never changed.
The $6/MWh loss appeared because one side of the transaction lives at a hub and the physical project lives at a node.
Once that gap is visible, basis stops being a market-risk footnote.
It becomes a revenue line, a DSCR sensitivity and, at -$4.24/MWh in this example, a covenant threshold.
Primary sources: FERC — Understanding Energy Markets and Locational Marginal Pricing · PJM Manual 11 — Energy & Ancillary Services Market Operations · PJM Manual 6 — Financial Transmission Rights · ERCOT — Current Nodal Protocols · ERCOT — Congestion Revenue Rights