Free · runs in your browser · screening

PV Health Score.
Your energy file, scored in your browser.

Drop a CSV of daily or monthly energy and get a 0–100 screening score on performance, trend, availability and data quality. Findings with a value are priced in US$ per year at a tariff you can edit.

Your file is read by this page and never uploaded. No account, no email wall.

1 · Your system

ESTIMATED This is your assumption. Run PVGIS (EU Joint Research Centre) for your coordinates and enter its annual specific yield. This page makes no call to PVGIS or any other service. Open PVGIS

ESTIMATED Placeholder, not a market price. Replace it with your contract price. It only prices the findings.

VERIFIED Literature loss rates, with their sources under Benchmark below. The default is the system reference. A higher benchmark gives more lenient scores.

2 · Your energy file

Drop a CSV file here
Columns: date, energy_kwh, and optionally irradiation_kwh_m2. Separator: comma, semicolon or tab. Decimal comma allowed.

Dates: ISO (2025-03-14) or slash dates. Slash dates are read day first, unless the second field is above 12. Monthly files need only the year and month, such as 2025-03.

Screen · your inputs · ESTIMATED

Keep, repower or recycle

For an array whose output is falling. Enter your own figures. The screen returns one option for the array and a US$ value for each option under your inputs. It is a screen, not a verdict on your plant, and it does not replace an inspection.

Your inputs stay in this browser. Nothing is uploaded and nothing is stored.

1 · Your inputs

Years since commissioning.

ESTIMATED Our assumption: 25 years. The screen uses the years left between the age and this horizon.

From the nameplate or datasheet of the array.

Used to show the nameplate watts per module.

ESTIMATED Leave blank and the power is estimated from the degradation rate.

Needed to confirm KEEP. The Health Score computes it from your CSV.

ESTIMATED Your assumption. PVGIS, run for your coordinates, gives a starting value.

ESTIMATED Placeholder, not a market price. It only prices the output lost.

VERIFIED Default 0.10 US$/W: EnergyBin average for used modules listed in the US, H1 2026 (UM-01). One US market point.

ILLUSTRATIVE Placeholder. Enter your own rate. It converts the EU price point (UM-06).

ILLUSTRATIVE Default 0. No removal data is built in. Enter a quote.

ILLUSTRATIVE Default 0. Enter a recycler's written offer if you have one.

A defect sends the screen to RECYCLE, whatever the health ratio.

2 · Your Health Score (optional)

Run the Health Score on your CSV above first. Until then the screen uses the system reference.

How to read this screen

  • Thresholds: 0.80 is our screening line (ESTIMATED). 0.70 is the 70 % of initial power that UM-39 suggests as a screening line for module reuse. It is a suggestion, not an industry rule. Both are labelled as such.
  • Check the yield assumption: at 0.80 or more, a measured yield more than 10 % away from the expected yield, or no measured yield, gives this outcome, not RECYCLE. The yield must be explained or entered before any decision.
  • Used-module prices are single-market points: the US average (UM-01) and an EU wholesale class, Low Cost, that includes used modules (UM-06, UM-07). They do not describe other markets.
  • Reuse volume depends on removal and market access, not on module condition alone. The screen gives no market size.
  • Up to 80 % of the PV waste stream is replaced products and premature failures, not modules at the end of their design life (UM-29).
  • Frame separated by hand in current practice: 95 % (RY-07). Silver: 94 % in one laboratory leach, which is not a field yield (RY-13).
  • Labels: VERIFIED for prices and material values; ESTIMATED for the thresholds, the health ratio, the power estimate and the option values; ILLUSTRATIVE for removal, recycling value and FX.
  • These are option values under your inputs. They are not forecasts, offers or financial results.
  • Your figures and your Health Score result stay in this browser. The screen calls no service.
Method

How the 0–100 score is built

Four subscores, combined as a weighted sum. Weights and thresholds are choices of this screening model, not an industry standard, and each one is written out below.

Performance · 40 %

Measured energy divided by your expected energy for the same days, times 100 and capped at 100. The expected yield in kWh/kWp/year is your assumption, labelled ESTIMATED. Output above expected does not add points.

Trend · 20 %

Least-squares slope of monthly yield per kWp, expressed as a loss rate in %/year. With an irradiation column the yield is divided by irradiation first. Scores 100 at or below the selected benchmark (default: the system reference, 0.75 %/year), loses 40 points per additional %/year and reaches 0 at benchmark + 2.5 %/year. Needs 12 months with irradiation, or 24 months without it.

A test against the benchmark needs 120 monthly points, which is ten years of data. A shorter series is shown for information and is not weighted (see the ten-year window below). When the 95 % interval crosses the benchmark, the trend is inconclusive and scores a neutral 50.

Availability · 20 %

Share of daylight months with a possible outage: three or more consecutive days below 5 % of the expected average daily energy. A day counts as daylight with at least 1 kWh/m² of irradiation when a column is given; a month counts with at least 30 kWh/m². Without an irradiation column, every day or month counts as daylight. For monthly files, a single month below 5 % of its expected energy counts. Score = 100 × (1 − flagged share).

Data quality · 20 %

Coverage of the expected days or months, reduced by duplicate, malformed and invalid rows (non-numeric or negative energy, unreadable dates). Score = 100 × coverage × (1 − error share). Duplicates keep their first occurrence.

Overall = 0.40 × performance + 0.20 × trend + 0.20 × availability + 0.20 × data quality. If a subscore cannot be computed, or the trend window is too short, the remaining weights are rescaled to 100 %, and the result says so. Findings with a value carry US$ per year at your tariff (ESTIMATED). They overlap, so their values are not additive.

Benchmark

Benchmarks, their sources and the ten-year window

The trend is compared with a literature loss rate that you choose in step 1. It is a reference point, not a ranking against other systems.

Where the benchmark comes from

  • Jordan et al. (2022), system performance loss rate: 0.75 %/year VERIFIED
    Where: Abstract (OSTI record)
  • Jordan and Kurtz (2013), crystalline-Si median, module level: 0.5 %/year VERIFIED
    Where: Fig. 2(b), author-manuscript p. 6
  • Jordan et al. (2022), climate split: cooler 0.48 %/year, hotter 0.88 %/year VERIFIED
    Where: Abstract (OSTI record)

Default and changelog

The default is the system reference, 0.75 %/year. The module reference of 0.5 %/year stays selectable.

2026-10-12 · methodology change. The default benchmark moved from 0.5 %/year to 0.75 %/year. Scores under the new default are more lenient: a loss between the two values now scores 100 instead of being penalised.

Ten-year window for a test

A trend is tested against the benchmark only with 120 monthly points, which is ten years of data. A shorter series shows “insufficient window for a benchmark test”, its fitted loss is shown for information only, and the trend is not weighted into the overall score. The other three weights are rescaled to 100 %.

Jordan & Kurtz (2013): median 0.5 %/year VERIFIED

Median of 1,920 field-measured degradation rates; mean 0.8 %/year. The crystalline-Si subset has a median of 0.5 %/year over 1,751 rates. Source: Photovoltaic Degradation Rates — An Analytical Review, Prog. Photovolt. Res. Appl. 21(1):12–29, doi:10.1002/pip.1182. Locator: Sec. 3.1 and Fig. 2(a)–(b), author manuscript pp. 5–6.

Thin-film fleets: median 1.0 %/year VERIFIED

In the same review, 169 thin-film rates have a median of 1.0 %/year (mean 1.5). Source: Jordan & Kurtz (2013), Fig. 2(c), author manuscript p. 6. Because the thin-film median is 1.0 %/year, the 0.5 %/year module reference is strict for thin-film systems. A lower trend subscore is a prompt to check the data, not a diagnosis.

The spread is wide VERIFIED

78 % of all reported rates are below 1 %/year, and the distribution is skewed toward high rates. The 2013 review gives means with 95 % confidence intervals and no quartiles, so this page shows no percentile band. Source: Jordan & Kurtz (2013), Conclusion p. 16, Sec. 3.1 pp. 5–6 and Fig. 5 p. 9.

Measurement caveat VERIFIED

The same review notes that a high percentage of references use only one or two measurements, typically against nameplate STC ratings, which can add significant error. Source: Jordan & Kurtz (2013), author manuscript p. 10. Read any single loss rate with its 95 % interval, which the result shows when a trend is computed.

More recent meta-analysis: median 0.94 %/year VERIFIED

Straub-Mück et al. (2025) pool 80 primary studies and report a median of 0.94 %/year and a mean of 1.1 %/year. Modelled c-Si means range from 0.43 to 1.41 %/year depending on climate and mounting. In the same meta-regression, relative to moderate climates, desert modules carry +0.642 percentage points per year and hot-humid modules +0.486 (Model 1). Source: Renewable and Sustainable Energy Reviews 216:115697, doi:10.1016/j.rser.2025.115697, Sec. 1 p. 2, Fig. 1, Table 3 p. 6, and Table 2 (Model 1) p. 6.

System level differs from module level VERIFIED

The PV Fleet Performance Data Initiative reports a fleet median system loss of 0.75 %/year across 4,915 inverters (Deline et al., 2025, OSTI 2522744, Subtask 3.1, p. 17 of 34). The 2024 NREL fleet update keeps the full-fleet median at about 0.75 %/year and gives 0.50 %/year with a soiling-aware (CODS) analysis, which the report says is not directly comparable with the full-fleet value (NREL/TP-5K00-88769, Sec. 6, pp. 19–20). Plant-level estimates are larger in magnitude: Bolinger et al. (2022) report a loss of 1.2 %/year (±0.1) across 631 US utility-scale plants, and say fleet-wide estimates are naturally larger than module- or cell-level studies (OSTI 1855368, abstract). System-level figures are therefore not module-level medians.

Commissioning year

The age calendar for a commissioning year

Choose the year a plant was commissioned. The panel reads a public cohort table and shows the output haircut that a cohort from the matching band would carry at four rates, with the 15-year and 25-year marks. Age calendar, not a condition assessment, not measured degradation.

Enter the year the plant was commissioned. The published range appears when the table loads.

Your CSV never leaves the browser. This panel reads a public cohort table and sends nothing you type. A band describes a cohort of plants, never one plant; do not read it against a named plant.

Limits

What this score does not show

No cohort percentile yet

No percentile is shown. The LIFETIMEBESS Solar observatory has no cohort of measured system performance for this score yet, so nothing here is ranked against other systems. The trend is compared with a literature benchmark, not with a cohort.

Not a measurement or an audit

It is a screening of the file you provide. The expected yield and the tariff are your assumptions (ESTIMATED). It is not a warranty test, a certification or an audit.

No brand recommendations, no return promises

No manufacturer is named and no brand is recommended. Warranty templates live on Warranty Guard and are ILLUSTRATIVE. US$ values are order-of-magnitude figures at your tariff, not savings or returns.

Private by design

The file is read in your browser and nothing is uploaded. The request button only opens your mail app with a summary you can edit before you send it.

Want a written assessment?

The free score is a screening. A written assessment recomputes the figures with every assumption stated. Write to Carlos with the system details above. Attach the energy file only if you choose to.

carlos@laboratoriosolar.com

Next: Warranty Guard · Verify