Modeling Concepts

What is Feedback?

Feedback is a process in which a decision or action causes changes to occur which, after a time, cause a revision of the decision or action.  For example, if you are trying to catch a person running in front of you it is necessary to run faster till you get beside them and then slow down to match their pace.  Though feedback is a very simple concept, its implications can be quite surprising.  Feedback loops typically involve more than one person or organization, each responding to the actions of another in such a way as to, eventually, change the behavior of others.  Arms races, stock market bubbles, inner city degradation, and instability in manufacturing volume requirements are all examples of behaviors that result from feedback.

What is the difference between discrete and continuous?

Technically, Vensim and other system dynamics packages are capable of solving systems of lumped ordinary difference or differential equations.  We often refer to Vensim as supporting continuous simulation.  What this means is that it is best suited to situations where most of the variables change continuously, and not in increments.  This is to be contrasted with discrete event simulation in which individual entities are tracked and the results added up to report behavior.  While it is possible to make discrete variables in Vensim, this is usually only sensible if there are a small number of such variables relative to everything else in the model.

A discrete event simulation moves forward by allowing each entity to choose the next time it needs to do something (be fully assembled, change to a different workstation, and so on).  For this type of modeling it is desirable to have a clock that jumps from time to time and only does the things that need doing at that time.  It is possible to make Time jump from place to place in Vensim.  However at each time everything gets done.  This is very inefficient for discrete even style simulation where only one out of say 100,000 things might need to be computed.

What is Systems Thinking?

Systems thinking is a general term for looking at things systemically and thinking in terms of feedback.  One of the major tools of systems thinking is the causal loop diagram, and another is the system archetype.  The term systems thinking was made popular by the publication of the book The Fifth Discipline by Peter Senge.  Some people consider systems thinking to be broader than this, including such concepts as double loop learning as developed by Argyris.

What is a Causal Loop Diagram?

A causal loop diagram is a picture containing words and directed arrows connecting those words, usually with at least one closed loop representing feedback. Causal loop diagrams can easily be created using a pencil and paper. Vensim supports the creation and analysis of causal loop diagrams.

What is an Archetype?

An archetype is an abstraction of a feedback structure that is known to generate a particular type of behavior.  For example, escalation is an archetype in which two organizations try to exceed a capability of the other and end up simultaneously growing that capability.  An arms race is an example of the escalation archetype.  Archetypes were made popular in The Fifth Discipline.

What is a Simulation?

A simulation is a calculation of the implications of all the relationships that have been specified for the variables in a model. Simulations in Vensim result in the behavior (over time) of all the variables in the model. These results are normally reviewed as time graphs or tables.

What is System Dynamics?

System Dynamics is the study and analysis of dynamic feedback systems using computer simulation.  The field of system dynamics has been developed from the work of Jay Forrester to integrate engineering techniques for understanding feedback control systems into the study of social and business policy.   For more information, see the Resources page or the web site for The System Dynamics Society.

What are Management Flight Simulators, or Learning Environments?

These go by various names, including learning environments, management simulators, custom applications, Vensim applications (Venapps) and more.  They are a simplified interface which allows an inexperienced user limited access to a simulation model.  Learning environments allow the user a few choices to set up or run a model, and present output information in a custom interface, without the need to learn specialized modeling software.  Environments can be designed to run a model through a full simulation time period, or they can be designed to allow the user to step through a simulation at certain time intervals.  In this fashion, a user can change constant values during the simulation to try and “control” a system.  In Vensim, this is called playing a “Game” and Vensim is run in gaming mode. Read more about Vensim applications.


How can I get Vensim graphics into other applications?

In almost all cases just use Edit>Copy in Vensim (or Ctrl+C) and then paste them into your other application.  For tool output Vensim also has a little button you can click on to do this.

How can I get variable names to appear on a single line?

By default, variables are entered in clear boxes.  For variables already created, right click (or control click) on the variable name and select the shape “None”  For variables you are putting onto the sketch using the Variable tool, change the option for the tool to Shape “None”. Or go to Tools>Options>Sketch and uncheck “Start Words in Clear Box.”

How do I draw bent or split rate pipes?

Bent Pipes: Start the rate as usual (select the Rate tool and click once on a blank part of the sketch or on a level), then move the cursor to a place you want the pipe bent, hold down the shift key and click once on the sketch.  This drops a “corner”.  If you want more bends/corners, keep holding down the shift key and click on the sketch.  Finish the rate by clicking without holding the shift key down.

Split Pipes: Rate pipes can start or stop at three places: at a cloud on the sketch, at a level, and at a valve.  If, for example, you want a single rate to come out of one level and then to split and feed into two levels, this is how you do it.  Create the three levels.  Join two together with a rate.  Again with the Rate tool, click on the valve of the first rate, then hold the shift key and click on a blank part of the sketch near the third level, then click on the third level.  (This makes Vensim put the rate pipe on the sketch and bend it near the third level.  If you don’t do this, you might find that Vensim draws the pipe with its bend through the second level, because pipes can only be horizontal or vertical.)
You can also make the illusion of a pipe splitting off somewhere other than a valve (see page 22 of the Vensim Modeling Guide) by clicking on the valve, then creating a bend on top of the existing pipe, then making another bend near the level and finishing on the level.  The two pipes will be drawn exactly on top of each other, creating the illusion of a single pipe at that point.

How do I delete an arrow?

The packman icon deletes things — just click on the arrowhead with it (clicking on the handle no longer deletes the arrow).

How do I connect a box variable to the cloud end of a previously-inserted rate?

1) If you are wanting to join the arrowhead end of a rate (that drops into a cloud), using the Hand tool, drag the arrowhead of the rate onto your box variable, or

2) If you don’t have an arrowhead (pipe comes out of a cloud), or even if you do have an arrowhead, using the Merge tool, drag and drop the box variable onto the arrowhead or cloud.

3) PLE and PLE Plus do not have a Merge tool.  To connect a box variable to the cloud of a previously inserted rate, select the Rate tool, click on the box variable and then click on the valve of the rate (not on the cloud). Then use the Delete tool to delete the cloud.

Advanced Features

What is an External Function?

Vensim has a large number of built in functions, but these are not always enough.  Suppose, for example, you would like to allocate production among different facilities at each time in a simulation.  If the best way to do this is to use a Linear Program, then an external function can be constructed to do this.  The external function is written in a programming language (usually C or C++) and then compiled into a dynamic link library (DLL) which is loaded by Vensim.

What is a Compiled Simulation?

Compiled simulation is a technique for speeding up simulation.  The model equations are written out as a C program which is then compiled and linked with Vensim as a DLL.  Fast simulation is especially important for optimization.

How does Subscripting work?

Subscripting allows you to create a piece of model structure and equations (for example, a store) then “subscript” it to produce multiple stores, all with the same structure but with their own constant values, inputs, and outputs.  Read more about subscripting.

How does Optimization work?

Optimization can be used in several ways in Vensim.  Model calibration allows you  to take external “real world” data and then optimize model parameters (constants) so that the model best fits the external data.  Policy optimization allows you to maximize (or minimize) one or many policy parameters.  For example, you might optimize multiple parameters such as worker numbers, capital spending, etc., to maximize profit while minimizing production time, and all constrained by certain limits.  Optimization is performed using a modified Powell hill climbing algorithm.  Read more about optimization.

Will you include a genetic algorithm based optimization?

We have experimented extensively with genetic algorithm optimization and found that the results are very poor. For problems with many optima, the simulated annealing capabilities of the Markov Chain Monte Carlo algorithm may be helpful. It’s easy to implement alternative algorithms using the Vensim DLL, for people who want to pursue this line of research.

Getting Started

What are Analysis tools?

Analysis tools act on a selected variable to show something: a graph of behavior, a tree diagram of connected variables, the variable’s equation, all the feedback loops passing through it, and other information.

What is Causal Tracing®?

Several analysis tools allow you to perform Causal Tracing®  A Causes Tree diagram shows a selected variable and the variables that “cause” it to change (up to 3 connections distant — this is adjustable).  Selecting a variable in this tree and clicking the Causes Tree tool again creates a tree diagram of that variable.  In this way, you can trace the causes (or uses) of a variable throughout a model.  A Causes Strip Graph displays behavior for the selected variable and all the variables directly connected to it so that you can see which variables contribute which types of behavior.  Selecting one of these variables and clicking the Causes Strip Graph again traces the behavior for that variable and variables directly connected to it.  You can continue to trace sources of behavior throughout your model.  This is useful for discovering which feedback loops contribute certain types of behavior in a model (growth, decay, etc.).  Read more about Causal Tracing.

What is a Dataset?

Simulations produce a “dataset” of output values for every variable in the model.  This allows you to do “scientific experiments” on the model, saving each simulation as a different named experiment for later comparison.  No need to perform repeated simulations just to look at other variable’s behaviors.

Data IO

How can I get a matrix of values into Vensim from a spreadsheet?

Vensim (except PLE) supports the importation of times series data from spreadsheets, but if you are just looking at one time (either for initial conditions or constants) this is not efficient.  To set for, for example, initial population from a spreadsheet, set the spreadsheet up in the form:


initial population[country,male] 1 2 3

initial population[country,female] 2 3 4

Save the spreadsheet as a CSV (comma delimited) file.  The first row, because it contains no values in the first column, is treated as a comment.  Then in the model just enter an equation such as:

initial population[country,sex]=1 ~Person~|

Then enter the CSV file you created from the spreadsheet as a changes file in the simulation control dialog.  Note that it is important to be sure that the order of subscripts in the subscript definition

country: USA,MEX,CAN ~~|

is the same as the order in the spreadsheet.

How can Vensim communicate with other programs?

There are a number of options for communication, starting with the clipboard.  Vensim can also easily import or export data and constants from other sources.  For dynamic control of Vensim’s behavior, the Vensim DLL allows you to control Vensim from Visual Basic, Delphi or any other programming language.


What are the differences among PLE, PLE Plus, Professional and DSS?

All the products share essentially the same interface and each is a superset of the one that precedes it.  Vensim PLE Plus adds to PLE easier use of data, and Monte Carlo or sensitivity simulation capabilities.  Professional allows you to use subscripts to represent more detail with less effort, and also supports optimization.  Vensim DSS include the ability to construct management flight simulators and also to use external functions and compiled simulations. There is a comparison chart here.

Mac problem after upgrading to OSX Catalina, “App is damaged and can’t be opened. You should move it to the trash”.

Are you attempting to use an older version of Vensim?

Apple has dropped support for 32 bit applications. Versions of Vensim older than 8.0 are all 32 bit, so will never work on Catalina. All you can do is upgrade to the latest version of Vensim.

If you are using the latest version of Vensim, Apple has quarantined the software for some reason (Vensim is fully notarized by Apple so should not be flagged as malware). In this case, you can start a terminal window and try one of the following commands.

Vensim DSSsudo xattr -rd /Applications/
Prosudo xattr -rd /Applications/
PLE+sudo xattr -rd /Applications/
PLPsudo xattr -rd /Applications/
Model readersudo xattr -rd /Applications/

How does Vensim compare to other system dynamics software?

For model building, Vensim and other system dynamics languages have a great deal in common.  The available functions and default graphical presentations are similar.  Vensim is more flexible than most in the appearance of the model diagram, allowing you to easily mix stock and flow and causal loop elements.

On the analysis side, Vensim is unique.  It contains a set of Analysis tools that use the structure of the model to present information to quickly find problems and investigate sources of behavior.  Our patented Causal Tracing®capabilities allow you to instantly see the behavior of a variable and the variables that connect to it.

Vensim is also very strong in terms of capacity, performance and functionality.  Simulation speed is fast, the optimization capabilities are powerful.  The sensitivity analysis is both fast and powerful, there are no practical limits on model size, and it is easy to extend the base capabilities using external functions of the Vensim DLL.

How big can a Vensim model be?

Other than memory, there are no limitations to the size of models.  Some people have models with millions of variables when all subscript dimensions are expanded.  The 64-bit version of Vensim further extends the limits, by providing access to huge memory space. Such models take a long time to simulate and create very large output datasets, and therefore need to be treated with care.

How soon can I get the software?

If you select electronic delivery an email is sent with download and install instructions and you can start using the product right away. We normally ship products within one day of receiving the order, online order are processed in real time. In the US we ship CDs via priority mail and it normally takes 2 days.  For international orders, shipment times vary.  More information on purchasing.

Why is Vensim PLE free?

Vensim PLE is free for academic use because we want to make it easier for more people to learn system dynamics.  We especially want to lower the barriers of entry for students.  We also hope that people who learn with Vensim PLE will start to use the modeling approach seriously in their work and therefore pay the shareware license fee, or choose to purchase a more advanced version of Vensim.

What are the limitations on Vensim PLE?

Vensim PLE has no built-in limitations.  It it a simplified version of Vensim designed for learning how to build and analyze models.  We removed all functionality not relevant to learning modeling skills.  Very few settings or options can be changed making the software behave the same for everyone.  Vensim PLE is a serious tool for building and using system dynamics models.  For many people it will be completely sufficient.

What are the hardware/software requirements?

Windows : The Vensim family of software runs on Windows 10/11 and higher (it will not work on Windows XP, Vista, 7/8/8.1 since these are no longer supported by Microsoft).

Apple Mac : The Macintosh version requires OSX version 10.13 or higher. Vensim 8 and higher will run on 64 bit versions of MacOS (including Catalina and Big Sur). The Windows Version will run on Intel processor Macintosh machines using emulators like VMware or Crossover, or with a Windows virtual/alternate boot installation. If using Apple silicon Macs, it is strongly advised to use Vensim 8.2 onwards.

Vensim requires about 60 megabytes of disk space for a full installation and will run with any reasonable amount of memory.  For very large models more memory and disk space will be required as a single run can easily take 100 megabytes of disk space.  Generally it is a good idea to have at least as much memory as the size of the largest .vdfx file you are creating.


Installation on the Mac, “Error extracting files, check permissions” (error code XX).

This usually happens because the permissions on your hard drive have been corrupted. Start by searching the internet for instructions on how to fix permissions on the Mac. If this does not work, start Finder and browse to /Users/Shared/. If you see a folder titled “Vensim”, rename it and try installing again. If the folder does not exist, you’ll need to search the web on how to set the correct permissions on the /Users/Shared/ folder.

Installation on the Mac, “App is damaged and can’t be opened. You should move it to the trash”.

We suspect you have upgrade to OSX Catalina and are attempting to use an older version of Vensim.

Apple has dropped support for 32 bit applications. Versions of Vensim older than 8.0 are all 32 bit, so will never work on Catalina. All you can do is upgrade to the latest version of Vensim. There is nothing we can do about this, the only option you have is to complain to Apple.

Installation on the Mac, “InstallVensim” can’t be opened because Apple cannot check it for malicious software.

The latest versions of Vensim are fully digitally signed and notarized by Apple, so if you are seeing this, it suggests their service is down, or some other issue with your computer.

The workaround is to download the installer, then right-click to open. You still get the warning message, but the should now still open and install.

Installation on the Mac, “InstallVensim” can’t be opened because it is from an unidentified developer.

You have encountered the OSX security system which injects a note of caution when opening executables which come from unregistered developers.

You should be able to open the file by right clicking on it, select “Open” and saying yes to any “are you sure?” questions.

Note, this mechanism cuts in for any files that have come from unknown sources not just Vensim.

For more information, search on Google and you will find ways to bypass the warning.

What is the ‘not optimized for your Mac’ warning message?

This is explained at

Mac problem after upgrading to OSX Catalina, “App is damaged and can’t be opened. You should move it to the trash”.

Are you attempting to use an older version of Vensim?

Apple has dropped support for 32 bit applications. Versions of Vensim older than 8.0 are all 32 bit, so will never work on Catalina. All you can do is upgrade to the latest version of Vensim.

If you are using the latest version of Vensim, Apple has quarantined the software for some reason (Vensim is fully notarized by Apple so should not be flagged as malware). In this case, you can start a terminal window and try one of the following commands.

Vensim DSSsudo xattr -rd /Applications/
Prosudo xattr -rd /Applications/
PLE+sudo xattr -rd /Applications/
PLPsudo xattr -rd /Applications/
Model readersudo xattr -rd /Applications/

Documentation on the Mac does not work.

If the documentation on the Mac is not working, try fixing the permissions. A quick search on the web will give you details on how to do this.

Does Vensim run on an iPad?

No, Vensim does not run on an iPad. The following page lists the hardware/software requirements.

What are the hardware/software requirements?

Does Vensim run on Linux?

No, Vensim does not run on Linux. The following page lists the hardware/software requirements.

What are the hardware/software requirements?

Can I install Vensim on more than one computer?

Section 1 of the licence details how Vensim can be installed.

Is there a “silent” install for Vensim PLE (for classroom/lab use)?

No, as it violates the licence agreement. But there is a workaround for academic institutions. Download this form Educational-Discount-Policy-PLE.pdf , please complete it and email it to us at for more information.

Limited time copy has expired after installation?

Please make sure you install Vensim using administrative permissions. On most versions of Microsoft Windows, it’s as simple as right clicking on the Vensim executable and selecting “Run as administrator”.

Documentation on Windows does not work.

If you get an error similar to “Help file cannot be opened: C:\Program Files (x86)\Vensim\help”, you need to reinstall Vensim with administrative permissions.

Where is my registration/unlock code?

You will have received this when you purchased Vensim. If you have misplaced it, please contact us at and give us as much information about the purchase as you can (such as company name, date purchased or serial number) so we can track it down in our database.

If you are using PLE for academic use, you do not need a code. Please read the instructions and select the correct options during installation.


When attempting to download, I get a “Please go back and read the download instructions fully” message.

The download system is automated. If you receive this message, it’s probably due to one of the following reasons.

  • Browser issues. Try a different browser, especially if using Safari on the Mac.
  • You did not tick the box below titled “please tick this box”.
  • You entered your email address incorrectly.

Where can I download the free academic version of Vensim PLE?

free downloads here

Where do I download licensed versions of Vensim?



Accessibility (VPAT)

Click here to download the Vensim VPAT compliance document.

On running Vensim, I get the error “api-ms-win-core-version-l1-1-1.dll is missing”

If you are running Windows 7, this is why you are seeing this message. Since Microsoft do not support Windows 7, we cannot recommend it’s use either. You can try the Microsoft link below and update the Universal C Runtime, but Vensim will still likely not work.

Your best option is to upgrade to Windows 10. There is also a lot of discussion on this that you can find using Google.

For Windows 8/8.1, your operating system is probably not up to date. Visit the following site, download and install the Universal C Runtime for your system.

Vensim crashes on MacOS Ventura (November 2022)

It appears that Apple have changed a fundamental operating system library in Ventura which has resulted in lots of software reporting major stability problems on MacOS Ventura.

If you have upgraded and are experiencing problems, make sure you are on Vensim 9.3.5 or higher (and use the new GUI). There may still be problems until Apple release a fix.

What is Vensim’s ECCN (Export Control Classification Number)?

Vensim is exported under the generic ECCN NLR (No License Required).