Honglin Li
  • Research
  • Projects
  • Publications
  • Software
  • Teaching
  • Learn
  • Notes
  • CV
  • Journeys

Who runs, and what sets the price?

Build Prairie Town’s supply stack and find the price

Lesson 8 of Energy Systems, Step by Step: stack Prairie Town’s power plants by their offers, move the demand line to find the clearing price, change the gas price, add wind until prices fall and even turn negative, and see that the merit order is the answer to a small dispatch optimization.
  1. Learn
  2. Lesson 8
  • Analyst · L2
  • Lesson 8 of 14
  • 15 min
  • After lesson 6 and lesson 7
  • Completed
  1. 1Step by step
  2. 2Explain
  3. 3Check
  4. 4Sources

Prairie Town's supply stack at 19:00 on 3 September 2025

Stack position Plant Offer, $/MWh Can make, MW Runs, MW
1 Wind farm 0.00 72 72
2 Solar farm 0.00 14 14
3 Nuclear plant 10.00 100 100
4 Gas combined-cycle 40.00 150 145
5 Gas peaker 100.00 100 0

Demand is 331 MW. The combined-cycle plant serves the last MW, so its offer, $40.00 per MWh, is the clearing price paid to every plant that runs.

With JavaScript on, you build this stack yourself, move the demand line, change the gas price and add wind, in eight steps.

Real shapes: demand, wind and solar at 19:00 on 3 September 2025 follow Southwest Power Pool data (EIA-930), scaled exactly as in lesson 0.

Illustrative: Prairie Town's plants, offers, gas price, heat rates, credit and stop-and-restart offer. Real gas costs for power plants: EIA, Electric Power Annual, Table 7.4 (final 2025 data, October 2026).

What you just did, as diagrams

Supply stack
All offers lined up from cheapest to dearest, each as wide as its MW and as high as its offer. Here each offer starts equal to the plant's running cost.
Clearing price
The offer of the marginal plant, the one that serves the last MW of demand; every running plant is paid it.
Gas sets the price, often
When a gas plant is marginal, each $1 per MMBtu (million British thermal units) of gas adds its heat rate in dollars to every MWh that hour.
More wind, lower prices
Wind offers about $0, so more wind cuts the output needed from dearer plants. The price falls when a cheaper offer becomes the marginal one.
Below zero
The price turns negative only when the last plant needed offers below $0: it earns a credit per MWh, or would rather pay than stop and restart.
An optimization in disguise
The stack is the cheapest way to meet demand. While the marginal plant has room, the price is the cost of one more MWh: the shadow price of supply equals demand.
Go deeper · ModelerEconomic dispatch as a linear program

For one hour, with \(p_g\) the output of plant \(g\) in MW, \(c_g\) its offer in $/MWh, \(\bar P_g\) what it can make this hour and \(D\) the demand:

\[ \begin{aligned} \min_{p}\;\; & \textstyle\sum_g c_g\, p_g \\ \text{subject to}\;\; & \textstyle\sum_g p_g = D \quad (\lambda)\\ & 0 \le p_g \le \bar P_g \quad (\text{each } g). \end{aligned} \]

Every term is linear, so this is a linear program. For one hour, 1 MW of output makes 1 MWh, so offer × MW is dollars.

  • The data at 19:00. \(c = (0, 0, 10, 40, 100)\), \(\bar P = (72, 14, 100, 150, 100)\) and \(D = 331\).
  • The answer. \(p = (72, 14, 100, 145, 0)\), at a running cost of \(100 \times 10 + 145 \times 40 = \$6{,}800\).
  • One more MWh. With \(D = 332\) the cost is $6,840. The shadow price \(\lambda\) of the balance rule is $40 per MWh, the clearing price.
  • At a block edge. At \(D = 336\) the combined-cycle plant is full, so the 337th MWh comes from the peaker and adds $100.
  • Over a day. Lesson 0 wrote the same problem over 24 hours with a ramp limit, which ties the hours together.

With JavaScript on, a button here hands this hour to the HiGHS solver in your browser.

Go deeper · ModelerPrices over a day and a network, and where this one-hour picture stops
  • M1 (Modeler tier) builds a 24-hour dispatch linear program with ramps, adds a three-bus network, fills a line and reads one price per bus from the solver.
  • With on/off decisions and start-up costs (M2), the energy price may not cover a running plant's start-up costs; some markets then add side payments, called uplift.
Go deeperWhat this one-hour stack leaves out
  • Offers are not always costs: sellers can add a mark-up, and market monitors watch for it.
  • Start-up costs, minimum outputs and ramp limits, which link one hour to the next.
  • Reserves held back for surprises (lesson 3), and the network, which the last step only hints at.
  • Many markets clear a day ahead and again in real time, and cap prices in shortages.
  • Demand that answers the price, such as batteries and flexible users (lesson 9, and A3).

Check yourself

Myth or fact? “Each plant is paid the price it offered.”

  • Myth
  • Fact
Answer

Myth. In a uniform-price market every running plant is paid the clearing price: at 19:00 the solar farm offers $0.00 and is paid $40.00.

Myth or fact? “The wholesale price is the average cost of the plants that run.”

  • Myth
  • Fact
Answer

Myth. It is the offer of the last plant needed, the marginal plant, not an average.

Myth or fact? “More wind can lower the price of every MWh in that hour.”

  • Myth
  • Fact
Answer

Fact. At 19:00 a 475 MW wind farm pushes the combined-cycle plant out of the stack, and the price falls from $40.00 to $10.00.

Myth or fact? “A negative price means the grid has failed.”

  • Myth
  • Fact
Answer

Myth. It means the last plant needed would pay to keep running; it signals more power in that place than can be used right then.

Offers, in $/MWh: wind 80 MW at $0, a 100 MW plant at $10, a 150 MW plant at $40 and a 100 MW plant at $100. Demand is 250 MW. What is the clearing price?

  • $0/MWh
  • $10/MWh
  • $40/MWh
  • $100/MWh
Answer

$40/MWh: the first two offers cover 180 MW, so the $40 plant serves the last 70 MW and sets the price.

A combined-cycle plant that burns 6 MMBtu per MWh is marginal. Gas rises from $6 to $8 per MMBtu. How much does the price rise?

  • $2 per MWh
  • $6 per MWh
  • $12 per MWh
  • $48 per MWh
Answer

$12 per MWh: 6 MMBtu × $2 more per MMBtu.

Numbers, sources and what’s next

Numbers to remember

Number What it means Source
$3.85 · $7.21 Average cost of natural gas to U.S. power plants, per MMBtu, in 2025 and in 2022. EIA, Electric Power Annual, Table 7.4 · final 2025 data, October 2026
6.2 · 9.1 MMBtu of gas per MWh for a new combined-cycle plant and a new combustion turbine: each $1 on gas adds about $6 or $9 to their running cost per MWh. EIA, AEO2026 assumptions, Table 3 (PDF) · April 2026

Next on the starter path

Lesson 9 · How does storage move energy through time?

In the real world

West Texas, as EIA reported it (June 2014):

  1. Wind farms far from the cities filled the lines out of the region: the grid was congested.
  2. Local prices fell below zero, and wind was curtailed.
  3. A major grid expansion added more than 3,500 miles of lines by the end of 2013.
  4. Curtailments and negative prices became less frequent.

Builds on lesson 0 (cheapest first) and lesson 7 (what a plant must earn back).

Case files CF6 (average and marginal emission factors, and when moving electricity use to cleaner hours lowers CO₂) and CF7 (what waiting for a grid connection costs, and who pays).

Sources and further reading

  • EIA (2012). Negative wholesale electricity prices occur in RTOs. Today in Energy.
  • EIA (2014). Fewer wind curtailments and negative power prices seen in Texas after major grid expansion. Today in Energy.
  • EIA. Electric Power Annual, Table 7.4: average cost of fossil fuels for the electric power industry.
  • EIA (2026). Assumptions to the Annual Energy Outlook 2026: Electricity Market Module (PDF), Table 3: heat rates.
  • EIA. Hourly Electric Grid Monitor (Form EIA-930): the Southwest Power Pool data behind Prairie Town's day.

Spotted an error, or stuck? Write to hlli@ksu.edu. Corrections are made in place and dated here.

Text licensed CC BY 4.0, code MIT: teachers and students may reuse and adapt it, with credit to Honglin Li.

© 2026 Honglin Li · Kansas State University · hlli@ksu.edu

 

Last updated: November 2026 · Built with Quarto