Calculation Methodology for Kindastuff Solar Analytics
This page documents the formulas, variable definitions, input validation rules, assumptions, and industry standards behind every calculator on Kindastuff. It exists so that any engineer, asset manager, reviewer, or peer can see exactly how a result is produced — and judge its limits — before relying on it.
The website's source code is not open-source. This page documents the calculation logic, not the implementation. Publishing a formula does not mean the tool has been independently validated, audited, or certified. Where a result depends on your inputs or on data quality, that dependency is stated.
Not bankable. Not IEC-certified. Kindastuff calculators are free, browser-based screening and analysis tools. They are not a substitute for a calibrated measurement campaign, independent engineering review, or energy-yield simulation software (PVsyst, SAM, PlantPredict) for financial or contractual use. Plant-specific contracts, PPA definitions, and reporting conventions take precedence over anything on this page.
Maintained by Aman Yadav
This methodology is written and maintained by Aman Yadav, a solar plant performance engineer with hands-on experience in utility-scale plant operations, performance monitoring, and data analytics. The calculators reflect real O&M workflows — including the DC-vs-AC capacity conventions, sensor quality caveats, and validation limits that matter in practice.
Full profile · LinkedIn · GitHub repository
How to read this methodology
Every metric on this page falls into one of three categories. Knowing which is which tells you how much weight to give a result:
| Category | Meaning | Examples |
|---|
| Standard-defined | The formula follows an established standard or clause directly. | Specific Yield (IEC 61724-1 §7.3), Reference Yield (§7.1), Capacity-Based PR (§7.5), Inverter efficiency principle (IEC 61683) |
| Standard-informed / site-adapted | Built on a standard's framework, with a documented extension or rearrangement. | CUF with AC-capacity convention, Efficiency-Based PR (algebraic rearrangement of PR) |
| Kindastuff-defined | A custom operational metric. Not defined in IEC 61724-1. | Performance Target Index (PTI), PR_expected, Module PR |
Citing a standard does not mean a calculator is IEC-certified or that its output guarantees compliance. It means the mathematical basis is traceable. Conversely, a Kindastuff-defined metric is not invalid — it is simply internal, and must never be used for contractual reporting.
Calculator methodology index
Seventeen metrics across fifteen calculators. Fourteen are fully documented below; three are marked documentation in progress and are not yet published as methods.
Calculation methods
Capacity Utilization Factor (CUF / PLF)
Purpose. Generation as a percentage of the theoretical maximum if the plant ran at rated capacity for every hour of the period.
Formula.
CUF (%) = [ E_AC / (P_ref × T) ] × 100
T = Days × 24 (hours in the analysis period)
Inputs / output. E_AC (kWh), P_ref (kWp or kW), period length (days) → CUF (%).
Reference. IEC 61724-1:2021 §3 (Terms and Definitions) and §7 (Performance Indices), Final Yield §7.3. Advisory basis; extended below.
Convention and caveats. IEC 61724-1 defines P_o as DC capacity, but many PPAs (SECI standard documents, CERC regulations) define CUF against contracted AC capacity. This calculator accepts both — label your report accordingly; the same plant produces different CUF values under each convention. CUF is a summary metric: a low value does not identify the cause, and it conflates irradiance variability with plant-side losses. Review alongside PR, irradiance, and availability. Solar CUF (typically ~15–25%) is not comparable to thermal PLF (70–90%) because operating hours differ fundamentally.
Open the CUF / PLF calculator · Detailed source (§1)
Degradation & Insolation Corrected CUF
Purpose. CUF normalised for module aging and for irradiance that deviates from design-year assumptions — for fair comparison of actual output against a degraded plant's expected output under actual irradiance.
Formula.
Step 1 P_DC_corrected = P_DC_nameplate × (1 − Da/100)^n
Step 2 SF = H_POA_actual / H_POA_design
Step 3 CUF_corrected (%) = [ E_AC / (P_DC_corrected × SF × T) ] × 100
Inputs / output. E_AC, P_DC_nameplate, uniform annual degradation rate (Da), years since commissioning (n), actual and design-year POA insolation → corrected CUF (%).
Reference. IEC 61724-1:2021 §4 and §7; degradation rates per IEC 61215-1:2021 long-term characterisation and Jordan & Kurtz (2013).
Convention and caveats. This corrected variant uses DC capacity only (kWp) — the conventional CUF tool accepts DC or AC to suit PPA conventions. Typical crystalline-silicon degradation is 0.4–0.7%/yr, applied uniformly here. Accumulated degradation reaches roughly 2–3.5% after five years, so comparing current CUF to the original design target without correction shows apparent underperformance that is simply expected aging.
Open the calculator · Detailed source (§2)
Specific Yield (Final Yield)
Purpose. Net AC energy per unit of installed DC capacity — normalises generation by plant size.
Formula.
Y_f = E_AC / P_DC (kWh/kWp)
Y_f_daily = E_AC / (P_DC × N) (kWh/kWp/day) N = days in period
Inputs / output. E_AC (kWh), P_DC (kWp), N (days) → yield (kWh/kWp; or per day).
Reference. IEC 61724-1:2021 §7.3. Standard-defined (system performance index, not a loss parameter).
Convention and caveats. Reflects both resource and system losses — it does not isolate plant-side efficiency from irradiance. When comparing two plants, confirm irradiance conditions are equivalent before concluding a performance difference. Typical Indian ground-mount fixed-tilt range: ~3.2–5.0 kWh/kWp/day, indicative only.
Open the calculator · Detailed source (§3)
Reference Yield
Purpose. In-plane energy available to the array, expressed as equivalent peak sun hours.
Formula.
Y_r = H_POA / G_STC (hours)
Y_r_daily = (H_POA / G_STC) / N (hours/day)
G_STC = 1 kW/m² (fixed constant)
Inputs / output. H_POA (kWh/m²), N (days) → reference yield (peak sun hours).
Reference. IEC 61724-1:2021 §7.1. Standard-defined (resource parameter).
Convention and caveats. This characterises what the sun provided, not plant performance. It is the denominator of Performance Ratio. POA must be measured at the array's actual tilt/azimuth — substituting GHI introduces a seasonal systematic error (see §5 Instrumentation).
Open the calculator · Detailed source (§4)
Soiling Analysis
Purpose. Quantifies the efficiency penalty from soiling using paired pre-clean / post-clean power and irradiance readings.
Formula.
Per-sample efficiency:
η_sample (%) = (P × 1000) / (G × A) × 100
Soiling ratio (literature form):
SR = P_soiled / P_clean
Overall efficiency (arithmetic mean):
Overall (%) = Σ η_sample / n
Derived soiling loss (percentage points):
Loss (pp) = Post-Clean Efficiency − Pre-Clean Efficiency
Derived relative soiling loss:
Relative loss (%) = (Post-Clean − Pre-Clean) / Post-Clean × 100
The calculator reports the pre-clean and post-clean efficiency figures; the loss values above are derived from them. Percentage points and relative percentages are not interchangeable — state which one you are quoting.
Inputs / output. Plant active area (m²), rated module efficiency (%), and up to 20 pre-/post-clean power–irradiance pairs → pre-clean and post-clean efficiency (%), per-sample bar chart. Power readings <0.3 kW are rejected.
Reference. IEC 61724-1:2021 (soiling as a loss category) and Micheli et al. (2021), DOI 10.1002/pip.3441.
Caveats. Measures soiling only at the cleaning event — it is not a continuous soiling rate. Irradiance normalisation mitigates, but does not eliminate, temperature differences between readings. Sample efficiencies are cross-validated against rated module efficiency to catch impossible results. For reliable data, take pre/post readings close in time, above ~400 W/m², avoiding cloud transients, with the same instrument and connection points.
Open the calculator · Detailed source (§10)
Solar Inverter Efficiency Dashboard
Purpose. DC-to-AC conversion efficiency per inverter from time-stamped field data, with statistics, charts, and a record explorer. Isolates the inverter stage only.
Formula.
η (%) = (P_AC / P_DC) × 100
Energy (trapezoidal integration):
Eᵢ = ((Pᵢ + Pᵢ₊₁) / 2) × Δt
Inputs / output. CSV/Excel with Timestamp, Inverter, DC Power, AC Power (≤5 MB, ≤1,000 rows, ≤5 inverters) → per-inverter mean/median/std-dev/min/max η, integrated DC/AC energy, plant summary, diagnostic charts.
Reference. IEC 61683:1999 (efficiency measurement principle; the basis for Euro-eta / CEC-weighted figures). Field efficiency is complementary to — not the same as — datasheet weighted efficiency.
Caveats. DC and AC columns must share the same unit (no auto-conversion; a unit mismatch is the most common cause of impossible results). Energy accuracy depends on evenly spaced timestamps — logger gaps silently understate energy (treat as a lower bound). A high standard deviation signals inconsistent conversion (intermittent string faults, loose DC connections, thermal derating cycling), not uniform degradation. Below 80% at rated load suggests a fault; below 50% is almost always a data problem; low efficiency in the morning/evening is normal.
Open the calculator · Detailed source (§11)
Solar Panel Efficiency Calculator
Purpose. Module-level STC, operating, and temperature-corrected efficiency, expected output, and a Module PR health index — for single modules, up to 10 in comparison, or a SCADA CSV batch.
Formulas.
A = Length × Width (module area, m²)
η_STC = [ P_rated / (A × G_STC) ] × 100 (%, G_STC = 1000 W/m²)
Cell temperature — NOCT model:
T_cell = T_amb + G_total × ((NOCT − 20) / 800)
Cell temperature — Faiman model:
T_cell = T_amb + G_total / (U0 + U1 × WS) U0=29.0, U1=6.9
Cell temperature — back-of-module RTD:
T_cell = T_mod + (G_total / 1000) × ΔT_cond ΔT_cond=3°C default
Effective irradiance (bifacial):
G_total = G_front × (1 + BG/100)
G_total = G_front + (G_rear × φ) φ default 0.70
Operating efficiency:
η_op = [ P_measured / (A × G_total) ] × 100
Temperature-corrected efficiency:
η_tc = η_op / [ 1 + (γ/100) × (T_cell − 25) ]
Thermal loss:
Thermal Loss (%) = −γ × (T_cell − 25)
Expected output:
P_expected = P_rated × (G_total/1000) × [ 1 + (γ/100) × (T_cell − 25) ]
Module PR:
Module PR (%) = (P_measured / P_expected) × 100
Inputs / output. Module dimensions/area, rated power, NOCT, γ, irradiance, ambient/module temperature, wind speed, measured DC power, optional bifacial parameters → η_STC, η_op, η_tc, thermal loss, P_expected, Module PR.
Reference. IEC 61215-1:2021 (STC, NOCT procedure) and IEC 61730 (operating limits). Faiman (2008) cell-temperature model; defaults consistent with pvlib open-rack glass-polymer values.
Validation highlights. STC efficiency >40% is hard-blocked (almost always millimetres entered instead of metres) and <10% is warned. Measured power >1.5× nameplate is blocked (cloud-edge spikes only justify ~1.15×, which is a warning). Operating efficiency >1.3× the module's own η_STC is blocked. γ magnitude must be 0 < |γ| ≤ 0.60 %/°C; magnitudes below 0.10 or above 0.45 warn. Wind speed <0 or >50 m/s is blocked (>20 m/s warns). Module temperature outside −40–100 °C warns and the row is retained; irradiance >1500 W/m² warns. Irradiance <50 W/m² is excluded (night filtering); SCADA rows with negative irradiance/power are set to 0 with a warning.
Caveats. Module-level, not plant-level — Module PR is not IEC 61724-1 plant PR. Not a substitute for IEC 61215/61730 certification testing or for yield-simulation software.
Open the calculator · Detailed source (§12)
Solar String Current Deviation Calculator
Purpose. Peer-group screening of DC string currents within the same combiner box / MPPT channel, flagging strings that warrant field inspection. A screening tool, not a diagnostic instrument.
Formulas.
Group reference (choose one):
I_ref = median(I_active) (Active Median, default)
I_ref = mean(I_active) (Active Mean)
I_active = strings with current > 0.05 A
Spread:
σ = √[ Σ(Iᵢ − Ī)² / (n_active − 1) ] (Bessel correction)
CV = (σ / Ī) × 100
Method A — fixed percentage band (default ±5%):
ΔI (%) = ((Iᵢ − I_ref) / I_ref) × 100
Method B — Modified Z-Score via MAD:
MAD = median(|Iᵢ − activeMedian|)
M = 0.6745 × (Iᵢ − activeMedian) / MAD
MAD fallback (when MAD collapses to 0):
MAD_fallback = 0.8453 × MeanAbsoluteDeviation
Energy loss estimate:
δᵢ = max(0, (I_ref − Iᵢ)/I_ref) (0-current strings → δ = 1.0)
E_healthy = P_string_STC × PSH × PR (PR fixed 0.80)
E_daily_loss = Σ δᵢ × E_healthy
E_annual_loss = E_daily_loss × 365
Revenue_loss = E_annual_loss × tariff
Inputs / output. Group ID, String ID, current (required); voltage, timestamp (optional). Manual entry or CSV/TSV. Outputs reference current, CV, confidence rating, per-string deviation and Modified Z-Score, status badges, recommended field action, energy/revenue impact, and CSV/JSON export.
Reference. IEC 62446-1 (string current verification); robust statistics per Iglewicz & Hoaglin (1993). Kindastuff screening thresholds.
Validation / thresholds. Current >45 A hard-blocked; >25 A warned (Y-harness/bifacial?). ≤0.05 A treated as inactive (“check fuse”), excluded from the baseline; negatives flagged as polarity issues. Duplicate String IDs in a group are rejected. Default ±5% band (watch begins at ±3%); MAD method default threshold 3.5 (watch at |M|=2.1).
Caveats. Comparisons are valid only between strings of the same module model, series count, tilt/azimuth, and tracker position. Readings at low irradiance (<~200 W/m²), during cloud transients, or with tracker movement are unreliable. Equal current does not prove equal energy (voltage and temperature matter). Uses a fixed PR of 0.80 for loss estimation. The PSH normalisation deliberately avoids overstating losses (noon-deficit × 10 h would overstate by 40–70%) — it remains an operational estimate, not a PVsyst-equivalent simulation. Confirming any fault requires physical testing (clamp meter, Voc, I-V trace, thermal imaging, insulation resistance).
Open the calculator · Detailed source (§13)
Solar Insolation — POA Back-Calculator
Purpose. Back-calculates plane-of-array (POA) insolation from measured plant energy output, using two independent back-calculations that are cross-validated against each other. Intended for cases where a direct POA sensor reading is unavailable or suspect.
This is an estimation tool, not a measurement. The result is derived from energy output and inherits every assumption embedded in the PR and module efficiency inputs. It is directional, not auditable, and is not a substitute for calibrated pyranometer or reference-cell data.
Standard reference. Both methods are algebraic rearrangements of IEC 61724-1:2021 relationships — the capacity method inverts the Performance Ratio definition (§7.5); the area method inverts the efficiency-normalised PR form (§7.5). No new formulas are introduced.
Formulas.
G_STC = 1 kW/m² (= 1000 W/m², fixed physical constant)
Method 1 — Capacity basis:
H_POA_capacity = (E_AC / P_DC) × (G_STC / PR)
Method 2 — Area basis:
H_POA_area = E_AC / (A_total × η_module × PR)
Cross-validation:
difference (%) = |H_POA_area − H_POA_capacity| / H_POA_area × 100
Accepted result (difference ≤ 25%):
H_POA = (H_POA_capacity + H_POA_area) / 2
Inputs.
| Input | Description | Unit | Validation |
|---|
| Energy Generated | Net AC energy output during the period | kWh | ≥ 0.01 |
| Plant DC Capacity | Total nameplate DC capacity of installed PV modules at STC | kWp | ≥ 1 |
| Plant Area | Total active module surface area (excludes land, walkways, spacing) | m² | ≥ 1 |
| Irradiance @ STC | Standard test condition irradiance reference | kW/m² | Fixed at 1 — not user-adjustable |
| Module Efficiency | Rated module conversion efficiency from datasheet | % | 10–40 |
| Average PR | Plant Performance Ratio for the reporting period | % | 10–95 |
Both PR and η_module are entered as percentages and converted to decimals internally. G_STC is fixed at 1 kW/m², consistent with IEC 61724-1 and every other PR calculator on this site.
Method. The two methods reach the same quantity from different inputs. Method 1 uses P_DC, a nameplate value from commissioning documents. Method 2 uses module area and efficiency, physical and datasheet values. If both agree, the capacity, area, and efficiency inputs are mutually consistent with the reported energy; if they diverge beyond 25%, at least one input is inconsistent and no result is returned.
Cross-validation.
| Difference | Result |
|---|
| ≤ 25% | Both values averaged and reported as H_POA |
| > 25% | Rejected — "Error. Please verify your inputs." |
Worked example
E_AC = 48,000 kWh P_DC = 1,000 kWp A = 5,000 m²
η_module = 19% PR = 80% G_STC = 1 kW/m² (fixed)
Method 1: H_POA_capacity = (48,000 / 1,000) × (1 / 0.80)
= 48 × 1.25 = 60.00 kWh/m²
Method 2: H_POA_area = 48,000 / (5,000 × 0.19 × 0.80)
= 48,000 / 760 = 63.16 kWh/m²
Difference = |63.16 − 60.00| / 63.16 × 100 = 5.0% → within tolerance
Result: H_POA = (60.00 + 63.16) / 2 = 61.58 kWh/m²
Insolation POA = 61.58 kWh/m²
Convention and caveats.
- Capacity basis must match PR. If PR is defined on DC capacity,
P_DC must be DC capacity; mixing a DC capacity with an AC-based PR gives a wrong result. - Period alignment. The energy and the assumed PR must cover the same period — do not pair a monthly energy figure with an annual PR.
- Within-tolerance disagreement is not surfaced. Inside the 25% band the two values are silently averaged; a 15% disagreement already signals meaningful input inconsistency but is not flagged. Verify inputs independently.
- Agreement is not proof of accuracy. Two methods can agree within 25% while both are wrong — for example if capacity, area, and efficiency are scaled incorrectly relative to each other.
- Not a substitute for measurement. Do not use the back-calculated value in place of measured POA insolation for PR calculations, performance audits, or contractual reporting.
- No physical upper bound. The tool does not cap the output. Back-calculated daily values well beyond a site's plausible range (typically 3.0–7.5 kWh/m²/day) indicate input errors.
- Use in-field efficiency. Nameplate module efficiency overstates the area basis for a degraded array and suppresses the area-method result.
Open the calculator · Detailed source
Documentation in progress
The following calculators are live but their full methodologies are not yet published. No formula is documented here until it is verified.
Standards and technical references
| Standard | Title / scope | Relevance here |
|---|
| IEC 61724-1:2021 | PV system performance — Part 1: Monitoring | Primary reference for all yield, PR, and loss metrics |
| IEC 61724-2:2016 | Part 2: Capacity evaluation method | Capacity-based PR methodology |
| IEC 61724-3:2016 | Part 3: Energy evaluation method | Energy-based performance evaluation |
| IEC 61215-1:2021 | Module design qualification and type approval | STC definition, NOCT procedure, degradation characterisation |
| IEC 61683:1999 | Power conditioners — efficiency measurement procedure | Inverter efficiency principle; basis for weighted-efficiency definitions |
| IEC 61730 | PV module safety qualification | Operating-limit reference for module efficiency validation |
| IEC 62446-1 | Testing, documentation and maintenance of grid-connected PV | String current verification basis |
| IEC/TS 63019:2019 | PV power systems — Availability: terms, definitions and measurement | Availability terminology and reporting framework (Plant & Grid Availability, §15) |
Additional references:
- Jordan, D.C. & Kurtz, S.R. (2013). Photovoltaic Degradation Rates — An Analytical Review. Progress in Photovoltaics 21(1), 12–29. doi:10.1002/pip.1182
- NREL (2019). Best Practices for Operation and Maintenance of Photovoltaic and Energy Storage Systems, 3rd ed. nrel.gov
- Micheli, L. et al. (2021). Photovoltaic soiling monitoring, losses, and efficiency. Progress in Photovoltaics. doi:10.1002/pip.3441
- Faiman, D. (2008). Assessing the outdoor operating temperature of photovoltaic modules. Progress in Photovoltaics 16(4), 307–315.
- Iglewicz & Hoaglin (1993). How to Detect and Handle Outliers. ASQC Quality Press.
On IEC application: IEC 61724-1:2021 defines P_o as DC nameplate capacity. Where a Kindastuff calculator accepts AC capacity (CUF/PLF), that extension is documented in the relevant section above. The formula structure stays consistent with the standard; only the capacity reference changes to match contractual requirements.
Variable reference
| Symbol | Meaning | Unit | IEC 61724-1 ref. |
|---|
E_AC | Net AC energy output | kWh | §4.3 |
P_ref | Capacity reference (DC or AC) | kWp / kW | §3 (adapted) |
P_DC | DC nameplate capacity at STC | kWp | §3 (P_o) |
T / N | Period hours / days | h / days | — |
H_POA | Plane-of-array insolation | kWh/m² | §4.1 (H_i) |
G_POA | Instantaneous POA irradiance | W/m² | §4.1 (G_i) |
G_STC | STC irradiance (fixed) | 1 kW/m² = 1000 W/m² | constant |
Y_f | Final / Specific Yield | kWh/kWp | §7.3 |
Y_r | Reference Yield | h | §7.1 |
PR / PR_tc | Performance Ratio (base / temp-corrected) | — | §7.5 / Annex B |
γ | Module power temperature coefficient | %/°C | datasheet |
T_module / T_cell | Module surface / cell temperature | °C | — |
A_total | Total active module area | m² | — |
η_module / η_STC | Rated / STC module efficiency | % | IEC 61215-1 |
η_op / η_tc | Operating / temp-corrected efficiency | % | — |
SR | Soiling ratio | — | — |
Da | Annual degradation rate (uniform across all years) | % | IEC 61215 / datasheet |
n | Years since commissioning | years | — |
SF | Insolation scaling factor | — | — |
PTI / PR_expected | Performance Target Index / anticipated PR | — / % | Not IEC |
η (inverter) | DC-to-AC conversion efficiency | % | IEC 61683 |
σ / CV | Std deviation / coefficient of variation | % / % | — |
MAD / M | Median abs. deviation / Modified Z-Score | — | Iglewicz & Hoaglin |
NOCT | Nominal Operating Cell Temperature | °C | IEC 61215-1 |
U0 / U1 | Faiman heat-loss coefficients (29.0 / 6.9) | W/m²K; W/m²K/(m/s) | — |
φ / BG | Bifaciality factor / bifacial gain | — / % | — |
Module PR | Module health index (module-level, not IEC plant PR) | % | Not IEC |
Scope, assumptions, and limitations
- Screening and analysis, not certification. Results are for engineering insight and operational screening. They are not bankable, not independently audited, and not a substitute for calibrated measurement campaigns or professional engineering review.
- Input-driven. Accuracy depends entirely on your inputs and data quality. Sensor calibration, placement, unit consistency, and timestamp alignment propagate directly into results.
- Plant-specific documents win. Where a PPA, contract, or regulator defines a metric differently (for example, CUF against AC capacity), that definition takes precedence over this page.
- Custom metrics are labelled. PTI,
PR_expected, and Module PR are Kindastuff-defined and must not be used for contractual reporting. - Model limitations are stated per calculator in the sections above — read them before drawing conclusions.
- Client-side only. Every calculation runs in your browser via JavaScript. No plant data, energy figures, or inputs of any kind are transmitted to any server, and nothing is stored server-side.
- Estimates are labelled as estimates. Where a value is derived rather than measured — for example the back-calculated POA insolation — the interface says so. Treat those outputs as directional, not auditable.
- Fixed physical constants.
G_STC (1 kW/m² = 1000 W/m²) and T_STC (25 °C) are fixed and non-adjustable in every calculator on this site.
Version history
| Version | Date | Change |
|---|
| 1.0 | October 2026 | Initial publication: 13 calculators fully documented; 4 marked in progress. |
| 1.1 | October 2026 | Solar Insolation — POA Back-Calculator documented (§17); count restated as 17 metrics across 15 calculators — 14 documented, 3 in progress. §2 Corrected CUF aligned to a single uniform annual degradation rate, and the standards list extended with IEC/TS 63019:2019. |
Report an error or suggest a correction
Calculation errors are treated as high priority. If you believe a formula deviates from a referenced standard, open an issue with the specific section, your inputs, the expected result, and the observed result.
Open an issue on GitHub →
Do not post confidential plant data. Issues are public. Use anonymised or synthetic values.
Full methodology document
The versioned, detailed companion to this page — including full validation rules, worked examples, and change history — lives in the public repository:
Read METHODOLOGY.md on GitHub →