Evidence and correlation
The immutable Evidence model with quality scoring, and the correlation engine that links related symptoms to a probable root cause with explicit confidence.
Evidence Model
What Evidence Is
Evidence is a structured proof on the basis of which the system creates, updates, or verifies an Issue.
Evidence can be:
- automatically computed;
- received from a device;
- imported from an external system;
- added by a user;
- generated by a specialized report;
- attached as a document, photo, or comment.
Evidence Structure
evidence_id: EVD-830129
issue_id: OHM-2026-001842
type: detector_finding
source:
provider: analyze_station
detector_id: archive.tail_gap.v3
detector_version: '3.2.1'
observed_at: '2026-07-23T04:00:00Z'
created_at: '2026-07-23T04:03:12Z'
payload:
missing_hours: 73
coverage_valid: 0.91
last_valid_hour: '2026-07-20T03:00:00Z'
quality:
completeness: 1.0
freshness: 0.98
consistency: 0.96
confidence: 0.98
links:
report: '/reports/analyze-station/5690'Evidence Types
| Type | Example |
|---|---|
detector_finding | detector result |
telemetry_sample | telemetry fragment |
archive_window | summary of an archive period |
event_log | device event log |
configuration_snapshot | configuration snapshot |
operator_comment | dispatcher comment |
field_report | field crew report or act |
photo | photograph of equipment |
external_ticket | link to an external ticket |
verification_result | confirmation of remediation |
root_cause_confirmation | confirmation of the root cause |
knowledge_application | application of a knowledge base article |
Evidence Quality
Quality is computed for each Evidence:
where:
- — completeness;
- — freshness;
- — consistency;
- — trust in the source;
- .
Recommended base weights:
| Component | Weight |
|---|---|
| — completeness | 0.30 |
| — freshness | 0.25 |
| — consistency | 0.25 |
| — trust in the source | 0.20 |
The result is normalized to the range 0 to 1.
Evidence Immutability
Original Evidence is never edited retroactively. A correction creates a new version or a separate corrective Evidence.
This ensures:
- auditability;
- reproducibility;
- protection of history;
- correct review of disputed cases;
- the ability to recompute.
Event Correlation and Root Cause
The Correlation Task
Correlation prevents the creation of many independent Issues for the same technical cause.
The system analyzes:
- asset match;
- temporal proximity;
- topological dependency;
- shared firmware;
- shared gateway;
- shared communication operator;
- shared region;
- shared server queue;
- symptom sequence;
- historical links;
- confirmed root causes of past cases.
Correlation Levels
Within a Single Asset
Several symptoms are consolidated around a primary canon.
flowchart TD
A["stale_communication"] --> C{"Correlation within the asset"}
B["no_hourly_archive"] --> C
D["battery_unknown"] --> C
C --> R["Root issue stale_communication"]
C --> S1["Secondary signal no_hourly_archive"]
C --> S2["Secondary signal battery_unknown"]Across Assets
Similar problems are grouped into a massive incident.
flowchart TD
A["38 devices"] --> G{"Grouping"}
B["One firmware version"] --> G
C["One time window"] --> G
D["One failure type"] --> G
G --> M["Massive Incident firmware_regression"]By Dependency
Problems of child devices are linked to the failure of a shared component.
flowchart TD
A["Gateway-17 unavailable"] --> B["12 correctors without communication"]
B --> C["12 archives not delivered"]
C --> D["One dependency incident"]Correlation Score
An explainable model is used to assess the strength of a link:
where:
- — asset or dependency match;
- — temporal proximity;
- — pattern match;
- — shared context;
- — historical confirmation of the link.
Example weights:
| Factor | Weight |
|---|---|
| — asset or dependency match | 0.30 |
| — temporal proximity | 0.20 |
| — pattern similarity | 0.20 |
| — shared context | 0.15 |
| — historical confirmation | 0.15 |
The merge threshold is set per problem class. A more conservative threshold is allowed for critical security signals.
Root Cause Class
OHM uses a managed catalog of root causes:
| Class | Examples |
|---|---|
| Power | battery, power supply, converter |
| Communication | network, SIM, signal, operator |
| Firmware | regression, incompatibility |
| Configuration | erroneous parameter |
| Registry | duplicate, ghost, incorrect binding |
| Sensor | failure, drift, stuck readings |
| Metering | metrological problem |
| Infrastructure | server, queue, gateway |
| Integration | API, format, mapping |
| Human | error in an action or process |
| Environment | temperature, moisture, external impact |
| Security | integrity or access violation |
| External | third-party system or supplier |
| Unknown | insufficient data |
Root Cause Statuses
| Status | Meaning |
|---|---|
hypothesis | automatically proposed hypothesis |
under_investigation | the hypothesis is being verified |
probable | confirmed by several independent indicators |
confirmed | confirmed by an authorized user and Evidence |
rejected | the hypothesis has been rejected |
unknown | the root cause has not been established |
Root Cause Confidence
Confidence in a hypothesis is computed from the aggregate of evidence:
where:
- — reliability of the detector or source;
- — Evidence quality;
- — consistency of the Evidence with the hypothesis;
- — source independence coefficient.
If several pieces of Evidence originate from the same source data set, they are not considered fully independent.
Operational Confidence
Operational Confidence indicates how certain the system is that an Issue is a real and correctly classified problem.
where:
- — detector reliability;
- — Evidence quality;
- — correlation consistency;
- — historical confirmation rate;
- — penalty for contradictions and lack of data.
Interpretation:
| Confidence | Level | Action |
|---|---|---|
| ≥ 0.85 | high | automatic creation of an actionable Issue |
| 0.65–0.85 | sufficient | Issue creation with standard triage |
| 0.40–0.65 | limited | review required |
| < 0.40 | low | analytical signal, automatic actions prohibited |
Related topics
Was this page helpful?
Thanks for your feedback!