Calculate solar costs and savings (US only)

This document explains how the Solar API calculates the various values that it uses to recommend solar panel installations and to estimate the costs and cost savings for US addresses.

If you enter the address of a residence in a covered region of the US, the Solar API shows you the following estimates:

  • How much sunlight the house receives annually
  • How much space the roof has for a solar installation
  • How much savings, in US dollars, the home can expect over the 20 year life of a solar system
  • The average monthly electricity bill for homes in your area, which you can adjust for your home
  • A recommended size, measured in kilowatts (kW), for a solar system on the house

Although the Solar API provides estimates for any structure that it has data for, the estimates that it provides are best suited for residences or small commercial structures. The Solar API recommends solar installation sizes that maximize savings without producing more energy in a year than a household can consume. The Solar API does not calculate values related to excess energy production.

The recommended installation sizes are limited to annual energy consumption for a number of reasons, but primarily because US households currently get little or no financial benefit from excess energy production. In US locations that have net metering, credits earned from excess energy production typically expire over time.

Required values for financial analysis for US locations

From each SolarPanelConfig instance in the API response, you need two values to perform the financial analysis for that instance:

  • panelsCount: The number of solar panels in an installation. You use this value in your calculation of the installationSize.
  • yearlyEnergyDcKwh: How much sunlight energy a layout captures over the course of a year, in DC kWh, given a specific panelsCount. You use this value in your calculation of the annual solar energy AC production (initialAcKwhPerYear) of each installationSize.

Additionally, you need to gather location-specific values for the following variables that you will use in the calculations:

  • billCostModel(): Your model for determining the cost, in local currency, paid by a household for using a given number of kWh. How much a utility charges for electricity can vary from day to day or hour to hour depending on things like demand, time of day, and how much electricity the household consumes. You might need to estimate an average cost.
  • costIncreaseFactor: The Solar API uses 1.022 (2.2% annual increase) for US locations.
  • dcToAcDerate: The efficiency at which an inverter converts the DC electricity that is produced by the solar panels to the AC electricity that is used in a household. The Solar API uses 85% for US locations.
  • discountRate: The Solar API uses 1.04 (4% annual increase) for US locations.
  • efficiencyDepreciationFactor: How much the efficiency of the solar panels declines each year. The Solar API uses 0.995 (0.5% annual decrease) for US locations.
  • incentives: Include any monetary incentives to install solar panels given by government entities in your area.
  • installationCostModel(): Your method for estimating the cost of installing solar in local currency for a given installationSize. The cost model would typically account for local labor and material costs for a given installationSize.
  • installationLifeSpan: The expected lifespan of the solar installation. The Solar API uses 20 years. Adjust this value as needed for your area.
  • kWhConsumptionModel(): Your model for determining how much energy a household consumes based on a monthly bill. In its simplest form, you would divide the bill by the average cost of a kWh in the household's location.
  • monthlyBill: the average monthly electric bill for a subject household.
  • monthlyKWhEnergyConsumption: An estimate of the average amount of electricity the household at a given location consumes in a month, measured in KWh.

With these values and the information provided by the API response, you can perform the calculations necessary to recommend the best installationSize for locations not covered by the Solar API.

How it works

The average monthly electric bill is the key to the rest of the calculations.

The Solar API initially bases its calculations on a preselected monthly bill amount. If needed, you can select a different amount that more accurately reflects your own average monthly bill.

Knowing the amount of a monthly bill and the current cost of electricity in a given location, the Solar API can estimate the number of kilowatt hours (kWh) of electricity a household consumes each month. For the current cost of electricity around the US, and to determine kWhs from a monthly bill, the Solar API references databases maintained by Clean Power Research.

Using the number of kWh a household consumes, the usable area of a home's roof, and the solar potential of the home's location, the Solar API evaluates one or more possible solar installation sizes and recommends the size that provides the most savings.

The size of a solar panel installation is measured by its kW rating. The kW rating depends on the number of solar panels in the configuration and the power rating, measured in watts, of each panel.

The kW rating of an installation is not the same as the energy output of an installation, which is measured in kWh and is variable. The kWh output of an installation is dependent on factors like the following:

  • The time of day
  • The weather
  • The orientation of the panel to the sun
  • Any shadows cast on the panels by nearby objects
  • The regional solar potential
  • The age of the installation

The Solar API includes factors like regional solar potential and the age of the installation in its estimate of the annual energy production of a solar installation.

To determine the usable area of a roof and estimate the solar installation size it can support, the Solar API uses aerial imagery and advanced 3D modelling.

Detailed explanation of the values and calculations

The following sections explain how the Solar API calculates the costs, savings, and sizes of solar installations for a given structure in the U.S.

The explanations of the calculations use terms to represent values in the calculations. For an explanation of the terms, see Definition of the terms used in our calculations.

Annual household energy consumption

As mentioned earlier, the Solar API determines the monthly consumption of electricity based on the monthly bill amount and the cost of electricity where a household is located. After determining the monthly consumption of electricity of a household, we calculate annual energy consumption in KWh by using the following formula:

annualKWhEnergyConsumption = monthlyKWhEnergyConsumption x 12

A household's energy consumption is assumed to remain the same year to year over the life of a solar installation. The Solar API assumes the life of a solar installation to be 20 years.

Annual solar energy production

The Solar API estimates the annual energy production of a solar installation by considering factors like the intensity of sunlight, angle of sunlight, and number of hours of usable sunlight a region gets annually.

Solar installations produce direct current (DC) electricity, which has to be converted to alternating current (AC) electricity by an inverter before you can use it in your home. Some electricity is lost during the conversion process, and the efficiency of the inverter determines how much is lost.

The efficiency of the conversion process is referred to as the DC to AC derate. To account for the loss, the Solar API multiplies the annual output of the solar installation by a DC to AC derate of 0.85. The result is the annual production of AC electricity, as shown in the following formula:

initialAcKwhPerYear = yearlyEnergyDcKwh x 0.85

The amount of energy an installation produces declines by about 0.5% each year over the life of the installation. To account for this, after the first year, the Solar API multiplies the annual AC output of an installation by 99.5%, or 0.995, each year over the estimated 20-year lifetime of the installation. This is illustrated in the following table.

Year Yearly solar energy production (kWh)
1 initialAcKwhPerYear
2 initialAcKwhPerYear x 0.995
: :
20 initialAcKwhPerYear x 0.99519

Because the solar panel efficiency decays at a constant rate, it is essentially a geometric series where a = initialAcKwhPerYear and r = efficiencyDepreciationFactor. We can use a geometric sum to calculate the LifetimeProductionAcKwh:

LifetimeProductionAcKwh = (dcToAcDerate * initialAcKwhPerYear * (1 - pow(efficiencyDepreciationFactor, installationLifeSpan)) / (1 - efficiencyDepreciationFactor))

The cost of electricity with solar

If the size of an installation is limited by the roof size or other factors, the solar installation might produce less electricity than a household consumes. In these cases, the household will likely have to pay a utility for some amount of electricity each year, as shown in the following formula:

annualKWhEnergyConsumption - initialAcKwhPerYear = annualUtilityEnergyRequired

To account for this cost, the Solar API applies a bill cost model to the estimated amount of electricity, in kWh, the household will need from a utility over the life of the solar installation. The following formula illustrates this calculation:

annualUtilityBillEstimate = billCostModel(utilityEnergyRequired)

To account for the yearly increase in the cost of electricity, we apply a costIncreaseFactor of 2.2%, or 0.22, per year for US locations:

costIncreaseFactor = 1 + 2.2% = 1.022

Due to inflation, we have to discount the value of the currency value in our estimates of future costs. To account for this, we apply a 4% discount rate to our model for US locations:

discountRate = 1 + 4% = 1.04

The following table shows how each year's utility bill is calculated over the life of a solar installation. The remainingLifetimeUtilityBill is the sum total of the utility bills for each of the 20 years of the solar installation's lifetime.

Year Annual utility bill in current local currency value (USD) (annualUtilityBillEstimate)
1 billCostModel (yearlyKWhEnergyConsumption - initialAcKwhPerYear) = annualUtilityBillEstimateYear1
2 billCostModel (yearlyKWhEnergyConsumption - initialAcKwhPerYear x 0.995) x 1.022 / 1.04 = annualUtilityBillEstimateYear2
: :
20 billCostModel (yearlyKWhEnergyConsumption - initialAcKwhPerYear x 0.99519) x 1.02219 / 1.0419 = annualUtilityBillEstimateYear2
Total remainingLifetimeUtilityBill = annualUtilityBillEstimateYear1 + annualUtilityBillEstimateYear2 + …. + annualUtilityBillEstimateYear20

The cost of electricity without solar

To calculate how much a household might save if they install solar, we also have to calculate how much the household might pay if they don't.

We again have to account for the increasing cost of electricity and inflation by applying the costIncreaseFactor of 1.022 and the discountRate of 1.04 to the calculation, as we did when we calculated the cost of electricity with solar.

The following table shows how each year's utility bill without solar is calculated over the life of a solar installation. The costOfElectricityWithoutSolar is the sum total of the utility bills over the same 20 year period that we used for the cost of electricity with solar.

Year Yearly utility bill (USD)
1 monthlyBill x 12
2 monthlyBill x 12 x 1.022 / 1.04
: :
20 monthlyBill x 12 x 1.02219 / 1.0419
Total Sum of all annual bills, which can also be expressed as costOfElectricityWithoutSolar = 204.35 x monthlyBill

The cost of installing solar

The Solar API includes the cost of installing the recommended solar configuration in the estimates that it provides. To estimate the cost of an installation, the Solar API uses a localized installation cost model and the size of the installation.

installationCost = InstallationCostModel (installationSize)


Government entities might provide incentives for installing solar. The incentives are often in the form of tax credits. Based on a household's location, the Solar API subtracts any incentives that are currently available to the household from the estimate of the total costs.

The total cost with solar installation

The Solar API calculates the total 20-year cost of a solar configuration by using the following formula:

totalCostWithSolar = installationCost + remainingLifetimeUtilityBill - incentives

The total savings

The Solar API calculates the savings for the household using the following formula:

savings = costOfElectricityWithoutSolar - totalCostWithSolar

The Solar API performs the above calculations for each possible installation size and then recommends the installation size that provides the maximum savings for the household. The amount of the estimated savings is returned with the recommendation.