Comparable KPIs across monitoring portals

One plant, one month, three reports. The guarantee is 98 %. Two reports pass, one fails. Nobody did anything wrong.

What the owner sees: one plant, three numbers.

Guaranteed in the operations contract: 98 %

Pass

Source A

Availability

99.5 %

  • 24 hours a day
  • inverters counted, not weighted
  • data gaps count as available
  • grid outages excluded
Fail

Source B

Availability

97.5 %

  • daylight hours only
  • weighted by capacity
  • data gaps count as down
  • nothing excluded
Pass

Source C

Availability

99.2 %

  • daylight hours only
  • contract exclusions applied
  • maintenance within quota excluded
  • data gaps left out
Not comparable

All three are called availability. None of them is wrong. Against the 98 % guaranteed in the operations contract, two pass and one fails, and a fail can mean damages. Only the contract’s own definition decides which one counts. Recomputed under this contract, it passes at 99.2 %. Over all daylight hours, the plant was available only 97.7 % of the time: the contract leaves out the grid outage and planned maintenance.

Synthetic example. The numbers are made up, the mechanics are not.

Why they differ: five choices nobody wrote down.

Choice Source A Source B Source C
Hours counted 24 h daylight daylight
Weighting per inverter by capacity by capacity
Data gaps available down left out
Exclusions grid outage none contract list
Unavailable means fault code no power in daylight fault code

Each choice is defensible. Together they move the number by two percentage points. Two points is the whole argument.

Synthetic example. The numbers are made up, the mechanics are not.

What the contractor sees: three contracts, one portal number.

Signed

  • Client 1: time-based, daylight only, grid outages and force majeure excluded, 97 % guaranteed
  • Client 2: energy-based, damages per lost kWh, 98 % guaranteed
  • Client 3: “availability as shown in the portal”
Doesn't fit

Reported

Availability

99.5 %

One number for everyone: 24 hours a day, gaps count as available, grid outages excluded. The portal was set up once, the contracts were signed later.

The portal decides what the contract measures. Client 1 is judged on night hours. Client 2 gets a time number for an energy contract. Nobody signed that.

Synthetic example. The numbers are made up, the mechanics are not.

If the owner owns the data: define once, compute per question.

Defined
  • Portal A
  • Portal B
  • Inverters
  • Meters
  • Weather

The owner's raw data

unchanged, every source in one format, every number with its origin

One definition per question

seven KPIs, each with its method written next to the number

Owner

comparable across every asset and portal

Contractor

the KPI the contract names, on the same data

The owner compares every asset, whatever portal it runs on. The contractor monitors the obligation they actually signed. Same data, no argument.

Synthetic example. The numbers are made up, the mechanics are not.

The method travels with the number: two numbers, both right.

Technical availability

Could the equipment run?

97.7 %

daylight ≥ 50 W/m² weighted by capacity curtailed = available gaps: unknown 0.2 %, left out nothing excluded October 2026

Contractual availability

Did the contractor deliver what was signed?

99.2 %

contract OM-2024-07 daylight ≥ 50 W/m² weighted by capacity excluded: grid outage 4 h excluded: maintenance 10 h of 24 h quota gaps: unknown 0.2 %, left out October 2026

Same plant, same month, same raw data. Each number says what it is. The argument is over before it starts.

Synthetic example. The numbers are made up, the mechanics are not.

Defined

Name it. Define it. Write the method next to the number.

And calculate it from your own data.

Read the seven KPI definitions

Questions

Why are availability numbers from different portals not comparable?

They answer with different rules: which hours count, how inverters are weighted, what a data gap is, what is excluded, and what “unavailable” means. Together that moves the number by two percentage points in this example.

How do I compare plants on different portals?

Own the raw data and fix one definition per question. Then every plant gets one base row, whichever portal it runs on.

Do we have to leave our portals?

No. Let the portals monitor. They are good at it. The comparison runs alongside them.

Send one plant, one month.

You get performance ratio and availability as a base row with the rules written down, the difference against each reported number with what explains it and what stays open, a method card next to every number and a 30-minute walkthrough. Nothing changes in your monitoring.

Send one plant, one month