Day-Ahead Auction Design
The day-ahead (DA) auction is the central institution of European electricity markets. It determines prices and schedules for the next day's 24 hours, establishes the reference price that all other markets (forward, intraday, balancing) converge toward or deviate from. Since 2014, most European DA markets are coupled via a single algorithm — EUPHEMIA — that simultaneously clears energy and allocates cross-border capacity.
The Institutional Architecture
The Single Day-Ahead Coupling (SDAC) involves:
- NEMOs (Nominated Electricity Market Operators): collect orders from participants in their bidding zone — EPEX SPOT, Nord Pool, OMIE, GME, etc.
- TSOs: provide available cross-zonal capacities (ATC or flow-based parameters) to the algorithm
- EUPHEMIA (Pan-European Hybrid Electricity Market Integration Algorithm): the shared algorithm operated jointly by all NEMOs
D-1, until 12:00 CET
Order submission (gate open varies by NEMO)
12:00 CET
Gate closure
~12:00–12:55
EUPHEMIA runs
~12:55 CET
Results published
Why ~55 minutes? EUPHEMIA must solve a large-scale mixed-integer optimization problem across 30+ bidding zones, handling millions of orders with complex constraints. The computation time is bounded by a hard deadline — if the algorithm cannot find a proven optimal solution within the time limit, it reports the best feasible solution found, flagging the gap to optimality.
The Objective: Social Welfare Maximization
EUPHEMIA maximizes total social welfare — the sum of consumer surplus and producer surplus across all coupled zones, subject to network capacity constraints. Formally:
max W = Σz∈Zones Σh∈Hours [ ∫0qD PD(q) dq − ∫0qS PS(q) dq ]
subject to: Σ supplyz,h − Σ demandz,h = net exportz,h ∀ z, h
|flowℓ| ≤ capacityℓ ∀ cross-zonal links ℓ
In words: accept bids and offers such that the area between the demand curve and supply curve is maximized, while respecting that cross-border flows cannot exceed available transmission capacity.
Prices emerge as dual variables. The market-clearing price in each zone and hour is the shadow price (Lagrange multiplier) on the energy balance constraint. When zones are uncongested, their prices equalize. When a link is congested, prices diverge — the price difference equals the shadow price of the capacity constraint (the "congestion rent").
Order Types
EUPHEMIA supports a rich order vocabulary. Each type exists to allow participants to express their true cost/value structure, improving allocative efficiency.
Hourly Orders (Stepwise or Piecewise Linear)
A supply or demand curve for a single hour, expressed as price-quantity pairs.
Mechanics: Each step is independently evaluated. Partially accepted at the clearing price. The simplest and most common order type.
Block Orders (Standard Blocks)
A fixed price-quantity combination spanning multiple consecutive hours. Fill-or-kill: either accepted for all hours in the block, or rejected entirely.
Mechanics: Accepted only if the average clearing price over the block's hours ≥ the block's limit price (for supply) or ≤ (for demand). Creates integer (binary) variables → makes the problem MIP.
Linked Block Orders
A set of blocks with parent-child dependencies: a child block can only be accepted if its parent is accepted.
Mechanics: Models start-up sequences — e.g., a "start-up block" (parent, hours 1-3, minimum load) linked to a "production block" (child, hours 4-12, full capacity). Adds logical constraints to the MIP.
Exclusive Block Groups
A set of mutually exclusive blocks — at most one may be accepted.
Mechanics: Models alternative operating profiles for a single asset. "Accept this 8-hour block OR this 4-hour block, but not both."
Flexible Hourly Orders
A single quantity at a limit price, with the hour of execution chosen by the algorithm.
Mechanics: Assigned to the hour with the highest (supply) or lowest (demand) clearing price. Models flexible loads or storage with a single-hour requirement.
Merit Orders / Complex Orders (with conditions)
Hourly orders with additional constraints: minimum income condition (MIC), load gradient (ramp) limits, scheduled stop.
Mechanics: MIC ensures that a unit's total revenue minus total cost over accepted hours exceeds a fixed cost threshold — prevents acceptance that would be profitable on average but not covering start-up costs. Ramp limits constrain hour-to-hour volume changes. These are "complex conditions" in EUPHEMIA terminology.
The Paradox: Rejected and Accepted Blocks
A key consequence of the MIP structure:
- Paradoxically Rejected Blocks (PRBs): A block whose average price condition is met (it should be in-the-money) but is rejected because accepting it would shift prices such that other blocks become uneconomic, reducing total welfare. The algorithm sacrifices this block for global optimality.
- Paradoxically Accepted Blocks (PABs): Under some formulations, a block is accepted even though its price condition is not met, because rejecting it would cause greater welfare loss elsewhere. EUPHEMIA currently minimizes PRBs but does not allow PABs — this is a design choice, not a mathematical necessity.
Market design tension: PRBs are controversial because the affected participant sees a profitable opportunity "on paper" that the market denies them. The alternative — allowing PABs — would mean some participants execute at a loss. European regulators chose PRBs as the lesser evil, but the debate continues in academic literature and ACER consultations.
Capacity Allocation: ATC vs Flow-Based
The network constraints fed to EUPHEMIA determine how cross-border capacity is modelled:
| ATC (Available Transfer Capacity) | Flow-Based (FB) |
| Model | Simple bilateral limits per border | PTDFs + RAM on critical network elements |
| Coupling | Each border independent | Flows on all elements computed jointly (Kirchhoff's laws) |
| Efficiency | Conservative; ignores loop flows | Higher; exploits physical flow interactions |
| Adoption | Nordic, Southern Europe (legacy) | CWE since 2015, Core region since June 2022 |
| Complexity | Linear constraints only | Linear, but many more constraints (thousands of CNECs) |
Under flow-based, EUPHEMIA receives:
- PTDF matrix (Power Transfer Distribution Factors): how a 1 MW injection in zone A / withdrawal in zone B distributes across each critical network element
- RAM (Remaining Available Margin): the thermal capacity on each critical element minus reliability margins and already-allocated capacity
The constraint becomes: Σz PTDFℓ,z × NPz ≤ RAMℓ for each critical element ℓ, where NPz is the net position (exports minus imports) of zone z.
Price Formation Properties
The DA auction produces uniform marginal prices — all accepted orders in a zone pay/receive the same clearing price. Key properties:
- Uniqueness: Not always guaranteed. When there's a flat segment of the merit order at the clearing volume, any price in that range is valid. EUPHEMIA applies tie-breaking rules (typically mid-price or welfare-maximizing selection).
- Revenue adequacy of the network: Congestion rent = Σℓ (price difference × flow) ≥ 0. The price differences always produce non-negative congestion revenue — this funds the capacity allocation mechanism.
- Individual rationality: No hourly order is accepted at a loss. But block orders may be paradoxically rejected (see above).
- Price caps: Harmonized at −500 €/MWh to +4,000 €/MWh across SDAC (as of 2024 — raised from +3,000 in January 2024 per ACER decision).
What This Design Enables for Optimization
Understanding the auction design reveals the levers available to an asset optimizer:
| Strategy | Order Type Used | Economic Logic |
| Thermal unit commitment | Linked blocks + MIC | Express true start-up costs; let the algorithm decide if running is welfare-optimal |
| Storage arbitrage | Hourly orders (buy low hours, sell high) or exclusive blocks | Spread capture; exclusive blocks prevent infeasible charge+discharge schedules |
| Intermittent RES portfolio | Hourly orders at low/zero price | Price-taking behavior reflecting near-zero marginal cost; volume = forecast |
| Demand response | Hourly demand curves + flexible orders | Express true willingness-to-pay; flexible orders let the market choose timing |
| Cross-border arbitrage | Orders in multiple zones (via NEMOs) | Exploit expected price spreads; market coupling does the spatial optimization implicitly |
Key insight: The sophistication of your bidding strategy should match the complexity of your asset's cost structure. A wind farm needs only simple hourly orders. A CCGT with start-up costs and ramp constraints should use the full linked-block + MIC vocabulary to avoid being paradoxically rejected or scheduled at a loss.
Primary Source
For the definitive technical description of EUPHEMIA's mechanics:
NEMO Committee, EUPHEMIA Public Description (latest version: 2023). Available at: nemo-committee.eu/publications
This ~100-page document specifies the objective function, all order types, handling of block orders, flow-based constraints, and the solution approach (branch-and-bound with warm-start heuristics). It is the primary source — all secondary descriptions derive from it.
For the economic theory of why uniform-price auctions are welfare-optimal for electricity:
Cramton, P. (2017). "Electricity Market Design." Oxford Review of Economic Policy, 33(4), 589–612.
Retrieval Practice
What role does the shadow price on the energy balance constraint play in EUPHEMIA?
- It determines the maximum cross-border flow allowed on each interconnector
- It becomes the market-clearing price for that bidding zone and hour
- It sets the minimum income condition threshold for complex orders
- It defines the congestion rent allocated to transmission rights holders
Retrieval Practice
Why does a block order make EUPHEMIA a mixed-integer problem rather than a pure LP?
- Block orders span multiple zones requiring network flow integer constraints
- Block prices must be rounded to integer cent values per exchange rules
- The fill-or-kill condition requires a binary decision variable for acceptance
- Block volumes must be in whole megawatt increments per market rules
Retrieval Practice
Under flow-based market coupling, what does the RAM parameter represent?
- The total bilateral import capacity available between two adjacent zones
- The random access margin for fallback capacity in case of algorithm failure
- The thermal capacity on a critical network element minus margins and prior allocations
- The revenue adequacy margin ensuring TSOs cover infrastructure operating costs
Retrieval Practice
A paradoxically rejected block is one that:
- Would be profitable but violates the ramp-rate gradient limits set by the participant
- Spans a period including hours where its linked parent block was also rejected
- Meets its price condition but is rejected because its acceptance would reduce total welfare
- Was submitted after gate closure and automatically excluded from the optimization
💡 Want to go deeper on any aspect? I can explain the EUPHEMIA branch-and-bound approach, work through a numerical clearing example, explore how specific order types map to real asset strategies, or compare European design with US nodal markets (LMP). Just ask.
Rechtliches: Impressum