HomeGuidesAPI ReferenceChangelog
Log In
Guides

Step 4: Verify NEM3 Export Rates

Retrieve NEM3 hourly export rates and compare them against post-solar export intervals from Account Cost Calculations.

Verify NEM3 (Net Billing Tariff) export rates by comparing hourly export-rate lookups against post-solar cost calculation behavior.

Use this step when the post-solar tariff uses NEM3 export-rate logic. You will retrieve hourly export rates for the same validation period and compare them against post-solar intervals where itemQuantity is negative.

NEM3 export-rate workflow

  1. Identify the export intervals from Step 3.
  2. Retrieve the hourly export-rate property lookups for the same date range.
  3. Match each export interval by fromDateTime and toDateTime.
  4. Compare the export-rate lookup value against the post-solar rateAmount.
  5. Account for any applicable export savings adder.
  6. Repeat the comparison for any other export intervals you want to validate.

Retrieve hourly export rates

Use the export-rate property key for the post-solar tariff and territory. This example retrieves the hourly export rates for July 1, 2023:

GET /rest/public/properties/avoidedCostCalculatorHourlyExportRate2023PGECZ3B/lookups?fromDateTime=2023-07-01&toDateTime=2023-07-02&pageCount=100&pageStart=0

The following response has been shortened to show the hourly lookup values around the first export interval:

{
  "status": "success",
  "count": 24,
  "type": "PropertyLookup",
  "results": [
    {
      "lookupId": 51326706,
      "propertyKey": "avoidedCostCalculatorHourlyExportRate2023PGECZ3B",
      "fromDateTime": "2023-07-01T07:00:00",
      "toDateTime": "2023-07-01T08:00:00",
      "bestValue": -0.050028220,
      "bestAccuracy": 0,
      "actualValue": -0.050028220,
      "lseForecastValue": -0.050028220,
      "lseForecastAccuracy": null,
      "forecastValue": null,
      "forecastAccuracy": null
    },
    {
      "lookupId": 51326707,
      "propertyKey": "avoidedCostCalculatorHourlyExportRate2023PGECZ3B",
      "fromDateTime": "2023-07-01T08:00:00",
      "toDateTime": "2023-07-01T09:00:00",
      "bestValue": -0.049879550,
      "bestAccuracy": 0,
      "actualValue": -0.049879550,
      "lseForecastValue": -0.049879550,
      "lseForecastAccuracy": null,
      "forecastValue": null,
      "forecastAccuracy": null
    },
    {
      "lookupId": 51326708,
      "propertyKey": "avoidedCostCalculatorHourlyExportRate2023PGECZ3B",
      "fromDateTime": "2023-07-01T09:00:00",
      "toDateTime": "2023-07-01T10:00:00",
      "bestValue": -0.051117190,
      "bestAccuracy": 0,
      "actualValue": -0.051117190,
      "lseForecastValue": -0.051117190,
      "lseForecastAccuracy": null,
      "forecastValue": null,
      "forecastAccuracy": null
    }
  ],
  "pageCount": 100,
  "pageStart": 0
}
FieldPurpose
propertyKeyIdentifies the export-rate property being queried.
fromDateTime / toDateTimeDefines the hourly interval for the export rate.
actualValueExport-rate value used for validation.
bestValueBest available export-rate value for the interval.
lseForecastValueLoad-serving entity forecast value when available.

Match the export interval

In Step 3, the first export interval occurred between 8 AM and 9 AM:

{
  "fromDateTime": "2023-07-01T08:00:00-07:00",
  "toDateTime": "2023-07-01T09:00:00-07:00",
  "quantityKey": "consumption",
  "rateAmount": 0.07187955,
  "itemQuantity": -1.46189600,
  "cost": -0.10508043,
  "chargeType": "CONSUMPTION_BASED"
}

The matching export-rate lookup is:

{
  "lookupId": 51326707,
  "propertyKey": "avoidedCostCalculatorHourlyExportRate2023PGECZ3B",
  "fromDateTime": "2023-07-01T08:00:00",
  "toDateTime": "2023-07-01T09:00:00",
  "bestValue": -0.049879550,
  "bestAccuracy": 0,
  "actualValue": -0.049879550,
  "lseForecastValue": -0.049879550,
  "lseForecastAccuracy": null,
  "forecastValue": null,
  "forecastAccuracy": null
}

Match intervals by hour. The calculation response includes the account time-zone offset, while the property lookup response shows the local timestamp without the offset.

Validate the export-rate relationship

For the 8 AM–9 AM interval, validate the export-rate relationship with this formula:

rateAmount + actualValue + adder = $0

Using the values above:

0.07187955 + (-0.049879550) = 0.022

The remaining $0.022 is the additional export savings adder for PGE Residential, non-CARE.

The original example identifies this adder in the tariff data:

PGE Residential non-CARE export adder tariff data

Repeat for other export intervals

Repeat this comparison for each export interval you want to validate.

Validation itemWhat to check
Hourly timestampThe cost calculation interval and export-rate lookup interval match.
itemQuantityThe value is negative, indicating export.
rateAmountThe rate in the post-solar calculation reflects export-rate behavior.
actualValueThe lookup value matches the expected export rate for the hour.
AdderAny applicable adder reconciles the difference between rateAmount and actualValue.

Next step

After you verify export-rate behavior, reconcile the hourly calculations with the Savings Analysis response.