SAP Knowledge Base Article - Public

3737610 - Same set of goals with same weights and Payout % for two employees showing 0.01 different in totalIndividualRating

Symptom

In a variable pay worksheet, two employees with same payout% and weights, but their totalIndividualRating showing a difference of 0.01.

Example, for one employee it shows as 85.71 and for another it shows as 85.72. The actual percentage is 85.715. Only one of the values are accurate with the right rounding off in decimals.

Environment

    • SAP SuccessFactors HCM Core 2505
    • SAP SuccessFactors Variable Pay
    • SAP SuccessFactors Compensation
 

Reproducing the Issue

  1. Goto Compensation dropdown
  2. Open a Variable pay template from Executive Review
  3. Check the two employees who have same set of goals, Payout percentages and weights
  4. You may find a difference of 0.01 or more in their totalIndividualRating
  5. For example, for one employee it may show 85.71 and for another 85.72 where as the outcome of the calculation for both would be 85.715

Cause

  1. The issue being observed is a classic case of floating-point rounding order issue.
  2. In system numbers are stored not the way we enter but in binary format & with decimal they are stored as approximations, not exact values.
  3. When we use these in sum of multiplicative expression, especially with the change in the order the goals are for each of these employees, the results may vary.
  4. In plain maths we think ( 94.2 × 0.25 ) + ( 86.7 × 0.35 ) + ( 75.5 × 0.2 ) + ( 85.8 × 0.1 ) + ( 92.4 × 0.1) should be equal to ( 94.2 × 0.25 ) + ( 86.7 × 0.35 ) + ( 92.4 × 0.1 ) + ( 75.5 × 0.2 ) + ( 85.8 × 0.1 ). But since numbers are stored in binary format, the result won't be same as the order is not the same.
  5. One example could be, we expect that 0.1+0.2 should be 0.3. But not only with our software, but other software may give result as "0.30000000000000004".

 

Resolution

The recommended practice would be to use more decimals under set number format. For Example, for percent one can use(#,##0.0000) to achieve the desired rounding off of results.

Keywords

Rounding off issue in Variable pay field totalIndividualRating, variation of 0.01 in totalIndividualRating, Order of the goals in variable pay , KBA , LOD-SF-VRP-FRM , Forms & Templates , Problem

Product

SAP SuccessFactors HCM Core 2505