**European Economic Area (EEA) developers**

> [!NOTE]
> If your billing address is in the European Economic Area, effective on 8 July 2025, the [Google
> Maps Platform EEA Terms of Service](https://cloud.google.com/terms/maps-platform/eea) will apply to your use of the Services. [Learn more](https://developers.google.com/maps/comms/eea/faq.md.txt). In addition, certain content from the Solar API will no longer be returned. [Learn more](https://developers.google.com/maps/comms/eea/solar.md.txt).

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](https://en.wikipedia.org/wiki/Net_metering), credits
earned from excess energy production typically expire over time.

## Required values for financial analysis for US locations

From each [`SolarPanelConfig`](https://developers.google.com/maps/documentation/solar/reference/rest/v1/buildingInsights/findClosest.md.txt#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](https://developers.cleanpower.com/utility-rates-bill-savings/).

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.995^19^ |

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](https://en.wikipedia.org/wiki/Discounting) 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.995^19^) x 1.022^19^ / 1.04^19^ = *annualUtilityBillEstimateYear2* |

### 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.022^19^ / 1.04^19^ |

### 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)
```

### Incentives

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.