Allocation Across Periods - Front / Back Loading

redhots4

Board Regular
Joined
Aug 30, 2004
Messages
136
Office Version
  1. 365
Platform
  1. MacOS
Hi everyone - This may be more of a mathematical question vs. Excel but here goes. We're hiring 250 people over 18 months starting in July and I want to show three hiring plan alternatives:
  1. Hire EVENLY across 18 months (5.6% per month)
  2. FRONT LOAD - hire a variable % ABOVE 5.6% in Month #1, tapering in a decreasing way to the final hires in month 18
  3. BACK LOAD - hire a variable % ABOVE 5.6% in Month #18, ramping up in an increasing each month starting in month 1

The trick here is the terms "decreasing" and "increasing". Take my example worksheet for the FRONT LOAD column. I have the Variable set = 50%, so Month 1 is 5.6% + 50% = 8.3%. I could take the remaining 91.7% percent (100% - 8.3% = 91.7%) and divide it evenly across the remaining 17 periods (5.4% each), but I want to front load across all months, not just the first one. So month #2 should be something around 8.1%, and so forth across the remaining months. Month 18 would probably see something in the 2-3% range, maybe less. (It would be a bonus to be able to set the % to hire in the final month and have Excel create a down ramp ending at that percentage).

My goal with this post is a formula for the blank cells in columns C & D.

I hope the objective is clear. Has anyone done something like this or have ideas? Thanks in advance! --Shawn

Cell Formulas
RangeFormula
B2:B19B2=1/(COUNTA($A$2:$A$19))
C2C2=B2*(1+B21)
A3:A19A3=A2+365/12
D19D19=B19*(1+B21)
 

Excel Facts

Which Excel functions can ignore hidden rows?
The SUBTOTAL and AGGREGATE functions ignore hidden rows. AGGREGATE can also exclude error cells and more.
Here is one approach. This assumes a linear trend, where the linear slope is determined by specifying how much above or below you want the starting and ending points to be relative to the start/end of the "Even" profile.
Cell Formulas
RangeFormula
C1C1=($B$22*(1-$B$24)-$B$5*(1+$B$24))/(COUNTA($A$5:$A$22)+1)
D1D1=($B$22*(1+$B$24)-$B$5*(1-$B$24))/(COUNTA($A$5:$A$22)+1)
B2:D2B2=SUM(B5:B22)
B5:B22B5=1/(COUNTA($A$5:$A$22))
C5:C22C5=C$1*COUNT($A$5:$A5)+($B$5*(1+$B$24))
D5:D22D5=D$1*COUNT($A$5:$A5)+($B$5*(1-$B$24))
A6:A22A6=A5+365/12
 
Upvote 0
Shawn,
I wasn't entirely happy with the math in my last post. The even distribution case is straightforward, but where you'd like to weight the hiring rate as a function of time, we need some strategy for applying a hiring rate trend on a month-by-month basis. In this revision, I chose a linear trend, which is convenient because even though this is a continuous function, we can set the target value for the first data point (percentage to be hired in Jul-22) to the midpoint of Jul-22, and since the trend is linear, this value represents the average hiring percentage for that month. Then we need to ensure that the total percentage hired after all months is 100 %. Those are the two constraints used to determine the slope and intercept of the linear trend line. Then the hiring percentage value for each month is reported as the point value for the mid-point of that month. The math is messy and there is probably a way to do this using trend/forecast functions, but this is an old-school method. Note that the Back Load case requires you to enter a negative starting factor. In the depicted example, I'm starting 40 % lower than the Even case. Since these are linear trends, if you set C1=-D1, you'll obtain the same "percent to be hired" at opposite ends of the lists. A sum confirms that 100 % is obtained for the entire list. Check the list to determine if any of the values become negative--that would indicate violation of some constraint. For example, if front loading is excessive, it may not be possible to linearly drop the hiring rate over the entire 18 month period without obtaining a negative hiring rate. You can change C1 and D1 to see the effect of more or less frontloading/backloading.
Cell Formulas
RangeFormula
C2:D2C2=2*(1-C$3*COUNTA($A$6:$A$23))/(COUNTA($A$6:$A$23)^2)
C3:D3C3=((COUNTA($A$6:$A$23))^2*($B$6*(1+C$1))-1)/(COUNTA($A$6:$A$23)*(COUNTA($A$6:$A$23)-1))
B4:D4B4=SUM(B6:B23)
B6:B23B6=1/(COUNTA($A$6:$A$23))
C6:D23C6=C$2*(COUNT($A$6:$A6)-0.5)+C$3
A7:A23A7=A6+365/12
 
Upvote 0
Solution
Shawn,
I wasn't entirely happy with the math in my last post. The even distribution case is straightforward, but where you'd like to weight the hiring rate as a function of time, we need some strategy for applying a hiring rate trend on a month-by-month basis. In this revision, I chose a linear trend, which is convenient because even though this is a continuous function, we can set the target value for the first data point (percentage to be hired in Jul-22) to the midpoint of Jul-22, and since the trend is linear, this value represents the average hiring percentage for that month. Then we need to ensure that the total percentage hired after all months is 100 %. Those are the two constraints used to determine the slope and intercept of the linear trend line. Then the hiring percentage value for each month is reported as the point value for the mid-point of that month. The math is messy and there is probably a way to do this using trend/forecast functions, but this is an old-school method. Note that the Back Load case requires you to enter a negative starting factor. In the depicted example, I'm starting 40 % lower than the Even case. Since these are linear trends, if you set C1=-D1, you'll obtain the same "percent to be hired" at opposite ends of the lists. A sum confirms that 100 % is obtained for the entire list. Check the list to determine if any of the values become negative--that would indicate violation of some constraint. For example, if front loading is excessive, it may not be possible to linearly drop the hiring rate over the entire 18 month period without obtaining a negative hiring rate. You can change C1 and D1 to see the effect of more or less frontloading/backloading.
Cell Formulas
RangeFormula
C2:D2C2=2*(1-C$3*COUNTA($A$6:$A$23))/(COUNTA($A$6:$A$23)^2)
C3:D3C3=((COUNTA($A$6:$A$23))^2*($B$6*(1+C$1))-1)/(COUNTA($A$6:$A$23)*(COUNTA($A$6:$A$23)-1))
B4:D4B4=SUM(B6:B23)
B6:B23B6=1/(COUNTA($A$6:$A$23))
C6:D23C6=C$2*(COUNT($A$6:$A6)-0.5)+C$3
A7:A23A7=A6+365/12
Thanks for your help on this! I think I have a working model. Cheers!
 
Upvote 0

Forum statistics

Threads
1,214,832
Messages
6,121,845
Members
449,051
Latest member
excelquestion515

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top