Apply An escalation rate depending on the year

Copper Contributor

Hi there, 

I wish to use a formula that applies an escalation rate to a certain fee depending on the year that the fee is charged.

For Instance, If a project goes begins part way through 2020 and ends in feb of 2022, working days in 2020 need to be charged the normal rate, working days in 2021 need to be charged the normal fee + the escalation rate * normal fee and the working days in 2022 need to be charged the normal fee + the escalation rate^2 * normal fee. 

This formula needs to be applicable to any number of years that the project could span

Cheers for the help

9 Replies

@graycrumbs First of all I assumed you had a typo and the you really wanted a compounding interest type on the escalation rate and therefore (1+escalation)^N, assuming escalation is a % increase since you are + base rate on top of it.  It isn't the prettiest and maybe one of you accountants know of some fancy accounting formula in excel to make it easier, but I believe it does what you want:

=LET(start,A2,end,B2,baserate,C2,escalation,D2,holidays,0,startyr,NETWORKDAYS(start,DATE(YEAR(start),12,31),holidays),endyr,NETWORKDAYS(DATE(YEAR(end),1,1),end,holidays),IFS(start>end,"bad start/end dates",YEAR(end)=YEAR(start),NETWORKDAYS(start,end,holidays),YEAR(end)-YEAR(start)=1,startyr+(1+escalation)*endyr,TRUE,LET(yrcount,SEQUENCE(YEAR(end)-YEAR(start)-1,,1,1),years,NETWORKDAYS(DATE(YEAR(start)+yrcount,1,1),DATE(YEAR(start)+yrcount,12,31),holidays),SUM(startyr,years*(1+escalation)^yrcount,endyr*(1+escalation)^(YEAR(end)-YEAR(start)))))*baserate)

you set the location of the start date (A2), end date (B2), base rate (C2), escalation rate (D2) and an array of holidays (0) you want to take into account.  you can play with it in the attached sheet.

 

Doesn't work. The formula is returning the number of days and is not affected by the escalation.

@MegArchSTN  i don't understand your comment.  I downloaded that file, copied the line down and changed the escalation on each line and seems to affect it:

mtarler_0-1676331395645.png

maybe you can explain better what isn't working for you or how it is acting on your copy?

 

@mtarler 

Define "Net Calc".  Is it dollars?  Days?  The description made it sound like you would enter the initial fee or rate which in my case would be $/hr and Net Calc would be the average rate over the duration.  No?

start dateend daterateescalationHolidaysNet Calc
2/20/20234/14/2023$1.000.04 40.00
2/20/20234/14/2024$1.000.04 303.00
2/20/20234/14/2028$1.000.04 1469.95

@MegArchSTN Basically the original posting requested a formula that would increase the rate each new year by the escalation amount.  So in your example line 1 is at $1/day and 40 workdays.  Line 2 is a little more than a year so for 225 workdays of the initial year it is billed at $1/day but then the 75 workdays of the next year it is billed at 1.04/day resulting in 303 instead of 300.  see this example:

mtarler_0-1676390749718.png

line 1 shows same as yours. line 2 shows days in year 2023.  line 3 shows days in year 2024 (because the start date is 1/1/2024 the rate on line 3 stays $1/day) and then line 4 shows your line 2 and how the total changes because it crossed over to a new year.  Hope that helps you understand what this formula does.  If you need something else, feel free to post a new message/thread.

Got it. Makes sense.
What happens when you have a phase that doesn't start for say 2 years? Escalation is still increasing before the phase starts. Looks like escalation currently starts in the start year which isn't always the case.
yeah I don't know what you expect there. A formula can't guess at the start time. You could add another column called Contract Date or Initiation Date or something and use that column instead of Start Date.
I'm thinking of calculating the formula using TODAY as the start date, and then subtracting the time from TODAY to the start date.
If you use the function TODAY() that will change every day. If you insert that extra column you can use the shortcut CTRL-; to automatically insert today's date.