Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NFR: Secondary Data Holder unable to determine Customer Present #602

Open
perlboy opened this issue Jul 26, 2023 · 1 comment
Open

NFR: Secondary Data Holder unable to determine Customer Present #602

perlboy opened this issue Jul 26, 2023 · 1 comment

Comments

@perlboy
Copy link

perlboy commented Jul 26, 2023

Description

The Shared Responsibility for Energy section specifies:

The x-fapi-customer-ip-address header MUST NOT be passed to AEMO and AEMO MUST NOT require this header

While the definition of this header states:

The customer's original IP address if the customer is currently logged in to the Data Recipient Software Product. The presence of this header indicates that the API is being called in a customer present context. Not to be included for unauthenticated calls.

Meanwhile the NFRs state that there are different SDH Performance Requirements are variable for certain present vs. not present calls:
image

Primary Data Holders therefore end up in a situation where Customer Present calls are effectively all Unattended threshold for the SDH. This creates a situation where the primary and secondary data holders do not have aligned expectations resulting in misaligned statistical expectations and consequential reporting characteristics.

Note: I've created this pretty quickly for consideration in this MI and therefore have not had a chance to pass this through Biza.io's Data Standards Committee.

Area Affected

  • Shared Responsibility > Energy
  • Non-functional Requirements > Performance Requirements

Change Proposed

Introduce an x-cds-customer-present header with a boolean true/false value for all calls to Secondary Data Holders

@johnAEMO
Copy link

Feedback from AEMO and reflections on recent conversations during the previous maintenance iteration call:

  • AEMO's interpretation of the NFR times (as we are not aware of the customer's presence or otherwise) is to assume that the customer is present unless there are more than one Service Point/NMI requested in which case we have deemed this to be a "Large Secondary Request". This translates to AEMO measuring getServicePointDetail and getDERforServicePoint at 1.5sec NFR with getServicePoints at 1.5secs unless the request is for 2 or more Service Points in which case it would be 4.5secs.
  • We note that, for ease of coding, some retailers pipe all DER requests to the same API (getDERforSepcificServicePoints) which attracts a different NFR time (4.5secs) than if they pushed all single Service Point DER requests to getDERforServicePoint (1.5secs) and only multiple Service Point requests to getDERforSepcificServicePoints. A customer present flag would not impact on how this might be reported by AEMO.
  • While both of the above practices might not align with how retailers measure their compliance to NFR times, only retailers report their compliance and AEMO does not formally report against NFR times - so how we measure compliance to NFRs is largely for internal and collaborative purposes only.
  • AEMO is also concerned that introduction of a customer present flag and/or directing single DER requests to getDERforServicePoint would only achieve alignment of AEMO's internal NFR figures with the retailers' NFR figures while creating additional costs for all parties.
  • AEMO would be happy to note on any internal or collaborative compliance reports that these figures are expected to differ from those measured by retailers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Full Backlog
Development

No branches or pull requests

3 participants