Logistic Growth Formula

BWMagee

Board Regular
Joined
Feb 18, 2014
Messages
112
In A12 I have the value 8855
In J24 I have the price $346,400
In K24 I have the value 39.1
In N24 I have the value 2
In O24 I have the value 50
In P24 I have the formula, =(O24-K24)*$A$12*IF((N24>=1)*(N24<9),(N24/8),1), which gives the price $24,088

The key area I’d like to focus on in the formula is N24/8, in this instance 2/8. The denominator will always be 8, but the numerator may change. We can see if I change the value of N24 to 1, I get $12,044, and if I change the value to 3, I get $36,131 … That is, the price rises by 1/8, or $12,044 each time. The value in N24 is number of weeks, and what I am measuring is profit increase over time. However, I would like the value in P24 to rise in logistic growth model fashion - that is, profit should rise by a greater amount early, and lesser amount late. For example, the profit increase between week 7 and week 8 should be < $12,044, while the profit increase between week 1 and 2 should be > $12,044, instead of the current formula, which is the same amount ($12,044) each week.

My question, how can I rewrite the formula in P24 according to logistic growth model?
Many thanks.
 

Excel Facts

Show numbers in thousands?
Use a custom number format of #,##0,K. Each comma after the final 0 will divide the displayed number by another thousand
Could you say a little more about what you expect to see? A typical logistic growth model would have a sigmoidal shape (a stretched out "S" shape), so the early part of the curve still rises relatively slowly before rapidly increasing...followed by the latter phase where growth continues to slow. Are you expecting a model like that, or one whose greatest rate of increase is early followed by ever diminishing growth...like a logarithmic function where there is no slow growth initially? What time period do you expect maximum profit to be reached, and how is max profit determined from the values you've described?
 
Upvote 0
Could you say a little more about what you expect to see? A typical logistic growth model would have a sigmoidal shape (a stretched out "S" shape), so the early part of the curve still rises relatively slowly before rapidly increasing...followed by the latter phase where growth continues to slow. Are you expecting a model like that, or one whose greatest rate of increase is early followed by ever diminishing growth...like a logarithmic function where there is no slow growth initially? What time period do you expect maximum profit to be reached, and how is max profit determined from the values you've described?

Yes, my mistake. A logarithmic model is a better fit than a logistic one. Maximum profit will be reached after 8 weeks.
At its simplest, maximum profit is: (O24-K24)*$A$12... in the above example (50-39.1)*8855
Thanks for your reply.
 
Upvote 0
Ideally there would be some theory or other basis for describing the profit growth model, and that information could be used to establish the formula. If that information is lacking, and you are looking for a monotonically increasing function (meaning every time step leads to a greater value), but whose derivative is monotonically decreasing (meaning every subsequent time step leads to smaller and smaller increases), then there are several approaches. You could simply define a lookup table of expected profit percentages and use an interpolating polynomial, if necessary, to return the percentage of maximum profit gained for any input value of elapsed time. Alternatively, you could select any of numerous mathematical functions with the desired characteristics to determine if they yield results that are considered reasonable representations of reality. On this second point, I played around with a 2-parameter Weibull distribution, specifically its cumulative distribution function (cdf). The form of this equation is F(x) = 1 - exp(-((x/lambda)^kappa)), where lambda is a scale parameter and kappa is a shape parameter. These two parameters cause the function to take on substantially different shapes as the cdf values increase from 0 to 1...although 1 is approached asymptotically (very gradually) at large values of x (time in this case). This asymptotic behavior is inherent in many of the functions mentioned (logistic, logarithmic, and the current exponential), and that potentially limits their usefulness for your application. To overcome this issue, I propose making an adjustment by evaluating the cdf at the time when maximum profit is known to be achieved (x=T=8 weeks in this case), and then using that value to normalize the entire cdf. This forces the modified function to produce values between (0,1) over the time domain (0,8), and this can be used to determine the fraction of maximum profit achieved.

I would suggest first trying out the modified Weibull cdf to produce a curve that makes sense. This is done by changing the values lambda and kappa in cells T8 and T9, respectively. I've added some scroll bars that are linked to cells under them, and those are used to change T8:T9 in increments of 0.1. This makes it convenient to see how the curve changes as the parameters are varied. Note that the plotted curve is normalized, and cell T10 represents the time in weeks when 100% profit is to be achieved. For this example, lambda = 2.9 and kappa = 0.8 is one feasible curve, although you might experiment with other parameters to find a more sensible curve. You can review the difference between adjacent function values beginning in cell T13 and down to confirm that the increases are diminishing. A snapshot of the curve is shown below.
1612152262033.png

I've incorporated this modified function in cell P24 and altered your formula somewhat to account for cases where time might be less than 1 (if that is possible). For example, since the modified function is continuous and defined for x>=0, a value can be returned for day 1 (week = 1/7 = 0.143). To offer some idea about the profit vs. time produced by this model and set of scale/shape parameters, I've extended the formula down to week 10 (see O24:O34). The modified function makes use of the three blue cells T8:T10, so if this approach is adopted, you might want to find some place on your sheet for the contents of R8:T10...or hardwire into the formula the values of the scale and shape parameters. Since XL2BB won't capture the functionality of the scroll bars, you might find it easier to work with the sample worksheet I created, which is available at:

MrExcel20210131.xlsx
AJKLMNOPQRST
4based on normalizing relative to F(T)=1
5CDF 2-parameter Weibull distribution
6F(x) = 1- exp(-((x/l)^k))x>=0
7F(x) = 0x<0
8scale parameter, lambdal2.9
9shape parameter, kappak0.8
10normalize to F(T), so F(x)/F(T)=1T8.0
11xF(x)/F(T)F_(i+1) - F_i
1288550.00.0000
130.20.12410.1241
140.40.20710.0830
150.60.27590.0688
160.80.33540.0595
171.00.38810.0527
181.20.43540.0473
191.40.47820.0428
201.60.51720.0390
211.80.55300.0358
222.00.58590.0329
23# of wks2.20.61630.0304
2434640039.105002.40.64440.0282
25137463.662.60.67060.0261
26256548.872.80.69490.0243
27369260.863.00.71760.0227
28478274.663.20.73880.0212
29584884.413.40.75860.0198
30689838.683.60.77720.0186
31793611.383.80.79460.0174
32896519.54.00.81100.0164
33996519.54.20.82640.0154
341096519.54.40.84080.0145
354.60.85450.0136
364.80.86730.0129
375.00.87950.0121
385.20.89090.0115
395.40.90170.0108
405.60.91190.0102
415.80.92160.0097
426.00.93080.0092
436.20.93950.0087
446.40.94770.0082
456.60.95550.0078
466.80.96290.0074
477.00.96990.0070
487.20.97650.0067
497.40.98290.0063
507.60.98890.0060
517.80.99460.0057
528.01.00000.0054
538.21.00520.0052
548.41.01010.0049
558.61.01480.0047
568.81.01920.0045
579.01.02350.0042
589.21.02750.0040
599.41.03130.0039
609.61.03500.0037
619.81.03850.0035
6210.01.04190.0033
BWMagee
Cell Formulas
RangeFormula
T8:T9T8=U8/10
S12:S62S12=(1-EXP(-((R12/$T$8)^$T$9)))/(1-EXP(-(($T$10/$T$8)^$T$9)))
T13:T62T13=S13-S12
P24:P34P24=($O$24-$K$24)*$A$12*IF(N24<=0,0,IF((N24>=0)*(N24<=$T$10),(1-EXP(-((N24/$T$8)^$T$9)))/(1-EXP(-(($T$10/$T$8)^$T$9))),1))
 
Upvote 0
Solution
@KRice
Thanks very much for the detailed reply! I'm about to dive right in and check it all out. Before I do, if it makes any difference, the value 50 is the maximum at 8 weeks, but the important thing is not so much that there 8 weeks, but that the maximum number of weeks is predetermined. That is, I could change that value to say 9, and the value 50 would be achieved at 9 instead of 8. To do this I plan to put the value of max weeks (eg. 8) in a cell (eg. A1), then reference the cell in the formula, not the value, giving me the flexibility to change the value if desired. The value 39.1 is the minimum at 0 weeks, and there cannot be less than 0 weeks. I hope not to require such large tables, but to place the formula in a single cell (and the relevant data in their own column, as per my first post). Based on your graph the Weibull curve looks fine. I don't need this to highly accurate. More a general idea.
 
Last edited:
Upvote 0
Update, have tested and works perfectly! Thank you so much!
I can tweak the lambda and kappa to preference. As I don't know the underlying rationale for how those values are arrived at it is just trial and error until I get something that feels right, but it is certainly good enough for my purpose.
 
Upvote 0
Thanks for the update. I wanted to clarify something...you don't need the large tabular listing that I added. That was done only to create the values needed for plotting a profit percentage vs. time curve so that you could visualize whether the curve made sense. Think of that only as a tool for making somewhat arbitrary adjustments to lambda and kappa while being able to visualize their affect on the curve. Once lambda and kappa are known, the entire right side of the table can be eliminated, except for the values of lambda, kappa, and T (the time at which maximum profit should be achieved). You mentioned putting this latter variable in cell A1. In the working sample below, I've done that...with T, the time to maximum profit, in cell A1, and lambda and kappa are listed as variables below that in A2:A3. The formula in P24 references all three of those variables and checks whether the time in N24 (for when the profit earned should be estimated) lies within the range (0,T), and if so, then the modified Weibull cdf is used to compute the profit.
MrExcel20210131.xlsx
ABJKNOP
18.0Max profit at T weeks
22.9scale parameter, lambda
30.8shape parameter, kappa
4
11
128855
13
22
23# of wks
2434640039.125056548.87
BWMagee_trimmed
Cell Formulas
RangeFormula
P24P24=($O$24-$K$24)*$A$12*IF((N24>=0)*(N24<=$A$1),(1-EXP(-((N24/$A$2)^$A$3)))/(1-EXP(-(($A$1/$A$2)^$A$3))),1)
 
Upvote 0

Forum statistics

Threads
1,214,923
Messages
6,122,289
Members
449,077
Latest member
Rkmenon

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