I am trying to understand VENSIM functions like TREND in System Dynamics. Any suggestions? I have tried reading up a few papers but not fully comprehending what i am reading
-
Sorry, SE is not really a place to receive primer for coding – Marcus D Feb 25 '16 at 21:55
3 Answers
John Sterman has an MIT Working Paper that describes the origins of the TREND function. It may be available online.
These two references will also help: Sterman, John D. 1987. Expectation Formation in Behavioral Simulation Models. Behavioral Science, 32:190-211. Sterman, John D. 2000, Business Dynamics, Boston, MA: McGraw-Hill. Chapter 16.
Also: https://ceprofs.civil.tamu.edu/dford/dnf%20profesional/TipPtAppdxCForecast-SDR.pdf

- 11
- 1
The TREND function is an approximation for the GROWTH EXPECTATIONS of a forecaster. This is, given a particular input signal, an adjustment time and an initial idea of what the trend is, this functions has as output the EXPECTED GRADIENT (TREND) of the input signal.
I would suggest that complementary to reading, you should recreate the model suggested in the VENSIM help literature:
TREND(input, average time,initial trend)
which is equivalent to the functions:
TREND=ZIDZ(input-avval,average time*ABS(avval))
avval=INTEG((input-avval)/average time,input/(1+ini*averate time))
and where ZIDZ is a function
ZIDZ(A,B)
that returns A/B except when B is zero, then it returns 0.
System dynamics is a discipline famously known for giving a false sense of understanding only through reading. Systems have to be experimented with, as one of Jay Forrester's starting premises for de discipline was that our intuition mis-guides us into thinking we understand a system, when most real systems really very quickly behave counter-intuitively.

- 23
- 5
In his paper Expectation Formation in Behavioral Simulation Models John Sterman explain that the TREND
function can be thought of as an information processing procedure which takes as input a variable (including its past values) and produces as output a judgment of the current trend in the input variable. The value of TREND
is the expected rate of change in the input variable, expressed as a fraction of the input variable per time unit.
Into the help of Vensim and AnyLogic softwares we read only that TREND
function provides a trend estimative for variables always positive and that don’t get very close to zero.

- 747
- 1
- 10
- 24