Skip to content

Behavior-over-Time Graph

Diagnostic visualization — instantiates Circular Causality Mapping

Plots a variable or outcome over time so recurring growth, collapse, oscillation, drift, or stabilization patterns can be recognized before mapping causes.

A Behavior-over-Time Graph is the first move in circular causality mapping: before anyone draws a single arrow, you plot the variables that seem to matter against time and let the shape of the trajectory tell you what kind of dynamic you are dealing with. Its defining commitment is that it says nothing about why — it is deliberately pre-causal. Growth that compounds, a collapse after a peak, a steady oscillation, a slow drift, a fix that works then decays — each shape is a fingerprint of a different loop structure, and naming the shape first keeps the later mapping honest. The whole point is to fix the explanandum — the pattern the loop map will have to explain — so the map is judged against an observed trajectory rather than a remembered anecdote.

Example

A regional appliance distributor keeps lurching between empty shelves and overflowing warehouses, and everyone has a theory. Before entertaining any of them, an analyst plots four series on a shared time axis over three years: retail sales, distributor orders to the factory, factory production, and on-hand inventory. The sales line is nearly flat with small seasonal ripples. The order line, plotted beneath it, swings violently — orders spike far above sales when shelves run low, then crash below sales when the warehouse fills. Production lags the order swings by about six weeks, and inventory overshoots in the opposite direction from orders.

Nobody has said a word about causes yet, but the graph has already done its job. The near-flat demand under a wildly amplified order signal is the classic signature of the bullwhip effect,[n1] and the six-week gap between an order swing and the production response is visible right there on the axis. That shape — modest demand, amplified upstream response, a lag between them — is what the loop map will now have to reproduce. If a proposed map cannot generate an oscillation of roughly that period and amplitude, the map is wrong, and the graph is what lets you say so.

How it works

  • Choose the reference variables. Pick the few quantities whose trajectory is the problem — the ones a stakeholder would point at and say "this keeps happening" — rather than every measurable field.
  • Plot them on a shared time axis. Same horizontal scale, ideally stacked or overlaid, so lead-and-lag relationships between series are legible by eye.
  • Name the shape, not the cause. Classify the trajectory — exponential, goal-seeking, oscillating, overshoot-and-collapse, S-shaped — and treat that label as the reference mode the eventual model must reproduce.[n2]
  • Read the timing off the axis. Where one series turns and another follows, note the lag; that visible gap is the delay the loop map will have to account for.

Tuning parameters

  • Time window — how far back and forward the axis runs. Too short and a slow oscillation looks like a one-way trend; too long and near-term structure disappears into noise.
  • Sampling granularity — daily, weekly, quarterly. Fine sampling exposes oscillation and delay; coarse sampling smooths them into a misleading straight line.
  • Variable selection — how many series to overlay. A single line is clean but hides lead-lag structure; too many turns the panel into spaghetti and defeats pattern recognition.
  • Vertical scaling — raw units, indexed to a baseline, or log scale. Indexing lets differently-scaled series share an axis; a log scale turns compounding growth into a straight line you can spot instantly.
  • Idealization — whether to draw the messy actual series or a hand-smoothed "reference mode" sketch of its essential shape. The sketch communicates the pattern; the raw data defends it.

When it helps, and when it misleads

Its strength is discipline of sequence: by fixing the observed pattern before causes are proposed, it stops a team from reverse-engineering a tidy story to fit whichever explanation is already popular. It converts "the backlog keeps coming back" into a dated, shaped, measurable trajectory that any later loop map must be able to regenerate — which is the single most useful constraint you can hand a modeler.

Its failure mode is over-reading a line. A graph is pattern, not mechanism, and the eye is eager to see cycles, turning points, and causation in what may be noise, a one-off shock, or an artifact of the chosen window. A seductive shape can smuggle in a causal assumption ("orders cause the swing") that the graph has not earned. The guarding discipline is to treat the plotted shape strictly as the thing to be explained, resist annotating arrows onto it, and check that the pattern survives a change of window and sampling before you let it anchor a whole mapping effort.

How it implements the components

  • persistent_behavior_pattern — the graph's central output is exactly this: the dated, named trajectory (oscillation, overshoot, drift) that motivates and anchors the whole map.
  • loop_variable — each plotted series is a candidate loop variable, stated in a form that can rise, fall, and accumulate over time.
  • delay_marker — the visible lag between one series turning and another responding gives a first, data-grounded estimate of the loop's delays.
  • boundary_and_time_horizon — the chosen time window and variable set fix the temporal scope inside which the pattern is considered real.

It does not draw causal links or close the loop (causal_link, feedback_return_path, loop_map) — that structural work belongs to System Dynamics Mapping and the qualitative Causal Loop Diagram — nor does it assign polarity_marker, which is Loop Polarity Review.

Editorial Notes

Form Classification

Form family: Representation, Specification & Plan

Rationale: Plots a variable or outcome over time so recurring growth, collapse, oscillation, drift, or stabilization patterns can be recognized before mapping causes, making its operative form a non-executable information artifact that externalizes static or prospective structure.

Independent corroboration: The frozen evidence defines Behavior-over-Time Graph as 'Plots a variable or outcome over time so recurring growth, collapse, oscillation, drift, or stabilization patterns can be recognized before mapping causes', so its operative form is Representation, Specification & Plan.

Review outcome: Independent reviewer agreement; high confidence.

Origin Attribution

Primary origin: Systems Thinking & Cybernetics

Origin pattern: Single lineage

Present-day reach: Multi-domain

Rationale: System dynamics, especially Forrester's tradition, uses behavior-over-time reference modes as the pattern a causal loop model must explain.

Related originating lineages:

Review resolution: Systems and cybernetics is the agreed primary lineage through system-dynamics reference modes. Statistics supplies time-series form and supply-chain logistics supplies canonical oscillation and bullwhip examples; dashboarding and workshops are reach rather than separate origins.

Review outcome: Reconciled after independent review; high confidence.

Notes

[n1] The bullwhip effect is the well-documented tendency for order variability to amplify as it moves upstream in a supply chain, so that small swings in end-customer demand produce large swings in factory orders. Its time-series signature — flat demand, amplified upstream orders — is a textbook reference mode.

[n2] In system dynamics a reference mode is a graph of the key variables over time that captures the essential dynamic problem to be explained. Jay Forrester's tradition treats reproducing the reference mode as a basic test any model must pass.