Early Warning Intelligence

Foresight is power.

htm-monitor is an unsupervised early-warning monitor for critical systems, built to stay quiet until something matters. Its power grid case studies are scored against documented emergencies under one published standard, with every alert shown.

2
Grid regions scored: ERCOT (Texas) and CAISO (California), 6.2 years of hourly data each
4 of 4
Target events with an alert inside the declared window, 168 h before to 48 h after onset (103 h lead, 1.6 h lead, <1 h lag, 136 h lead)
16
Alerts outside every target window in 12.5 region-years. 8 fall in declared explanatory windows, 8 are unexplained.
0
Labels used and retraining cycles. Every model learns online, unsupervised.
Case Studies

Power grid monitoring, scored in the open.

Each case study replays about six years of public hourly grid data and scores every alert against emergencies with documented onset times. The engine itself takes any continuous numeric signal; results are published only where they have been scored.

Case study

Texas (ERCOT)

Six years of hourly ERCOT data, scored against Winter Storm Uri. 1 of 1 target event alerted inside the window (103 h lead). 2 alerts in 6.2 years, 0 unexplained.

Case study

California (CAISO)

Six years of hourly CAISO data, scored against three declared grid emergencies. 3 of 3 target events alerted inside the window (1.6 h lead, <1 h lag, 136 h lead). 19 alerts in 6.2 years, 8 unexplained.

See it on your data.

Send a 90-day telemetry sample and one past event you'd like scored. Preview audit within a week.

Use Cases

Scored Against
Real Grid Emergencies

htm-monitor has been replayed over about six years of public grid data per region and scored against documented emergencies. Here is what it found, including the alerts that matched nothing.

Power Grid Monitoring

Early warning of grid emergencies from hourly demand and generation data

Case studies
  • One standard for every event. An event is Predicted if the first alert falls within 168 hours before onset, Detected if it falls within 48 hours after onset, and Missed otherwise. The reasoning is in “Too early is the same as wrong”.
  • Onset has a source. Onset is the time the grid operator declared the highest emergency level the event reached, converted to UTC. Each event row links to the document that states the time.
  • Every alert is counted. Consecutive alerting hours count as one alert. A later alert inside a target window is a repeat: no credit, no penalty. An alert outside every target window is “explained” if it starts inside an explanatory window declared in the run config, and “unexplained” otherwise. Explained is a hindsight label and never counts as a catch, so both rates are shown.
  • Timing is a replay, not live operation. Alert times are the UTC hour-ending stamps of EIA-930 hourly data, and the replay treats each value as available at its stamp. EIA publishes demand about an hour later and net generation the next day, so live use at these lead times needs the operator’s own telemetry.
  • This is a case study. Four target events across two regions show how the detector behaves, not a detection rate.

Texas (ERCOT)

  • Winter Storm Uri (February 2021) forced ERCOT into rotating outages that peaked at 20,000 MW of load shed. More than 4.5 million customers lost power.
  • The run models three hourly signals: demand, net generation, and forecast error (demand minus the day-ahead demand forecast).
  • Predicted 1 of 1 target event, alert before onset: Uri (103 h lead)
  • 0 missed target events
  • 2 alerts over 6.2 years of hourly data: 1 first alert on a target event and 1 outside every target window
  • Explained That 1 alert starts inside an explanatory window declared in the run config: Winter Storm Elliott, Dec 2022. That is a hindsight label, not a catch.
  • 0 unexplained alerts (0.2 non-target alerts per year counting the explained one)
Event Summary
Event Outcome Lead / Lag First Alert (UTC) Onset (UTC)
Winter Storm Uri
Rotating outages, up to 20,000 MW of load shed
Predicted 103 h lead 2021-02-11 00:00 2021-02-15 07:20
ERCOT entered Emergency Operations Level 3 (EEA 3) and began rotating outages · source

California (CAISO)

  • August 2020: CAISO ordered rotating outages on two consecutive evenings, the first in California since 2001, affecting about 813,000 customers.
  • September 2020 and September 2022: heat waves pushed CAISO to Stage 2 and EEA 3 emergencies. No outages were ordered by CAISO in either.
  • The run models five hourly signals: demand, net generation, forecast error, imbalance (demand minus net generation), and imbalance residual (imbalance minus its hour-of-day median).
  • Predicted 2 of 3 target events, alert before onset: Aug 2020 blackouts (1.6 h lead) and Sep 2022 record demand (136 h lead)
  • Detected 1 of 3 target events, alert within 48 h after onset: Sep 2020 heat wave (<1 h lag)
  • 0 missed target events
  • Aug 2020 blackouts: CAISO had already declared a Stage 2 Emergency at 3:25 pm local time (22:25 UTC), so this alert came after the first emergency declaration and 1.6 hours before the Stage 3 declaration. That is too short a lead to act on.
  • Sep 2020 heat wave: The alert is on the hourly reading stamped 01:00 UTC, the first one after the 00:55 UTC declaration.
  • 19 alerts over 6.2 years of hourly data: 3 first alerts on target events, 1 repeat inside a target window, and 15 outside every target window
  • Explained 7 of those 15 start inside an explanatory window declared in the run config: COVID-19 demand shift, Apr to May 2020 (2 alerts); Wildfire power shutoffs, Oct 2020; Atmospheric river, Nov 2023; Atmospheric river, Mar 2026 (3 alerts). That is a hindsight label, not a catch.
  • 8 unexplained alerts (1.3 per year, or 2.4 per year counting the explained ones)
Event Summary
Event Outcome Lead / Lag First Alert (UTC) Onset (UTC)
August 2020 Rolling Blackouts
Stage 3 Emergency, rotating outages on Aug 14 and 15
Predicted 1.6 h lead 2020-08-15 00:00 2020-08-15 01:38
CAISO declared a Stage 3 Emergency · source
September 2020 Labor Day Heat Wave
Stage 2 Emergency, no outages ordered
Detected <1 h lag 2020-09-07 01:00 2020-09-07 00:55
CAISO declared a statewide Stage 2 Emergency · source
September 2022 Record Demand
EEA 3 declared, no load shed ordered by CAISO
Predicted 136 h lead 2022-09-01 08:00 2022-09-07 00:17
CAISO declared an EEA 3 · source
Technology

Sequence Learning,
Not Thresholds

The engine is Hierarchical Temporal Memory — a biologically-inspired sequence-learning algorithm extended with a grouped-consensus decision layer.

Online Temporal Learning

Each signal model learns its temporal patterns continuously and adapts to drift without a retraining cycle. No static limits on the raw signal values. No supervised labels.

Grouped Consensus

A system alert fires only when several signal groups are hot at the same time and stay that way for consecutive hours. The consensus layer is there to keep single-signal noise from becoming an alarm.

Fully Auditable

Every alert is traceable to specific signal anomalies at specific timesteps. Per-model, per-group visibility lets operators understand exactly what triggered and why.

Lightweight Deployment

Runs single-process in Python on a CPU. Scoring needs no external services, so it can run on a small VPS or inside an air-gapped VM.

Architecture

Signal Flow

Raw Telemetry
Any numeric time series
→
Per-Signal HTM
Sequence learning
→
Group Consensus
Cross-signal agreement
→
System Alert
Email today, other routes by integration
  • Shared across the published case studies: the HTM model parameters, the encoder shape, a one-week warm-up, and the consensus method.
  • Set per region: which signals are modeled and how they are grouped, each encoder’s value range, and three alert-rule settings (likelihood threshold, warmth window, minimum persistence). Each findings report lists the values used for that run.
Mission

Provide rare and useful warnings
to prevent losses.

Most anomaly detection systems generate noise. htm-monitor is built for the opposite: say nothing until something genuinely matters, then say it early enough to act. Foresight is power.

We believe the same unsupervised temporal learning engine can serve any system that produces continuous numeric data: learn what normal looks like, and flag when reality departs from it. That is a design goal, not yet a result. The scored case studies on this site are power grids.

Principles

What We Believe

Silence Is a Feature

A system that cries wolf loses trust. htm-monitor is designed for rare, high-confidence alerts — not dashboard noise.

Unsupervised by Default

No labeled training data required. The system learns from the structure of normal operations and flags departures automatically.

Transparency Over Blackbox

Every alert is fully auditable, traceable to specific signals and timesteps. Operators can see exactly what the system sees.

Domain Agnostic by Design

The engine takes any continuous numeric time series and makes no grid-specific assumptions. Published results cover only what has been scored.

About

Built by DataGrip LLC

htm-monitor is developed and operated by DataGrip LLC. We're focused on making unsupervised temporal anomaly detection practical and accessible for critical infrastructure operators.

Get In Touch

See it on your data.

Whether you want a free technical preview, a paid pilot, or just want to learn more — we'd love to hear from you.

Technical Preview — Free

Send a 90-day telemetry sample and one past event you'd like scored. You get a preview audit within a week: lead/lag timing, false-positive rate, per-signal analysis. No commitment.

Paid Pilot — $2,500

Full historical replay against your event catalog, with a written per-event audit. The fee credits in full against your first subscription month.

Send a Message

Thank you! We'll get back to you within 1-2 business days.
HTM-Monitor
—
—
All times are UTC. The current service delivers alerts by email; other routes are integration work.
Signal Traces
Group Warmth
⚠ Learning period — model is warming up, alerts suppressed
Click to jump →
✕