From Systems Thinking to Dynamic Modeling
Join Dr. Karim Chichakly as he guides you, step by step, through some of the key components in the process of effective model creation. During each 55-minute class, you'll learn the
ins and outs of model creation as he shares his personal workflow and additional tips and tricks that he’s learned in more than 20 years of experience in the field.
Each class is followed with a question and answer session with Dr. Chichakly. Online access to these class recordings, sample models, handouts, and homework assignments are
included to cement your learning.
Class 1: Introduction to Models
This class will review types and uses of models, as well as essential Systems Thinking skills such as operational thinking.
Class 2: Stocks and Flows
Stocks and flows are the basic building blocks of all Systems Thinking models. This class will introduce simple – yet important –
stock flow structures. Using the concepts discussed in this session, we will begin building basic models.
Class 3: Behavior Over Time
When using Systems Thinking, we are particularly concerned with behavior over time and feedback. This class covers
the first of these in great detail, showing the importance of graphs for defining the boundaries of your model.
Class 4: Feedback
Adding feedback to models closes the loop and creates a system whose structure determines its behavior. In this class, Causal Loop Diagrams and
simple stock-flow structures with feedback are explored.
Class 1: Combining Feedback
While simple feedback can lead to very interesting behavior, the systems around us are composed of several interlocking feedback loops.
In this class, we will explore some of the most common substructures that include multiple feedback loops.
Class 2: The Modeling Process
Successful model development requires a disciplined approach, starting from the reference mode and moving through model validation and
sensitivity analysis. Each stage of this process will be presented using a specific modeling problem as an example.
Class 3: Limits to Growth
The Limits to Growth archetype is an important coupled feedback system that recurs with surprising regularity. We will explore this
archetype in depth and look at examples of its use in several application areas.
Class 4: Graphical Functions
Graphical functions define relationships between variables at an aggregate level. Each graphical function stands in
for more detailed model structure that does not need to be explicitly modeled, thus simplifying your model structure.
This class explores the proper use of graphical functions and best practices for defining them.
Class 1: Model Formulations
The most difficult part of building a model is deciding how to formulate the relationships and the underlying equations. In this class, we will first review the
model formulations studied in Introduction to Dynamic Modeling I
and Introduction to Dynamic Modeling II and
then add new formulations to your toolset.
Class 2: Main Chains
Multiple stocks connected together by flows, called main chains, form the backbone of many of our systems. Several main chains, including the ubiquitous
aging chain, will be presented. Some time will also be devoted to steady-state initialization of your models.
Class 3: Intangibles
Not everything we wish to model is tangible. We often need to include soft variables, such as Morale, Reputation, and Loyalty, in our models. This class explains
how to include soft variables in your model and covers some deeper details about graphical functions, which are necessarily part of modeling intangibles.
Class 4: Model Parameterization
As you develop your model, how do you pick your parameters? Once your model is complete, how do you confirm you’ve made the proper choices for your
parameters and your graphical functions? This class explores the different ways to choose your parameters, to modify them as you develop your model, to
perform sensitivity analysis on them, and to reduce the sensitivity of your parameters
Class 1: Delays
Delays exist in every system and lead to important dynamics that can critically affect outcomes.
Within a balancing loop, delays work to destabilize a system, leading at times to boom and bust cycles.
In this class, we will examine the different types of delays that enter into a system and explore the
consequences of these delays on system behavior.
Class 2: Oscillations
As demonstrated in class 1, delays in a system can cause that system to oscillate. The size of the delay
itself affects the amplitude and period of oscillation. Other forces within the system can serve to damp
that oscillation, giving you a powerful tool to bring a runaway system back into control. We will deconstruct
the forces that lead to oscillation and explore at length how to tame an oscillatory system.
Class 3: Forecasts
Often decisions are made based on some forecast about what might happen in the future, usually based on what
has been happening and the current state of the system. The assumptions used in this type of decision making, while
often useful, can lead to undesirable outcomes. We will model and then explore the reliability of such methods
under different circumstances.
Class 4: Molecules
We've covered many reusable components in this series. This class will explore a library of components that you
can refer to whenever you aren't sure about a model formulation.
Class 1: Introduction to Arrays
Arrays provide a way to reuse the same model structure for many related processes. This class will focus on the underlying
concepts and types of arrays, as well as the syntax and builtin functions needed to make effective use of them.
Class 2: Application of Arrays
Now that you’re comfortable creating arrays and writing equations for them, we’ll explore more sophisticated applications of
arrays, in business and in science. A number of the presented models are suitable starting points for more complex modeling projects.
Class 3: Discrete Event Simulation
While we've so far focused on continuous models, sometimes you need to include discrete elements. We will explore when to use conveyors,
queues, and ovens, important elements for process improvement initiatives. Cycle time and attribute tracking will also be introduced.
Class 4: Agent-Based Modeling and Modules
Using arrays, we'll explore how to build agent-based models. Modules, which provide a general mechanism to both organize and reuse
model structure, will also be introduced and integrated into the modeling process. For small numbers of agents, modules can be used
to represent agents.
Class 1: Framing the problem
The problem description is deceptively simple (aging baby boomers taxing social security’s resources) with little apparent feedback.
This class will both introduce the problem and develop the spine of the model, the population aging chain, highlighting how much can
be learned from this simple model.
Class 2: Expanding the Boundary
Tax revenue and social security spending are added to explore budget deficits over the next 40 years. To add the impact to Medicare,
we start to build an independent health care model.
Class 3: Closing the loops
Many loops need to be closed in our health care model, for example, the role of technology on life span and the impact of new technologies
on the retirement of existing technology. Afterwards, we will connect it to our demographics model, which will close the loops we identified last week.
Class 4: Policy Analysis
After sensitivity analysis of some key parameters, a number of policy interventions are suggested and tested, leading to expansion of the base model.