I recently had the pleasure of building a very large model of the health care system from many small discrete parts. I did this in a course on Health Care Dynamics taught by James Thompson at Worcester Polytechnic Institute. The design of the model is entirely Jim’s.
The most striking thing about this model to me is that it was created completely hierarchically. I have seen many large models broken into sectors which are conceptually all at the same level. I have seen other large models that are organized by feedback loops, which can at some times be large and unwieldy. But I had yet to see an example that is truly hierarchical, with an appropriate dynamic hypothesis at each level.
The model is three-levels deep. At the lowest level are models with very simple dynamic hypotheses. At the next level up, groups of these smaller models are tied together to form more complex feedback loops, or loop sets, comprising a higher-level dynamic hypothesis (this is the complexity most of the models I develop have). At the top-level, they are tied together to form a very high-level dynamic hypothesis. One of the very nice things about this is that each part of the model, which was built bottom-up, has already been tested in isolation or within its group before the whole model is tied together. All parts are in steady-state. In this way, we have built confidence in all of the parts of the model and now are only testing the broadest feedbacks.
Critics of this approach insist that delaying the connection of the broadest feedbacks until this late in the development of the model hides important dynamics that affect all parts. Not only is this considered risky, but the model does not generate results until the end. After this experience, I can’t agree with this point-of-view. There was very little risk in tying the pieces together at the end because they were well-formed pieces already rich in feedback, and (very important!) initialized in steady-state. While the model did not address some of the overarching issues until the end, careful testing of the pieces of the model added insight at many steps along the way and even gave hints about what might happen when those final feedbacks were put into place.