About this map
This map shows forecasted or scheduled physical flows (day-ahead FB flows) on the Nordic bidding zone borders and major HVDC interconnectors, based on Flow-Based market coupling data published by JAO (Joint Allocation Office). Covered links include internal Nordic connections as well as the North Sea cables linking Norway and Denmark to Great Britain, the Netherlands and Germany, and the Baltic Sea cables to Estonia, Lithuania, Poland and Gemany. Arrows indicate the direction of net power flow, with the flow in MW shown next to each arrow. Data is updated daily and covers all 96 fifteen-minute periods of the day. Times are shown in CET/CEST. Hover over an arrow to see the interconnector name and flow direction.
Forecasted flows are the the total forecasted border flows. Scheduled flows are the Market flows, which are the same as the Forecasted flows but without the F0 reference (zero net positions) flow. Also the F0 flow can be seen explicitly.
Estimated Border CI
The Estimated Border CI view shows the estimated Congestion Income (CI) contribution from each border in the Nordic region. The method is my own simplified adaptation of the official CIDM (CI Distribution Methodology) and proceeds in four steps.
Step 1 — Total Nordic CI
CI_tot = Σ_c (λ_c × RAM_c)
summed over all active Nordic CNECs, where λ_c is the shadow price (€/MWh) and RAM_c is the Remaining Available Margin (MW).
Step 2 — Raw border CIs
For each border g, compute a signed raw CI:
Internal borders: raw_CI_g = F_sched,g × ΔP_g
External borders: raw_CI_g = ½ × F_sched,g × ΔP_g
where F_sched,g is the scheduled flow and ΔP_g is the price difference across the border. A positive value indicates an intuitive flow (from cheaper to more expensive zone); a negative value indicates a counter-intuitive flow. For external borders (Nordic ↔ Core), only half the raw CI is attributed to the Nordic sde.
Step 3 — Scaling factor
s = CI_tot / Σ_g |raw_CI_g|
This ensures the border CIs sum to exactly CI_tot.
Step 4 — Border CI assignment
CI_g = s × |raw_CI_g|
Each border receives a positive CI. Non-intuitive flows (negative raw CI) are socialised across all borders — they still receive a proportional share. Note! All CI_g are divided by four in the map to represent the 15 minute MTU, and not 1 hour. Also note that border CI < 50 EUR will round down to 0.0 kEUR and the corresponding arrow is not shown on the map.
Why halve the external border CI?
The total system CI (Nordic + Core) can be decomposed in two independent ways:
CI_sys = CI_nordic + CI_core (CI_nordic is the CI_tot above)
and
CI_sys = X + Y + Z
where X = Σ internal Nordic border flows × price differences, Y = Σ external (Nordic ↔ Core) border flows × price differences, and Z = Σ internal Core border flows × price differences.
Matching the two decompositions gives:
CI_nordic = X + Y/2
The Nordic CI equals the sum of all internal Nordic border CIs plus half the CI from external borders, the other half belongs to Core. This is a simplification: in a fully flow-based world the 50/50 split need not hold exactly, but it may be a reasonable first-order estimate.
Map data is available from 2026-04-01 (CI info from 2024-04-25).
Disclaimer: This map is for illustrative and educational purposes only. Data is sourced from JAO and ENTSO-E but may be incomplete, delayed, or incorrectly processed. No warranty is given as to the accuracy or fitness for any particular purpose. Do not use for commercial or operational decisions.
