Skip to content
Helio

Demo system: a 78.6 kWp rooftop, 9 inverters (8 with data), 2015 data

In 2015 this system lost at least 5.05 MWh, or 2,272 zł.

These are real losses from the data: inverter outage and underperformance. They hold no simulation.

simulatedSeparately, simulated curtailment: 5.96 MWh (2,684 zł). No operator issued these orders, so this loss is not in the figure above.

Rescale to your farm

MWp

Scaled linearly from a 69.9 kWp system. The nameplate 78.645 kWp covers 9 inverters, and the data covers 8. Per-MWp figures and the scale factor divide by the monitored capacity, 69.907 kWp (8/9 of the nameplate), assuming equal DC power per inverter.

Rescaled: the loss table, the value of open claims, the problem costs, the order ledger and the monthly chart. The evidence charts and the report stay on this system's data.

Share of each cause in the total with simulated curtailment (hatched)

Losses in 2015 by cause
CauseEnergyValue
Inverter outagereal dataAn inverter produces nothing while its neighbours run.4.99 MWh2,246 zł
Underperformancereal dataAn inverter gives clearly less than its neighbours.58.8 kWh26 zł
Real losses5.05 MWh2,272 zł
CurtailmentsimulatedThe grid operator orders a lower output.5.96 MWh2,684 zł
Total with simulation11.01 MWh4,956 zł

What the data lacks

  • Inverter inv7 is listed in the system metadata but has no measurements. Its production is not in the data, so its losses are not counted.
simulated

Where the simulation comes from

Simulated orders laid over the system's expected production. No operator issued them. Lost energy is counterfactual: expected, not metered.

June 2026: PSE non-market redispatch cut 14.2% of the potential output of large-scale PV (246.9 GWh). Forum Energii data via gramwzielone.pl, 2026-07-09, https://www.gramwzielone.pl/?p=20366557. That article also counts 252 redispatch hours on 26 days, but for all generating units, so they are not used here.

Assumptions, no data behind them: May, July and August at the June level (14.2%); April and September at half of it (7.1%); the other months 0. The share is for large-scale PV; applying it to a small rooftop system is a modelling choice.

The costliest problems

Costliest first, in zł. This is real data, with no simulation. Expected power is what this inverter would give if it ran like its neighbours.

  • actual power
  • expected power
  • lost energy

kW, mean of the samples in each time bin (daylight only)

  1. 1Inverter outage inv422 Apr 2015 to 1 Sept 2015, 132 days

    at least

    2,246 zł

    4.99 MWh

    real data

    This inverter's data ends while the fault is still on. The window may not have ended, so the real loss is at least the figure shown (a lower bound).

21 more windows with a fault

Each is under 1% of the real losses.

26 zł

58.8 kWh

real data

Curtailment order ledgersimulated

The orders are simulated on real production. A claim must be filed within 14 days of the curtailment order, counted from the start of the order, not from its end. The deadline applies only to installations in the auction support scheme (art. 93 para. 18 of the Polish Renewable Energy Sources Act). As of 30 Sept 2015, newest first.

OrderDateLost MWhLost złClaimDays left in the window
C-07827 Sept 201509:30 - 15:550.017 MWh7.82 złFiled-
C-07726 Sept 201510:00 - 15:450.033 MWh15 złFiled-
C-07620 Sept 201510:45 - 16:300.045 MWh20 złOpen4 daysuntil 4 Oct 2015
C-07519 Sept 201510:10 - 16:250.036 MWh16 złFiled-
C-07413 Sept 201509:50 - 16:400.015 MWh6.78 złFiled-
C-07312 Sept 201508:10 - 15:550.035 MWh16 złFiled-
C-0729 Sept 201509:50 - 16:500.053 MWh24 złFiled-
C-0716 Sept 201509:00 - 16:450.097 MWh44 złFiled-
C-0705 Sept 201509:10 - 16:300.092 MWh41 złFiled-
C-0693 Sept 201509:20 - 16:350.050 MWh23 złLapsed-
C-06830 Aug 201509:05 - 17:000.059 MWh27 złFiled-
C-06729 Aug 201509:15 - 16:500.128 MWh58 złFiled-
C-06623 Aug 201509:25 - 17:250.087 MWh39 złFiled-
C-06522 Aug 201508:55 - 17:050.151 MWh68 złLapsed-
C-06420 Aug 201510:20 - 14:100.013 MWh5.63 złFiled-
C-06316 Aug 201509:05 - 17:050.135 MWh61 złLapsed-
C-06215 Aug 201509:00 - 17:150.134 MWh60 złFiled-
C-06112 Aug 201509:10 - 17:000.032 MWh14 złLapsed-
C-06011 Aug 201512:35 - 17:400.014 MWh6.44 złFiled-
C-0599 Aug 201509:00 - 15:400.060 MWh27 złFiled-
C-0588 Aug 201509:15 - 15:150.069 MWh31 złLapsed-
C-0575 Aug 201509:00 - 17:050.084 MWh38 złLapsed-
C-0563 Aug 201509:00 - 17:150.096 MWh43 złFiled-
C-0552 Aug 201509:00 - 17:100.150 MWh67 złFiled-
C-0541 Aug 201509:25 - 17:100.047 MWh21 złFiled-
C-05331 Jul 201509:00 - 17:150.056 MWh25 złFiled-
C-05230 Jul 201509:20 - 14:000.005 MWh2.44 złLapsed-
C-05127 Jul 201510:25 - 17:000.034 MWh15 złFiled-
C-05026 Jul 201509:10 - 17:450.097 MWh44 złLapsed-
C-04925 Jul 201508:55 - 17:250.089 MWh40 złFiled-
C-04822 Jul 201508:55 - 17:150.055 MWh25 złFiled-
C-04721 Jul 201509:15 - 17:350.017 MWh7.83 złFiled-
C-04619 Jul 201508:50 - 17:300.122 MWh55 złFiled-
C-04518 Jul 201509:15 - 17:150.042 MWh19 złLapsed-
C-04415 Jul 201513:20 - 16:150.026 MWh12 złLapsed-
C-04312 Jul 201509:00 - 16:400.129 MWh58 złLapsed-
C-04211 Jul 201509:00 - 17:250.120 MWh54 złFiled-
C-04110 Jul 201509:05 - 17:300.142 MWh64 złFiled-
C-0406 Jul 201509:05 - 16:100.017 MWh7.84 złFiled-
C-0395 Jul 201509:15 - 17:150.127 MWh57 złLapsed-
C-0384 Jul 201508:55 - 16:050.026 MWh12 złLapsed-
C-0373 Jul 201508:55 - 16:500.098 MWh44 złFiled-
C-0361 Jul 201508:55 - 17:500.061 MWh27 złLapsed-
C-03529 Jun 201508:55 - 17:100.002 MWh1.01 złFiled-
C-03428 Jun 201509:10 - 17:350.023 MWh10 złFiled-
C-03326 Jun 201509:45 - 16:050.033 MWh15 złLapsed-
C-03225 Jun 201508:55 - 14:050.089 MWh40 złFiled-
C-03122 Jun 201508:50 - 17:050.128 MWh58 złLapsed-
C-03021 Jun 201508:55 - 17:050.065 MWh29 złLapsed-
C-02920 Jun 201509:55 - 16:550.062 MWh28 złFiled-
C-02819 Jun 201508:45 - 17:150.109 MWh49 złFiled-
C-02714 Jun 201508:45 - 17:300.104 MWh47 złFiled-
C-02613 Jun 201509:10 - 17:000.085 MWh38 złFiled-
C-02511 Jun 201508:50 - 17:150.132 MWh59 złLapsed-
C-0249 Jun 201509:15 - 17:150.113 MWh51 złLapsed-
C-0237 Jun 201508:50 - 17:100.085 MWh38 złLapsed-
C-0226 Jun 201509:10 - 17:150.043 MWh20 złLapsed-
C-0215 Jun 201512:35 - 17:050.034 MWh15 złLapsed-
C-0204 Jun 201509:15 - 15:500.038 MWh17 złLapsed-
C-01931 May 201508:45 - 16:550.114 MWh51 złLapsed-
C-01830 May 201510:00 - 17:100.097 MWh44 złLapsed-
C-01726 May 201508:45 - 17:050.150 MWh68 złLapsed-
C-01625 May 201508:45 - 17:000.052 MWh24 złFiled-
C-01524 May 201508:45 - 17:150.121 MWh54 złFiled-
C-01423 May 201508:40 - 17:150.162 MWh73 złFiled-
C-01317 May 201509:45 - 16:100.076 MWh34 złFiled-
C-01216 May 201508:55 - 16:400.060 MWh27 złFiled-
C-01110 May 201510:50 - 16:050.037 MWh17 złFiled-
C-0109 May 201511:40 - 17:000.034 MWh15 złLapsed-
C-0097 May 201509:05 - 17:100.082 MWh37 złFiled-
C-0083 May 201508:45 - 17:100.158 MWh71 złLapsed-
C-0072 May 201508:50 - 16:450.077 MWh35 złLapsed-
C-0061 May 201510:20 - 15:050.044 MWh20 złLapsed-
C-00525 Apr 201511:30 - 16:450.103 MWh46 złFiled-
C-00419 Apr 201509:25 - 15:250.109 MWh49 złLapsed-
C-00318 Apr 201509:00 - 16:550.152 MWh68 złFiled-
C-00212 Apr 201509:00 - 16:450.073 MWh33 złFiled-
C-0015 Apr 201509:05 - 16:550.125 MWh56 złLapsed-

Losses month by month

Energy lost in each month, by cause. The hatching marks simulated curtailment.

  • Inverter outage
  • Underperformance
  • Curtailment

Hover or pick a month to see the numbers.

0
1.5
3

MWh

Costliest month, real losses only: July 2015, 1.32 MWh and 596 zł.

Costliest month with simulated curtailment: July 2015, 2.59 MWh and 1,164 zł.

Chart data as a table
MonthInverter outage, MWhUnderperformance, MWhCurtailment, MWhTotal with simulation, MWh
January 20150.0000.0120.0000.012
February 20150.0000.0090.0000.009
March 20150.0000.0290.0000.029
April 20150.3560.0000.5610.917
May 20151.3140.0001.2642.577
June 20151.1910.0021.1432.337
July 20151.3190.0051.2642.587
August 20150.8110.0011.2572.069
September 20150.0000.0020.4750.477
October 20150.0000.0000.0000.000
November 20150.0000.0000.0000.000
December 20150.0000.0000.0000.000

AI report

Where the numbers come from

Written by Claude Sonnet 5.5 through the read-only query tool. Every number comes from a logged query.

Click a marker such as Q7 next to a number to see the SQL query and the result rows.

Report: where the system loses energy and money

The system

It is a rooftop, not a farm: 78.6 kWp of nameplate power on 9 inverters . The data covers 8 of them , or 69.9 kWp . Inverter inv7 is in the system description but has no measurements . Its production is not in the data, so its losses are not counted. The data runs from 2015-01-01 to 2015-12-31 . In that time the inverters produced 75.2 MWh . I price every loss at an assumed 450 zł/MWh . That is an assumption, not a market quote.

Headlines

  • Real losses (the inverter outage and underperformance) are at least 5.05 MWh, or 2 272 zł. That is 6.3% of the energy the monitored inverters could have produced . It is a lower bound: the data of inverter inv4 ends on 2015-09-01 , while the outage was still on.
  • Simulated curtailment adds 5.96 MWh, or 2 684 zł, in 78 orders . It is a simulation on real production. No operator issued these orders. This loss is not part of the real loss.
  • In the simulation, the claims that have not lapsed are worth 3.35 MWh, or 1 509 zł , at the assumed price. Compensation may be lower than the value of the energy.

Inverter inv4 outage

Inverter inv4 stopped producing on 2015-04-22 . Its data ends on 2015-09-01 , while the outage was still on. So the outage lasted at least 132 days . The loss is at least 4.99 MWh and 2 246 zł . That is 99% of the real loss . We do not know how much energy the system lost after 2015-09-01 , because there is no data. An alarm for an inverter at zero while its neighbours run would catch such an outage within days.

Underperformance

The analysis found 21 windows in which an inverter gave clearly less than its neighbours . Together they cost 58.8 kWh and 26 zł . That is small. The largest window is inverter inv1 from 2015-03-07 and costs 7.6 kWh . The data does not say what caused it.

Curtailment (simulation)

The data holds no curtailment order. The simulation lays down 78 orders on real production. In June they cut 14.2% of the potential production . That is a published figure (Forum Energii, PSE redispatch, large-scale PV). For May, July and August the same share was assumed, and for April and September half of it, 7.1% . These are assumptions, not data. Orders fall first on weekends and holidays, in the midday hours.

A claim must be filed within 14 days of the start of the order, not of its end. The deadline applies only to installations in the auction support scheme (art. 93 para. 18 of the Polish Renewable Energy Sources Act).

Of 78 orders , 45 were filed , 32 lapsed after the deadline , and 1 is still open . The lapsed claims are worth 2.61 MWh and 1 174 zł and the filed ones 3.31 MWh and 1 489 zł . Deadlines count from the simulated report date, 2015-09-30 . The open order C-076 has 4 days left , until 2015-10-04 .

The claims that have not lapsed (filed and open) are worth 3.35 MWh, or 1 509 zł , at the assumed price of 450 zł/MWh . Compensation may be lower than the value of the energy at that price.

Most expensive months

Real losses only, without simulation: July 1.32 MWh and 596 zł , May 1.31 MWh and 591 zł , June 1.19 MWh and 537 zł .

Including simulated curtailment: July 2.59 MWh and 1 164 zł , May 2.58 MWh and 1 160 zł , June 2.34 MWh and 1 051 zł .

Per MWp

The figures of this system come first. To compare it with a system of another size, we divide the losses by the monitored capacity: 69.9 kWp . That is 8 of 9 inverters, assuming equal DC power per inverter. For each MWp, the real losses are 72.2 MWh and 32 503 zł , and simulated curtailment is 85.3 MWh and 38 387 zł . It is a linear estimate, not a forecast.

What to do

  • Set an alarm for an inverter at zero while its neighbours run for more than an hour.
  • Check whether inverter inv4 is still down. Its data ends on 2015-09-01 .
  • Watch the deadline of 14 days from the start of an order . 32 orders lapsed .
  • File the claim for the open order C-076 by 2015-10-04 .
  • Read the per MWp figures as a linear estimate, not a forecast.

Limits

  • The price of 450 zł/MWh is an assumption. Compensation from the operator may be lower than the value of the energy.
  • Curtailment is simulated. The 14.2% share is for large-scale PV, and this system is a rooftop.
  • The deadline of 14 days applies to installations in the auction scheme. We do not know whether this system belongs to it.
  • The loss of inverter inv4 is a lower bound, because its data ends on 2015-09-01 .
  • Inverter inv7 has no data , so its losses are not in this report.
  • The data does not give the causes of the outage or of the underperformance.

How well detection works

The engine compares each inverter (in the test, each string) with its neighbours and raises an alarm when it gives clearly less for at least an hour. We checked it on a test plant with labelled faults: the FHC set from Graz, 25 days in 2025, 31 fault runs (Zenodo counts 30).

Alarm accuracy

9 of 9

100% accuracy: 9 of 9 alarms landed on a labelled fault. 95% confidence interval: 70% to 100%.

Faults found

6 of 31

6 of 31 labelled fault runs were found (19%).

Physical faults (shading, tilted modules)3 of 4 runs
Faults with at least one hour of sun6 of 8 runs (75%)
False alarms on the fault-free plant0 in 2,676 sunny samples per string

Most missed faults are short sensor glitches (under an hour of sun), noise, or deviations smaller than the natural spread of a healthy plant. The engine looks for lost energy, so it skips some of these on purpose.

How we count

Measured on the FHC twin-plant dataset: 4 strings, 30 s data averaged to 5 min, 31 labelled fault runs. A window is a hit when it overlaps a labelled run in time. The labels carry no string number, so a window on the wrong string still counts as a hit. That can only raise precision and recall. Precision is the share of windows that hit a run (strict: a run of the class the window kind is meant to catch). Recall is the share of runs that any window hits. Intervals are 95% Wilson score intervals.

What these numbers do not prove

  • Small counts: 9 alarms, 31 fault runs, of which 4 physical. That is why accuracy comes with a 70% to 100% interval.
  • Different scale: the test strings are single 400 W modules, while the system above has 8 kW inverters. Results from one do not transfer to the other. They show the method works on labelled faults of one kind of plant.
  • Faults shorter than an hour and deviations under about 10% of power are not detected, by design.
  • The loss figures of the system above carry no accuracy claim. They are what the engine reports for one year of one system, with an assumed price and simulated curtailment.

Source: FHC twin-plant dataset, Zenodo 18979877, CC BY 4.0.