Savings Analysis Tips & Tricks
Savings Analysis
The Savings Analysis endpoint is the recommended place to go when you want to figure out how much money your residential customer can save by installing rooftop solar, answering the question, "What happens if I install a solar system with this configuration and these assumptions?" A savings analysis can tell you how much your customer's electricity bill will be reduced by ("avoided cost"), how expensive your solar power will be over the life of the system (PPA or lease cost), and any number of other things, depending on how you configure the calculation. We have a great tutorial that defines the end-to-end steps you should follow. Read that before you continue here. Once you are familiar, this page dives into some of the details of how to get more out of your Savings Analysis call.
Running a Savings Analysis
Let's start with a common example of running a Savings Analysis to get our feet wet. For this example, your account would already have electricity usage and a solar model. You pass in the usage and solar profiles, PPA rate, cost escalation assumptions, and other important parameters you want to use for the calculation. Savings Analysis returns the complete results of the scenarios that you specify over the life of the project. Specifically, it returns a number of data series, each of which contains your cost and savings numbers for the corresponding scenario. By default, there are two series for each of these scenarios: without solar ("before"), solar itself ("solar"), and with solar ("after"). The first set of series contains monthly results for the first year of the analysis, while the second set of series contains annual results for the entire analysis period.
Here's an example of a request. It includes load and solar profiles, a post-solar tariff, a solar lease, and utility and solar cost escalators.
{
"providerAccountId" : "example_account",
"fromDateTime" : "2018-01-01",
"propertyInputs" : [
{
"scenarios" : "before,after",
"keyName" : "providerProfileId",
"dataValue" : "load_profile"
},
{
"scenarios" : "after,solar",
"keyName" : "providerProfileId",
"dataValue" : "solar_profile"
},
{
"scenarios" : "after",
"keyName" : "masterTariffId",
"dataValue" : "518"
},
{
"scenarios" : "before,after",
"keyName" : "rateInflation",
"dataValue" : "3.5"
},
{
"scenarios" : "solar",
"keyName" : "rateInflation",
"dataValue" : "1.9"
},
{
"scenarios" : "after,solar",
"keyName" : "solarDegradation",
"dataValue" : "1.5"
}],
"rateInputs" :[
{
"scenarios" : "solar",
"chargeType" : "FIXED_PRICE",
"rateBands" : [
{
"rateAmount" : 99.99
}]
}]
}
Switching Tariffs After Going Solar
Set the masterTariffId
property on the after
scenario:
{
"scenarios" : "after",
"keyName" : "masterTariffId",
"dataValue" : "518"
}
Model Different System Sizes Efficiently
Sometimes you want to know what will happen if your PV system is half (or twice) the size that it is now. With the dataFactor
parameter, you can do this without having to create an entirely new solar profile:
{
"scenarios" : "after,solar",
"keyName" : "providerProfileId",
"dataValue" : "{providerProfileId}",
"dataFactor" "0.5"
}
This also works for consumption profiles.
Applying Solar Equipment Costs (Lease/Loan, PPA, & Cash Purchases)
In your Switch analysis you can capture the cost of DER system in a few different ways. Below are examples for each, which are controlled via an object inside the rateInputs
list. Regardless of the approach the scenarios
field should be solar
for this specific object.
Lease/Loan Example
Add an item to the rateInputs
array set its scenario to solar
, and set the charge type to FIXED_PRICE
for a lease. Inside the rateBands
list we provide the rateAmount
set to our monthly cost. In the Savings Analysis, this value will be applied to each month in our simulation over the life of the project represented by our projectDuration
in the request.
"rateInputs": [
{
"scenarios": "solar",
"chargeType": "FIXED_PRICE",
"rateBands": [
{
"rateAmount": 137.05
}
]
}
]
PPA Example
Add an item to the rateInputs
array set its scenario to solar
, and set the charge type to CONSUMPTION_BASED
for a lease. Inside the rateBands
list we provide the rateAmount
set to our monthly cost. In the Savings Analysis, this value will be applied to each kWh produced by our solar system over the life of the project represented by our projectDuration
in the request.
"rateInputs": [
{
"scenarios": "solar",
"chargeType": "CONSUMPTION_BASED",
"rateBands": [
{
"rateAmount": 0.025
}
]
}
]
Cash Purchase Example
With a cash purchase example we do not include the cost of solar in the simulation. The achieve this via a savings analysis request, you simple avoid passing a solar
object to the rateInputs
. This will be interpreted as a CASH purchase by our calculation engine (i.e. our DER system cost will be $0.00 over the projectDuration
.
"rateInputs": []
Extend the Duration of the Projection
The default duration of a savings analysis is 20 years (Min: 1, Max: 25). For some customers, you may want to go longer -- 25 years, for example. To do that, you can use the projectDuration
property input parameter.
{
"scenarios" : "before,solar,after",
"keyName" : "projectDuration",
"dataValue" : "25"
}
Run an Accurate Analysis with Annual Usage or Cost
It can often be difficult to get detailed usage data from a potential solar customer. Most of the time, this means that you have to do what you can with limited data. The savings analysis endpoint helps you here by giving you a simple way to do a detailed calculation if you only have one number: the customer's annual energy consumption. If you instead know your customer's annual electric cost, you can turn that cost into consumption with a simple Annual Bill Solve Request, and then run a saving analysis against the resulting annual kWh.
Here's a bare-bones example:
{
"providerAccountId" : "api-eg-01",
"fromDateTime" : "2014-09-01",
"propertyInputs" : [ {
"scenarios" : "before,after",
"keyName" : "baselineType",
"dataValue" : "typicalElectricity"
}, {
"scenarios" : "before,after",
"keyName" : "loadSize",
"dataValue" : "5000",
"unit":"kWh"
} ]
}
The two input parameters that we use are baselineType
and loadSize
. baselineType
tells the API that you want to use our database of hourly Typicals to do your analysis. It will automatically choose an appropriate load profile based on your account's location, customer type, and building type. loadSize
tells the API how much energy your customer is using in a year. In this case, they're using 5,000 kWh. The typical profile is scaled up or down to meet the target load.
Run an Analysis with Limited Customer Usage
Do you need to run a Solar Savings Analysis but have incomplete usage data for your customer? Arcadia's APIs and tools can fill gaps in customer usage data. Building on the previous example, below are the most common usage scenarios we’ve come across along with our suggested approaches in Savings Analysis.
Usage Scenario | Solution | Summary of API Steps |
---|---|---|
No data | Use a load profile for your |
|
Annual Usage | Use a load profile scaled to |
|
Monthly Usage | Use (aka IB) |
|
Annual Bill | Use to turn annual cost load |
|
Monthly Bill | Use to turn monthly cost
|
|
Hourly Usage | Use to align |
|
Further Reading
The Savings Analysis endpoint provides a lot of flexibility, which allows you to set up complex pre- and post-solar parameters when the situation calls for it. Consult the Savings Analysis documentation for details.
Updated 7 days ago