Calculation Formulae

Order of operations in system calculations

In mathematics, BODMAS (BRACKETS-OF-DIVISION-MULTIPLICATION-ADDITION-SUBTRACTION), defines the order of operations in a calculation.

 

Example:

 

1 + 2 * 3 ^ 2 + 1 would be evaluated as:

 

1 + (2 * (3^2) ) + 1

= 1 + (2 * 9 ) + 1

= 1 + 18 + 1 = 20.

 

The system does not currently follow the conventional laws of mathematics.  Instead it follows a "left to right" law, and would evaluate the above formula as:

 

1 + 2 = 3

3 * 3 = 9

9 ^ 2 = 81

81 + 1 = 82

 

Note:

The conventional order can be forced by the use of brackets.

 

Precision of operations in system calculations

Calculations are set up in potentially many levels and the type of result specified for a product at Level n will determine the precision of the calculation performed at Level n+1.  This is best explained by the examples below:

 

Example 1:

 

Suppose that the products (named Level 1, Level 2.1, etc.) have been set up as follows:

 

Product Name

Type of Result

Formula

Result

Level 1

Amount

= Level 2.1 + Level 2.2

11.02

Level 2.1

Amount

= Level 3.1  ^  Level 3.2

1.15

Level 2.2

Factor

= 9.876

9.87600000

Level 3.1

Factor

= 1.0345

1.03450000

Level 3.2

Amount

= 5

5.00

 

This is explained as follows:

Level 2.1 = Level 3.1  ^  Level 3.2

Because Level 2.1 is of Type Amount, the lower level products (Level 3.1 and Level 3.2) are held as Type Amount with values 1.03 and 5.00 respectively, so that Level 2.1 = 1.03 ^ 5.00 = 1.15 (=1.15927407 truncated to 2 decimal places).

 

Level 1 = Level 2.1 + Level 2.2

Because Level 1 is of Type Amount, the lower level products (Level 2.1 and Level 2.2) are held as Type Amount with values 1.15 and 9.87 respectively, so that Level 1 = 1.15 + 9.87 = 11.02

 

Example 2:

 

Suppose that the products have been set up as follows (same as Example 1, but with Level 2.1 as Factor):

 

Product Name

Type of Result

Formula

Result

Level 1

Amount

= Level 2.1 + Level 2.2

11.05

Level 2.1

Factor

= Level 3.1  ^  Level 3.2

1.18482026

Level 2.2

Factor

= 9.876

9.87600000

Level 3.1

Factor

= 1.0345

1.03450000

Level 3.2

Amount

= 5

5.00

 

This is explained as follows:

Level 2.1 = Level 3.1  ^  Level 3.2

Because Level 2.1 is of Type Factor, the lower level products (Level 3.1 and Level 3.2) are held as Type Factor with values 1.03450000 and 5.00000000 respectively, so that Level 2.1 = 1.03450000 ^ 5.00000000 = 1.18482026

 

Level 1 = Level 2.1 + Level 2.2

Because Level 1 is of Type Amount, the lower level products (Level 2.1 and Level 2.2) are held as Type Amount with values 1.18 and 9.87 respectively, so that Level 1 = 1.18 + 9.87 = 11.05

 

Investment return

i

=

effective annual return (e.g. 0.12, or 12% p.a.)

i(m)

=

annual return compounded m times per annum

(e.g. 12% p.a. effective = 11.39% p.a. compounded monthly)

i.e. 12 * im

im

=

effective monthly return (e.g. 0.009489, or 0.9489% p.m.)

i.e. (1 + i)(1/12) – 1

S(n , j)

=

accumulated value of R1 payable for n periods at rate j

i.e.     if  j ≠ 0, then [ (1 + j)n  -  1 ]  /  j

or       if  j = 0, then n

         

Note:

The above assumes that i is provided as the starting point from which the other items are derived.  If im is provided instead, then i can be obtained as follows:

 

i = (1 + im)12  -  1

 

All the other formulae remain unchanged.

 

Unitised funds 

The practice of expressing fund values as numbers of units is sometimes used as a convenient method of keeping track of member accumulations and of allocating bonuses.  This does not change the fact that the fund is still subject to conventional interest and bonus rates and the formulae are not affected in any way.

 

Dates

Dc 

=

calculation date

D1

=

next salary increase date

D2

=

last salary increase date

Dp

=

projection date

 

 

 

 

 

 

Projection of accumulated contributions

This will be calculated for each contribution type and costs deducted from the RCS contributions.  For defined benefit funds only the employee contributions are calculated, and where applicable, an enhancement factor applied depending on the member’s years of service.

 

Suppose

 

D1 – Dc 

=

x months

D2 – D1

=

n years

Dp – D2 

=

y months

e

=

salary escalation rate

i 

=

investment return or the refund interest rate (for defined benefit funds)

C

=

current (investable) annual contribution,

i.e. current annual salary * (contribution rate  -  costs rate)

 

then

 

Projection for contributions made from Dc to D1

P1 = (C / 12) * S(x , i12) * ( 1 + i12)( 12 * n  +  y )

Projection for contributions made from D1 to D2

ir = (1 + i) / (1 + e)  -1

P2 = C * (1 + e)n  *  ( i / i(12) ) *  S(n , ir) * ( 1 + i12) y

Projection for contributions made from D2 to DP

P3 = (C/12) *  (1 + e)(n+1)  * S(y , i12)

Total Projection

=  P1 + P2 + P3

 

Note:

The above formulae are in respect of future service contributions.  The projected value of past service contributions must be added, i.e. accumulated past service contributions * (1+i ) (12 * n  + x + y) / 12 .

 

Variations in accumulated contribution projections

If there are no salary increases in the projection period (e.g. if projection period is less than a year and no increase is due in that period):

 

P1

=

0

P2

=

0

y

=

DP - DC

P3

=

(C/12) * S(y , i12)

 

If there is just one salary increase in the projection period (i.e. if D2 = D1), then P2 = 0, and the formulae for P1 and P3 are unchanged.

 

Note:

-          A member will never get a salary increase on date DP.  If DP is the date that an increase would have been due, (if the member did not exit), then D2 should be taken as one year before date DP (assuming the projection period is greater than one year).

-          If a member received a salary increase on date DC, then D1 = DC + 1 year (assuming the projection period is greater than one year).

 

Voluntary / supplementary contributions

If the voluntary contributions can be expressed as a percentage of salary continuing from the calculation date to the projection date, then the formulae for Projection of accumulated contributions and those under Variations in accumulated contribution projections (above) can be used.  If the voluntary contributions are a flat amount, then the salary escalation rate (e) should be set to zero in those formulae.

 

Projection of final salary

The projected final salary (i.e. the rate of salary as at the projection date) is

S  *  (1 + e)m

 

where

 

S

=

current salary

e

=

salary escalation rate

m

=

number of increases between now and the projection date

 

Projection of final average salary

The projected average salary earned over the final averaging period is

 

Where the entire averaging period is in the future

 

Suppose

 

D2 – D1

=

n years

Dp – D2

=

y months (if y = 0, then it is set to 12, and n is reduced by 1)

e

=

salary escalation rate

f

=

final average period

S

=

current annual salary rate

FS

=

final annual salary rate: S * (1 + e) (n + 1) 

 

then FAS (final average salary) =

 

FS * { y  +  (12 / e) * [ 1 – (1 + e) (1 - f) ]  + (12 – y) / (1 + e) f }  /  (12 * f)

 

Where the averaging period spans the past and future

 

-          If Dp Dc < final average period and D1 does not exist:

Suppose D1
(next salary increase date) does not exist, i.e. the member will retire before his next salary increase due date.  This means that the entire final average salary can be calculated using actual salary history, and without any reference to any special formulae.  It is assumed that the current salary will continue to retirement.

 

-          If Dp Dc < final average period and D1 exists:

In addition to the previously defined parameters (viz. Dc , D1 , D2 , Dp , n , y , e , f , S and FS) let:

D1 – Dc

=

z months

f – Dp + Dc

=

p months

TPS

=

total past salary over the past p months (calculated using actual salary history)

 

If n>0
then

 

β1 

=

total salary over past p months (TPS)

β2

=

total salary over next z months (z * S / 12)

β3 

=

total salary over the following n years (S * { (1+e)(n + 1)  -  (1 + e) }  /  e)

= { FS  -  S * (1 + e) }  /  e

β4

=

total salary over the last  y months (y * FS / 12)

FAS 

= 

( β1 + β2 + β3 + β4 )  /  f

 

If n>0
then

FAS =  ( β1 + β2 + β4 )  /  f   (using same formulae as above).

 

Note:

When using salary history, the appropriate salary to be used (anniversary or monthly) will depend on the benefit basis.