thanks for pointing at chapter 14 in the User's Guide to Vensim and to hinting at how to turn passive RC to active RC and on to how to have RC work as a check to the fit of the model to data. I wondered about checking the fit when reading the most interesting article by A. Graham about "fit constrained Monte Carlo" (obviously parameters are constrained by a certain level of fit to data that has to be satisfied so this should be considered when drawing random samples from possible outcomes...) - but I figure this can probably not be done by using RC but rather has to be done externally in a spreadsheet?
As to the "Discussion about DT" being quite irrelevant I cannot help but to note that this is NOT the main point in - hopefulle constructively - critizising Kim Warren's approach to strategic model building.
Please let me once more make this clearer:
1. I am having trouble in using an arithmetic average for a stock
(Kim regrets that stocks in SD do not report their content during the period but only at its end) to calculate an instant accounting number which remains an approximation of essentially an accumulation over a period.
As you have pointed out, JJ, one can change DT to say 0.125 in Kim's myStrategy models. I was well aware of it but that is not the point. One needs to ask what it will change in Kim's models? Here the answer is: Not much!
In the models I have seen the average of a stock is calculated for one period (a year, a quarter ...) by the using a DELAY FIXED for one period. Thus the average stock is calculated by:
AvgStock in one period = [Stock(t) + Stock(t-1
And that is the point: Even if DT is set to smaller values, the additional accuracy in calculating stock values will not be used, as values inbetween are never used in the calculation! This will play out if there is nonlinearity in the stock.
2. Whatever you do, the discrete approximation of the integration of a flow
(even in accounting
) is a SUM. But there is no sum in the calculation as it is approximated by a multiplication of averages. This is definitely not a robust way to do it since this will not work if the other parameter that is multiplied with the average content of the stock is changing also, e.g. if the frequency of purchases for a customer changes along with the the stock of customers. (This is actually a flaw in the diagramms in Strategic Management Dynamics as Kim has recognized himself and will be changed in further editions) as there the charts for price etc. are shown not as step function but as continuous interpolations.
3. Tony and you, JJ, have pointed out, that accuracy
in numbers is not that important and thus DT is a minor consideration, if one sticks to the rule of thumb to set DT at between 1/4 or 1/10 of the smalles time constant in the model. But that is a further point against what Kim has put forward as an argument for using averages in stocks in the process: "to have clients recognize their numbers".
The only way to achieve a higher accuracy is to make the integration of the flows more accurate. Kim does not doe this as the flows are not integrated or added. So if taking averages for the content in a period, this should be WITHIN DT. And essentially this is what more sophisticated Integration methods like Runge Kutta are trying to achieve.
To sum it up: Accounting flows should be integrated to calculate the average flow over a period - this will also allow to use the flow for balance sheet stocks. To achieve higher accuracy - if
this is considered an issue - one should set DT to smaller values or use a different method of integration. The aproach chosen in Strategic Management Dynamics IMHO is not a robust one and in my opinion diverges (unnecessarily) from common practise in SD-modelling. Calculating averages for a period in a stock will actually make varying DT useless and you should be aware of this.