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