Data Sources
Solar Irradiance
We use the Open-Meteo historical weather API to fetch daily shortwave radiation sums for each metro. The API aggregates satellite observations and reanalysis models (ERA5, etc.). We average a full year of data (July–June) to smooth seasonal variation.
Peak sun hours are derived by converting MJ/m²/day to kWh/m²/day (÷ 3.6). This is a modeled estimate, not a site-specific measurement. Shading, roof pitch, and azimuth are not accounted for.
Electricity Rates
Average residential electricity rates are sourced from the U.S. Energy Information Administration (EIA) Electric Power Monthly reports. We use state-level averages as a proxy for metro-level rates. Actual utility rates vary by provider and rate schedule (TOU, tiered, etc.).
Incentives
State incentive summaries are derived from the DSIRE database (N.C. Clean Energy Technology Center). We verify key programs quarterly. Incentive data is flagged with a "last verified" date on each state page.
Calculation Model
Annual Production
Annual kWh = System Size (kW) × Peak Sun Hours × 365 × Derate Factor
Default derate factor: 80%. This accounts for:
- Temperature losses (panels operate hotter than STC)
- Inverter efficiency (≈ 97–98%)
- Soiling / dust (≈ 2–5%)
- Wiring and mismatch losses (≈ 1–3%)
- System availability (≈ 1–2%)
Net System Cost
Net Cost = Gross Cost × (1 − Federal ITC − State ITC)
Federal ITC is fixed at 30% (Residential Clean Energy Credit, valid through 2032 per current law). State ITC varies by jurisdiction. We cap total credits at 55% to avoid unrealistic negative cost scenarios.
Payback Period
Simple Payback = Net Cost ÷ Year 1 Savings
Year 1 savings = Year 1 production × Current electricity rate. This is a simplified metric; it does not account for utility rate escalation, panel degradation, or financing costs.
25-Year NPV
We model 25 years of cash flows with the following assumptions:
- Panel degradation: 0.5% per year (compounded)
- Utility rate escalation: 2.5% per year (compounded)
- Discount rate: 4% (real)
- System life: 25 years (inverter replacement at year 12–15 is not modeled)
NPV = Σ (Annual Savingsₜ / (1 + discount)ᵗ⁻¹) − Net Cost, for t = 1 to 25.
Limitations
- Not a substitute for a professional quote. Roof condition, shading, structural capacity, and local permitting are not modeled.
- Rate structures matter. Time-of-use (TOU) rates, demand charges, and tiered pricing can significantly alter savings. We use a flat average rate.
- Financing changes everything. Our calculator assumes cash purchase. Loans, leases, and PPAs have different tax and cash-flow implications.
- Incentive staleness. State legislatures update programs frequently. Verify current incentives with DSIRE and your tax advisor.
- Open-Meteo precision. While Open-Meteo is a high-quality open dataset, it is a reanalysis product. Site-specific pyranometer measurements will differ.
Updates
Solar irradiance data is refreshed annually. Electricity rates are updated when EIA releases new monthly data. Incentive data is verified quarterly against DSIRE.