Explained anomalies and hidden connections — from the first minute.

Stream your multichannel time series. Get a stream of anomaly events with explanations, a live graph of hidden channel connections, and per-channel health — with no training and no models to build. Free tier first; then the Analytics layer — $99/mo; your founding price is locked.

Pricing: Layer 2 (Analytics) — $99/mo. Full pricing →

Try free — 5 channels See what it does
Zero training Adapts, doesn't drift Bit-for-bit reproducible

The problem

Teams responsible for live systems drown in metrics.

Existing anomaly detectors are machine learning: they need weeks of history to train, they drift when the system changes regime and require retraining, they raise false alarms on outliers and dead sensors, and — most of all — they don't explain events and don't see connections between channels. The on-call engineer gets a hundred disconnected alerts instead of one answer to "what actually happened, and where did it come from?"

What it does

One integration, four surfaces.

/anomaly

Explained events

A calibrated 0–100 score and state per channel, and named event types — outlier, level shift, regime change, frozen channel, degradation, crisis — each with attribution: which interaction order fired, and whether it's a system-wide mode or came from a source channel. Built-in root-cause.

/connections

Hidden-link graph

Continuously discovers channel pairs that are related though nobody declared it — with strength, direction and lag ("A leads B by 3 ticks"). Links open and close as events; system-wide modes are shown separately.

/health

Channel health

A standing data-quality passport: integrity, frozen fraction, restarts, and "the filter is systematically missing at frequency f" — the things usually discovered only after an incident.

/passport

System Passport

On accumulated stream or an uploaded CSV: recovered per-channel equations with confidence intervals and significance — plus an explicit list of what is impossible to recover from the data. A batch report.

A signal-cleaning extension (/filter) is available on the same stream — instant / low-latency / offline-max cleaning, one-step prediction and gap recovery — for teams that need clean features.

The batch report

A System Passport your engineers can put in a test report.

From accumulated stream or an uploaded CSV, one action builds a report.

Passport sectionWhat it reports
EquationsRecovered per-channel governing terms with confidence intervals and significance.
Channel verdictLinear / polynomial / periodic / long-memory / non-stationary / heteroscedastic.
Connected modelA coupled model of the system by graph cluster.
UnexplainedThe spectrum of behaviour the model did not cover.
UnrecoverableWhat is principally impossible to recover from this data — with reasons.
CertificateThe recovered model is checked on a held-out tail; the residual is printed in the report.

/filter · extension

Signal filtering on the same stream.

The same integration also cleans your signals — at three latency budgets, from instant to offline maximum quality — plus one-step prediction and gap recovery. Below are representative core benchmarks (v17, canonical test signals) against classical filters: Butterworth, Kalman-AR1, Savitzky-Golay and wavelet.

OutputLatencyWhat it sees
instant0 · zero-lagpast + current only — the live core estimate
low-latency80 samplespast + 80 ahead — streaming denoiser with bounded delay
offlinewhole signalglobal context — non-causal batch, maximum quality

Most of the achievable denoising is bought by the first 80 samples of latency: moving from zero-lag to the low-latency output gains +6.1 dB on average (always positive) across signal classes and SNRs.

Hard signal · SNRBest classical filterLow-latency (80 samples)Offline
Multi-tone vibration · 30 dB−6.5 dB (others to −26.5)+8.3 dB+12.5 dB
Multi-tone vibration · 10 dB−5.3 dB+8.2 dB+12.8 dB
Chirp (moving spectrum) · 20 dB−11.7 dB (others to −20.1)+5.3 dB+0.0 dB

dB RMSE-reduction vs the noisy input; higher is better, negative means the filter added error. On these hard signals every classical filter is negative — it amplifies error — while the streaming output stays strongly positive, and on moving spectra it beats even the offline batch. On near-clean signals the low-latency and offline outputs leave the signal untouched (do-no-harm). Numbers are representative v17 core benchmarks on canonical test signals, not field data. How we measure →

Why it's different

Not another ML detector.

PropertyTypical ML detectornlsys Analytics
Startweeks of history + trainingworks from the first seconds of the stream
Regime changedrift, degradation, retrainself-tunes on the fly; a regime change is a named event
Outliers / dead sensorsbreak or mask the modelhandled as standard; freeze is its own event class
Explainabilitya score with no reasonevent class + interaction order + source (root-cause)
Connectionsout of scope or a separate productbuilt-in graph with direction and lag
Reproducibilitytraining stochasticitydeterministic: same input, bit-for-bit same output — auditable
Cost of ownershiptraining pipelines, MLOpsno models — nothing to train or maintain

Honest boundaries

What the product does not do.

A source, not a dashboard

It is not a visualization or alerting platform. It's a source of events and a connection graph for your existing systems, via webhook / SSE and observability-marketplace integrations.

No long-horizon forecasting

It doesn't produce long-term forecasts and doesn't replace domain simulation.

Needs temporal structure

It needs ordered data. On unordered data it refuses honestly. There's a short auto-calibration period, and the product tells you about it rather than staying silent.

No control loops in the cloud

Control outputs are available as the Control layer — supervisory, from the cloud: we compute setpoints, your PLC executes; fast/safety loops run on your edge under private contract. Internal mechanics are never disclosed — only results leave: scores, events, graph, reports.

Founding release

Try it on your own data.

We're running a founding release with a small number of design partners in industrial IoT and observability, tuning the false-positive budget on real data. Once a session runs here long enough to be clean and segmented, that same data is already qualified to compile into a certified model.

See Dynamics Compiler