TN-019 — PPA Rigidity and Price Formation

Technical Note · Mathematical Appendix to CN-024 · Domain D-3 · D-4
Version 1.0 · June 2026
Appends: CN-024 · Relates: WP-015 · SM-012

Abstract This technical note models mathematically how fixed-price Power Purchase Agreements (PPAs) transform contracted generation into must-run capacity on the Nordpool day-ahead market, accelerating price cannibalisation and extending negative-price duration. A parametrised example using Finnish system data (summer night, 2026) demonstrates the halting mechanism: PPA-backed inelastic supply drives spot prices negative, eliminating merchant revenue exactly when output is highest. The model confirms Nøland (2026) and supports CN-024's classification of PPA-driven liquidity decline as a coordination failure, not a market malfunction.

§ 01 — Market Balance: Baseline Model

In a standard electricity market, spot price $P_{\text{spot}}$ at time $t$ is determined by the intersection of aggregate demand $D(P,t)$ and supply $S(P,t)$:

$$P_{\text{spot}}(t) : D(P_{\text{spot}}, t) = S(P_{\text{spot}}, t)$$

Supply is decomposed into three components:

$$S(P,t) = S_{\text{base}}(P,t) + S_{\text{merchant}}(P,t) + S_{\text{PPA}}(t)$$

§ 02 — PPA Producer Bidding Behaviour

For a PPA-backed wind farm, actual revenue per MWh produced ($R_{\text{PPA}}$) under a standard Pay-as-Produced contract without negative-price clauses is:

$$R_{\text{PPA}} = P_{\text{fixed}} \quad \text{(independent of } P_{\text{spot}}\text{)}$$

Since marginal cost $MC \approx 0$ for wind, the operator's optimisation problem is to maximise volume at all prices where $R_{\text{PPA}} > MC$. To ensure dispatch and avoid curtailment costs, the operator sets their Nordpool bid at the technical price floor:

$$P_{\text{bid, PPA}} = P_{\text{floor}} = -500 \text{ €/MWh}$$

This drives the price elasticity of PPA supply to zero across all relevant price ranges. Note: −500 €/MWh is the Nordpool technical price floor; actual negative prices in the Finnish area typically range from −10 to −200 €/MWh. The mathematical structure (complete inelasticity, must-run dispatch) holds at any bid below marginal cost — the floor value determines dispatch priority, not the magnitude of the negative clearing price.

$$\epsilon_{\text{PPA}} = \frac{\partial S_{\text{PPA}}}{\partial P} \cdot \frac{P}{S_{\text{PPA}}} \approx 0 \quad (0 < \epsilon_{\text{PPA}} \ll \epsilon_{\text{merchant}})$$

$S_{\text{PPA}}(t)$ behaves as a near-constant, weather-driven term $\bar{S}_{\text{PPA}}(t)$ that shifts the supply curve horizontally. This is the must-run approximation. In practice, some PPAs include negative-price clauses, CfD-structured contracts behave differently, and a fraction of PPA-backed capacity participates in reserve markets. The approximation $\epsilon_{\text{PPA}} \approx 0$ holds for the majority of Pay-as-Produced contracts without negative-price provisions — the class that dominates the current Finnish PPA registry.

§ 03 — The Negative Price Chasm

Define residual demand at $P = 0$ after removing PPA-backed supply:

$$D_{\text{res}}(0, t) = D(0, t) - \bar{S}_{\text{PPA}}(t) - S_{\text{base}}(0, t)$$

When $D_{\text{res}}(0,t) < 0$, the market cannot clear at zero — it must clear at a negative price. Merchant generation exits at $P_{\text{spot}} \leq 0$, leaving only baseload and PPA supply. The price sensitivity to PPA capacity growth is:

$$\frac{\partial P_{\text{spot}}}{\partial \bar{S}_{\text{PPA}}} = -\frac{1}{\frac{\partial D}{\partial P} - \frac{\partial S_{\text{base}}}{\partial P}}$$

In the low-price region, both demand elasticity $\frac{\partial D}{\partial P}$ and baseload elasticity $\frac{\partial S_{\text{base}}}{\partial P}$ approach zero. The denominator collapses:

$$\frac{\partial P_{\text{spot}}}{\partial \bar{S}_{\text{PPA}}} \rightarrow -\infty$$

This mathematical discontinuity explains the observed empirical pattern: a marginal increase in must-run PPA capacity drives spot prices sharply negative within minutes, as documented in Finnish Fingrid data for 2024–2026.

§ 04 — Parametrised Example: Finnish Summer Night 2026

Realistic parameters based on Fingrid system data for a windy Sunday night:

ParameterValueNote
Total demand $D$5 200 MWLow overnight load
Inflexible baseload $S_{\text{base}}$3 200 MWNuclear + industrial must-run, bid at 0 €/MWh
PPA-backed wind $\bar{S}_{\text{PPA}}$2 200 MWBid at −500 €/MWh
Merchant wind potential1 500 MWMarginal cost ~2 €/MWh

Step 1 — Supply at P = 2 €/MWh:

$$S_{\text{total}}(2) = 3\,200 + 1\,500 + 2\,200 = 6\,900 \text{ MW} > D = 5\,200 \text{ MW}$$

Price must fall. Merchant exits at $P \leq 0$.

Step 2 — Supply at P = 0 €/MWh:

$$S_{\text{total}}(0) = 3\,200 + 0 + 2\,200 = 5\,400 \text{ MW} > D = 5\,200 \text{ MW}$$

Inelastic surplus: +200 MW. Market cannot clear at zero.

Step 3 — Clearing price: 200 MW of baseload must be curtailed. Using empirical Finnish baseload flexibility (100 MW reduction requires approximately –15 €/MWh price deviation):

$$P_{\text{spot}} = 0 - \frac{200 \text{ MW}}{100 \text{ MW}} \times 15 \text{ €/MWh} = -30 \text{ €/MWh}$$

§ 05 — Revenue Distribution at Clearing Price

ActorVolume (MW)Market revenue (€/h)Actual revenue (€/h)
PPA wind producer2 200−66 000+88 000 (at P_fixed = 40 €/MWh)
Merchant wind0 (curtailed)00 (lost option value)
Baseload (nuclear)3 000 (reduced)−90 000−90 000 (direct loss or curtailment cost)
PPA off-taker (data centre)2 200+66 000−88 000 (fixed cost under contract)
Unprotected consumer3 000+90 000Benefit offset by transmission fees and taxes

The PPA producer receives +€88 000/hour while market revenue is −€66 000/hour — a 154 000 €/hour divergence from the spot market, funded by the PPA counterparty.

§ 06 — System-Level Coordination Failure

This model demonstrates Nøland's (2026) value erosion mechanism quantitatively. Each individual PPA decision is rational at project financing time. When aggregate PPA mass $\bar{S}_{\text{PPA}}$ crosses the critical threshold relative to minimum demand $D_{\text{min}}$, it structurally destroys spot market price formation.

Two structural barriers to Finnish energy self-sufficiency follow directly:

Merchant investment blockade: PPA inelasticity drives spot prices deeply negative whenever wind is strong. Wind projects without PPA cover have zero or negative cashflow at precisely the hours of highest output. The investment case becomes unfundable without PPA support — but each new PPA worsens the spot price for all others. This is a coordination trap, not a technology problem.

Dispatchable capacity exit: Baseload absorbs negative prices (−90 000 €/h in the example). Traditional dispatchable generation cannot sustain this economics and exits the market. This worsens Leskelä's (2026) acknowledged cold-snap capacity deficit: the PPA structure provides no incentive to build the flexible capacity needed for calm, cold high-pressure conditions.

The Finnish BESS fleet (~400 MW) is an order of magnitude smaller than the PPA-inelastic surplus (~200–800 MW in high-wind conditions). The compensatory market cannot absorb the coordination failure — it can only monetise it.
References
Nøland, J.K. (NTNU 2026), Affärsvärlden — cannibalisation and value erosion
BCG (2025) — wind revenue at 50% of spot market price
Fingrid (2026) — hourly system data, negative price incidence 2024–2026
ENTSO-E (2025) — Nordic Liquidity Assessment, FI price area
CN-024 — parent concept note
WP-015 — residualisation and cannibalisation framework