PriceCalc

Revision History

Version Release Date Comments

Draft 0.1

2021-06-15

Section Definitions have been updated for PriceCalc and Calculated Price.

Draft 0.2

2021-06-18

PriceCalc:

  • Abbreviation: SA , DA removed and replaced by their fully name Scheduled Activation and Direct Activation.

  • Updated sequence diagram to only include parts for solving Calculated Price.

AuctionRunID pattern:

  • Timestamp from ms to minutes.

  • AOF and NAOF (non-AOF- Fallback Solution) cannot be combined.

  • Delimiter is required.

  • MOL document version 7.2.

Draft 0.3

2021-07-13

Last preparation before release of PriceCalc document :

  • Update of sequence diagram :

    • Same message for mFRR Activation flow TSO-FiftyOne as to PriceCalc.

    • Fixed missing fully qualified named for SA and DA.

1

0

2021-08-13

  • Updated requirements according to "Follow up Target model" (FuTm).

1

1

2023-02-13

  • Updated image in Realization of the business process.

  • Added sectional Functional Description

  • Moved section Realization of the business process…​ to appendix.

1

1

2024-01-05

  • Updated EIC codes. From old: 50VF00000000001T to new:10V1001C—​00284N

Introduction

The intention with this document is to support the team working with PriceCalc (PC) module. The objective is to examine the need of data/message exchange between the TSOs and the PriceCalc.

Purpose

Main objective with this document is to define and describe what is needed by the PriceCalc to deliver the business objective "Calculated Prices" which consists of two message objects, Imbalance Prices and Cross Border Marginal Prices (CBMP). These messages will be used for different purposes, and one of them is the reporting to the Transparency Platform.

Scope

This document does not cover all parts of what PriceCalc will do, and the main purpose is to extract all data exchanges the TSO must prepare to consume and produce in connection to what PriceCalc is supposed to deliver. In this case, it is for serving the business object "Calculated Prices"

PriceCalc module will calculate activation prices for standard products, balance and imbalance.
Other pricing is done in local systems. This includes activation for system purpose, pricing of non-standard products and pricing of activation done for TSO-specific processes such as Period Shift.

Business process

The sequence diagram illustrates the business process required for supporting the business object.

Definitions

Definition Description

PriceCalc

  • PriceCalc is responsible for calculating activation prices (=Cross Border Marginal Price-CBMP) and imbalance prices. Calculated price is sent to TSO and to the Transparency Platform(TP).

  • Price calculation is preformed after each Imbalance settlement period (ISP).

  • Cross border marginal price for each bid selection run is sent from AOF to TSOs and for those TSOs participating, from SN/SvK BidSelector (Direct Activation+Fallback Scheduled Activation) to each TSO. These prices are forwarded from each TSO to PriceCalc.

  • For BidSelection in locale solution within own Control Area, prices are sent from TSOs to PriceCalc. Also this will be cross border marginal price for each bid selection run.

Calculated Price

  • Calculated prices is activation prices (=Cross Border Marginal Price-CBMP) and imbalance prices.

  • Activation price is calculated for each MTU and ISP, and Imbalance prices for each ISP.

  • From go-live Automated operation, ISP = 60 min and MTU =15 min.

  • From go-live 15 min ISP, ISP = 15 min and MTU =15 min.

  • Direct Activation can have different prices in the two MTUs where it is activated.

Day Ahead Prices

Already defined by MNA.
The day-ahead market carries out the key task of balancing supply and demand in the power market with a certain scope for forward planning. In addition to this, there is a final balancing process for fine adjustments in the real-time balancing market (ref. Nord Pool).

Requirements

Req.no. Message Object Sending frequency Resolution Period Area Comments

BR-PC-1

DayAhead Prices

PT60M, PT15M

24 Hours

Synchronous Area

Defined by RSC.
FuTm[1]:
Periodic: before 22:00 D-1. For requirement see Availbility.

BR-PC-2

mFRR Bid TSO

Event, each 15 min.

PT15M

<24 Hours

Event based and periodic. Periodic: 15 min. Received in common solution less than 3 min after BSP bid GCT for 99% QH for a day. Not more often than each 1 min.
FuTm[1]: PriceCalc
Periodic: 15 min. 2 min after end of QH for 99% of QH for a day.

BR-PC-3

mFRR Activation TSO

event

PT15M

Bidding Zone.
Event based. More than 3 min before activation time for 99,9% activations. (Activation time is midpoint of ramp, the same time as sent to BSP as activation time.) Not more often than each 1 min.
FuTm[1]: PriceCalc
Periodic: 15 min. 2 min after end of QH for 99% of QH for a day.

BR-PC-4.1

Price Scheduled Activation TSO

PT15M

Price for Schedule Activation.
FuTm[1]:
Event based (after each bid selection run) or Periodic: 15 min. 2 min after end of QH for 99% of QH for a day.

BR-PC-4.2

Price Direct Activation TSO

PT15M

Price for Direct Activation.
FuTm[1]:
Event based (after each bid selection run) or Periodic: 15 min. 2 min after end of QH for 99% of QH for a day.

BR-PC-5.1

Cross Border Marginal Prices TSO

ISP

PT15M + PT1H

ISP

Support for Direct, Scheduled, Imbalance
Each bid selection run should be identified by an AcutionRunId.
FuTm[1]:
"Periodic: ISP 60/min/15 min. <x> min after end of ISP for 99% of QH for a day. Must define x together with NAP."

BR-PC-5.2

Imbalance Prices TSO

ISP

PT15M + PT1H

ISP

Support for Direct, Scheduled, Imbalance
Each bid selection run should be identified by a AcutionRunId
FuTm[1]: "Periodic: ISP 60/min/15 min. <x> min after end of ISP for 99% of QH for a day. Must define x together with NAP."

[1] FuTm: Follow up Target model Additional requirement:

Req.no. Requirement statement

BR-PC-6

Each bid selection run should be identified by a AcutionRunID. Used in selected messages to identify the correct price for an auction run. This is used in conjunction with the PriceCalc module.

Sequence diagram

Sequence diagram shows all required data exchanges between TSO and PriceCalc. The diagram also includes additional Roles that use same Data / Message Objects.

PriceCalcSequence

Realization of the business process

Shows the realising of the business object CalculatedPrice.

PriceCalc RealisedByObjects

AuctionRunID

AuctionRunId identifies a given bid selection run. All bid selection solutions shall generate an unique AuctionRunId for each bid selection. With AuctionRunId there will be a connection between prices and activations. The AuctionRunId can be used for both aggregating information and for potential error handling.

Here is an example of different auction runs.

auctionrunid

Following figure shows 5+n AuctionRunIds.

Its definition contains these properties.

auction run id def

AuctionRunID pattern

How to generate a unique ID, that can be decoded to identify a certain auction a price originate from.

Following pattern is given for AuctionRunID: <process>-<BidSelector>-<YYYYMMDDhhmm>-<counter with fixed length of 4 digits>

Parameter

Format

Short definition

Description

process

an..6

Type of process

SA, DA , PS, Fast, Slow,NonStd

BidSelector

an..8

Which system selected bid

Prefixed values : AOF,none-AOF[1],EN,FG,SN,SV. When using either prefix AOF or noneAOF[1], these should not be combined with additional codes for this field.

Timestamp

an12

Reuse of activation start

Reuse of activation start period of the activation from MOL document, Activation time. TimeStamp have its origin the start time period from the MOL document.
UTC Time

Counter

n4

Counter with fixed length

Autoincrement if more Ids are generated within same minute. Fixed length and starts on 0001 when non-duplicates. Reset counter for each minute.

This result in a total length of an..30
Note! Please note that in order to distinguish the fields from each other, it is required to use delimiter "-" to separate fields.

[1] noneAOF (none-AOF) may be subject to change in future version

Use cases for counter:
- SA-Scheduled Activation : Fixed counter and should be 0001
- DA- Direct Activation : Counter starts on 0001 and each DA auction is an increment of one. BidSelector must provide AuctionRunId for each DA activation.
- PS-Period Shift : Counter can have only 2 runs within an MTU, this will result in 0001 and 0002.
- Fast, slow and None-Standards(NonStd), should operate similar to DA counter even though its normal behaviour should be one activation.

Example: SA-AOF-202009091015-0001

Affected message objects

Following messages are affected with this identifier

Message object Associated Attribute

MOL

timeInterval start.

mFRR Activation TSO

Current usage (V6.2): Reason code. Future usage: New Auction.mRID.

Price Scheduled Activation TSO

Auction.mRID

Price Direct Activation TSO

Auction.mRID

Cross Border Marginal Prices TSO

Auction.mRID

Imbalance Prices TSO

Auction.mRID

Message Definitions

Message definitions and document versions

Dataobject Document Schema version

DayAhead Prices

Publication_MarketDocument

7.1

Cross Border Marginal Prices TSO

Balancing_MarketDocument

4.2

Imbalance Prices TSO

Balancing_MarketDocument

4.2

Price Scheduled Activation TSO

Balancing_MarketDocument

4.2

Price Direct Activation TSO

Balancing_MarketDocument

4.2

Functional Description

  • The prices for a quarter of an hour use the logic from MARI. These are not sent out of the PriceCalc, but used as input for Imbalance Price. There is still an ISP - Imbalance Settlement Period of 1 hour in the Nordic countries

  • The hourly price logic is based on using the quarter-hour prices and activated volume to calculate hourly rates. These are sent out of the PriceCalc.

Quarter Hour logic - Cross Border Marginal Price

Computation name:

  • Computation of Quarter-hourly Upward/Downward CrossBorder Marginal Prices per Bidding Zone for current and next QH

Inputs:

  • Direct Activation Clearing Prices (for multiple Runs) per Bidding Zone for current QH

  • Scheduled Activation Clearing Prices (for single Run) per Bidding Zone for current QH

  • Scheduled Activation Clearing Prices (for single Run) per Bidding Zone for next QH

Outputs:

  • Upward Direct Activation CrossBorder Marginal Prices per Bidding Zone for current QH

    • Computed as maximum from

      • all Upward Direct Activation Clearing Prices for current QH and given Bidding Zone

      • all Scheduled Activation Clearing Prices for current QH and given Bidding Zone

  • Downward Direct Activation CrossBorder Marginal Prices per Bidding Zone for current QH

    • Computed as minimum from

      • all Downward Direct Activation Clearing Prices for current QH and given Bidding Zone

      • all Scheduled Activation Clearing Prices for current QH and given Bidding Zone

  • Upward Direct Activation CrossBorder Marginal Prices per Bidding Zone for next QH

    • Computed as maximum from

      • all Upward Direct Activation Clearing Prices for current QH and given Bidding Zone

      • all Scheduled Activation Clearing Prices for next QH and given Bidding Zone

  • Downward Direct Activation CrossBorder Marginal Prices per Bidding Zone for next QH

    • Computed as minimum from

      • all Downward Direct Activation Clearing Prices for current QH and given Bidding Zone

      • all Scheduled Activation Clearing Prices for next QH and given Bidding Zone

  • Scheduled Activation Clearing Prices per Bidding Zone for current QH

    • Not computed - only taken from inputs (CBMP for SA will be always received as an already calculated value, so there is no need to calculate anything)

Hour logic - Cross Border Marginal Price (CBMP)

Calculation examples: Setting the hourly price done by formulas for calculation of hourly prices

Inputs

  • SA Price for all quarter-hours QH1, QH2, QH3, and QH4 including information about their directions (i.e. Upwards, Downwards, UpwardsAndDownwards, None)

  • Upward and downward DA Prices current quarter-hour for QH1, QH2, QH3, and QH4

  • Upward and downward DA Prices next quarter-hour for QH-1, QH1, QH2, and QH3

  • Information regarding real activation taking place per directions for QH-1, QH1, QH2, and QH3

  • Day-ahead Price for the hour for which the hourly CBMP is being calculated

Calculation rules

  • Upward hourly mFRR price for the given Scheduling Area

    • is calculated as a maximum of upward "DA Prices current quarter-hour" for QH1, QH2, QH3, QH4 and upward "DA Prices next quarter-hour" for QH-1, QH1, QH2, QH3 but only in case that daActivationsUpwards for corresponding quarter-hour is set to TRUE, SA Prices Upwards (or UpwardsAndDownwards if exists instead), and Day-ahead Price for the given hour and Scheduling Area.

  • Downward hourly mFRR price for the given Scheduling Area

    • is calculated as a minimum of downward "DA Prices current quarter-hour" for QH1, QH2, QH3, QH4 and downward "DA Prices next quarter-hour" for QH-1, QH1, QH2, QH3 but only in case that daActivationsDownwwards for corresponding quarter-hour is set to TRUE, SA Prices Downwards (or UpwardsAndDownwards if exists instead), and Day-ahead Price for the given hour and Scheduling Area.

Outputs

  • Upward hourly mFRR price per Scheduling Area

  • Downward hourly mFRR price per Scheduling Area

Hourly Computation - Imbalance Price

Functional specification
Imbalance price for an area is equal to either upward or downward hourly CBMP produced by Hourly Price Calculation Algorithm depending on dominating direction of activation for the area.
Dominating direction corresponds to higher of upward or downward sum of all activation volumes of uncongested areas at which the area participated.
Uncongested area(MRA) is set of areas which have the same price in terms of given activation run.

Inputs:

  • Bids activated in DA during last quarter-hour of previous hour with reason code on point level = B49 (activation purpose = balancing)

  • Uncongested areas(MRA) and DA run IDs information relevant to last quarter-hour of previous hour

  • Bids activated in SA and DA during each quarter-hours that belongs to the hour with reason code on point level = B49 (activation purpose = balancing)

  • Uncongested areas(MRA) and run IDs information for each quarter-hours that belongs to the hour

  • Day-ahead price

  • Hourly CBMP upward and Hourly CBMP downward

Appendix A: Document types, message types, process types and business types

Message dependency matrix with descriptions and comments

The message dependency matrix shows the major identifier for certain messages.

Platform Document Schema Message type Definition Process type Definition Business type Definition Comments

DayAhead Prices

Publicationdocument

A52

A69

Market coupling results

Publicationdocument version 7.1

NBM

mFRR Bid TSO-TSO

ReserveBid_MarketDocument

Please see mFRR Bid TSO

NBM

mFRR Activation

Activation_MarketDocument

Please see {mffr-activation}

NBM

Price Direct Activation

Balancing_MarketDocument

B24

Clearing price

A61

mFRR with direct activation

A97

Manual frequency restoration reserve

NBM

Price Scheduled Activation

Balancing_MarketDocument

B24

Clearing price

A60

mFRR with scheduled activation

A97

Manual frequency restoration reserve

NBM

(Calculated) Price Imbalance PC-TSO

Balancing_MarketDocument

A85

imbalance prices

A16

Realised

A97

Manual frequency restoration reserve

NBM

(Calculated) Price CBMP PC-TSO

Balancing_MarketDocument

A84

activated balancing price

A16

Realised

A97

Manual frequency restoration reserve

Other documents used as guideline for NBM messages.
Following codes are from MARI and ENTSOE Transparency platform.

MARI

Clearing Scheduled Activation Price AOF TSO

Balancing_MarketDocument

B24

Clearing price

A60

mFRR with scheduled activation

A97

Manual frequency restoration reserve

Ref. https://eepublicdownloads.entsoe.eu/clean-documents/EDI/Library/ERRP/Common_Platform_for_manually_activated_restoration_reserves_IG_v1.0.pdf

MARI

Settlement Direct Activation Price AOF TSO

Balancing_MarketDocument

A84

activated balancing price

A61

mFRR with direct activation

A97

Manual frequency restoration reserve

Ref. https://eepublicdownloads.entsoe.eu/clean-documents/EDI/Library/ERRP/Common_Platform_for_manually_activated_restoration_reserves_IG_v1.0.pdf

MARI

Clearing Scheduled Activation Price AOF TP (Transparency)

Balancing_MarketDocument

A84

activated balancing price

A60

mFRR with scheduled activation

A97

Manual frequency restoration reserve

Ref. https://eepublicdownloads.entsoe.eu/clean-documents/EDI/Library/ERRP/Common_Platform_for_manually_activated_restoration_reserves_IG_v1.0.pdf

MARI

Clearing Direct Activation Price AOF TP (Transparency)

Balancing_MarketDocument

A84

activated balancing price

A61

mFRR with direct activation

A97

Manual frequency restoration reserve

Ref. https://eepublicdownloads.entsoe.eu/clean-documents/EDI/Library/ERRP/Common_Platform_for_manually_activated_restoration_reserves_IG_v1.0.pdf

MARI

mFRR Aggregated Bids TP (Transparency)

Balancing_MarketDocument

A24

Bid document (when aggregated bids)

A47

Manual frequency restoration reserve

A14
B09

Aggregated energy data.
Net position.

Ref. https://eepublicdownloads.entsoe.eu/clean-documents/EDI/Library/ERRP/Common_Platform_for_manually_activated_restoration_reserves_IG_v1.0.pdf

MARI

mFRR Scheduled Activation Aggregated Bids TP

Balancing_MarketDocument

A24

Bid document (when aggregated bids)

A60

mFRR with scheduled activation

A14
B09

A14=Aggregated energy data
B09=Net position

Ref. https://eepublicdownloads.entsoe.eu/clean-documents/EDI/Library/ERRP/Common_Platform_for_manually_activated_restoration_reserves_IG_v1.0.pdf

ENTSOE

Balancing energy bids(TP:EB GL 12.3.b)

ReserveBid_MarketDocument

A37

Reserve Bid document

A47 (Other: A51 = automatic frequency restoration reserve (aFRR), A46 = Replacement reserve (RR) )

Manual frequency restoration reserve

B74

Offer

Ref. MoP Ref22_Transparency platform EB GL process IG v1r3.pdf

ENTSOE

Aggregated balancing energy bids(TP:EB GL 12.3.e )

Balancing_MarketDocument

A24

Bid document

A47

Manual frequency restoration reserve

A14

Aggregated energy data

Ref. MoP Ref22_Transparency platform EB GL process IG v1r3.pdf

ENTSOE

Activated Balancing Energy Prices (TP 17.1.f)

Balancing_MarketDocument

A84

Activated balancing price

A16

realised

A95
A96
A97
A98

Frequency containment reserve.
Automatic frequency restoration reserve.
Manual frequency restoration reserve.
Replacement reserve.

Ref. MoP Ref7_Balancing_Transparency_Process_Implementation_Guide_V4.6.pdf

ENTSOE

Imbalance prices(TP: 17.1.g)

Balancing_MarketDocument

A85

Imbalance prices

A16

Realised

A19

Balance energy deviation

Ref. MoP Ref7_Balancing_Transparency_Process_Implementation_Guide_V4.6.pdf

ENTSOE

Total imbalance volume(17.1.h)

Balancing_MarketDocument

A86

Imbalance volume

A16

Realised

A19

Balance energy deviation

Ref. MoP Ref7_Balancing_Transparency_Process_Implementation_Guide_V4.6.pdf