Causal Graph
The causal graph is the heart of your Digital Twin—a visual map of cause and effect in your data. It shows not just that variables are related, but how they're related: which ones drive others, which ones share common causes, and how effects propagate through your system.
Reading a causal graph is like reading a circuit diagram for your business. Once you understand it, you can trace how changes flow through the system, identify leverage points, and understand why things happen the way they do. A marketing spend increase doesn't just affect sales—it might affect brand awareness, which affects customer acquisition, which affects revenue and eventually customer service load.
This guide teaches you to read, interpret, and refine the causal graph. It's one of the most valuable skills for getting value from RootCause.ai.
For the technical background, see Causal Discovery.
(SCREENSHOT: Full causal graph visualization showing nodes, directed edges, and node highlighting)
Anatomy of the Graph
The causal graph displays three things:
Nodes – Each node represents a variable from your data (a column in your Data View). Nodes are usually shown as circles or boxes with the variable name.
Edges – Lines connecting nodes represent causal relationships. The type of line tells you about the relationship.
Direction – Arrows point from cause to effect. If you see A → B, that means changes in A cause changes in B.
(SCREENSHOT: Close-up of graph showing nodes labeled with variable names and arrows between them)
Edge Types:
A → B
Solid arrow
A causes B (strong evidence for direction)
A — B
Undirected line
A and B are related, but direction is uncertain
A ↔ B
Bidirectional arrow
A and B share a common unobserved cause (confounder)
Understanding edge types helps you know where you have certainty and where you might need expert input.
Graph Views
RootCause.ai offers multiple ways to view the same causal structure:
Flowchart View
An interactive, draggable graph. This is the default and most flexible view.
Navigate: Drag nodes to rearrange the layout
Zoom: Scroll or pinch to zoom in on specific areas
Select: Click a node to highlight its connections
Inspect: Hover over edges to see relationship strength and statistics
(SCREENSHOT: Flowchart view with a node selected, showing its connections highlighted)
DAG View
A hierarchical layout with causes at the top and effects at the bottom. Useful for understanding the overall flow from inputs to outcomes.
(SCREENSHOT: DAG view showing layered hierarchy from top to bottom)
Reading Relationships
Direct Causes
Look at the arrows pointing into a node. These are its direct causes—variables that directly influence it. If you want to change a variable, focus on its direct causes.
Example: If customer_satisfaction has arrows from product_quality, support_response_time, and price_perception, those three variables directly drive satisfaction.
Direct Effects
Look at the arrows pointing out of a node. These are its direct effects—what changes when this variable changes. Understanding effects helps you predict consequences of interventions.
Example: If marketing_spend has arrows to brand_awareness and website_traffic, increasing marketing affects both.
Indirect Paths
Follow chains of arrows to see indirect relationships. A → B → C means A indirectly causes C through B. These chains can be long—a change at one end of the system can ripple to the other.
Example: economic_conditions → consumer_confidence → purchase_intent → sales shows how macro factors eventually affect your bottom line.
(SCREENSHOT: Path highlighted showing indirect causal chain across multiple nodes)
Confounders
Sometimes two variables appear correlated but neither causes the other—they share a common cause (confounder). Ice cream sales and drownings both increase in summer, but neither causes the other; temperature is the confounder.
RootCause.ai detects and models confounders. When you see A ↔ B (bidirectional arrow), it means there's likely an unobserved variable affecting both. See Confounder Detection for the technical details.
Path Analysis
The Path Analysis tab provides a different view: Sankey diagrams that show how causal influence flows through your system.
(SCREENSHOT: Sankey diagram showing inbound causal paths to a target variable with flow widths)
Inbound Paths
Select a target variable (like revenue or churn) to see all causal paths leading into it. The width of each flow shows contribution—how much each path explains the outcome.
This answers: "What drives this outcome, and how much does each driver matter?"
Outbound Paths
Select a source variable (like a decision you control) to see all downstream effects. This shows how changes propagate through the system.
This answers: "If I change this, what else changes?"
Why Path Analysis Is Valuable:
Identify biggest drivers: Wide flows indicate strong causal influence
Understand intervention effects: See how a change cascades
Find unexpected connections: Discover non-obvious causal chains
Prioritize actions: Focus on paths with the biggest impact
(SCREENSHOT: Outbound path analysis showing effects flowing from a selected variable)
Editing Relationships
The discovered graph is a starting point, not a final answer. You can incorporate domain knowledge:
Known Relationships
If you're certain a causal relationship exists (from experiments, physics, or domain expertise), declare it:
Go to the Config or Relationships tab
Click Add Known Relationship
Specify source and target variables
Re-run discovery—the algorithm will respect your constraint
Example: You know from A/B tests that email campaigns increase conversions. Add this as a Known relationship to ensure the model captures it.
(SCREENSHOT: Known relationship editor with source/target variable selection)
Blocked Relationships
If you're certain a relationship cannot exist, block it:
Click Add Blocked Relationship
Specify the impossible relationship
Re-run discovery
Example: Customer age cannot be caused by purchase behavior (causality flows the other way). Block the reverse direction.
When to Edit:
You have experimental evidence that contradicts or confirms a discovered edge
Domain expertise tells you a relationship is impossible or certain
You want to test hypotheses ("what if this relationship doesn't exist?")
The graph includes obvious spurious correlations
Handling Uncertain Edges
RootCause.ai flags edges where statistical evidence is ambiguous:
Undirected edges (A — B) indicate the variables are related, but the algorithm couldn't determine which causes which
These edges are surfaced for human review
Resolving Uncertainty:
Consider the variables: Does one logically precede the other? Is one a decision you make and one an outcome?
Check temporal order: If one consistently happens before the other, that's likely the cause
Apply domain knowledge: Which direction makes business sense?
Add constraints: If you're confident, add a Known relationship with the correct direction
Re-run discovery to update the graph
(SCREENSHOT: Uncertain edge highlighted with review prompt)
Don't feel pressured to resolve every uncertain edge immediately. Some uncertainty is okay—it reflects genuine ambiguity in the data.
Model Probabilities
For each node, you can view how it's modeled given its parents:
Numeric variables: Mean, variance, and how they depend on parent values
Categorical variables: Probability distribution across categories
This shows the "mechanics" of the causal model—how parent values translate into child values.
(SCREENSHOT: Node detail panel showing probability distribution or parameter values)
Evaluation Metrics
The Evaluation tab helps you assess model quality:
Graph-Level Metrics:
Overall fit (how well the model explains the data)
Number of relationships discovered
Proportion of certain vs. uncertain edges
Node-Level Metrics:
For each variable, see how well it's predicted:
Categorical: Accuracy, AUC (area under ROC curve)
Numeric: MSE (mean squared error), MAE (mean absolute error), R²
(SCREENSHOT: Evaluation tab showing node-level metrics in a table)
Using Metrics:
Find weak spots: Variables with poor metrics might need more data or better features
Guide refinement: If a variable is poorly explained, consider what causes might be missing
Compare versions: See if changes improve or hurt model quality
Exporting the Graph
Share your causal understanding with others:
Image Export: PNG or SVG for presentations and reports
Data Export: JSON format with complete edge list and weights for use in other tools
Click the download button in the graph view toolbar.
(SCREENSHOT: Export dropdown showing image and data format options)
Best Practices
Start with Key Variables
Don't try to understand everything at once. Focus on your most important outcome variables first. What drives them? Then expand outward.
Validate with Experts
The graph may surface relationships you didn't expect. Some are genuine discoveries—causation your team hadn't recognized. Others might be spurious. Share the graph with domain experts; their reaction helps separate signal from noise.
Iterate
Causal discovery is iterative. First pass reveals the broad structure. Then you refine: add Known edges for things you're sure about, block spurious connections, re-run, and review again. Each iteration improves the model.
Document Your Reasoning
When you add Known or Blocked relationships, write down why. Six months from now, you'll want to remember whether that constraint was based on an experiment, expert opinion, or just a hunch.
Next Steps
With your causal graph understood, you're ready to act on it:
Run Simulations to test what-if scenarios and find optimal strategies
Last updated

