HomeGuidesAPI ReferenceChangelog
Log In
Guides

User-Adjusted Rates

Add custom user-adjusted rates to a calculation or save them on an account tariff for use in subsequent calculations.

Add custom user-adjusted rates to a calculation or save them on an account tariff for use in subsequent calculations.

What are user-adjusted rates?

User-adjusted rates are additional charges that you can add to any of our calculation endpoints. They can be used with public or private tariffs. They are included in a calculation through rate inputs with a chargeClass of USER_ADJUSTED, and are applied in addition to any other rates that are already present in the calculation.

User-adjusted rates are additive. They do not replace existing tariff rates. If you need to configure third-party supply rates on supported tariffs, use Contracted Rates in Deregulated Markets instead.

When to use user-adjusted rates

Use user-adjusted rates when you need to add charges that are not already represented in the selected tariff, such as:

  • Program-specific adders
  • Custom demand charges
  • Customer-specific fees
  • Internal modeling assumptions
  • Temporary charges for a single calculation, such as a late payment fee or credit balance

Choose where to apply user-adjusted rates

User-adjusted rates work similarly to contracted rates or tax rates. You can add them to a calculation through the rateInputs property. You can also save them on the Account’s tariff and use them on all subsequent calculations. This guide includes examples of both approaches.

If you save a user-adjusted rate on the account and also pass a similar rate in rateInputs, both rates may be applied.

Use caseWhere to add the rate
Apply the rate to one calculation onlyAdd it to rateInputs in the calculation request.
Reuse the rate across future calculations for the same accountSave it on the account tariff.
Test or compare assumptions without changing account setupAdd it to calculation-level rateInputs.
Persist a customer-specific rate adjustmentSave it on the account tariff.

User-adjusted rate fields

User-adjusted rates are like any other rate, so the following parameters are available when constructing them. As with any rate, rateAmount, chargeType, and chargePeriod are required:

Rate

NameTypeRequiredDescription
fromDateTimeDateTimeNoDate when the user-adjusted rate becomes effective. If omitted the top level fromDateTime will apply by default.
toDateTimeDateTimeNoDate when the user-adjusted rate is no longer effective. If omitted the top level toDateTime will apply by default.
chargeClassStringYesSet to USER_ADJUSTED for user-adjusted rates.
chargeTypeStringYesThe type of charge. Possible values are FIXED_PRICE, CONSUMPTION_BASED, DEMAND_BASED, QUANTITY.
chargePeriodStringYesThe period of time when the charge is applied. Possible values are HOURLY, DAILY, MONTHLY.
quantityKeyStringNoThe property key for the quantity this calculated cost item refers to.
touIdIntegerNoID of the time of use during which this rate applies. Can be from any LSE.
seasonIdIntegerNoID of the season during which this rate is applicable. Can be from any LSE.
rateBandsArray of RateBandYesRate bands for the user-adjusted rate.

Rate band

NameTypeRequiredDescription
rateAmountDecimalYesThe amount charged by the rate.
rateUnitStringNoWhat kind of rate this is. Possible values are COST_PER_UNIT, PERCENTAGE.

Apply a user-adjusted rate to one calculation

The following example runs an Account Cost Calculation and passes in an additional 2-cent consumption charge using rateInputs on the request. The same approach also works for a Savings Analysis.

POST /rest/v1/accounts/pid/{providerAccountId}/calculate
{  
   "fromDateTime":"2014-07-15",  
   "toDateTime":"2014-08-15",  
   "minimums":"true",  
   "detailLevel":"RATE",  
   "groupBy":"MONTH",  
   "billingPeriod":"true",  
   "rateInputs":[  
      {  
         "fromDateTime":"2014-07-15",  
         "toDateTime":"2014-08-15",  
         "chargeClass":"USER_ADJUSTED",  
         "chargeType":"CONSUMPTION_BASED",  
         "chargePeriod":"MONTHLY",  
         "rateBands":[  
            {  
               "rateAmount":"0.02"  
            }  
         ]  
      }  
   ],  
   "propertyInputs":[  
      {  
         "fromDateTime":"2014-07-15",  
         "toDateTime":"2014-08-15",  
         "keyName":"demand",  
         "dataValue":"1000"  
      },  
      {  
         "fromDateTime":"2014-07-15",  
         "toDateTime":"2014-08-15",  
         "keyName":"consumption",  
         "dataValue":"800"  
      }  
   ]  
}  

This adds $0.02 per kWh for the billing period in addition to the selected tariff’s existing rates.

Save a user-adjusted rate on an account

You can add a user-adjusted rate to an Account. After you add it, the user-adjusted rates will be included in calculations that use this account.

In this case, we are adding a summer ($10 per kW) and winter ($8 per kW) demand rate for the on-peak period. Do this by calling the Account Tariffs endpoint:

PUT /rest/v1/accounts/pid/{providerAccountId}/tariffs
{  
  "masterTariffId": "599",  
  "serviceType": "ELECTRICITY",  
  "rates":[  
    {  
      "rateName": "Summer On-Peak",  
      "chargeClass": "USER_ADJUSTED",  
      "chargeType": "DEMAND_BASED",  
      "chargePeriod": "MONTHLY",  
      "timeOfUse": {  
        "touId": "4829"  
      },  
      "rateBands": [  
        {  
          "rateAmount": "10"  
        }  
      ]  
    },  
    {  
      "rateName": "Winter On-Peak",  
      "chargeClass": "USER_ADJUSTED",  
      "chargeType": "DEMAND_BASED",  
      "chargePeriod": "MONTHLY",  
      "timeOfUse": {  
        "touId": "4832"  
      },  
      "rateBands": [  
        {  
          "rateAmount": "8"  
        }  
      ]  
    }  
  ]  
}  

Future calculations for this account include these summer and winter demand charges unless a calculation request overrides the account tariff setup.

Next steps