For the complete documentation index, see llms.txt. This page is also available as Markdown.

Root Cause Analysis

Identify root causes of anomalies or outcomes.

Asks a digital twin why a number moved: which causes account for the change, and by how much.

Root-cause analysis reasons over the same graph the forecasts come from, so the variables it flags are causes rather than correlates. What lands on results is per-sample, though: each analysed sample with its score and the variables flagged for it, not a ranked table of causes.

At a glance

Module type

RCASim

Category

Intelligence

Default tier

durable

Runs on

reactive, durable

Starts a flow

no

Holds a body

no

Keeps state between runs

no

Available in

every application type

Parameters

digitalTwinId

string · required · defaults to ""

The twin to run against.

digitalTwinName

string · optional

Its name when it was chosen, for the node's label.

digitalTwinVersionIds

string[] · optional

Pin the run to specific twin versions; empty means the latest.

scenario

Record<string, unknown> · optional

The saved scenario. Anything arriving on the scenario port is merged over this.

scenarioDraft

Record<string, unknown> · optional

What the inspector is editing, before it is applied to scenario.

scenarioValidationErrors

string[] · optional

What was wrong with the draft the last time it was checked.

entityColumns

object · optional · defaults to {"id":null,"target":null,"constraints":null,"levers":null}

Which columns of the entities frame carry what: id the environment id, and target, constraints and levers the optional per-row overrides. Any may be null.

Inputs

Port
Kind
Required
Description

on

event

no

Implicit on every module that does not itself start a flow: wire an event here to make this module the start of what that event runs.

scenario

json

no

Which metric moved, over which period, per run.

entities

dataframe

no

One row per environment to analyse; entityColumns maps its columns.

baseline

dataframe

yes

The rows the change is measured in. Required: there is nothing to explain without them.

Outputs

Port
Kind
Connects to
Description

results

dataframe

dataframe, signal

One row per analysed sample, not per cause: entity, is_anomalous, score, and flagged_variables as a comma-joined string. No per-cause contribution figure.

summary

json

json, scalar, signal

The run's identity, not its findings: {runId, status, outputs}, where outputs is the simulator's raw per-version result. The numbers a reader wants are in results.


← All application modules

Last updated