Home > Expression Operators > COLA Expression Operators

COLA Expression Operators

A COLA expression (e.g., “#COLA * #BEN”) defines the annual amount of increase in the benefit, generally using the operator #BEN to refer to the previous year’s benefit and the operator #COLA to refer to the rate of increase. COLA expressions may also refer to database fields. The following operators are available for writing COLA expressions in Valuation Assumptions (by selecting a rate type of Advanced, as opposed to Compound or Simple):

#COLA The COLA rate as specified, including COLAs that vary by calendar year or coded database field.
#BEN The benefit amount in the prior payment (or deferral) year, including accumulated COLAs to date.
#DECBEN The benefit amount at decrement. Note that for inactive participants, this operator requires the input of the benefit at decrement in the Inactive Data topic of Census Specifications.
#PMTAGE The rounded age of the member in the year of payment (or deferral)
#PMTYEAR The calendar year of payment (or deferral)
#COMMAGE The rounded age of the member in the year of member commencement (determined by the member commencement parameters of the benefit's payment form).  For a benefit paid on a Post-Decrement Death Benefit payment form, the rounded age of the member in the year the spouse's benefit commences (determined by the spouse commencement parameter).   
#COMMYEAR The calendar year of member commencement (determined by the member commencement parameters of the benefit's payment form).  For a benefit paid on a Post-Decrement Death Benefit payment form, the calendar year the spouse's benefit commences (determined by the spouse commencement parameter).
#DECAGE The rounded age of the member in the year of decrement
#DECYEAR The calendar year of decrement
#MEMDTHAGE Age of member at assumed death (available for post-decrement death benefits only). For joint life COLAs, see example 14 below.
Arithmetic operators +, -, *, /, #MIN, #MAX, etc.
Date operators #YEARDIF, #DATEPLUS, etc.
Relational Operators =, <, <=, >=, >, etc.
Logical Operators #AND, #OR, #NOT
If Then Else Operators #IF, #THEN, #ELSEIF, etc.
Miscellaneous Operators :=, &, etc.
 
 
 
 
 
 
 
 

 

Examples

  1. Compound COLA

    #COLA * #BEN; the prior year's benefit is multiplied by the COLA rate

     

  2. Simple COLA

    #COLA * #DECBEN; the benefit at decrement is multiplied by the COLA rate

     

  3. Step COLA. For example, monthly COLA is 600 if monthly benefit does not exceed 3,500; 400 if benefit between 3,500-6,300; 100 if benefit exceeds 6,300. 

     

    #IF #BEN<=(3500*12) #THEN

      600*12

    #ELSEIF #BEN<=(6300*12) #THEN

      400*12

    #ELSE

      100*12

    #ENDIF

     

  4. COLA on portion of benefit only. For example, COLA only applies to first 36,000 of annual benefit.

     

    (#BEN #MIN 36000) * #COLA

     

  5. COLAs based on marginal rates. For example, 2.0% on benefits below 10,000; 1.5% on benefits between 10,000 and 20,000; 1.0% on benefits above 20,000; assuming that the #COLA operator is returning 0.02.

     

    #IF #BEN <= 10000 #THEN

      #BEN * #COLA

    #ELSEIF #BEN <= 20000 #THEN

      #BEN * #COLA * 0.75

    #ELSE

      #BEN * #COLA * .5

    #ENDIF

     

  6. COLA with service wear-away. For example, each active record has COLA service stored in a field called COLASVC and COLA is calculated as 4% x field value / service at decrement. Thus, if the calendar year of the Valuation Date is 2018, an active participant has 10 years of COLA service, is 50 years old and has 20 years of service at the Valuation Date, leaving at age 55 with 25 years of service would lead to a COLA of 4% x 10 / 25. Leaving at age 56 with 26 years of service would lead to a COLA of 4% x 10 / 26, etc.

     

    #BEN * #COLA * COLASVC / (COLASVC + (#DECYEAR #ZMINUS 2018))

     

  7. COLA based on calendar year of retirement (commencement)

     

    #IF #COMMYEAR<=2010 #THEN

      #BEN * #COLA

    #ELSEIF #COMMYEAR<=2015 #THEN

      #BEN * #COLA / 2

    #ELSE

      #BEN * #COLA / 4

    #ENDIF

     

  8. Indexed cap on the amount the COLA is applied to. For example, in 2014 the COLA of 1.5% is paid on all benefits up to 25,000 and no COLA is paid on the benefit in excess of this. The 25,000 cap increases at an assumed rate of 1.0% per year.

     

    (#BEN #MIN {25000 * [1.01 ** (#PMTYEAR-2014)]} ) * #COLA

  9. Minimum annual increase.   For example, a 3% COLA with a minimum annual increase of 120.

     

    (#BEN * #COLA) #MAX 120

  10. Triennial COLA. COLAs happen every three years from commencement, at triple the COLA rate.

     

    (#BEN * #COLA * 3) * [3 #MOD (#PMTAGE #ZMINUS #COMMAGE)=0]

  11. Annual increase limited to U.S. Internal Revenue Code section 415 maximum benefit. For example, a 3% COLA but the 415 limit increases 2% per year.

    (#BEN * #COLA) #MIN ({MaxBft_415 * [1.02**(#PMTYEAR - #COMMYEAR)]}#ZMINUS #BEN), 

    where MaxBft_415 is the name of the database field containing the 415 limit amount for the year of commencement. 

     

  12. COLA by duration from member death. The survivor annuity depends on how long the retiree had been retired at death.

         #IF (#MEMDTHAGE - #COMMAGE) < 10 #THEN

           #BEN * #COLA       ; standard COLA if death within 10 years of commencement

         #ELSEIF (#MEMDTHAGE - #COMMAGE) < 20 #THEN

           #BEN * #COLA * .5  ; half COLA if death between 10-20 years from commencement

         #ELSE

           #BEN * #COLA * .25 ; quarter COLA if death after 20 years from commencement

         #ENDIF

  13. COLA on reversionary benefit stops at member’s death.

    This is useful if you have a joint and survivor benefit where the COLA is granted only while the member is alive.  Break the joint and survivor into two benefits, one that is a single life annuity with COLA and the other benefit, reversionary to spouse/beneficiary without COLA, shown here:

     #IF #PMTAGE < #MEMDTHAGE #THEN

           #BEN * #COLA   ; member COLA only

         #ELSE

           0              ; 0% spouse COLA

         #ENDIF

  14. COLA on reversionary benefit based on participant's age at death.

    This is useful if you have a joint and survivor benefit where the COLA is granted only while the member is alive.  Break the joint and survivor into two benefits, one that is a single life annuity with COLA and the other benefit, reversionary to spouse/beneficiary without COLA, shown here:

    #IF #PMTAGE < #MEMDTHAGE #THEN

           #BEN * #COLA   ; standard member COLA

         #ELSEIF #MEMDTHAGE < 85

           #BEN * #COLA/2 ; reduced COLA after member death, if member died before 85

         #ELSE

           0              ; no spouse COLA after member death, if member died at age 85 or older

         #ENDIF

  15. Joint life step COLA. Same step COLA as example 3 above, but for a joint life annuity. Survivor benefit is 75% of the member benefit payable at time of member death with subsequent COLAs based on the spouse's amount. The monthly COLA amount can increase upon member death (for example, from $400 to $600) because the reduced spouse benefit is now in a different bracket from the member benefit. To set up, first split the joint life benefit into a single life annuity and a post-decrement death benefit. This is necessary because the #MEMDTHAGE operator is not available for joint life benefits. ProVal projects benefits with COLA to all future ages prior to applying the spouse fraction, so we'll set the spouse fraction in the post-decrement death benefit payment form to 1 and build the 0.75 spouse fraction into the COLA expression below:

         #IF #BEN<=(3500*12) #THEN

           (600*12) - [(#PMTAGE = #MEMDTHAGE) * (1-0.75) * (#BEN+(600*12))]
                      ; At member death age, apply the spouse reduction 

         #ELSEIF #BEN<=(6300*12) #THEN

           (400*12) - [(#PMTAGE = #MEMDTHAGE) * (1-0.75) * (#BEN+(400*12))]
                      ; At member death age, apply the spouse reduction
     

         #ELSE

           (100*12) - [(#PMTAGE = #MEMDTHAGE) * (1-0.75) * (#BEN+(100*12))]
                      ; At member death age, apply the spouse reduction

         #ENDIF

  16. Post-Decrement Death Benefit COLA starts when payments to the spouse begin.  For example, the spouse annuity under a Post-Decrement Death  Benefit payment form commences at member age 55. Although ProVal will commence the actual payment stream to the spouse at the later of member age 55 and member death age, the payment period COLA would be applied from member age 55 regardless of whether the member dies before or after age 55.  If the plan applies the payment period COLA from the later of member age 55 and member death age (that is, the COLA starts when payments start), a COLA expression is required: 

    #IF #PMTAGE > (#COMMAGE #MAX #MEMDTHAGE) #THEN

                #BEN * #COLA  ; This example assumes a compound COLA

            #ELSE

                0  ; This example assumes no deferral period COLA 

            #ENDIF

  17. Different benefits with different COLAs that intersect after decrement For example, a plan that pays the maximum of Benefit A with COLA A and Benefit B with COLA B where the benefits may cross after decrement.  This can actually be handled without COLA expressions.

    Each Benefit Definition, under the Cost-of-Living Adjustments (COLAs) Limits button, contains parameters which either cease COLAs once the adjusted benefit exceeds a benefit formula amount at decrement or apply a minimum benefit until the adjusted benefit passes it. That is, each benefit can have a flat “cap” or “floor” defined by a benefit formula at decrement. In the illustrations below, the solid line indicates the effective benefit after the cap and floor are applied:

         

Given any constant compound COLA rates (i.e. not variable by calendar year), and benefits A and B, the crossover amount can be found as follows:


To program MAX(Benefit A with COLA A, Benefit B with COLA B), you would sum the following three benefits:

  1. Benefit A (with COLA A), capped at the crossover amount
  2. Benefit B (with COLA B), with a minimum of the crossover amount
  3. The negative crossover amount (with no COLA applied to it)

Note that a constant simple COLA would involve a similar solution for t that eliminates the need for logarithms. Note also that because the formulas for A, B, and the crossover amount will all be used multiple times, it may speed processing (and readability) to place each in a Subformula component so that ProVal will evaluate each formula only once.

          

  1. Post-Decrement Death Benefit COLA starts when payments to the spouse begin.  For example, the spouse annuity under a Post-Decrement Death Benefit payment form commences at member age 55. Although ProVal will commence the actual payment stream to the spouse at the later of member age 55 and member death age, the payment period COLA would be applied from member age 55 regardless of whether the member dies before or after age 55.  If the plan applies the payment period COLA from the later of member age 55 and member death age (that is, the COLA starts when payments start), a COLA expression is required: 

  1. Post-Decrement Death Benefit COLA starts when payments to the spouse begin.  For example, the spouse annuity under a Post-Decrement Death Benefit payment form commences at member age 55. Although ProVal will commence the actual payment stream to the spouse at the later of member age 55 and member death age, the payment period COLA would be applied from member age 55 regardless of whether the member dies before or after age 55.  If the plan applies the payment period COLA from the later of member age 55 and member death age (that is, the COLA starts when payments start), a COLA expression is required: