###### Personal Insights # Calculator rules and metric lookup tables in the goal plan

Hi Folks

I am writing this blog to share a personal experience working on an assignment where I had extensively leveraged the following two functionalities in the goal management module –

1. Calculator Rules
2. Metric Lookup Tables

I feel this will help couple of consultants who are new to this and are looking for some guidance on this topic.

Problem Statement : To create a goal plan which should have the provision to capture numeric quarterly targets and achievements against a goal, which should then be used to calculate the final score (Calculated Manager Annual Achievement), on a scale of 100, up to a maximum of 120 for that goal.

Following other points to be considered –

1. Achievement Type could be “Less is Better” or “More is Better” (for example my goal could be such that if achievement is more than the target, then it is considered as better, like in the case of sales targets. Alternatively, for people in customer service may have a goal of reducing the monthly complaints to 5, now if they reduce it to 2, then that will be consider as better, hence lesser the achievement better the performance)
2. Calculation Type could be Average (average of Q1, Q2, Q3 & Q4 targets and achievements), Summation (summation of Q1, Q2, Q3 & Q4 targets and achievements) and Milestone (only the Q4 target and achievement to be considered)
3. Based on the Achievement Type, the Weightage Factor will either be calculated as (Total Target/Total Achievement) or (Total Achievement/Total Target).
4. Based on the Calculation Type, Total Target and Total Annual Achievement to calculated accordingly – summation, average, only the Q4 target and achievement value.
5. Calculated Manager Annual Achievement will be 100 times the Weightage Factor and cannot go beyond the limits of 0 – 120, e.g. if Weightage Factor is coming out to be 1.3, it should just be multiplied directly by 100.

Solution Design: The design consisted of a combination of standard and custom goal plan fields. Following fields were used –

 S.No. Field Name Field ID 1. Goal Description name 2. Weightage weight 3. Unit of Measurement measure 4. Achievement Type Less is Better More is Better customlm 5. Calculation Type Average Summation Milestone customavg 6. Q1 Target target 7. Q2 Target actual 8. Q3 Target target3 9. Q4 Target target4 10. Total Target total 11. Q1 Achievement (Manager) managerq1 12. Q2 Achievement (Manager) managerq2 13. Q3 Achievement (Manager) managerq3 14. Q4 Achievement (Manager) managerq4 15. Manager Total Annual Achievement managerannual 16. Weightage Factor factor 17. Calculated Manager Annual Achievement (Out of 100) calcscore 18. Weighted Performance Index actual-achievement 19. Rating rating

*fields highlighted in red were supposed to be auto-populated.

Following calculator rules were used –

``````  <calculator id="rule1"><![CDATA[customavg=="Summation"]]></calculator>
<calculator id="rule2"><![CDATA[actual+target+target3+target4+0.001]]></calculator>
<calculator id="rule3"><![CDATA[customavg=="Average"]]></calculator>
<calculator id="rule4"><![CDATA[((actual+target+target3+target4)/4)+0.001]]></calculator>
<calculator id="rule5"><![CDATA[managerq1+managerq2+managerq3+managerq4+0.001]]></calculator>
<calculator id="rule7"><![CDATA[customlm=="Less"]]></calculator>
<calculator id="rule8"><![CDATA[customlm=="More"]]></calculator>
<calculator id="rule9"><![CDATA[total/managerannual]]></calculator>
<calculator id="rule10"><![CDATA[managerannual/total]]></calculator>
<calculator id="rule11"><![CDATA[factor<="1.2"]]></calculator>
<calculator id="rule12"><![CDATA[factor>"1.2"]]></calculator>
<calculator id="rule13"><![CDATA[factor*100]]></calculator>
<calculator id="rule14"><![CDATA[1.2*100]]></calculator>
<calculator id="rule15"><![CDATA[calcscore]]></calculator>
<calculator id="rule16"><![CDATA[((managerq1+managerq2+managerq3+managerq4)/4)+0.001]]></calculator>
<calculator id="rule17"><![CDATA[customavg=="custommilestone"]]></calculator>
<calculator id="rule18"><![CDATA[(target4/1)+0.001]]></calculator>
<calculator id="rule19"><![CDATA[(managerq4/1)+0.001]]></calculator>
<calculator id="rule20"><![CDATA[factor<="0"]]></calculator>
<calculator id="rule21"><![CDATA[0*100]]>
</calculator>``````

*in rule 2, rule 4 and rule 5, a factor of “0.001” has been added so that in where the total target or achievement value is “0”, the system does not give “undefined” error while calculating the % of achievement.

Following auto-population rules were used –

``````<auto-population field="total" mode="auto" calc-type="col">
<rule>
<rule-condition calculator-id="rule1"></rule-condition>
<calculated-result calculator-id="rule2"/>
</rule>
<rule>
<rule-condition calculator-id="rule3"></rule-condition>
<calculated-result calculator-id="rule4"/>
</rule>
<rule>
<rule-condition calculator-id="rule17"></rule-condition>
<calculated-result calculator-id="rule18"/>
</rule>
</auto-population>
<auto-population field="managerannual" mode="auto" calc-type="col">
<rule>
<rule-condition calculator-id="rule1"></rule-condition>
<calculated-result calculator-id="rule5"/>
</rule>
<rule>
<rule-condition calculator-id="rule3"></rule-condition>
<calculated-result calculator-id="rule16"/>
</rule>
<rule>
<rule-condition calculator-id="rule17"></rule-condition>
<calculated-result calculator-id="rule19"/>
</rule>
</auto-population>
<auto-population field="factor" mode="auto" calc-type="col">
<rule>
<rule-condition calculator-id="rule7"></rule-condition>
<calculated-result calculator-id="rule9"/>
</rule>
<rule>
<rule-condition calculator-id="rule8"></rule-condition>
<calculated-result calculator-id="rule10"/>
</rule>
</auto-population>
<auto-population field="calcscore" mode="auto" calc-type="col">
<rule>
<rule-condition calculator-id="rule11"></rule-condition>
<calculated-result calculator-id="rule13"/>
</rule>
<rule>
<rule-condition calculator-id="rule12"></rule-condition>
<calculated-result calculator-id="rule14"/>
</rule>
<rule>
<rule-condition calculator-id="rule20"></rule-condition>
<calculated-result calculator-id="rule21"/>
</rule>
</auto-population>
<auto-population field="actual-achievement" mode="auto" calc-type="col">
<rule>
<rule-condition calculator-id="rule11"></rule-condition>
<calculated-result calculator-id="rule13"/>
</rule>
<rule>
<rule-condition calculator-id="rule20"></rule-condition>
<calculated-result calculator-id="rule21"/>
</rule>
<rule>
<rule-condition calculator-id="rule12"></rule-condition>
<calculated-result calculator-id="rule14"/>
</rule>
</auto-population>
<auto-population field="rating" mode="auto" calc-type="col">
<rule>
<calculated-result calculator-id="GM_MLT_BASED_RATING_CALCULATOR"/>
</rule>
</auto-population>``````

With the help of these auto-population rules and the metric look-up table, the final score was pushed to the performance management form. This score could go up to a maximum of 120. Then on the PM form, scale adjusted calculation was enabled to convert the score in to a rating point on a scale of 1-6.

I hope a lot of you working on the calculator logics for the very first time can take insights from this, while designing your respective calculator and auto-population rules.

Do give it a read and share your thoughts in the comment section whether you liked the content or not and follow my profile for more content related to PMGM and SPCDP.

Regards

### Assigned Tags

You must be Logged on to comment or reply to a post.  Blog Post Author

Thanks Sonam Very Nice blog, it's very useful for beginners.. Blog Post Author

Thanks Mohsin It´s possible to share the entire XML file? Blog Post Author Here you are: djmalva@hotmail.com. 