Skip to main content
Balancing cost calculator for wind & solar producers
Own product · Energy / analytics

Upload one file, see what your forecast misses cost

Drop in a forecast-versus-actual export and the tool pulls Denmark's imbalance price from Energinet for exactly that period, then returns total cost, produced volume and average cost per MWh, with the file parsed in your browser and uploaded nowhere.

15 minInterval it prices
96Priced intervals a day
LiveEnerginet prices per run
1 dayFrom idea to working tool

Built with Claude Code in 1 day

Balancing cost chart with the Denmark imbalance price overlaid as a dashed line
01 / Cost per MWh

See what each MWh of production really cost

Balancing cost per MWh of real production runs against the Energinet imbalance price for the same window. Two days read as 192 quarter-hours, 2.77 €/MWh on average and 20.98 at the worst.

2.77 €/MWhaverage cost on this window
  1. 1Energinet's imbalance price for the same window, dashed
  2. 2What each quarter-hour of forecast error actually cost
Sample forecast versus fact file after upload, with totals, the detected period and the Energinet price panel
02 / One upload

Three numbers from a file you already export

Columns are found by header name, the period fills itself in from the file and Energinet prices are pulled for exactly that window. Total cost, produced volume and average cost per MWh come back on the same screen.

4784.22 €balancing cost, two days
Total cost view with a tooltip showing one interval's cost, price and imbalance volume
03 / Worst intervals

Find the quarter-hours that cost you the most

Absolute cost per 15-minute interval shows where one bad forecast hour turned into real money, up to 225.93 € in a single quarter-hour here. Hover any point for its cost, price and imbalance volume.

More screens
Before

The forecast export sat in one file and the price table in another, joined by hand every time.

After

One upload returns total cost, volume and cost per MWh across every 15-minute interval.

Under the hood

01Context

A forecast miss has a market price

Denmark settles renewable output against a forecast at 15-minute resolution: any shortfall or surplus is bought or sold back at the market's imbalance price. A producer usually has that price in one place and its own forecast-versus-actual numbers in another, with no easy way to see what a bad forecasting day actually cost.

02What we built

Upload a file, get a cost number

Drop in an Excel or CSV export with a timestamp, forecast and fact column; the app finds the right columns by header name, or by a fixed layout when headers are missing, and detects the covered period automatically. A file up to 50 MB parses entirely in the browser, nothing is uploaded anywhere. The period auto-fills from the file, capped at six months, and the app fetches Denmark's imbalance price for that window from the Energinet Energi Data Service.

03How it works

Client-side parsing, a proxied price feed

React, TypeScript and Vite on the front end, Recharts for the chart, the xlsx library for parsing. Imbalance volume is forecast minus fact; balancing cost is imbalance volume times the imbalance price; cost per MWh is total cost divided by total produced volume. An interval with no matching price is excluded from the totals rather than interpolated. The Energinet Energi Data Service blocks direct browser requests, so a Vercel Edge Function proxies the price call in production.

ANM SOLUTIONS / CONTACT US

Want something like this?

First 30-minute call is free. We scope it, you decide.

Related service · Workflow & Process Automation ›
More cases