VGL Guide — Current Reality Tree (CRT)
Estimated reading time: 2 minutes.
Current Reality Tree (CRT)
Root cause analysis (Theory of Constraints), showing how causes lead to undesirable effects. Sufficient-cause logic, so multiple unjoined causes feeding one effect are implicitly OR; only AND is explicit.
Node types
UndesirableEffect— an unwanted outcome requiring investigationIntermediateEffect— a neutral outcome in the causal chainDesirableEffect— a wanted outcome caused by other conditionsGiven— an unchangeable constant, such as a law or physicsChangeable— a modifiable condition that can be addressedAndJunctor— multiple conditions required together to produce the downstream effect (icon: AND circle; usually unlabelled, since the icon says it)
Edge types. CRT, FRT and TRT share one family, flowing bottom-to-top (causes and actions at the bottom, effects at the top). Names are mechanical,
<source>_causes_<target>:
Between effects: undesirable_causes_undesirable,
undesirable_causes_intermediate, undesirable_causes_desirable,
intermediate_causes_undesirable, intermediate_causes_intermediate,
intermediate_causes_desirable, desirable_causes_undesirable,
desirable_causes_intermediate, desirable_causes_desirable
From Given and Changeable: given_causes_undesirable,
given_causes_intermediate, given_causes_desirable,
changeable_causes_undesirable, changeable_causes_intermediate,
changeable_causes_desirable
Junctors: *_to_and_junctor connects any type to an AndJunctor;
and_junctor_causes_* connects it onward to an effect.
CRT typically starts from effects and traces down to causes; FRT and TRT typically start from changeable_causes_* and build upward.
vgraph salesDecline: CRT "Sales Decline Analysis" {
// Undesirable Effects (problems at the top)
node ude1: UndesirableEffect "Sales revenue declining";
node ude2: UndesirableEffect "Customer complaints increasing";
node ude3: UndesirableEffect "Market share decreasing";
// Intermediate Effects (neutral outcomes in the causal chain)
node ie1: IntermediateEffect "Customers switching to competitors";
node ie2: IntermediateEffect "Product perceived as outdated";
node ie3: IntermediateEffect "Support response time is slow";
// Desirable Effects (things we want to keep)
node de1: DesirableEffect "Brand reputation still strong";
// Given (unchangeable facts at the bottom)
node g1: Given "Market is highly competitive";
node g2: Given "Customer expectations keep rising";
// Changeable (root causes we can address)
node c1: Changeable "Product development cycle is too long";
node c2: Changeable "Support team is understaffed";
node c3: Changeable "No customer feedback loop";
// Junctor for combining conditions
node and1: AndJunctor "";
// Root causes leading to intermediate effects
edge c1 -> ie2: changeable_causes_intermediate;
edge c3 -> ie2: changeable_causes_intermediate;
edge c2 -> ie3: changeable_causes_intermediate;
// Given facts contributing to situation
edge g1 -> ie1: given_causes_intermediate;
edge g2 -> and1: given_to_and_junctor;
edge ie2 -> and1: intermediate_to_and_junctor;
// And junctor combining conditions
edge and1 -> ie1: and_junctor_causes_intermediate;
// Alternative causes (implicit OR — any single arrow into ude2 is sufficient)
edge ie1 -> ude2: intermediate_causes_undesirable;
edge ie3 -> ude2: intermediate_causes_undesirable;
// Intermediate effects leading to undesirable effects
edge ie1 -> ude1: intermediate_causes_undesirable;
edge ie1 -> ude3: intermediate_causes_undesirable;
// Brand reputation affected but still positive
edge ie2 -> de1: intermediate_causes_desirable;
}
Home