Advanced Tariff Filtering
Learn advanced techniques for filtering tariffs by eligibility requirements, rate characteristics, and enrollment status to help customers find the right energy plans.
Advanced Tariff Filtering
Some markets, such as California, offer numerous tariffs to choose from. Customers in these markets should leverage their experience and expertise when navigating longer lists. This guide covers special use cases that require more advanced filtering techniques.
Filtering Tariffs with Additional Eligibility Requirements
Some utilities require customers to switch to different tariffs when they adopt solar or offer tariffs exclusively for customers with electric vehicles. Arcadia captures these additional eligibility criteria in the tariff properties collection, specifically in properties with a propertyType of APPLICABILITY.
You need to provide three arguments when using the Tariff endpoint to filter by eligibility:
populateProperties=true- Ensures the necessary data for filtering is included.filterByApplicability=true- Applies a rule so results are also filtered by applicability (i.e., additional eligibility properties).applicabilityFilters[solarPvEligible]=true- Specifies the applicability criteria to filter by.
See an example in this recipe card:
For an Electric Vehicle (EV) case, you would supply the parameter hasElectricVehicle=true instead of solarPvEligible=true.
Paging with Applicability Filters EnabledWhen paginating through results with applicability filters applied, the
countvalue in the response may not accurately reflect the number of matching filtered results. Therefore, users should continue requesting subsequent pages until a response returns fewer thanpageSizeresults (which may include zero results). This indicates that all applicable results have been retrieved and there are no more pages to request.
Filtering Tariffs Based on Rate Characteristics
Occasionally, you might want to retrieve tariffs that include rates with specific characteristics, such as ones that vary by Time of Use. We support the following explicit parameters for filtering:
| Name | Type | Description |
|---|---|---|
| hasNetMetering | Boolean | Return tariffs that have or do not have any net-metered tariff rates (Optional) |
| hasTimeOfUseRates | Boolean | Return tariffs that have or do not have any time-of-use rates (Optional) |
| hasTieredRates | Boolean | Return tariffs that have or do not have any tiered rates (Optional) |
| hasContractedRates | Boolean | Return tariffs that have or do not have any contracted rates (Optional) |
Here is an example request for currently effective and open California Commercial & Industrial (C&I) tariffs with a Direct Access component:
The response will return a list of Direct Access tariffs where hasContractedRates equals true. We've also included the fields=ext parameter in this request because hasContractedRates is an extended field.
If you execute the same request but add populateProperties=true, you can explicitly see the Direct Access component.
From the response returned, you can see that the property keyName: isDirectAccessCustomer has a propertyValue of true, confirming this is indeed a Direct Access customer!
You can learn more in our Tariffs API documentation.
Filtering Out Tariffs That Are Closed to New Enrollment
Sometimes utilities retire tariff rate plans. These retired tariff rate plans are flagged with the date they were closed to new enrollment.
If you're presenting a list of tariffs that customers could switch to, you'll typically want to remove all closed tariffs. To accomplish this:
- Pass a date value to the
openOnproperty, which will usually be the same date used for theeffectiveOnproperty. - Don't filter on this property if your use case is to select or identify the existing tariff a customer is on, as they might be grandfathered into a closed tariff.
For an example, see this recipe card:
From analyzing all returned tariffs, we can observe several important points:
None of these tariffs have closedDate populated
This was our desired result, and we have successfully filtered out closed tariffs! closedDate is the date on which a tariff became closed to new customers but remained available for existing customers. This can be null, meaning the tariff is not closed.
endDate is either not set or occurs after the specified effectiveDate
The endDate for each returned tariff is either set to after 01/01/2024 or the endDate is null, meaning its end date is not yet known or ongoing until further notice.
Utility and Tariff Data at Your Fingertips!
You can find more detailed information about each endpoint demonstrated in this tutorial in the API Reference Guide. The reference guide will prove useful when you need additional guidance. If there's other utility or particular tariff data you would like to retrieve but don't see a method for doing so in this tutorial, check out our other Guides and existing How-Tos.
Updated 13 days ago
