I posted a while ago an article on Modeling market adoption with a logistic curve in Excel. It has been quite popular on this site, and even at some point was linked as a reference on Wikipedia. Shameless plug – if you find it valuable, please ask Wikipedia maintainers to keep the link.
Recently reader Mina asked how to use the Excel model in the context of project management. The particular question is: if the project duration changes from 18 to 48 months, what is the new spending curve? Fast and quick answer would be – it’s not applicable. This post will take the question for a spin, though.
First off, the PMBOK, or Project Management Body of Knowledge, tries to standardize and unify the terminology that PMPs use when managing projects. The term used to refer to the spending curve, along the life of a project is called “s-curve” in the PMBOK, just because in real life, projects tend to have low budgetary requirements in the early stages (you are framing the project, defining what will be done, etc), then a bulk of spending in the middle, and finally, low requirements again at the end. With that general pattern, the cumulative spending plan roughly looks as an s-curve.
In most cases, the easiest way to answer the question would be to look at your Gantt chart, estimate which are the tasks that will be delayed/extended, and regenerate an spending curve.
If you are not actually managing the project, but instead you are doing analysis on “what ifs” regarding projects where you don’t have the actual list of tasks, or you are doing portfolio management and you are forecasting across a portfolio of projects with different life spans and budgetary needs, you may be fine using a logistic model. Your needs may be different.
With that preamble, here we go. I’m going to use the estimate percentages of spending in Mina’s question
The process will be quite simple:
- Fit the data to a logistic model
- Apply the derived model to the new project duration
- Infer the spending by month under #2
An Excel file to do this can be downloaded here. By downloading it, you are agreeing that any damages, consequential or incidental arising from using this file or the information in this post are your sole responsibility, and you explicitly releases me from any liability.
If you look at the table below, the first two columns are the data provided by Mina, the third column just adds up previous spending, then column D uses my simplified Excel logistic model =saturation/(1+sharpness^((hypergrowth+takeover/2-year)/takeover)) to forecast the cumulative spending, and column E is simply the square of the difference between C and D. The formula for E2 is =(C2-D2)^2. We’ll use the sum of minimum square of errors to fit the curve, to keep things easy. Other fitting techniques are OK too.
Then we use Excel Solver, to minimize E21, subject to the condition that $D$19=1, by changing saturation, hypergrowth, takeover, and sharpness (C21 to C24). Fill in the most realistic guesses you can find for these parameters before running Solver. Given the technique Solver uses, your guess of sharpness will be barely modified (if at all), so spend some time looking at your data and tweaking manually.
As you can see in the image below, this step fitted the cumulative spending curve to the logistic function.
Column F in the table just infers the spending by month by subtracting the cumulative on each period to the cumulative on the previous one. As you can see below, even if the cumulative curve fitted more or less nicely, the inferred monthly spending may look surprisingly different to the original.
You’ve got to remember, all models are a simplification of reality, to extract the things that are important for the particular use of the model. As mentioned above, if you are doing “what if” analysis or portfolio management, this simplification may be acceptable and the differences are not a surprise to you.
Finally, we define two new constants newhypergrowth=hypergrowth*newlength/oldlength, and newtakeover=takeover*newlength/oldlength which simply allows us to use the s-curve over a longer time span. The new cumulative spending (across months 1-48 in the example) would be =saturation/(1+sharpness^((newhypergrowth+newtakeover/2-newyear)/newtakeover))



Can you please attach an excel file. I need to see the details and how you used formulas. Thanks.
Sure, the Excel file is at http://8020world.com/jcmendez/wp-content/uploads/… – Please see the legal disclaimer before using it
Hi,
I think what you gave me was excellent. I just need to know how did you get the following numbers :saturation, hypergrowth, takeover, and sharpness. I have other projects that have different numbers and if I don't understand how to get those numbers I won't be able to use you model. Also, I never used this model before, do you have any document that describe its use. Thanks and Feliz Navitad.
Hello,
The cost spent each month does not always follow an s curve but a belle curve as you can see from the percentages that I sent before. Their variation looks just like two separate bellecurves when using a scatter diagram. So, the question is how to spread those bellecurve over 48 months by keeping the two bellecurves. Thanks.
@ Mina
Check out http://8020world.com/jcmendez/2007/04/business/mo… for the meaning of the 3 parameters. The values you see above 1.4 for saturation, 3.1 for hypergrowth, etc. were the result of curve fitting (step 1 described) your data to the curve model. The way you do it in Excel is using Solver, as described on the entry. The s-curve arises, as described, from the *cumulative* spending of a bell-like monthly spending curve.
I´m using this S-curve for a new purpose which is assessing the impact of a new technology (i.e. implementing a revenue assurance technique, and anticipate results).
In this sense I think it would be worth to identifiy each of the four parameters involved here with a given effect (i.e., Saturation has to do with a sort of Amplitude or max output of the process, etc).
In other words, once you modelize you try to link parameters with some "real world" behaviours. Any comment on that?
Thank you for sharing your experience,
Daniel
Hola Daniel – thanks for your comment.
This post where you are commenting is somewhat an off-topic focused on project management and cost estimation. However, if you look at a previous post at http://8020world.com/jcmendez/2007/04/business/mo… you will see I use the s-curve for new technology adoption modeling, exactly as you ask. That post identifies the parameters, and the response to comment http://8020world.com/jcmendez/2007/04/business/mo… deals with the issue of parameter fitting (deriving the curve parameters from "real world" data). Hope it helps you, and drop me a line if it doesn't