What is dynamic hypothesis?

A proposed explanation of how the feedback structure of a system produces the pattern of behavior over time that you are trying to understand.

Dynamic hypothesis diagram example

Public diagram from the Machinations Community. Open it on its own page

A dynamic hypothesis is a testable story about why a problem happens over time, told in terms of feedback loops, stocks, flows, and delays. It is phrased as a claim that a specific structure generates the observed pattern. It matters because it turns a vague complaint into something a simulation can confirm or reject.

How it works

The hypothesis is built from the reference mode. First ask which pattern the data shows, such as growth, decline, or cycles. Then look for the structure that produces that pattern: a reinforcing loop for growth, a balancing loop for goal seeking, and a balancing loop with a delay for oscillation. The hypothesis is often drawn as a causal loop diagram and written in a sentence or two.

A good dynamic hypothesis is endogenous, meaning it explains the pattern from inside the system instead of blaming outside shocks. It is also falsifiable. You build the model, run it, and see whether it reproduces the reference mode. If it does not, change the hypothesis, not the data. The hypothesis is a working draft, and it is common to rewrite it several times.

Example

Say a subscription business sees signups rise for a year and then flatten while support tickets keep growing. One hypothesis: happy users recruit friends (reinforcing), but each new user adds load on support, which lengthens response times and lowers satisfaction with a three-month lag (balancing with delay). If the model with these two loops reproduces the plateau and the later dip, the hypothesis gains credibility. This is an illustration with round numbers.

How to model it in Machinations

Turn each loop in the hypothesis into a part of the diagram. Use a Pool for users, a Source for signups driven by a Register for satisfaction, and a Pool for the support load. Connect them with state connections, and add a Delay for the lag. Play, chart the Pools, and use a Lever on the lag length to test the claim.

See dynamic hypothesis in a system you can Play

Build the rules in a Machinations diagram, change a value and Play it to watch how the system responds.