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:

Edge
Visual
Meaning

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_conditionsconsumer_confidencepurchase_intentsales 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:

  1. Go to the Config or Relationships tab

  2. Click Add Known Relationship

  3. Specify source and target variables

  4. 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:

  1. Click Add Blocked Relationship

  2. Specify the impossible relationship

  3. 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:

  1. Consider the variables: Does one logically precede the other? Is one a decision you make and one an outcome?

  2. Check temporal order: If one consistently happens before the other, that's likely the cause

  3. Apply domain knowledge: Which direction makes business sense?

  4. Add constraints: If you're confident, add a Known relationship with the correct direction

  5. 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