Score Calculation Rule

This rule is used to calculate control scores for controllable devices based on parameters and values defined in a the device's program rules. This rule uses pre-defined variables and base package algorithms to derive values from the program's rules. Multiple instances of this rule can be chained in a sequence within a program calculation group such that the first rule (or rules) sets values for a number of variables that are then used in calculations in subsequent rules. 

Calculation Details

The Calculation Details section is used to define the formulas used in the rule's calculations. Simple formulas support basic math operations using variables defined in the Variables section. Complex formulas allow for more complex operations, comparisons, and conditions upon which certain variables are set to certain values. Refer to the embedded help in this section for details about configuring formulas.

Variables

The Variables section is used to define one or more variables that will be used in formulas defined in the Calculation Details section. The variable's Variable Type determines how the variable is populated:

  • Algorithm: The value is returned by a specified algorithm. 

  • Transaction Value: The value is based on a variable defined in a previous rule and stored in the program transaction's Calculation Results.

Variables must be defined in the Program Variables (X1-ProgramVariablesLookup) extendable lookup. In addition to the pre-defined variables provided, implementations can created their own variables using this extendable lookup.

When deriving values from the program rule's Score Calculation Factors section, values are defined per Cycle, which is the number of times the device has successfully participated in an event during the current cycle (week or month), plus 1. A device's event participation is considered successful in the following circumstances:

  • The Event Participation has an Outcome of "Successful Participation".

  • The Event Participation has an Outcome of "Canceled".  This happens when a device has been reserved but the event stopped halfway through due to reasons such as, target load control reached. It is considered as a success in customer perspective, since it is the utility that stopped the event which resulted to a cancelled outcome.

  • The Event Participation has a blank Outcome and the device was not preemptively opted out of the event (Preemptive Opt-Out is "No" or blank). Posting of an event's outcome may be delayed, and until then the event participation of a reserved device is considered as a success as long as the customer did not opt out before the event transpires.

For instance, if a device has never participated in an event, the algorithms would use the values in the Cycle 1 row. If a device has successfully participated in 3 previous events, the algorithms would use the values in the Cycle 4 row.

Results

The Results section is used to define result of the program calculation rule.

To save the control score to the controllable asset, set the Result Variable on the final rule in the program calculation group to "SC" (the Score variable). 

To mark a device as unavailable under certain conditions (such as if specific values are missing from the Program Rule), configure the rule to return a value of "0" for the AV (Availability) variable and set the Result Variable to "AV" (the Availability variable). 

Notes and Recommendations

Additional detail on the logic of this rule can be found in the Detailed Description of the X1-SCRCALC Algorithm Type.

For help with the meaning of specific configuration fields, refer to the embedded help on the screen when adding or editing the rule.

Business Object

X1-ScoreCalculationRule

Example Scenarios

Below are some example scenarios that can be achieved based on configuration of this rule.

In this example, the first rule calculates a burn rate (BR) variable that is used in calculating the control score (SC) in the second rule.

Rule 1: Calculate Burn Rate 

  • Sequence: 10

  • Description: Calculate Burn Rate

  • Calculation Details:

    • Formula Source: Conditional Formula

    • Conditional Formula:

      Seq.

      Operand 1

      Criteria Operator

      Operand 2

      True Action

      True Formula

      False Action

      False Formula

      10

      CU

      =

      CA

      Apply True Formula

      99999

      Check Next Condition

      20

      DE

      <=

      DBC

      Apply True Formula

      99999

      Apply False Formula

      ((CU/CA) / (DE/DP)) * BRF

  • Variables

    Variable Name

    Variable Type

    Algorithm

    BRF

    Algorithm

    Burn Rate Factor

    CA

    Algorithm

    Event Participation Allowed

    CU

    Algorithm

    Event Participation Count

    DE

    Algorithm

    Days Elapsed Since Last Event Participation

    DP

    Algorithm

    Days in a Cycle

  • Results:

    • Variable Name: BR

Rule 2: Calculate Score

  • Sequence: 20

  • Description: Calculate Score

  • Calculation Details:

    • Formula Source: Simple Formula

    • Simple Formula: BR * AC * SCF 

  • Variables

    Variable Name

    Variable Type

    Algorithm

    AC

    Algorithm

    Activation Cost

    BR

    Transaction Value

    SCF

    Algorithm

    Score Factor

  • Results:

    • Variable Name: SC